欢迎来到天天文库
浏览记录
ID:39963310
大小:329.31 KB
页数:24页
时间:2019-07-16
《c语言的基本控制结构》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第2章C语言的基本控制结构2.3循环结构2.2选择结构2.1顺序结构2.1顺序结构顺序结构是指按照语句的书写顺序依次执行每条语句的语句结构。2.2选择结构选择结构是指根据某些数据的取值或计算结果选取不同操作的处理方式。选择结构的描述由两个基本部分组成,一是对选择条件的描述;二是对处理分支的描述。关系运算与逻辑运算关系运算符运算符><>=<===!=功能大于小于大于等于小于等于等于不等于逻辑运算符逻辑运算符&&
2、
3、!功能逻辑与逻辑或逻辑非注意:对于数学表示形式04、照下列格式书写:0=0&&y++,如果x小于0,将不计算y++。对于“逻辑或”运算也有类似的规定。它的计算顺序是:首先计算“逻辑或”左侧的表达式,如果结果为整数0(逻辑假),则继续计算右侧的表达式,并根据它的计算结5、果得出整个逻辑表达式的最终结果。但是,如果“逻辑或”运算符右侧的表达式结果为1(逻辑真),就不继续计算右侧的表达式了,并直接返回整数1(逻辑真)例如,对于逻辑表达式x>=06、7、y++,如果x大于或等于0,将不计算y++if语句if(<条件表达式>)<真分支语句>if语句if(<条件表达式>)<真分支语句>else<假分支语句>例1:分析整数绝对值的计算过程。#includemain(){intinput,output;printf(“Enterainteger:”);scanf(“%d”,&input);if(input<0)/*判断inpu8、t是否小于0*/output=-input;elseoutput=input;printf(“ABS(%d)=%d”,input,output);}例2:通过键盘输入的坐标点,判断该坐标点处于第几象限。#includemain(){intx,y;printf(“Enter2integers:”);scanf(“%d%d”,&x,&y);if(x>0&&y>0)/*x>0并且y>0*/printf(“Iquadrant”);elseif(x>0&&y<0)/*x>0并且y<0*/printf(“VIquadrant”);elseif9、(x<0&&y>0)printf(“IIquadrant”);elseif(x<0&&y<0)printf(“IIIquadrant”);}多路选择和switch语句switch语句的语法格式如下:switch(<表达式>){case<常量>:<语句序列>case<常量>:<语句序列>......case<常量>:<语句序列>default:<语句序列>}执行的基本过程:首先计算充当开关角色的表达式;然后,根据计算结果进行控制的转移,即用开关值与下面每个case语句中的常量进行比较;如果开关值等于某个常量,则执行该case语句中的语句序列;如果不存在等于开10、关值的case常量,则执行default语句中的语句序列。在switch语句中,所有的case常量不允许重复。在实际应用中,经常将break语句作为每个case分支的语句序列的最后一条语句,以表示该分支的计算结束,并随后跳出switch语句,终止switch语句的继续执行。例3:输入一个格式为x+y的二元算术运算表达式,输出这个表达式的计算结果。#includemain(){doublea,b,c;charop;printf(“Enteraexpression”);scanf(“%lf%c%lf”,&a,&op,&b);switch11、(op){见下页}printf(“%lf%c%lf=%lf”,a,op,b,c);}case‘+’:c=a+b;break;case‘-‘:c=a–b;break;case‘*’:c=a*b;break;case‘/’:c=a/b;break;default:printf(“InputError”);break;例4:通过键盘读取两个复数和运算符,完成复数运算的操作,并输出计算的结果。#includemain(){doublea,b,c,d,r,i,t;charop;/*保存运算符*/printf(“Enterthefirstcomp12、lexnu
4、照下列格式书写:0=0&&y++,如果x小于0,将不计算y++。对于“逻辑或”运算也有类似的规定。它的计算顺序是:首先计算“逻辑或”左侧的表达式,如果结果为整数0(逻辑假),则继续计算右侧的表达式,并根据它的计算结
5、果得出整个逻辑表达式的最终结果。但是,如果“逻辑或”运算符右侧的表达式结果为1(逻辑真),就不继续计算右侧的表达式了,并直接返回整数1(逻辑真)例如,对于逻辑表达式x>=0
6、
7、y++,如果x大于或等于0,将不计算y++if语句if(<条件表达式>)<真分支语句>if语句if(<条件表达式>)<真分支语句>else<假分支语句>例1:分析整数绝对值的计算过程。#includemain(){intinput,output;printf(“Enterainteger:”);scanf(“%d”,&input);if(input<0)/*判断inpu
8、t是否小于0*/output=-input;elseoutput=input;printf(“ABS(%d)=%d”,input,output);}例2:通过键盘输入的坐标点,判断该坐标点处于第几象限。#includemain(){intx,y;printf(“Enter2integers:”);scanf(“%d%d”,&x,&y);if(x>0&&y>0)/*x>0并且y>0*/printf(“Iquadrant”);elseif(x>0&&y<0)/*x>0并且y<0*/printf(“VIquadrant”);elseif
9、(x<0&&y>0)printf(“IIquadrant”);elseif(x<0&&y<0)printf(“IIIquadrant”);}多路选择和switch语句switch语句的语法格式如下:switch(<表达式>){case<常量>:<语句序列>case<常量>:<语句序列>......case<常量>:<语句序列>default:<语句序列>}执行的基本过程:首先计算充当开关角色的表达式;然后,根据计算结果进行控制的转移,即用开关值与下面每个case语句中的常量进行比较;如果开关值等于某个常量,则执行该case语句中的语句序列;如果不存在等于开
10、关值的case常量,则执行default语句中的语句序列。在switch语句中,所有的case常量不允许重复。在实际应用中,经常将break语句作为每个case分支的语句序列的最后一条语句,以表示该分支的计算结束,并随后跳出switch语句,终止switch语句的继续执行。例3:输入一个格式为x+y的二元算术运算表达式,输出这个表达式的计算结果。#includemain(){doublea,b,c;charop;printf(“Enteraexpression”);scanf(“%lf%c%lf”,&a,&op,&b);switch
11、(op){见下页}printf(“%lf%c%lf=%lf”,a,op,b,c);}case‘+’:c=a+b;break;case‘-‘:c=a–b;break;case‘*’:c=a*b;break;case‘/’:c=a/b;break;default:printf(“InputError”);break;例4:通过键盘读取两个复数和运算符,完成复数运算的操作,并输出计算的结果。#includemain(){doublea,b,c,d,r,i,t;charop;/*保存运算符*/printf(“Enterthefirstcomp
12、lexnu
此文档下载收益归作者所有