《第3章三种基本程序结构.ppt》由会员分享,可在线阅读,更多相关《第3章三种基本程序结构.ppt(46页珍藏版)》请在优知文库上搜索。
1、C语言程序设计分析问题确定数学模型数据结构算法设计编程调试运行 开始结束定义变量A、B、CCAABBC输出A、B的值 ;如实数型量不能按如实数型量不能按%d%d形式输出,字符串量不能形式输出,字符串量不能按按%f%f形式输出等等。形式输出等等。下面语句写法是错误的:下面语句写法是错误的:下面语句呢?下面语句呢?这和变量名是不一样的。例如这和变量名是不一样的。例如“%d%d”和和“%D%D”被认为是不一样的。被认为是不一样的。下面语句和合法的:下面语句和合法的:即上述即上述printfprintf函数的一般形式严格意义上应改为:函数的一般形式严格意义上应改为:printf(printf(格式控制
2、格式控制,输出列表,输出列表);即输出表列部分是可选的。即输出表列部分是可选的。如:如:printf printf函数按格式控制符指定的形式在输出列表中寻找待函数按格式控制符指定的形式在输出列表中寻找待输出量与之对应输出。当找不到对应待输出量时则会出错。如:输出量与之对应输出。当找不到对应待输出量时则会出错。如:假设变量假设变量a a的值为的值为3 3,b b的值为的值为4 4,则输出为:,则输出为:如:如:则输出为:则输出为:变量变量c c的值将不被输出。的值将不被输出。下面是体现“可取有效输入”含义的一个例子:如果想输入123给m,字符w给ch,456给n,则以下3种输入方式应采用哪一种呢
3、?1、做书上、做书上 课后习题一(课后习题一(1)(6),二(),二(1););2、作业本、作业本 课后习题三(课后习题三(1 1)、()、(3 3)不是不是是是if子句子句else子句子句不成立不成立成立成立如:如:if(xy)z=x;else z=y;if(5)printf(“OK!”);if(a=3)printf(“Good”);if(ab)t=a;a=b;b=t;if(ab)t=a;a=b;b=t;if(xy)z=x;else z=y;不是不是是是下雨了?带雨伞if(ab)max=a;else max=b;也可以写成也可以写成 max=(ab)?a:b分支分支1分支分支2分支分支n分支
4、分支n+1表达式语句1C 1case 语句2C 2语句nCn语句n+1defaultswitch(grade)case A:printf(“90100!n”);case B:printf(“8089!n”);case C:printf(“7079!n”);case D:printf(“6069!n”);case E:printf(“60!n”);default:printf(“Cuo wu!n”);9010080897079606960!1、做书上、做书上 课后习题一(课后习题一(7)(12),二(),二(2)、)、(5)、()、(10)、()、(11)、()、(12););2、作业本、作业本
5、 课后习题三(课后习题三(4)、()、(6)、()、(7)while(i100)sum+=i;表达式表达式假假真真语句语句表达式表达式假假真真语句语句while(6)sum=sum+i;do sum=sum+i;i+;while(i=5)a=a+1;printf(“%d”,a);int a=5;do a=a+1;while(a=5);printf(“%d”,a);for(i=1;i=100;i+)sum=sum+i;表达式表达式2假假真真表达式表达式1语句语句表达式表达式3表达式表达式2假假真真表达式表达式1语句语句表达式表达式3for(表达式表达式1,表达式表达式2,表达式表达式3)语句;语
6、句;表达式表达式1;while(表达式表达式2)语句;语句;表达式表达式3;i=1;for(;i=100;i+)sum=sum+i;for(i=1;i+)sum=sum+i;i=1;while(1)sum=sum+i;i+;等价于等价于for(i=1;i=100;)sum=sum+i;i+;i=1;for(;i=100;)sum=sum+i;i+;i=1;while(i=100)sum=sum+i;i+;等价于等价于for(;)while(1)等价于等价于if()if()(a)if()while()(b)while()for()(c)do if()while();(d)for()while()
7、(e)for()do while()while();(f)switch()case:while()if()else switch()break;(g)main()int a,b,c,t;scanf(%d%d%d,&a,&b,&c);if(ab)if(ac)t=a;else t=c;else if(b=0)if(x0)y=1;else y=-1;它们是一对吗?它们是一对吗?main()int i,j;printf(n);for(i=1;i10;i+)for(j=1;j10;j+)printf(%d*%d=%d,i,j,i*j);printf(“n”);外层外层forfor的两条语句的两条语句/*条件成立?进入循环条件成立?进入循环*/*条件成立?进入循环条件成立?进入循环*/*执行执行9次次*/*外层循环进入第二轮,再次重复之前操作外层循环进入第二轮,再次重复之前操作*/main()int i,j,k;printf(n);for(i=1;i=9;i+)j=0;while(j=9)k=0;do if(i*i*i+j*j*j+k*k*k)=(i*100+j*10+k)printf(%dt,i*100+j*10+k);k+;while(k=9);j+;printf(n);forfor的循环体的循环体dodowhilewhile的循环体的循环体whilewhile的循环体的循环体