当前位置:文档之家› C 代码走查CHECKLIST

C 代码走查CHECKLIST

C  代码走查CHECKLIST
C  代码走查CHECKLIST

代码走查

代码走查(code walkthrough)和代码审查(code inspection)是两种不同的代码评审方法, 代码审查是一种正式的评审活动,而代码走查的讨论过程是非正式的。 最近对项目组进行代码评审,发觉需要对代码评审中找到的问题进行一下分类,大概可以分成以下几类问题: 1. Comment 注释没写,或者格式不对,或者毫无意义 2. Coding Standard 没遵守代码规范 3. Existing Wheel 重复现成的代码,或者是开源项目,或者公司已有代码 4. Better practice Java或者开源项目,有更好的写法 5. Performance bottle and Improvement 性能瓶颈和提高 6. Code Logic Error 代码逻辑错误 7. Business Logic Error 业务逻辑错误 代码审查列出问题的类型,并有解决情况报告 11月23日 代码走查——项目走向成功的锦囊之一 说起代码走查,相信每个人都不陌生,但为什么要执行代码走查,什么时候来执行代码走查,如何有效执行代码走查,很多人的看法和见解都不一样。 一般的看法,认为代码走查是一种非正式的代码评审技术,它通常在编码完成之后由代码的作者向一组同事来讲解他自己编写的代码,由同事来给出意见。 这种做法在很多做软件开发组织中经常采用。但从实际执行效果来看,成效并不都那么明显,反而很多组织的这种做法有浪费时间之嫌。主要是因为代码走查活动时间有限,而参加代码走查的人之前没有较多的时间来提前了解被走查的代码,故而在实际执行时能被走查的代码所占的比例并不高,同时也发现不了多少本质问题。 随着软件外包业的发展,它有别于软件产品开发,客户对于产品的要求不再局限于系统是否能够正确运行。而是在设计、代码的品质上也有了更多的要求。有的客户甚至会在我们每次交付后先来检查我们的代码品质,只要是代码不符合要求就会被拒绝。

c语言程序代码

1.要求在屏幕上输出下一行信息。 This is a c program. 程序: #include int main() { printf(“this is a c program.\n”); return 0; } 2.求两个整数之和。 程序: #include int main() { int a,b,sum; a=122; b=234; sum=a+b; printf(“sum is %d\n”,sum); return 0; } 3.求两个整数之间的较大者。

#include int main() { int max(int x,int y); int a,b,c; scanf("%d,%d",&a,&b); c=max(a,b); printf("max=%d\n",c); return 0; } int max(int x,int y) { int z; if(x>y)z=x; else z=y; return(z); } 4.有人用温度计测量出华氏发表示的温度(如69°F),今要求把 她转换成以摄氏法表示的温度(如20℃)。 公式:c=5(f-32)/9. 其中f代表华氏温度,c代表摄氏温度。

#include int main() { float f,c; f=64.0; c=(5.0/9)*(f-32); printf("f=%f\nc=%f\n",f,c); return 0; } 5.计算存款利息。有1000元,想存一年。有一下三种方法可选: (1)活期:年利率为r1;(2)一年定期:年利率为r2;(3)存两次半年定期:年利率为r3。分别计算一年后按三种方法所得到的本息和。 程序: #include int main() { float p0=1000,r1=0.0036,r2=0.0225,r3=0.0198,p1,p2,p3; p1=p0*(1+r1); p2=p0*(1+r2);

C语言编程游戏代码

