学习day9 就是与运算符也是并且的意思是一个双目操作符使用的方式是ab两边的表达式都是真的时候整个表达式才为真只要有一个是假则整个表达式为假。#includestdio.h int main() { int month 0; scanf(%d, month); if (month 3 month 5) { printf(春季\n); } return 0; }|| 就是或运算符也就是或者的意思|| 也是一个双目操作符使用的方式是a || b|| 两边的表达式只要有一个是真整个表达式就是真两边的表达式都为假的时候才为假。#includestdio.h int main() { int month 0; scanf(%d, month); if (month 12 || month 1 || month 2) { printf(冬季\n); } return 0; }何为短路或如果左边的表达式满足逻辑运算符的条件就不再对右边的表达式求值。这种情况称为“短路”。如果month 12成立那么就不会执行month 1 以及month 2这个表达式。在 a || b中如果a成立也不会执行b。switch语句switch语句是一种特殊形式的 if...else 结构用于判断条件有多个确定结果的情况。它把多重的else if改成更易用、可读性更好的形式。switch语法格式switch (整型表达式){case 整型常量1: 语句;case 整型常量2: 语句;...default: 语句;}上面代码中根据表达式expression不同的值执行相应的case分支。如果找不到对应的值就执行default分支。注意switch后的expression必须是整型表达式。case 后的值必须是整型常量表达式。示例输入一个数据根据数据值进行匹配。#include stdio.h int main() { int a; scanf(%d, a); switch (a) { case 1: printf(匹配case1\n); break; case 2: printf(匹配case2\n); break; case 3: printf(匹配case3\n); break; default: printf(未正确匹配\n); break; } return 0;每个case后面的的break是不能进行省略的若省略了则会一直执行遇到下一个break结束。case和后面的数字之间必须有空格。default语句是可选的作用是在所有case都不匹配时执行。输入一个1~7的数字打印对应的信息输入1~5输出的是“工作日”;输入6~7输出“休息日”#include stdio.h int main() { int day 0; scanf(%d, day); switch(day) { case 1: case 2: case 3: case 4: case 5: printf(工作日\n); break; case 6: case 7: printf(休息日\n); break; break; } return 0;个人认为可以有更简洁的的方式#include stdio.h int main() { int day 0; scanf(%d, day); switch(day) { case 6: case 7: printf(休息日\n); break; default: printf(工作日\n); break; } return 0;while循环while语法格式while (循环条件){// 循环条件为真则 循环体}关键点先检查条件再执行循环体。若初始条件为 假循环体一次也不执行。for循环作用已知循环次数时使用是三种循环中使用最多的适合遍历数组或集合for语法格式for(表达式1; 表达式2; 表达式3){// 循环体语句}表达式1:用于循环变量的初始化。表达式2:用于循环结束条件的判断。表达式3:用于循环变量的调整。练习1在屏幕上打印1~10的值#include stdio.h int main() { int i 0; for(i 1; i 10; i) { printf(%d , i); } return 0; }练习2求1-100之间2的倍数的数字之和#include stdio.h int main() { int i 0; int sum 0; for(i 1; i 100; i) { if(i % 2 0) { sum i; } } printf(%d\n, sum); return 0; }do-while循环在循环语句中do-while语句的使用最少它保证循环体至少被执行一次。do-while语法格式do{// 循环体语句}while(表达式);先执行一次循环体然后再判断表达式。只要表达式为真就继续循环。while和for这两种循环都是先判断条件如果满足就进入循环执行循环语句如果不满足就跳出循环 而do while循环则是先直接进入循环体执行循环语句然后再执行while后的判断表达式表达式为真就会进行下一次表达式为假则不再继续循环。while和for这两种循环都是先判断条件如果满足就进入循环执行循环语句如果不满足就跳出循环 而do while循环则是先直接进入循环体执行循环语句然后再执行while后的判断表达式表达式为真就会进行下一次表达式为假则不再继续循环。示例在屏幕上打印1~10的值示例在屏幕上打印1~10的值#include stdio.h int main() { int i 1; do { printf(%d , i); i i 1; }while(i 10); return 0; }循环嵌套循环是可以进行嵌套的不管是for循环嵌套while循环还是while循环嵌套for循环都是可以的。一个循环体内又包含另一个完整的循环结构称为循环的嵌套。示例打印九九乘法表#includestdio.h int main() { int i, j; // i表示行j表示列 printf( 九九乘法表 \n); for (i 1; i 9; i) // 外层循环控制行数 { for (j 1; j i; j) // 内层循环控制每行的列数 { printf(%d*%d%2d , j, i, j * i); // %-2d 表示左对齐占2位 } printf(\n); // 每行结束后换行 } return 0; }break 和 continue循环控制语句break 和 continue 是两个用于在循环内部精确控制循环流程的关键字。break:立即终止并跳出当前所在的循环。continue:跳过本次循环中尚未执行的语句直接开始下一次循环的判断和执行。示例1#include stdio.h int main() { int i 1; while(i 10) { if(i 5) { break; } printf(%d , i); i i 1; } return 0; }当i等于5后就执行break循环就终止了。continue - 继续下一次循环continue顾名思义为继续的意思。在循环当中意味着继续执行下一次循环。#includestdio.h int main() { int i 1; while (i 10) { if (i 5) { continue; } printf(%d , i); i i 1; } return 0; }但在上述code中当 i5后不再会有变化。此时i 10永远成立程序陷入了死循环。#include stdio.h int main() { int i; for(i 1; i 10; i) { if(i 5) { continue; } printf(%d , i); } return 0; }所以我们可以通过使用for语句来避免这一情况。练习找到1-100之间所有能被3整除的数字。要求使用continue#include stdio.h int main() { int i; for (i 1; i 100; i) { if (i % 3 ! 0) { continue; } printf(%d , i); } return 0; }