版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C语言程序设计基础与实践模块二编程初级应用任务3.3
编程规范C语言程序设计基础与实践课程组04技能点拓展03技能点详解02技能点分析目录CONTENTS任务3.3编程规范01问题引入05技能点检测一问题引入
大江东流,日月交替,大自然生生不息,用规则演绎着生命的轨迹。火车之所以能够奔驰千里,是因为它始终离不开两条铁轨;风筝之所以能高高飞翔,是因为它总是情系着手中的线;宇宙间无数颗恒星亘古不变地灿烂,是因为它们都按照自己的轨道运行。不以规矩,不成方圆。我们要编写一个高质量的代码,就必须遵守一定的规范,这样才能保证代码的易读性和易维护性。那么规范化的编程有哪些要求呢?04技能点拓展03技能点详解02技能点分析目录CONTENTS01问题引入05技能点检测任务3.3编程规范二技能点分析1.了解C语言编程的基本规范2.能够使用简化版本对程序注释3.能够使用编程规范编写代码学习目标1.程序编写过程种,为什么需要注意代码的规范化?2.代码规范化主要体现在那几个方面?3.文件注释的完整版本的规范写法是什么?4.函数注释的完整版本的规范写法是什么?
学期预习04技能点拓展03技能点详解02技能点分析目录CONTENTS01问题引入05技能点检测任务3.3编程规范三技能点详解
代码规范化的原则是在遵守编译器要求的代码规范下,追求代码整体清晰、美观、易阅读、易排错,有利于团队程序开发。一般来说,规范化主要从结构、排版、注释、命名四个方面入手。三技能点详解——1结构每个C程序通常分为两个文件。一个文件用于保存程序的声明,称为头文件。另外一个文件用于保存程序的实现,称之为定义文件。C程序的头文件以“.h”为后缀,C程序的定义文件以“.c”为后缀。/************************************函数声明:文件名,版本,历史信息等信息***********************************//*头文件包含*/#include
<xxxxx.h>
#include
"xxxxx.h"
/*变量定义*/intnum_man;
/*函数声明*/voidsum_add(void);
/*主函数*/voidmain(void){sum_add();//子函数使用
}
/************************************函数声明:文件名,函数版本等信息***********************************/voidsum_add(void)/*子函数*/
{
//子函数体}1)空行
空行起着分隔程序段落的作用,空行得体将使程序的布局更加清晰。两个相对独立的程序块、定义变量后必须要加空行。比如上面几行代码完成的是一个功能,下面几行代码完成的是另一个功能,那么它们中间就要加空行。voidDemoFunc(void){ uint8_ti;
//局部变量和语句间空一行
/*功能块1*/
for(i=0;i<10;i++) {
//... }
//不同的功能块间空一行
/*功能块2*/
for(i=0;i<20;i++) {
//... }}三技能点详解——2排版2)空格
在两个以上的关键字、变量、常量进行对等操作时,它们之间的操作符之前、之后或者前后要加空格;(1)逗号、分号只在后面加空格。inta,b,c;(2)比较操作符,赋值操作符"="、"+=",算术操作符"+"、"%",逻辑操作符"&&"、"&",位域操作符"<<"、"^"等双目操作符的前后加空格。if
(current_time>=MAX_TIME_VALUE)a=b+c;a*=2;a=b^2;(3)"!"、"~"、"++"、"--"、"&"(地址运算符)等单目操作符前后不加空格。*p='a';//内容操作"*"与内容之间flag=!isEmpty;//非操作"!"与内容之间p=&mem;//地址操作"&"与内容之间i++;//"++","--"与内容之间(4)"->"、"."前后不加空格。p->id=pid;//"->"指针前后不加空格(5)if、for、while、switch等与后面的括号间应加空格,使if等关键字更为突出、明显,函数名与其后的括号之间不加空格,以与保留字区别开。if(a>=b&&c>d)三技能点详解——2排版3)对齐
成对的符号一定要成对书写,如()、{}。不要写完左括号然后写内容最后再补右括号,这样很容易漏掉右括号,尤其是写嵌套程序的时候。{和}分别都要独占一行。#include
<stdio.h>intmain(void){
if(…)
return0;}三技能点详解——2排版4)代码行
一行代码只做一件事情,如只定义一个变量,或只写一条语句。这样的代码容易阅读,并且便于写注释。if、else、for、while、do等语句自占一行,执行语句不得紧跟其后。#include
<stdio.h>
intmain(void){
if(…-){
while(…-)}
return0;}三技能点详解——2排版三技能点详解——3注释行注释一行注释采用//…,多行注释必须采用/*…*/。在一般情况下,源程序有效注释量必须在20%以上。/*变量定义*/intnum_man;//班级男生人数0~50之间
a=a+1;//a自身加1(没有必要)文本注释主要针对整个文件进行的注释,这个注释内容较多,便于阅读者快速了解文件的相关信息。/****************************************************************Copyright(C),2021-2023,C语言项目开发组*文件名:main.c*内容简述:实现小球沿着不同方向碰撞墙壁,并实现反弹。*文件历史:*版本
日期
作者
说明*1.02021-12-01课题组
实现小球的碰撞转向*2.02022-06-12课题组
采用函数,优化程序****************************************************************/
针对一些练习用的小函数,不需要填写全部信息,可以采用简化版本。/****************************************************************内容简述:根据给定的年、月、日计算是星期几?需要采用基姆拉尔森算法。*Weekday=(d+2*m+3*(m+1)/5+y+y/4-y/100+y/400)%7****************************************************************/三技能点详解——3注释函数注释主要针对一个函数进行的注释,这个注释内容较多,便于阅读者快速了解函数的相关信息。在函数实现之前,应该给出和函数的实现相关的足够而精练的注释信息。内容包括本函数功能介绍,调用的变量、常量说明,形参说明,特别是全局变量。/***************************************************************函数名:voidPositionBall(intx,inty)*功
能:在不同位置绘制小球*输
入:小球的x方向的坐标window_left--window_right*小球y方向的坐标window_top--window_bottom*输
出:无**************************************************************/针对一些练习用的小程序,不需要如此严格,可以采用简化版本。/***************************************************************功
能:根据输入年月日,计算星期**************************************************************/三技能点详解——3注释命名主要是标识符的命名,命名要清晰、明了,有明确含义,同时使用完整的单词或大家基本可以理解的缩写,避免使人产生误解。temp可缩写为tmp;
flag可缩写为flg;
message可缩写为msg;statistic可缩写为stat;
increment可缩写为inc;
unsigned
chardat01;//修改unsignedcharliv_date;voidSet00(unsigned
charc);//修改voidSetName(unsignedcharc);
intClass_width;//局部整形变量,教室宽度charStudent_name;//全局字符型变量,学生名字函数命名,单词词间首字母大写,voidCommInit();三技能点详解——4命名案例1.2.1简化规范根据给定的年、月、日计算是星期几?需要采用基姆拉尔森算法,算法公式如下Weekday=(d+2*m+3*(m+1)/5+y+y/4-y/100+y/400)%7。针对一些练习用的小程序,我们采用简化规范,简化规范主要体现在注释上面。三技能点详解——5案例见教材内容!案例1.2.2标准规范
针对一些能够进行拓展的程序,我们需要较为详细的注释,确保程序的可读性和可移植性,我们进行标准的规范。
实现小球沿着不同方向碰撞墙壁,并实现反弹。三技能点详解——5案例见教材内容!04技能点拓展03技能点详解02技能点分析目录CONTENTS01问题引入05技能点检测任务3.3编程规范四技能点拓展——1头文件路径在引用头文件时,不要使用绝对路径。如果使用绝对路径,当需要移动目录时,必须修改所有相关代码,繁琐且不安全;使用相对路径,当需要移动目录时,只需修改编译器的某个选项即可。#include“/project/inc/hello.h”//不应使用绝对路径#include“../inc/hello.h”//可以使用相对路径在引用头文件时,使用<>来引用预定义或者特定目录的头文件,使用“”来引用当前目录或者路径相对于当前目录的头文件。#include
<stdio.h>
//标准头文件#include
<projdefs.h>
//工程指定目录头文件
#include“global.h”//当前目录头文件#include“inc/config.h”//路径相对于当前目录的头文件为了防止头文件被重复引用,应
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 部编道德与法治九年级上册第二单元3.2《追求民主价值》教学设计
- 高标准农田建设土地整治工程-施工组织设计
- 液晶配向膜测试方法 第1部分:理化性能 编制说明
- 金山区第二实验小学2015~2015学年度办学水平自评报告
- 服务理念及服务精神
- 动力站施工组织设计
- 河南省周口市沈丘县中英文学校等校2023-2024学年六年级上学期月考数学试卷(12月份)
- 2024年新人教版七年级上册数学教学课件 6.1.2 点、线、面、体 6.1.2 点、线、面、体
- 2024年新人教版七年级上册数学教学课件 2.2.1 第2课时 有理数乘法的运算律
- 4.3《课间》“试一试”(教案)-2024-2025学年一年级上册数学北师大版
- 角接触球轴承计算方法
- 各类地质特征描述重点
- (完整版)眼部药物代谢动力学的研究
- 公路、电力线路交叉跨越一般施工方法
- 《合成生物学》课件.ppt
- (完整版)牛津树单词卡(可放大彩打)
- 室内干挂石材技术交底(墙面石材)
- 新航程YWJ250-II主机中文说明书; 新版
- (完整版)广东省省级政务信息化服务预算编制标准(软件开发服务分册)
- 西师大版四年级上册数学《 1.15 三峡工程中的大数》PPT课件
- 工程质量保证体系组织机构图
评论
0/150
提交评论