#include #include #include #include #include #define L 1 #define LX 15 #define L Y 4 static struct BLOCK { int x0,y0,x1,y1,x2,y2,x3,y3; int color,next; intb[]={{0,1,1,1,2,1,3,1,4,1},{1,0,1,3,1,2,1,1,4,0},{1,1,2,2,1,2,2,1,1,2},{0,1,1,1,1,0,2,0,2,4}, {0,0,0,1,1,2,1,1,2,3},{0,0,1,0,1,1,2,1,3,8},{1,0,1,1,2,2,2,1,2,5},{0,2,1,2,1,1,2,1,2,6},{0,1,0,2,1,1,1 ,0,3,9},{0,1,1,1,1,2,2,2,3,10},{1,1,1,2,2,1,2,0,3,7},{ 1,0,1,1,1,2,2,2,7,12},{0,1,1,1,2,1,2,0,7,13},{0 ,0,1,2,1,1,1,0,7,14},{0,1,0,2,1,1,2,1,7,11},{0,2,1,2,1,1,1,0,5,16},{0,1,1,1,2,2,2,1,5,17},{1,0,1,1,1, 2,2,0,5,18},{0,0,0,1,1,11,2,1,5,15},{0,1,1,1,1,0,2,1,6,2,0},{0,1,1,2,1,1,1,0,6,21},{0,1,1,2,1,1,2,1,6 ,22},{1,0,1,1,1,2,2,1,6,19}}; static int d[10]={33000,3000,1600,1200,900,800,600,400,300,200}; int Llevel,Lcurrent,Lnext,Lable,lx,ly,Lsum; unsigned Lpoint; int La[19][10],FLAG,sum; unsigned ldelay; void scrint(),datainit(),dispb(),eraseeb(); void throw(),judge(),delayp(),move(0,note(0,show(); int Ldrop(),Ljudge(),nextb(),routejudge(); } main() { char c; datainit(); Label=nextb(); Label=Ldrop(); while(1){ delayp(); if(Label!=0) { Ljudge(); Lable=nextb(); } ldelay--; if(ldelay==0)

java代码走查计划书

WATER Corporation 代码走查计划书Version 2.0 XXX 2012/3/20

文档修改记录

目录 1.进度计划 (4) 2.待评审物 (4) 3.成员角色 (5) 4.基本原则 (5) 4.1代码评审原则 (5) 4.2评审指导文档 (6) 5.走查过程定义 (6) 5.1代码走查计划准备阶段 (6) 5.2个人代码走查阶段 (6) 5.3代码走查会议阶段 (7) 5.4缺陷修改与关闭 (7)

1.进度计划 小组代码走查活动时间进度安排如下所示: 2.待评审物 待评审物名称:银行系统取款模块源代码V1.0 (SC-Banking-Withdraw- V1.0) Figure 1 UML Model for Banking-Withdraw

3.成员角色 组长:制定代码走查的计划、安排代码走查活动职责分工、组织代码走查,确保代码走查的过程规范执行; 质量保证人员:制定CheckList,记录代码走查会议以及完成问题记录报告; 开发人员:完成代码,在代码走查中引领走查人员读代码,走查结束后并根据走查的问题记录报告完成代码修改; 评审人员:依据编程规范和CheckList执行代码走查,使用Jupiter工具记录发现的问题。 4.基本原则 4.1 代码评审原则 1.一次检查少于200~400行代码 2.努力达到一个合适的检查速度:每小时少于300~500行代码 3.有足够的时间、以适当的速度、仔细地检查,但不宜超过60~90分钟 4.在复审前,代码作者应该对代码进行注释 5.建立量化的目标并获得相关的指标数据,从而不断改进流程 6.使用检查表(checklist)肯定能改进双方(作者和复审者)的结果 7.验证缺陷是否真正被修复

c语言程序代码

创作编号: GB8878185555334563BT9125XW 创作者:凤呜大王* 1.要求在屏幕上输出下一行信息。 This is a c program. 程序: #include int main() { printf(“this is a c program.\n”); return 0; } 2.求两个整数之和。 程序: #include int main() { int a,b,sum; a=122; b=234;

