欢迎来到天天文库
浏览记录
ID:50045764
大小:4.26 MB
页数:31页
时间:2020-03-02
《计算机二级C语言 程序结构.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、C语言程序的基本控制结构参考书《计算机程序设计基础》第三章《C程序设计》第四章、第五章本讲主要内容结构化程序设计if语句switch语句while语句do-while语句for语句break和continue语句if(表达式)语句例:if(x>y)printf("%d",x);if(表达式)语句1else语句2例:if(x>y)printf("%d",x);elseprintf("%d",y);if(表达式1)语句1elseif(表达式2)语句2elseif(表达式2)语句3…else语句nif语句——三种形式一般形式if()
2、if()语句1else语句2elseif()语句3else语句4注意语句1、2、3、4可以是复合语句每层的if与else配对,或用{}来确定层次关系if语句——嵌套条件运算符一般形式:表达式1?表达式2:表达式3执行顺序:先求解表达式1,若值为非0,则求解表达式2,表达式2的值为最终结果;若值为0,则求解表达式3,表达式3的值为最终结果。注意:条件运算符优级高于赋值运算符,低于关系运算符和算术运算符;结合方向为自右至左;只能取代简单的if语句:内嵌语句为赋值语句,且两个分支都给同一个变量赋值;表达式1、2、3的类型可以不同,条件表达式
3、的最终类型为2和3中较高的类型。一般形式switch(表达式){case常量表达式1:语句1case常量表达式2:语句2┆case常量表达式n:语句ndefault:语句n+1}switch语句执行顺序以case中的常量表达式值为入口标号,由此开始顺序执行。因此,每个case分支最后应该加break语句。每个常量表达式的值不能相同,次序不影响执行结果。可以是多个语句,但不必用{}。可以是整型、字符型、枚举型使用switch语句应注意的问题case分支可包含多个语句,且不用{}表达式、判断值都是int型或char型若干分支执行内容相同
4、可共用一组语句例子#includevoidmain(){intx=1,y=0;switch(x){case1:switch(y){case0:printf("***");break;case1:printf("+++");break;}case2:printf("####");}}结果:***####voidmain(){inti;for(i=1;i<=5;i++)switch(i%5){case0:printf("*");break;case1:printf("#");break;default:printf("
5、");case2:printf("&");}}A)#&&&*b)#&C)#&D)#&&&&*#includevoidmain(){intc;while((c=getchar())!='')switch(c-'2'){case0:case1:putchar(c+4);case2:putchar(c+4);break;case3:putchar(c+3);default:putchar(c+2);break;}printf("");}当从键盘输入2473时,运行结果为:A)668977B)668966C)6
6、6778777D)6688766答案:awhile语句形式while(表达式)语句可以是复合语句,其中必须含有改变条件表达式值的语句。执行顺序先判断表达式的值,非0再执行语句。——实现“当型”循环。#includevoidmain(){intnum=0;while(num<=2){num++;printf("%d",num);}}a)1b)1c)1d)123223do-while语句一般形式do语句while(表达式)可以是复合语句,其中必须含有改变条件表达式值的语句。执行顺序先执行语句,后判断条件。表达式非0时
7、,继续执行循环体。while语句与do-while语句的比较While先判断条件Do-while先执行一次,再判断条件#includevoidmain(){inti,sum=0;i=1;do{sum=sum+i;i++;}while(i<=100);Printf(“%d”,sum);}以上程序能实现什么功能?以下程序段:X=-1;Do{x=x*x;}While(!x);a)死循环b)循环两次c)执行一次d)有语法错误intx=3;do{printf("%d",x-=2);}while(!(--x));a)1b)
8、1和-2c)3和0d)死循环1、以下程序段执行的循环次数是:a=10;b=0;do{b+=2;a-=2+b;}while(a>=0);2、以下程序段的结果:x=2;do{printf(“*”);x--;}w
此文档下载收益归作者所有