C语言是一门结构化程序设计语言,是计算机程序语言的基础。
1.分支语句
if语句
单分支
if (表达式){
语句;
}
else{
语句;
}
多分支
if (表达式){
语句;
}
else if(表达式){
语句;
}
else {
语句;
}
在if循环中只有表达式为真(0为假,非0均为真)是才会执行;if语句中注意else要与if对应;当有多个if而else数量不够时,else会与最近的if相匹配,会造成错误。
switch语句
switch (整形表达式)
{
case 整形表达式1: 语句1; break;——>
case 整形表达式2: 语句2; break;——>——>语句项
case 整形表达式3: 语句3; break;——>
....
}
switch语句中的语句项可以不用考虑顺序,只要满足表达式1,2,3...直接执行该语句,同时如果在执行的过程中没有遇到break会一直执行。
switch语句中允许嵌套使用,可在case语句中用if语句但不能出现continue(没意义,因为不知道会跳到哪去)。
int day = 0;
int n = 1;
scanf("%d", &day)
{
case 1:
if (n == 1)
printf("yes\n");
break;
case 2:
case 3:
printf("ok\n");
break;
case 4:
case 5:
case 6:
printf("111\n");
break;
default:
printf("输入错误");
break;
}
switch语句中还可使用default,如上面代码若只规定了day=1-6时才有结果,但输入1-6以外的数字时则会走入default中。case后只能跟整形常量表达式。语句中的顺序可以不按顺序但要符合自己的逻辑,如default可以放在最前面也可放在中间。
2.循环语句
while语句
i = 0; \\①初始化
while (关系式) (i<=10) \\②判断
{
语句1;
语句2;
语句n;
i++; \\③调整
}
当i<=10时会一直执行while语句,当i=11或i>10时则结束循环。
do while语句
i=0; \\①初始化
do {
语句;
i++; \\③调整
}while(关系式) \\②判断
do while语句和while语句执行的条件相同,但是do while语句会先执行一次再去进行判断而while语句则是先判断在执行。
for语句
for (i = 0; i <= n; i++) \\①初始化 ②判断 ③调整
{
语句; \\④循环体
}
for语句中先①然后② 若②为真则④ 最后再③一般情况下for语句会②③④循环。
for语句的①②③均可省略,但若②被省略,则结果恒为正。
for语句中需要注意两点:
Ⅰ.不能在循环体中改变循环变量,防止for循环失去控制。
Ⅱ.建议再for语句的循环控制变量采用 ‘前闭区间后开区间’ 写法(如i=1;i<10)
3.goto语句
#include<stdio.h>
int main()
{
int day = 1;
aim:
if (day <= 31)
{
printf("%d\n", day);
day++;
goto aim;
}
}
使用goto时会直接跳转至aim,goto后的语句不再执行。
goto语句适用于嵌套结构中跳出多层循环。