sum=a+b; printf(“sum is %d\n”,sum); return 0; } 3.求两个整数之间的较大者。 程序: #include int main() { int max(int x,int y); int a,b,c; scanf("%d,%d",&a,&b); c=max(a,b); printf("max=%d\n",c); return 0; } int max(int x,int y) { int z; if(x>y)z=x; else z=y; return(z);

} 4.有人用温度计测量出华氏发表示的温度(如69°F),今要 求把她转换成以摄氏法表示的温度(如20℃)。 公式:c=5(f-32)/9. 其中f代表华氏温度,c代表摄氏温度。 程序: #include int main() { float f,c; f=64.0; c=(5.0/9)*(f-32); printf("f=%f\nc=%f\n",f,c); return 0; } 5.计算存款利息。有1000元,想存一年。有一下三种方法可 选:(1)活期:年利率为r1;(2)一年定期:年利率为r2; (3)存两次半年定期:年利率为r3。分别计算一年后按三种方法所得到的本息和。 程序: #include

C语言程序设计 入门源代码代码集合

#include <> void print_star(void) { printf("*****************\n"); } void print_welcome(void) { printf("C language,welcome!\n"); } void main() { print_star(); print_welcome(); print_star(); getchar(); } 演示2 #include "" int sum(int i,int j) { return(i + j); } void main() { int n1,n2; printf("input 2 numbers:\n"); scanf("%d%d",&n1,&n2); printf("the sum = %d\n",sum(n1,n2)); getchar(); } 演示3 #include "" int maxnum(int,int,int); main() { int a,b,c; printf("Please enter 3 numbers:\n"); scanf("%d,%d,%d",&a,&b,&c); printf("Maxnum is %d\n",maxnum(a,b,c)); return 0;

} int maxnum(int x,int y,int z) { int max=x; if(y>max) max = y; if(z>max) max = z; return max; } 演示4 #include <> int s1(int n) { int j,s; s=0; for(j=1;j<=n;j++) s=s+j; return s; } int sum(int n) { int i,s=0; for(i=1;i<=n;i++) s=s+s1(i); return s; } void main() { int n; printf("n:"); scanf("%d",&n); printf("s=%d\n",sum(n)); } 演示5 #include <>

c语言基本代码

c语言基本代码 Prepared on 22 November 2020

'\0':是字符串的结束标志 ‘‘:空格 auto:声明自动变量一般不使用 double:声明双精度变量或函数(和%lf连用), m=(double)(v-l)/l*100+; 这个式子加个double是将后面式子中非double类型强制转换类型为double float:声明浮点型变量或函数(和%f连用),单精度 int:声明整型变量或函数(与%d连用) struct:声明结构体变量或函数 long:声明长整型变量或函数 switch:用于开关语句 enum:声明枚举类型 register:声明积存器变量 typedef:用以给数据类型取别名(当然还有其他作用) extern:声明变量是在其他文件正声明(也可以看做是引用变量) return:子程序返回语句(可以带参数,也看不带参数) union:声明联合数据类型 const:声明只读变量 short:声明短整型变量或函数 unsigned:声明无符号类型变量或函数 signed:生命有符号类型变量或函数 void:声明函数无返回值或无参数,声明无类型指针(基本上就这三个作用)default:开关语句中的“其他”分支 goto:无条件跳转语句 sizeof:计算数据类型长度,,是整型表达式用法sizeof(类型说明符,数组名或表达式);sizeof()是获取类型占用的字节数,是整形的 volatile:说明变量在程序执行中可被隐含地改变 static:声明静态变量 char:声明字符型变量或函数 strcmp:strcmp(s1,s2)比较字符串大小两个字符串自左向右逐个字符相比(按ASCII值大小相比较),直到出现不同的字符或遇'\0'为止大于返回1小于返回-1等于返回0 循环: for:一种循环语句(可意会不可言传)for(表达式1;表达式2;表达式3)while:循环语句的循环条件 do:循环语句的循环体 break:跳出当前循环 continue:结束当前循环,开始下一轮循环 判断: d=a>30b:c:相当于if暨当a>30是d=b否则d=c;

C语言程序设计-入门源代码代码集合

