顺序结构程序–格式特点•习惯用小写字母,大小写敏感•不使用行号,无程序行概念•可使用空行和空格•常用锯齿形书写格式main(){……………….…………………………..…………..……………….………………………….……………….………………..}main(){inti,j,sum;sum=0;for(i=1;i10;i++){for(j=1;j10;j++){sum+=i*j;}}printf(“%d\n”,sum);}优秀程序员的素质之一:使用TAB缩进{}对齐有足够的注释有合适的空行C程序格式和结构特点/*example1.1calculatethesumofaandb*/#includestdio.h/*Thisisthemainprogram*/main(){inta,b,sum;a=10;b=24;sum=add(a,b);printf(”sum=%d\n,sum);}/*Thisfunctioncalculatesthesumofxandy*/intadd(intx,inty){intz;z=x+y;return(z);}运行结果:sum=34函数语句预处理命令注释•函数与主函数–程序由一个或多个函数组成–必须有且只能有一个主函数main()–程序执行从main开始,在main中结束,其它函数通过嵌套调用得以执行。•程序语句–C程序由语句组成–用“;”作为语句终止符•注释–//,/**/为注释,不能嵌套–不产生编译代码例:/*Thisisthemain/*ofexample1.1*/*/非法•编译预处理命令结构特点阅读程序•学会阅读程序对于初学者来说很重要,一方面可以巩固所学的语法知识,另一方面通过阅读别人写好的程序来打开自己的思路,就所谓见多识广。•如果选择有误,就要认真分析原因,是概念方面的错误还是对程序逻辑理解不对,从而加深对语法规则的理解,提高程序设计能力。阅读下面简单的源程序,先预测程序的功能和输出结果,再编辑、编译、运行程序,观察运行结果和自己的预测值是否相符?若不相符,试分析原因,最后将其以文件名ex1存入你自己的目录下。main(){inta=5,b=8;printf(“Beforechange:a=%d\tb=%d\n”,a,b);a=a+b;b=a-b;a=a-b;printf(“Afterchange:a=%d\tb=%d\n”,a.b);printf(“\n\n);printf(“Goodbye\n”);}3.1程序设计基础3.1.1程序程序就是一条条指令序列的集合。一条机器语言成为一条指令,指令是不可分割的最小功能单元。一个程序应包括两个方面:(1)对数据的描述。在程序中要指定数据的类型和数据的组织形式,即数据结构。(2)对操作的描述:即操作步骤,也就是算法。程序设计语言:描述数据和算法程序设计目的:进行数据的处理程序=数据+算法+程序设计方法+语言工具和环境8金手指考试网年金手指驾驶员考试科目一科目四元贝驾考网程序的三种基本结构:·顺序结构·选择结构·循环结构程序设计基础程序设计基础结构化程序顺序结构顺序结构中的语句是按书写的顺序执行的,语句的执行顺序与书写顺序一致选择结构当程序执行到某一语句时,将根据不同的条件去执行不同分支的语句循环结构当满足某种循环条件时,将一条或多条语句重复执行若干遍,直到不满足循环条件为止赋值语句当同一个变量出现在赋值号两边的时候,对右边的变量进行的是取(读取)值运算,变量值不变。对左边的变量进行的是赋(写存)值运算,变量值更新。例:计数和累加运算i=0;s=0;isi=i+1;1计数scanf(“%f”,cj);输入成绩s=s+i;1累加s=s+cj;累加i=i+1;2scanf(“%f”,cj);s=s+i;3s=s+cj;i=i+1;3scanf(“%f”,cj);s=s+i;6s=s+cj;i=i+1;4scanf(“%f”,cj);s=s+i;10(1+2+3+4)s=s+cj;s=cj1+cj2+cj3+cj4赋值语句例:变量x,y值的交换intx,y,t;x=5;y=6;t=x;x=y;y=t;例:保留两位小数(四舍五入)x=86.4567;x=(int)(x*100+0.5)/100;赋值语句(1)左边一定是变量。(2)右边可以是变量、常量、函数、运算符和括号。(3)赋值要相容。(4)赋值表达式可以位于程序中表达式可以出现的位置。(5)赋值语句可以位于程序中执行部分作为执行语句的一种。a=9;a=a=a+1;则执行此语句后,变量a和表达式的值为10。用{}把一些语句(语句序列,表示一系列工作)括起来称为复合语句,又称为“语句块”。一般情况凡是允许出现语句的地方都允许使用复合语句。在程序结构上复合语句被看作一个整体的语句,但是内部可能完成了一系列工作。请注意:C语言允许一行写几个语句,也允许一个语句拆开写在几行上,书写格式无固定要求。一般将彼此关联的、或表示一个整体的一组较短的语句写在一行上。例如{t=a;a=b;b=t;}在复合语句中,不仅可以有执行语句,也可以有定义部分,定义本复合语句中的局部变量。3.3复合语句和空语句3.3.1复合语句只有一个分号的语句,它什么也不做(表示这里可以有一个语句,但是目前不需要做任何工作)。程序中有时需要加一个空语句来表示存在一条语句,但随意加分号也会导致逻辑上的错误,而且这种错误十分隐蔽,编译器也不会提示逻辑错误,初学者一定要小心,需要慎用。3.3复合语句和空语句3.3.2空语句(1)空循环100次,可能表示一个延时,也可能表示目前还不必在循环体中做什么事情。for(i=0;i100;i++);/*循环结构要求循环体,但目前什么工作都不要做。;表示循环体*/(2)如果条件满足什么都不做,否则完成某些工作。(;表示if块,什么都不做)if();else{......}3.3复合语句和空语句3.3.2空语句•例3.14:从键盘输入一个3位整数,编写程序分别求出个位、十位、百位数,并分别显示输出。•#includestdio.h•main()•{•intx,b0,b1,b2;•printf(“pleaseinputx:”);•scanf(%d,&x);•b2=x/100;•b0=x%10;•b1=x/10%10;•printf(bit0=%d,bit1=%d,bit0=%d\n,b0,b1,b2);•}