6.控制语句
6.1 顺序语句
c语言从主函数当中的第一条语句开始执行。
6.2 选择语句
6.2.1单分支
if(表达式) { 语句块1; } else { 语句块2; } step:判断表达表达式: 如果表达式为真,则执行语句块1 如果表达式为假,则执行语句块2 注意1:如果if、else后面只有一条语句 可以不用加 {} 注意2:else可省略 注意3:else会与离他最近的if结合 if(0) printf("hello\n"); printf("xxxxx\n"); else printf("world\n");
练习1:输入两个整数,输出最大值
练习2: 输入三个整数,输出最大值
6.2.2 多分支
-
if else if
if(表达式1) { 语句块1; } else if(表达式2) { 语句块2; } else if(表达式3) { 语句块3; } 。。。。 else if(表达式n) { 语句块n; } else { 语句块n +1; } step:判断表达式1,如果表达式1为真,则执行语句块1 如果表达式1为假,判断表达式2,如果表达式2为真,则执行语句块2.。。 如果表达式1 - n都为假,则执行语句块n+1
-
switch
switch(表达式0) { case 表达式1: 语句块1; break; case 表达式2: 语句块2; break; ..... case 表达式n: 语句块n; break; default: 语句块n+1; } 表达式0:整型表达式 表达式1-n:整型的常量表达式 step:如果 表达式0 = 表达式1 ----》执行语句块1 如果 表达式0 = 表达式2 ----》执行语句块2 。。。。。 如果表达式0 != 表达式1-n ----》执行语句块n+1
练习1:使用单分支语句实现,抛硬币游戏。
srand(time(NULL));//该函数不能放在循环里面 int ret = rand();//随机的范围 >=0的整数 man PAGE(页数) 命令/系统调用函数/库函数 PAGE: 1 -- 命令 2 -- 系统调用函数 3 -- 库函数 man rand man 2 rand man 3 rand
练习2:使用switch语句制作一个菜单。
srand(time(NULL));//该函数不能放在循环里面 int ret = rand()%7;//随机的范围 >=0的整数 switch(ret) { case 0: printf("水煮鱼\n"); break; case 1: printf("红烧鱼\n"); break; case 2: printf("清蒸鱼\n"); break; case 3: printf("酸菜鱼\n"); break; default: printf("别吃\n"); break; }
练习3:使用多分支语句实现猜拳。
6.3 循环语句
-
whlie
while(表达式) { 语句块; }
练习:使用循环打印十次hello world -- while(实现)
int n = 0; while(n < 10) { printf("hello world\n"); n++; } 先判断在执行
-
do while
do { 语句块; }while(表达式);//分号不能省略 先执行,再判断
练习:使用循环打印十次hello world --do while(实现)
int n = 0; do { printf("hello world\n"); n++; }while(n < 10);
-
for
for(表达式1;表达式2;表达式3) { 语句块; } 表达式1:一般循环变量的初始化 --在32位机里表达式1中不能定义变量 for(int i = 0;;) 表达式2:一般循环结束条件 表达式3:一般是循环变量的自增 注意1:三个表达式之间用英文的;隔开 注意2: 表达式1只会在进入for循环时执行一次
练习:使用循环打印十次hello world --for(实现)
for(int i = 0;i < 10;i++) { printf("hello world"); }
练习:求5!
-
goto
goto 标签; 在程序执行过程中,遇到goto关键字,程序就会跳转到<标签>处,执行标签后的语句。 设置标签的方法: 标签名: 注意:一般goto会放在选择(判断)语句当中 注意:goto不能跨函数使用
练习:使用goto语句求1 + 2 + 3 + 。。。。。+100
-
break
结束当前循环 在switch语句中,break代表结束switch语句 在循环语句中,break代表结束当前循环 注意1:break在循环语句中一般与选择语句(if)连用 注意2:break在循环语句中只能结束离他最近的循环
-
continue
跳过本次循环
练习:打印20以内奇数
int n = 1; while(n <= 20) { if(n % 2 == 1) printf("%d ",n); }
7.数组
-
同种数据类型元素的有序集合