演示1 #include void print_star(void) { printf("*****************\n"); } void print_welcome(void) { printf("C language,welcome!\n"); } void main() { print_star(); print_welcome(); print_star(); getchar(); } 演示2 #include "stdio.h" int sum(int i,int j) { return(i + j); } void main() { int n1,n2; printf("input 2 numbers:\n"); scanf("%d%d",&n1,&n2); printf("the sum = %d\n",sum(n1,n2)); getchar(); } 演示3 #include "stdio.h" int maxnum(int,int,int); main() { int a,b,c; printf("Please enter 3 numbers:\n"); scanf("%d,%d,%d",&a,&b,&c); printf("Maxnum is %d\n",maxnum(a,b,c));

return 0; } int maxnum(int x,int y,int z) { int max=x; if(y>max) max = y; if(z>max) max = z; return max; } 演示4 #include int s1(int n) { int j,s; s=0; for(j=1;j<=n;j++) s=s+j; return s; } int sum(int n) { int i,s=0; for(i=1;i<=n;i++) s=s+s1(i); return s; } void main() { int n; printf("n:"); scanf("%d",&n); printf("s=%d\n",sum(n)); } 演示5

(完整word版)一些简单的C语言程序代码

由键盘任意输入1个4位数整数,分别输出其中的个位、十位、百位、千位。 /* expe 3-10 */ #include #include void main(void) { int mun,a,b,c,d; scanf("%d",&mun); a=mun / 1000; /*千位*/ b=(mun % 1000) / 100; /*百位*/ c=(mun % 100) / 10; /*十位*/ d=(mun % 10); /*个位*/ printf("千位数字为=%d\n",a); printf("百位数字为=%d\n",b); printf("十位数字为=%d\n",c); printf("个位数字为=%d\n",d); } 由键盘任意输入3个数据,找出其中的最大数和最小数。 #include void main(void) { float a,b,c,k,g;/* k 小g 大*/ printf ("请输入三个数"); scanf("%f%f%f",&a,&b,&c); if (a < b) { k = a; g = b; } else { k = b; g = a; } if (k < c)/*最小*/ { printf ("\n最小的数=%5.2f",k);} else {printf ("\n最小的数=%5.2f",c);} if (g > c)/*最大*/ {printf ("\n最大的数=%5.2f",g);} else {printf ("\n最大的数=%5.2f",c);} } 判断三角形的形状 #include #include void main(void) { printf("请输入三角形三边"); float a,b,c,p,s,k1,k2,k3; scanf("%f%f%f",&a,&b,&c); while (a + b < c || b + c < a || a + c < b ) { printf("不能构成三角形,请重新输入"); scanf("%f%f%f",&a,&b,&c); } k1 = a * a; k2 = b * b; k3 = c * c; if (a == b && b == c && c ==a) {printf("此三角形为等边三角形");} else if (a == b || b == c || c ==a) {printf("此三角形为等腰三角形"); } else if ((k1 == b * b + c * c) || (k2 == a * a + c * c) || (k3 = a * a + b * b)) {printf("此三角形为直角三角形");} else {printf("此三角形为一般三角形");} } 九九乘法表 整体 #include void main(void) { int i,j;

一些比较简c语言程序源代码

