今天是在b站跟着bit鹏哥自学的第六天;今天学习了分支语句switch 和循环语句while.
笔记如下:
一:switch语句
语法结构:
switch (整形表达式) { 语句项; } //语句项? //是一些case语句: //如下: case 整型常量表达式: 语句;//这个语句为break
理论知识看起来还有点吃力,那我们直接上例子:
例:
#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> int main ( ) { int day = 0; scanf("%d", &day); switch (day) { case 1: printf("星期一\n"); case 2: printf("星期二\n"); case 3: printf("星期三\n"); case 4: printf("星期四\n"); case 5: printf("星期五\n"); case 6: printf("星期六\n"); case 7: printf("星期日\n"); } return 0; }
(1)day就是上面switch后面的整形表达式;(这个表达式必须为整形而且是常量)
(2)case day :
printf("xxxx");
这就是一个语句(case后必须加上一个空格)
(3)当我们输3时就代表day为3,就会跳到case 3: 并执行3-7这几个语句,就是说case后面的数字决定这个程序的开始;
(4)如果我们在每条语句后面加上break呢?情况会怎么样?试试看
我们不难看出break在这的作用:结束语句.
那么我们就要在这注意一个问题--如果语句中没有break程序会根据你输入的常量一直执行下去直到语句结束,加上break程序会在你输入的常量语句结束.
(5)那如果我们输入8呢?会怎么样?试试看
什么也没有啊!
如果我们想让这个程序输出一些东西只需要加上一个default语句
例:
#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> int main ( ) { int day = 0; scanf("%d", &day); switch (day) { case 1: printf("星期一\n"); break; case 2: printf("星期二\n"); break; case 3: printf("星期三\n"); break; case 4: printf("星期四\n"); break; case 5: printf("星期五\n"); break; case 6: printf("星期六\n"); break; case 7: printf("星期日\n"); default: printf("what\n"); break; } return 0; }
当我们输入9是程序会进入default语句输出what.
二:while语句
语法结构:
while (表达式) { 循环结构; }
语法其实很简单我们直接上例子:
打印1-10;
int main( ) { int i = 1; while(i<11) { printf("%d ", i); i++; } return 0; }
是不是特别简单?
(1)break在while循环中的作用:break用于永久终止循环
例:
(2)continue在while中的作用:跳过continue本次循环后面的代码直接去循环部分判断下次循环是否能进行.
例:虽然和上面程序的输出结果差不多,其实下面的程序为死循环.
学习边角料:
(1)数组名代表首元素地址(所以在scanf函数中输入数组是可以不取地址写成这样(scanf("%s " ,arr)))
(2)getchar为输入一个字符:
int main ( ) { int ch = 0; ch = getchar(); printf("%c", ch); return 0; }
本次学习就到这吧,欢迎各位在评论区指点.