主讲人:蔡婷婷程序设计的一般过程分析问题确定算法编写程序调试程序整理文档C语言实训2(1)预编译命令“#include”将“stdio.h”文件包括到用户源文件中。#include“stdio.h”(2)“main”表示“主函数”,每一个C程序都必须有一个main函数。函数体由大括弧{}括起来。Void表示该函数无返回值。(3)函数体包括以下内容:变量定义。如“inta,b;”执行部分。C语言实训3(4)C程序是由函数(function)构成的。一个C源程序至少包含一个函数(main函数),也可以包含一个main函数和其他若干个其他函数。(5)一个C程序总是从main函数开始执行的,而不论main函数在整个程序中的位置如何。(6)C程序书写格式自由,一行内可以写几个语句,一个语句可以分写在多行上。C程序没有行号。(7)每个语句和数据定义的最后必须有一个分号。Printf(“HelloWorld”);C语言实训4(8)C语言本身没有输入输出语句。输入和输出的操作是由scanf和printf等函数来完成的。(9)位于”/*…*/之间的内容是注释语句,用来帮助读者阅读程序,在程序运行时这些内容不起作用,注释语句可写在程序中的任何位置。(10)C语言是区分大小写的。例如s和S是两个不同的字符。习惯上,建议用小写英文字母,以增加可读性。C语言实训5C语言实训6C语言实训7C语言实训8转义字符序列描述\b退格\f换页\n换行\r回车\t横向制表\v纵向制表\’单引号\’’双引号\\反斜杠\ooo八进制数\xhh十六进制数C语言实训9#includestdio.hmain(){charc1,c2;c1='a';c1=c1-32;c2=c1+1;printf(\n%c%c,c1,c2);printf(\n%d%d,c1,c2);}C语言实训10小写字母的ASCII码比大写字母的ASCII码大32C语言实训11#includestdio.hmain(){intage=19,num=23;floatscore=89.5;charsex='m';printf(NameisRose\n);printf(IDis%d\n,num);printf(Age:%d\tSex:%c\tscore:%f\n,age,sex,score);}C语言实训12#includestdio.hmain(){intage,num;floatscore;charsex;/*f:女,m:男*/printf(inputtheinformation:\n);scanf(%d%d%f%c,&age,&num,&score,&sex);printf(Age:%d\tID:%d\tSex:%c\tscore:%f\n,age,num,sex,score);}C语言实训13Printf(格式控制,输出列表);%d,按整型数据的实际长度输出%f输出实数,以小数形式输出(默认六位小数)Scanf(格式控制,输出列表);地址列表是由若干个地址组成的列表,可以是变量的C语言实训14C语言实训15#includestdio.hmain(){intf1,f2,f3,sum;floatave;printf(\nf1:);scanf(%d,&f1);printf(f2:);scanf(%d,&f2);printf(f3:);scanf(%d,&f3);sum=f1+f2+f3;ave=sum/3.0;printf(\ntotal:%d\taverage:%.2f\n,sum,ave);}C语言实训16C语言实训17i++先使用i,然后使i的值增1++i先使i的值增1,然后使用iK--先使用k,然后使k的值减1--k先使k的值减1,然后使用kC语言实训18#includestdio.hmain(){inta=100;printf(%d\t,a);printf(%d\n,++a);printf(%d\t,a++);printf(%d\n,a);}C语言实训19运算符名称实例运算符名称实例大于ab=小于等于a=b=大于等于a=b==等于a==b小于ab!=不等于a!=bC语言实训20C语言实训21#includestdio.h#includestdlib.hmain(){intoper1,oper2,sum,mul,sub;doublediv;printf(请输入第一个操作数:\n);scanf(%d,&oper1);printf(请输入第二个操作数:\n);scanf(%d,&oper2);sum=oper1+oper2;printf(%d+%d=%d\n,oper1,oper2,sum);sub=oper1-oper2;printf(%d-%d=%d\n,oper1,oper2,sub);mul=oper1*oper2;printf(%d×%d=%d\n,oper1,oper2,mul);div=(double)oper1/oper2;printf(%d÷%d=%f\n,oper1,oper2,div);system(pause);}C语言实训22#include“stdio.h”#definePI3.14main(){floatr,s,c;printf(请输入圆的半径r:);scanf(%f,&r);s=PI*r*r;c=2*PI*r;printf(圆的面积s为:%f\n圆的周长c为:%f\n,s,c);}C语言实训23#includestdio.hmain(){intnum;intn1,n2,n3,n4,sum;scanf(%d,&num);n1=num%10;/*求个位数*/n2=num/10%10;/*求十位数*/n3=num/100%10;/*求百位数*/n4=num/1000;/*求千位数*/sum=n1+n2+n3+n4;printf(和为:%d,sum);}C语言实训241、输入一名选手的评分(五个),输出总分及平均分。2、从键盘输入一个小写字母,打印该字母及其对应的ASCII代码值,然后打印该字母对应的大写字母及其对应的十进制ASCII代码值。C语言实训25顺序结构选择结构循环结构C语言实训26S1S2S1S2条件S1条件顺序结构选择结构循环结构C语言实训27测试表达式语句=0If(表达式)语句流程图≠0C语言实训28If(表达式)语句1;else语句2;语义:如果表达式的值为真,则执行语句1,否则执行语句2。C语言实训29#includestdio.hmain(){inta,b;printf(inputtwonumbers:\n);scanf(%d%d,&a,&b);if(ab)printf(max=%d\n,a);elseprintf(max=%d,b);}思考题:输入两个整数,要求从大到小输出这两个数。C语言实训30提示;if(ab)printf(“%d,%d”,a,b);elseprintf(“%d,%d”,b,a);(1)条件运算符。它是一个三目运算符,由?:组成。(2)条件表达式。由条件运算符组成条件表达式。C语言实训31一般形式为:表达式1?表达式2:表达式3规则:如果表达式1的值为真,则以表达式2的值作为整个条件表达式的值,否则以表达式3的值作为整个条件表达式的值。C语言实训32If(ab)max=a;elsemax=b;条件表达式max=(ab)?a:b;输入两个整数,要求从大到小输出这两个数。#includestdio.hmain(){inta,b;printf(inputtwonumbers:\n);scanf(%d%d,&a,&b);printf(max=%d\n,ab?a:b);}C语言实训33If-else语句实现If-elseif-else实现switch语句实现C语言实训34C语言实训35#includestdio.hmain(){intf1,f2,f3;floatave;chary;printf(\nf1:);/*提示输入第一个评委打分*/scanf(%d,&f1);/*输入评分1*/printf(\nf2:);scanf(%d,&f2);printf(\nf3:);scanf(%d,&f3);ave=(f1+f2+f3)/3.0;if(ave=0&&ave=100){if(ave=90&&ave=100)y='A';/*分等级*/if(ave=80&&ave90)y='B';if(ave=70&&ave80)y='C';if(ave=60&&ave70)y='D';if(ave=0&&ave60)y='E';printf(Theleveloftheplayeris:%c\n,y);/*输出等级*/}elseprintf(Scoreisinvalid\n);}If(ave=90)y=‘A’;elseIf(ave=80)y=‘B’;elseIf(ave=70)y=‘C’;elseIf(ave=60)y=‘D’;elseY=‘E’printf(Theleveloftheplayeris:%c\n,y);/*输出等级*/C语言实训36#includestdio.hmain(){intf1,f2,f3,t;floatave;chary;printf(\nf1:);/*提示输入第一个评委打分*/scanf(%d,&f1);/*输入评分1*/printf(\nf2:);scanf(%d,&f2);printf(\nf3:);scanf(%d,&f3);ave=(f1+f2+f3)/3.0;t=ave/10;switch(t){case10:case9:printf(“Theleveloftheplayeris“A”);break;case8:printf(“Theleveloftheplayeris“B”);break;case7:printf(“Theleveloftheplayeris“C”);break;case6:printf(“Theleveloftheplayeris“D”);break;case5:case4:case:3:C语言实训37case2:case1:case0:printf(“TheleveloftheplayerisE”);break;default:printf(“Scoreisinvalid!\n”);}}C语言实训38#include“stdio.h”main(){inta;scanf(“inputintegernumber:”);scanf(“%d”,&a);switch(a){case(1):printf(“Monday\n”);break;case(2):printf(“Tuesday\n”);break;case(3):printf(“Wednesday\n”);break;case(4):printf(“Thursday\n”);break;case(5):printf(“Friday\n”);break;case(6):printf(“Saturday\n”);break;case(7):printf(“Sunday\n”);break;default:printf(“error\n”);}}在每个case后的各常量表达式的值应互不能相同,否则会出现错误。在每个case后允许有多个语句,可以不用{}括起来。许多个case可共用一个语句序列。如果每个case中都有break语句,那么case和default出现的次序不会影响程序的运行结果。Default子句可以省略不用。字符常熟出现在case中,它们会自动转成整型。Switch可以嵌套使用,要求内层的switch必须完全包含在外层的某个case中。Switch语句只能进行相等性检查,而if不但可进行相等性检查,还可以计算关系或逻辑表达式。因此switch语句不能完全替代if语句。C语言实训39思考题:输入学生学习成绩,成绩=90的同学用A表示,