/**返回的long型的最大值是startLongValue+count-1(产生一个随机数) * param needCount * param count * param startLongValue * return */ public static List randomNoRepeatLongArray(int needCount,int count,long startLongValue){ //这种情况会出现无限循环的 if(needCount>count) return null; Random random = new Random(); int[] ints = new int[count]; for(int i=0;i list = new ArrayList(); while(list.size() #include #include

代码走查规范

综合征管信息系统 代码走查规范 文档编号: 当前版本: 1.0 修改日期:2010年8月18 日

一、JA V A编程规范 (3) 1、变量定义问题 (3) 2、变量命名规则 (3) 3、变量的声明和初始化(I NITIALIZATION) (3) 4、换行(W RAPPING L INES) (4) 5、M AP对象使用问题 (4) 6、EQUALS方法使用问题 (5) 7、IMPORT多余包问题 (5) 8、N ULL P OINTER E XCEPTION问题 (6) 9、关于对象声明问题 (7) 10、注释 (7) 11、访问静态变量或方法 (8) 12、使用静态变量 (8) 13、I F语句 (8) 14、J A V A源文件的长度 (8) 15、方法的长度 (8) 二、项目开发规范 (8) 1、J A V A文件命名规则 (8) 2、JSP代码规范 (9) 3、CTRL代码规范 (14) 4、E VENT &VO&BO (17) 5、P ROXY代码规范 (18) 6、日志 (20) 7、异常处理 (21) 8、缓存 (22)

一、J A V A编程规范 1、变量定义问题 如果定义的变量只是在某个局部内使用,就在局部内定义,不要在局部外定义。 问题代码: // 返回的明细信息放到vo里传到前台 MAmkdjVO mamkdjVO = new MAmkdjVO(); //如果找到详细信息的记录,就展现 if (responseEvent.getFindNoRecordFlag() == "1") { mamkdjVO = responseEvent.getDetailVO(); 更正代码:(mamkdjVO只是在if条件内使用,只需要自if内定义即可) //如果找到详细信息的记录,就展现 if (responseEvent.getFindNoRecordFlag() == "1") { // 返回的明细信息放到vo里传到前台 MAmkdjVO mamkdjVO = responseEvent.getDetailVO(); 2、变量命名规则 1、禁用差别不大(只有一个或少数几个字母不同)的名称 例如:hiThere和hiThre 2、在名称中禁用下划线字符('_') 3、变量的声明和初始化(Initialization) 1、避免声明的局部变量覆盖上一级声明的变量 2、尽量在声明局部变量的同时初始化。

C语言程序设计(医院信息管理系统)附源代码

专业设计报告 课程名称: C 语言程序设计 课题名称:医院信息管理系统 专业班别: 12本计算机科学与技术二班 姓名: 学号: 指导教师: 设计日期: 2012-5-25

教师评语:

成绩评定: 指导教师签名: 日期: 2012 年月日 课程设计题目医院信息管理程序 作者姓名: 同组成员: 摘要利用结构体存储每个病人的信息和每种药品的信息,并使用链表存储全部病人的信息;能完成对医院内所有病人信息的注册、查询、删除和修改等操作,同时又能对药房内库存的药品进行查询;可以将链表中的病人信息保存在文件中,并且可以对文件中的病人信息进行读取与显示 1.专业设计目的

1、掌握链表的操作,包括链表节点的创建、释放还有链表的遍历 2、掌握对二进制文件的创建、增添等基本操作。 3、熟悉C语言函数的使用方法,学会模块化处理问题以及多个源文件的处理方式 2.设计基本要求( 1、使用结构体来存储病人的信息,结构体中包括病的id号码、姓名、病历以及消费信息,并用链表将所有病人信息整合。 2、用文件来存储链表的信息以便下次再使用该程序时载入病人信息 3、能够实现病人信息的注册、病人信息的查询、病人消费统计、保存链表信息、载入链表信息、查询库存等几项功能。 4、要求用四个源文件、、、 5、系统完成后应实现类似下面所示界面

3、算法分析 1、数据结构 设计链表中的一个节点存储一个病人的信息,使用下面的结构体类型定义:struct patient{ char id[10]; char name[10]; char casehist[200]; int cost[3]; int transfusion;

C语言程序代码

1.编写一个C程序,输入a、b、c三个数,输出其中最大者。 #include "stdio.h" void main() { int paixu(int a,int b,int c); int a1,a2,a3,m; scanf("%d %d %d",&a1,&a2,&a3); m=paixu(a1,a2,a3); printf("%d",m); } int paixu(int a,int b,int c) { int max(int x,int y); int m; m=max(a,b); m=max(m,c); } int max(int x,int y) { if(x>y) return x; else return y; } 依次将10个数输入,要求将其中最大的数打印出来。 #include "stdio.h" void main() { int a[10],i,m; for(i=0;i<10;i++) scanf("%d",&a[i]); m=a[0]; for(i=1;i<10;i++) if(a[i]>m){m=a[i];} printf("最大数是:"); printf("%d\n",m); } 有3个数a、b、c,要求按从大到小的顺序把它们打印出来。 #include "stdio.h" void main() { int a[3]; int m,i,j; for(i=0;i<3;i++) scanf("%d",&a[i]); for(i=1;i<3;i++) for(j=0;ja[j]) {m=a[j];a[j]=a[i];a[i]=m;} printf("按由大到小排列:"); for(i=0;i<3;i++) printf("%d ",a[i]); } 求1+2+3+ (100) #include "stdio.h" void main() { int i,sum=0; for(i=1;i<=100;i++) { sum=sum+i; } printf("1+2+3+……+100=%d\n" ,sum); } 判断一个数n能否同时被3和5除。 #include "stdio.h" void main() { int a,b; printf("请输入一个整数\n"); scanf("%d",&a); if(a%3==0 && a%5==0) printf("能同时被3和5整除\n"); else printf("不能同时被3和5整除\n"); } 将100~200之间的素数打印出来。

C语言程序设计医院信息管理系统附源代码样本

专业设计报告 课程名称: C 语言程序设计 课题名称: 医院信息管理系统 专业班别: 12本计算机科学与技术二班姓名: 学号: 指导教师: 设计日期: -5-25

教师评语: 成绩评定: 指导教师签名: 日期: 年月日 课程设计题目医院信息管理程序

作者姓名: 同组成员: 摘要利用结构体存储每个病人的信息和每种药品的信息, 并使用链表存储全部病人的信息; 能完成对医院内所有病人信息的注册、查询、删除和修改等操作, 同时又能对药房内库存的药品进行查询; 能够将链表中的病人信息保存在文件中, 而且能够对文件中的病人信息进行读取与显示1.专业设计目的 1、掌握链表的操作, 包括链表节点的创立、释放还有链表的遍历 2、掌握对二进制文件的创立、增添等基本操作。 3、熟悉C语言函数的使用方法, 学会模块化处理问题以及多个源文件的处理方式 2.设计基本要求( 1、使用结构体来存储病人的信息, 结构体中包括病的id号码、姓名、病历以及消费信息, 并用链表将所有病人信息整合。 2、用文件来存储链表的信息以便下次再使用该程序时载入病人信息 3、能够实现病人信息的注册、病人信息的查询、病人消费统计、保存链表信息、载入链表信息、查询库存等几项功能。 4、要求用四个源文件main.c、link.c、find.c、save_load.c 5、系统完成后应实现类似下面所示界面

3、算法分析 1、数据结构 设计链表中的一个节点存储一个病人的信息, 使用下面的结构体类型定义: struct patient{ char id[10]; char name[10]; char casehist[200]; int cost[3]; int transfusion; int surgery; struct patient *next; };

代码走查指导书

代码走查指导书 一、目的 1、根据需求、设计尽早发现在各个单元中存在的缺陷,从单元测试阶段抓质量; 2、依靠单元测试,执行代码走查,更快地掌握、了解需求、设计的变更,发现问题并 及时修改测试用例; 3、从另一方面去促使开发人员提高软件编码及单元测试的质量; 4、使测试人员更好地理解业务,掌握项目信息; 二、前提 测试人员需要深刻理解需求、理解设计; 三、测试环境 由测试leader负责搭建一个简易的测试环境,数据库最好与开发部公用; 注:单元测试的很多数据无法通过系统功能去制造,避免因数据的不规范而引发缺陷,所以尽量不要直接在数据库操作; 四、测试范围 1、设计的完整性;(根据提交的单元测试页面及实时变更记录测试) 2、业务的正确性;(根据项目的业务需求测试)(以1为测试前提) 3、功能的正确性;(根据详细设计测试)(以1、2为测试前提) 1)页面所有事件元素(增、删、改、查、上传等按钮、控件的操作)的测试; 2)页面初始状态的默认值测试; 3)设计要求的必输项测试; 4)系统统一设计风格的测试;(如清空查询条件的清空按钮) 5)边界数据的测试; 6)Html源码的测试; 7)接口测试;(以相关接口单元已完成为前提,该测试由测试leader不定期进行,原因:一、多留点时间给测试组员设计、修改测试用例;二、以测试leader的理解 去发现更深层次的问题,也可作为对组员测试工作的检查。) 五、缺陷的记录与修改 1、在测试范围1~6内发现的所有缺陷均记录在SPMS之同级评审--测试走查内; 2、在测试范围7内发现的所有缺陷以邮件的形式发送项目负责人; 六、人员职责划分 测试leader 1、测试版本控制;(开发部提交所有已完成页面的编译包) 2、测试任务的分配(最好是谁写测试用例谁负责测试)、测试时间的控制及测试 结果的发布; 3、查看所有缺陷,过滤一些非缺陷问题,整理共通问题并通知开发人员; 4、接口测试并跟踪修改结果;

