
C语言基础之分支结构.doc
10页分支结构在学分支结构之前,要知道一点就是C89标准中没有B001这个类型,因此需要 将标准升级为C99标准C99标准在Xcode中,在新建-一个工程的时候,选择type时,选择foundation 创建工程之后,会发现,与之前的main.c的后缀已经变为main.m这是 objective-C环境下的后缀与之前.c的页面中,还有不同的是:W#include
比较得出的结果是bool类型的值,用 bool类型变量来存储其他没什么了3、 逻辑运算符逻辑运算符就三个:与(&&),或(||),非(!)参与运算的数,在符号两辿都是bool值得出的结果不是真就是假逻辑与:只要有一个为假,全都为假逻辑或:只要有一个为真,结果都为真逻辑非:取反短路现象:逻辑与运算的时候,如果系统检测到&&前的值是no,那么将不再去判断&&号 后面的值,此时,如果&&后的值有赋值运算,赋值运算也不执行逻辑或运算的时•候,如果系统检测到||号前的值是yes ,那么将不再去判断|| 号后面的值,此时,如果||后的值有赋值运算,赋值运算也不执行//短路现象//逻辑与,如果前面判断是假,后面的判断不再执行// int numl = -1 ;// int num2 = -1;// BOOL b3 = (numl = 0) && (num2 = 2);//假//// printf(H%dH,b3);//0// printf ("numl = %d \n\numl) ; // 0// printf(Hnum2 = %d]\n", num2); // -1//短路现象//逻辑或,如果前面判断是真,后面的判断不再执行。
//int numl = -1 ;//int num2 = -1;//BOOL b3 = (numl = 2) || (num2 = 0);//M////printf (H%d\b3) ; //I//printf(Hnuml = %d \n"rnuml);// 2//printf(nnum2 = %d)\nH,num2); // -14、if语句程序的三种结构:顺序结构:按顺序执行程序,直到完事为止分支结构:if语句和switch循环结构:循环的执行一段语句直到循环条件结束为止分支结构有两个:if语句和switch语句if语句有三种方式:(1) if(条件表达式){}//分支结构//if的(第一种形式)// BOOL bl = NO;// if (/*条件表达式:要明确的表明条件是真是假*/bl) {// printf (11 你个大骗子// }//练习从控制台输入一个整数判断这个整数是否>100如果大于100,输出: 这个数大于100〃intnum = 0;printf (n请输入一个整数,按回车结束:\n”);scanf (11 %dn , &num);if (num> 100) {printf (n你输入的数为:%d \nn,num);printf (H这个整数大于100\nH);char cl = 0;printf (n输入一个字符,按回车结束:\n“);scanf (11 %c, &cl);BOOL bl =1m1 == c1;if (bl) {printf (H输入的是男性“);(2) if(条件表达式){}else(/ char c2 = 0;// printf ( ”请输入字符:”);// scanf (11 %c n , &c2);//// printf (”正太”);// }else(// printf ("萝莉”);// }// int year = 0;// printf (-请输入年份,按回车结束:“);// scanf(n%dnz &year);//// //判断闰年的条件// BOOL bl = (year % 400 == 0 );// BOOL b2 =(year % 100 !=0) && (year % 4==0);// if (bl | | b2) {//// printf ( 是闰年\n” , year);//// }else(// printf (n%d\t是平年! year);// }(3)if(条件表达式){}else if(条件表达式){}else(}// char c3 = 0;// printf ( ”输入一个字符:”);// scanf(,&c3);//// if(1m * == c3) {// printf (”男性”);// }else if (f1 == c3){// printf (”女性”);// }else(// printf (M春哥”);// }/*输入一个字符,判断s :春天m :夏天a :秋天w :冬天其他:输入有误。
///char cl = 0;printf (H输入一个字符,按回车结束:“);scanf (!, %c&c 1);if (fsf == cl) {printf (n我是春天! n);}else if(1mf == cl ) (printf ( ”我是夏天! ”);}else if (1 a 1 == cl) (printf ( ”我是秋天! ”);}else if (1w1 == cl) (printf ( ”我是冬天! ”);}else(printf ( H输入有误! ! n );}5、条件表达式〃条件表达式// int numl = 10;// int num2 = 20;//// int num3 = numl>num2 ? numl : num2;//// printf (,!num3 = %dn , num3);//课后练习题使用条件运算符,选择出三个数中,哪个最大Switch分支语句Switch分支语句就是为了优化if () { } else if(){}过多条件//switch分支语句switch (apple) (case apple:printf ("我是苹果也! ”);//break : 终止往后继续执行break;case banana:printf (n我是香蕉也!,f);break;case orange:printf ( n我是橘子也!,f);break;case watermelon:printf (11我是西瓜也!n);break;default:printf ("我不是水果也! ”);与else if —样的效果。
注意的是:switch ()括号中的条件必须为整型条件表达式在每一个case T的语句代码,最后都要加上break ,用来跳出switch语句//练习// int season = 0;//printf (n请输入一个数字,按回车结束:”);//scanf(, &season);////switch (season) {//case 1://printf (”春天啊我是! spring11);//break;//case 2://printf ( ”夏天啊我是! summer*1);//break;//case 3 ://printf ( ”秋天啊我是! autumnM;//break;//case 4://printf (”冬天啊我是! wintern);//break;////default://printf ("啥也不是啊我! nothing");//break;//}6、枚举enum#import












