当前位置:文档之家› C语言程序设计规范及基础

C语言程序设计规范及基础


练习4
for(i=0;i<5;i++) { for(j=1;j<10;j++) if(j==5) break; if(i<2) continue; if(i>2) break; printf(“j=%d,",j); } printf(“i=%d\n",i); 输出结果为: j=5,i=3
模块化程序设计
考虑如何设计函数参数?
int fun(int n) {int m=0,f=1,i; for(i=1; i<=n; i++) { m += i*f; f=f*(-1); } return m; } void main() { printf("m=%d\n",fun(10) ); }
数组的使用
(1)数组用来处理多个性质相同的数据。
第四部分 可读性
避免使用默认的运算优先级 使用有意义的标识,避免直接使用数字 源程序中关系较为紧密的代码应尽可能 相邻 不要使用难懂的技巧性很高的语句、复 杂的表达式
练习
请同学们课后继续学习有关“编码规范” 的相关内容并将其应用在日后的课程练 习当中。 在“考试平台”下练习,进一步熟悉规 范要求。
函数的使用
函数的调用:通过调用表达式进行。调 用表达式的形式为: 函数名(实参表列) 调用表达式的作用
参数传递 执行函数中的语句 接收函数的返回
函数声明
把函数定义写在函数调用之前 用函数声明语句
函数的使用
#include <stdio.h> 程序运行后输出为:7 int f(int); 函数声明 8 void main() 9 { int a=2,i; for(i=0;i<3;i++) printf("\n%d",f(a));
练习2
有程序段: int n=1; do { n=++n*5; }while(n==10); 则此循环的循环体( B A.执行1次 C. 不执行
)。
B. 执行2次 D.执行无限次
练习3
假设所有变量均已说明,写出下列程序段运行后x 的值。 ( D ) ok1=1; ok2=2; ok3=0; x=15; a=3; b=4; if(!ok1) x++; else if(ok2) { if(ok3) x=3; else x=4; } 运行后x的值为下面哪一个? A. 15 B. 3 C. 16 D. 4
程序放置顺序
1、#include <C的标准头文件> 2、#include "用户自定义文件" 3、#define 宏定义 4、全局变量定义 5、函数原型声明 6、main函数定义 7、用户自定义函数
第二部分 注释
注释的原则和目的 函数头部应进行注释 进行注释时的注意事项
注释的原则和目的
原则是有助于对程序的阅读理解,注释 不宜太多也不能太少,注释语言必须准 确、易懂、简洁 目的是解释代码的目的、功能和采用的 方法,提供代码以外的信息,帮助读者 理解代码,防止没有必要的重复注释信 息
指针的好处:
一种用指针、结构体 (1)能够动态地分配内存。 动态构成的数据结构, (2)能够直接对地址操作。 可方便地进行数据插 将处理的数 (3)调用函数时可以传递多个 入、删除的操作。 据、结果永 数据,也可以得到多个值。 久保存到磁 盘中
本期学习要求
理论30学时+上机14学时+课设20学 时 上课“三到”
C(C++)数据类型
三种逻辑结构
顺序结构 分支结构 循环结构 1. 理解三种逻辑结构的应用场合 2. 了解实现分支、循环结构的语句有哪些? 3. 根据实际问题,选择适当的语句来实现。 如何执行的?分别应用在什么场合?
练习1
A 如下程序段,该程序的输出结果是( ) main( ) { int x=1,a=0,b=0; switch(x) { case 0:b++; case 1:a++; case 2:a++;b++; } printf("a=%d,b=%d\n",a,b); } A)a=2,b=1 B)a=1,b=1 C)a=1,b=0 D)a=2,b=2
函数定义之外,可包含外部说明,如include命令 一个完整的C语言程序,是由一个main()函数( 一个函数由函数头和函数体构成。函数头指明函 和外部变量说明。 又称主函数)和若干个其它函数结合而成的,或 数名、函数参数、函数返回值类型。函数体实现 仅由一个main()函数构成。 函数功能。
练习3
输入一整数x,在数组a中查找x第一次出现的位置。请填空。 #include<stdio.h> main() { int a[10]={10,24,34,55,9,17,87,22,9,19},x,i; printf(“Input an integer:”); scanf(" _______ ",&x); 结果:%d for(i=0; _______ ;i++) i<10 if( _______ ) break; x!=a[i] if( _______ ) a[i]==x printf("Not found.\n"); i>=10 else printf("Position is: %d\n",i); }
}
int f(int a ) { static int c=3; b++;c++; return a+b+c; }
静态局部变量
编写程序计算:m=1-2+3-4+…+9-10
问题分析: 这是一个累加问题。累加的奇数项 为正数,偶数项为负数。且加的项数为 10,可用循环结构的for语句实现。 如何将该计算功能改为函数,实现n项的 累加?
i
n l c by
unsigned int
unsigned long int 0结尾字符串 指针 全局变量
w
dw sz p g_
float
f
静态变量
s_
函数的命名规范
尽量使用英文表达出函数完成的功能 必须使用函数原型声明
函数参数命名规范
参数名称的命名参照变量命名规范 传递大结构的参数,采用指针或引用方 式传递
C语言程序设计基础
理解C程序的基本结构 掌握C语言中数据的描述方法
数据类型 变量与常量 运算符与表达式
掌握C程序的逻辑结构
顺序结构 分支结构(if,if…else…, switch) 循环结构(while, do…while, for)
C语言程序的基本结构特点
#include <stdio.h> void main() { prinf(“Good morning, everyone!\n”); }
函数头部应进行注释
列出:函数的目的/功能、输入参数、输出参 数、返回值、调用关系
/********************************** function:函数名称 description:函数功能描述 calls:被本函数调用的函数清单 called by:调用本函数的函数清单 input:输入参数,每个参数的作用、取值及关系 output:输出参数说明 return:函数返回值的说明 others:其它说明 **********************************/
命名的基本原则
标识符的命名要清晰、明了 对于变量命名,禁止取单个字符i、j等 不要使用数字或较奇怪的字符
变量名的命名规则
使用“匈牙利法则”
变量名=变量类型+变量的英文意思
类型 bool 开头部分 b 类型 double 开头部分 d
int
short int long int char unsigned char
注释时注意事项
注释应与其描述的代码相近,在代码上方或 右方(单条语句注释) 全局变量要有较详细的注释,包括功能、取 值范围、哪些函数存取等 注释与描述内容进行同样的缩排 注释与其上面的代码用空行隔开 对变量定义和分支语句(条件、循环等)必 须编写注释
注释时注意事项
对于switch结构中无break的case,在 下一个case之前注明 在程序块结束行右方加注释标记,表明 某程序块的结束 注释格式尽量统一,使用/*......*/
第三部分 命名规则
三种流行的命名法则 命名的基本原则 变量名的命名规则 函数命名规范 函数参数命名规范
三种流行的命名法则
驼峰命名法(首字母小写)
printEmployeePaychecks print_employee_paychecks
匈牙利命名法m_lpszStr 帕斯卡命名法(与驼峰类似,首字母大写)
耳到 嘴到 手到
上机
填写预习报告 调试记录 课外增加上机
编程规范介绍(一)
——优秀程序员的必备素质
第一部分 排版
严格采用阶梯层次组织程序代码 及时折行 一行只写一条一句 if、for、do、while等语句格式规定 空行 空格 组织程序代码
(2)数组用数组名及其下标来区分不同的 数据。
(3)数组的下标可以是整型常量或整型变 量。 (4)数组的下标是0、1、2等有规律的数, 所以可以很方便用循环变量来提供。 (5)数组的下标是从0开始的。注意检查 数组下标是否越界。
练习1
已知一数组a[5][6],则a[3][4]之前的数 组元素个数为 ________ 。 a00 a10 a20 a30 a40 a01 a11 a21 a31 a41 a02 a12 a22 a32 a42 a03 a13 a23 a33 a43 a04 a14 a24 a34 a44 a05 a15 a25 a35 a45
相关主题