运动会c语言源程序代码

#include #include #include #include #define n 2 #define m 1 #define w 1 #define null 0 typedefstruct { intitemnum; int top; int range[5]; int mark[5]; }itemnode; typedefstruct { intschoolnum; int score; intmscore; intwscore; itemnode c[m+w]; }headnode; headnode h[n]; voidinputinformation() { inti,j,k,s; for(i=0;i

scanf("%d",&h[i].c[j].itemnum); printf("*****取前3名or前5名:"); scanf("%d",&h[i].c[j].top); printf("*****获得几个名次:"); scanf("%d",&k); for(s=0;s<5;s++) h[i].c[j].range[s]=0, h[i].c[j].mark[s]=0; for(s=0;s

C语言源程序

C语言程序设计 <一> 1、程序运行从main()函数开始,也从main()函数结束。 2、函数是C程序的基本单位,由函数头和函数体组成。 3、C语言源程序是由函数组成,它们的数目可以有多个。 4、在C语言源程序中,是必须有一个函数名为main的函数。main()后的小括号()没有任何内容,它不可以省略。 5、C程序中的语句用分号结束,在一个程序行上可以有多个语句,一个C 语句能写在多个程序行上。 6、函数体是由一对大括号围起来语句序列组成。小括号是函数的标志。 二、C语言的组成元素 1、命令、函数和变量等是组成程序的基本对象,每一个程序对象都需要一个名字来标识,程序对象的名称就是标识符。 2、在C语言中,标识符分为用户标识符和系统标识符。 3、用户标识符是指在程序中由程序员为变量、函数、数组等程序对象自行命名的标识符。 4、系统标识符是指C语言编译系统内部预定义的用于表示命令数据内型的标识符,又称保留字符。 5、基本字符集 英文字母:a~z和A~Z。 阿拉伯数字:0~9。其他字符:()、[]、+、-、*、/、%、<、>、<=、>=、==、!=、!、&&、‖、++、--、+=、-=、*=、/=、%=。它们是由1~2个字符组成。用作C语言的运算符;还包括:空格、换行符,回车符,单双引号,大括号,逗号,分号,反斜线,它们在程序中起到分隔和定界作用。 6、标识符:是用于标识命令;变量、函数,数组,数据类型等程序对象名称的字符序列。 7、组成标识符的合法字符有:字母,数字,下划线,三种,数字不能作首字符。 三、执行C语言程序 1、单击“开始”——“程序”——“附件”——“命令提示符”。 2、按功能键<10>激活菜单,执行“File”——“NEW”(ALT+回车)全屏。 3、为保存,输入程序文件名。 4、+运行 有输入:等待输入→回车 通过 无输入:返回到编辑 未通过:回车→F6→修改 F3(打开)

代码走查标准

一.目录文件组织 1.所有的文件名符合文件命名规范 2.文件和模块分组清晰 二.程序结构 3.所有的模块(函数和外部接口)定义清晰,模块分解清楚 4.结构设计能够满足机能变更,便于重构 5.模块中所有的数据结构都定义为局部的,并且通过定义好的函数进行访问 6.为外部定义了良好的函数接口,且修改时不影响其他代码模块 7.代码体系构架对空间和速度都已经进行考虑 三.代码组织 8.所有的代码行在80字符以内 9.每个程序文件都小于2000行 10.每个函数显示不超过100行 11.所有的变量声明每行只声明一个 12.所有的变量名都小于32字符 13.所有的函数名都小于64个字符 14.每个函数之间都用空行进行分开 15.所有的行每行最多只有一句代码或一个表达式 四.函数 16.函数注释清楚地描述函数和它的功能 17.函数的名字清晰的定义了它的目标以及函数所做的事情 18.函数的参数遵循一个明显的顺序 19.函数由并列关系的语句组成 20.函数高内聚,只做一件事情,并做好 21.所有的参数小于7个,且都被使用 22.函数使用了最少数目的return语句 23.函数检查了输入数据的合法性 24.函数异常处理清楚 25.函数设计已经考虑了将来的变化

五.数据类型与变量 26.Plugin中尽量避免全局变量的使用 27.每一个变量都在接近使用它的地方才初始化 28.变量的命名完全、明确的描述了该变量代表什么 29.同一种类型命名使用统一的前缀 30.所有的变量都被使用 31.所有的数组访问要考虑越界情况 32.变量在使用前进行必要的null值判断和处理六.条件判断 33.普通的情况在if下处理而不是else 34.最常用的情况最先判断 35.嵌套层次小于3层 七.循环 36.当有明确的多次循环操作,使用For循环 37.当有不明确的多次循环操作,while循环被使用 38.变量定义,数据库读写尽量在循环外进行 39.循环嵌套的次数小于3次 八.注释 40.使用统一的注释模版 41.每个类,每个函数都要有注释 42.注释量不低于20% 43.注释要随着代码改变而进行更新 九.其他 44.无用的代码和注解已经删除 45.页面的布局要符合统一操作说明

c语言动画程序源码

C语言动画程序 #include #include #include #include #define pi 3.1415926535 double ca3mm1(double m1,double m2); double ca3fm1(double cosine,double sine); double ca5fm2(double a6m,double a5m,double a4m,double a4f,int shang); double ca6fm2(double a4m ,double a4f,double a5m , double a5f); char inbox(int x,int y,int x1,int y1); char buf(); main() { double m=3.0; double xo=100.0,yo=200.0,a1=30.0,t1=pi; double xc=xo+m*a1,yc=yo; double a2=8.0,a3,a4=25.0,a5=30.0,a6=20.0,a7=35.0; double t2,t3,t4,t5,t6,t7; double xo1=xo+m*150,yo1=yo; double xc1=xo1-m*a1,yc1=yo1; double i,j,k; double l1; double n=116.1,nt; initscreen(); setfillstyle(SOLID_FILL,DARKGRAY); bar(0,0,640,480); mybutton(10,10,"BEGIN",1,0); mybutton(500,10,"EXIT",1,0); line(0,69,640,69); mouseinit(); changemousecross(); setmousexy(320,20); mouseshow(); setmousearea(0,0,640,60); do{ if(inbox(10,10,70,26)&&button()==1) {mousehide(); mybutton(10,10,"BEGIN",0,0); mouseshow(); mousehold(); mousehide(); mybutton(10,10,"BEGIN",1,7); mouseshow(); break; }

相关主题
文本预览
相关文档 最新文档