各位看官好,我是maomi_9526!
种一棵树最好是十年前,其次是现在!
今天来学习C语言的相关知识。
如果觉得这篇文章有帮助,欢迎您一键三连,分享给更多人哦
目录
1. if 语句
1.1 基本 if 语句
1.2 if-else 语句
1.3 if 代码块(多个语句)
1.4 else if 结构
1.5 嵌套 if
1.6 悬空 else
2. switch 语句
2.1 语法
3. 循环语句
3.1 while 循环
3.2 for 循环
3.3 do-while 循环
4. break 和 continue
4.1 break
4.2 continue
总结:
C 语言是一种结构化编程语言,主要包括顺序结构、选择结构和循环结构。其中,选择结构用于分支判断,循环结构用于重复执行代码。
if
语句用于根据条件的真假执行不同的代码块。C 语言中,0
代表假,非 0 代表真。
语法:
if (表达式)
语句;
特点:
表达式
的值为真(非 0),执行语句
;表达式
的值为假(0),跳过语句
。示例:判断奇偶数
int num;
scanf("%d", &num);
if(num % 2 == 1)
printf("%d 是奇数\n", num);
分析:
num % 2 == 1
:判断 num
是否是奇数,如果是,则执行 printf
语句。if
语句只有一条语句时,可以省略 {}
。当需要执行两种不同的情况时,使用 if-else
结构。
语法:
if (表达式)
语句1;
else
语句2;
示例:判断年龄是否成年
int age;
scanf("%d", &age);
if(age >= 18)
printf("成年\n");
else
printf("未成年\n");
分析:
age >= 18
,则输出 "成年"。如果 if
语句或 else
语句包含多条语句,必须用 {}
括起来,否则 if
只会作用于 紧随其后的一条语句。
示例:
if (age >= 18) {
printf("成年了\n");
printf("可以交朋友了\n");
}
错误示例:(缺少 {}
)
if (age >= 18)
printf("成年了\n");
printf("可以交朋友了\n"); // 无论 age 是否 >=18,这句都会执行!
当有多个条件需要判断时,可以使用 else if
结构。
语法:
if (条件1)
语句1;
else if (条件2)
语句2;
else
语句3;
示例:判断成绩等级
int score;
scanf("%d", &score);
if (score >= 90)
printf("优秀\n");
else if (score >= 75)
printf("良好\n");
else if (score >= 60)
printf("及格\n");
else
printf("不及格\n");
特点:
if
语句可以嵌套使用,实现更复杂的逻辑。
示例:判断正负奇偶数
int num;
scanf("%d", &num);
if (num > 0) {
if (num % 2 == 0)
printf("正偶数\n");
else
printf("正奇数\n");
} else {
printf("非正数\n");
}
特点:
if
语句可以嵌套,但过多嵌套会降低可读性。规则: else
总是和最近的 if
语句匹配,避免歧义要用 {}
。
错误示例
if (a == 1)
if (b == 2)
printf("hehe\n");
else
printf("haha\n"); // 这里的 else 其实是属于 `if (b == 2)`
正确示例
if (a == 1) {
if (b == 2)
printf("hehe\n");
} else {
printf("haha\n");
}
switch
用于多分支选择,适用于值比较固定的情况。
语法:
switch (表达式) {
case 值1: 语句; break;
case 值2: 语句; break;
default: 语句;
}
示例:根据数字判断星期
int day;
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:
case 7: printf("休息日\n"); break;
default: printf("输入错误\n");
}
注意点:
break
作用:如果 case
语句没有 break
,则会执行后续 case,直到遇到 break
或 switch
结束。default
可选:用于处理无匹配情况。语法
while (条件) {
语句;
}
示例:打印 1~10
int i = 1;
while (i <= 10) {
printf("%d ", i);
i++;
}
语法
for (初始化; 判断; 调整) {
语句;
}
示例:打印 1~10
for (int i = 1; i <= 10; i++) {
printf("%d ", i);
}
特点:
for
适用于循环次数固定的情况。语法:
do {
语句;
} while (条件);
示例:计算数字位数
int n, cnt = 0;
scanf("%d", &n);
do {
cnt++;
n /= 10;
} while (n);
printf("%d\n", cnt);
特点:
do-while
至少执行一次,然后才判断是否继续循环。作用:
示例
for (int i = 1; i <= 10; i++) {
if (i == 5) break;
printf("%d ", i);
}
作用:
示例
for (int i = 1; i <= 10; i++) {
if (i == 5) continue;
printf("%d ", i);
}
if-else
用于条件判断switch
适用于多分支固定值选择for
适用于固定次数循环while
适用于条件循环break
退出循环,continue
跳过当前循环