C语言教材第4章选择结构学习资料.ppt
第四章选择结构 选择结构也称分支结构。它有选择地(依据一定的条件)执行一个语句或执行两个或多个语句中的某一个语句。 C语言中表示选择结构的语句是if、ifelse和switch语句第四章选择结构 一、if语句 if语句的语法形式为: if(表达式) 语句 语义:如果表达式的值不等于0(称条件为真),则执行“语句”,否则“语句”不被执行。 if语句中的表达式就是条件,语法规定,表达式必须加括号。 表达式后的语句称为内嵌语句,可以是任意C合法语句。表达式内嵌语句例:从键盘输入一个整数,如果小于60则输出该数,否则不输出。#includestdio.hvoidmain(){ inta; scanf(%d,a); if(a60) printf(a=%d\n,a);//该语句是否执行,由a的值决定}例:输入任意两个整数,先输出小数,再输出大数。#includestdio.hvoidmain(){ inta,b,t; scanf(%d%d,a,b); if(ab) {t=a; a=b; b=t; }//注意加大括号 printf(%d\t%d\n,a,b); }第四章选择结构作为条件的表达式可以是算术表达式,但最常见的是:关系表达式和逻辑表达式。二、关系表达式关系运算符:====!=关系运算符的运算对象是算术表达式(包括变量和常量)。关系表达式的运算结果是0或者1。例:voidmain(){ inta=3,b; b=a!=3; printf(b=%d\n,b); b=a==3;//注意=和==的区别 printf(b=%d\n,b);}三、逻辑表达式逻辑运算符:||!逻辑运算符的运算对象一般是关系表达式。例如:输入一个整数,如果在56~59之间,则输出该数。voidmain(){inta; scanf(%d,a); if(a=56a60)//不能写成:56=a60 printf(a=%d\n,a);}例如:输入一个整数,如果该数小于60或大于90,则输出。voidmain(){ inta; scanf(%d,a); if(a60||a=90) printf(a=%d\n,a);}逻辑运算符的优先级和结合性优先级从高到低的次序为!,算术运算符,关系运算符,,||,赋值运算符例如:a=f0||b+!cde0结合性:和||是左结合的,!是右结合的。例如:a0b0c0!++a在C语言中,非0为真,0为假。关系表达式和逻辑表达式的计算结果为1或0,表示真或假inta=5,b=8;if(a)printf(“表达式a的结果为真”);if(a==5b)printf(“表达式(a==5b的结果为真”);在计算含有和||运算符的逻辑表达式时,C语言规定:只对能够确定整个表达式值所需要的最少数目的子表达式进行计算。也就是说,当按运算规则计算出一个子表达式的值之后便可以确定整个逻辑表达式的值时,后面的子表达式就不需要再计算了。intx=2;printf(“%d“,0(x=6));/*输出0*/printf(“x=%d”,x);/*输出x=2*/printf(“%d“,‘0’(x=6));/*输出1*/printf(“x=%d”,x);/*输出x=6*/测试一个正整数是否能被另一个正整数整除。intn,d;scanf(“%d,%d”,n,d);if(n%d)printf(“%d不能被%d整除.\n”,n,d);或写成if(n%d!=0)printf(“%d不能被%d整除.\n”,n,d);