C语言入门(5)——控制语句扩展
1. switch-case省略break
实现输入年和月,返回该月的天数的函数。
int days_of_mouth(int year,int mouth){
int days;
switch(mouth){
case 1:
days = 31;
break;
case 2:
days = (year%4==0&&year%100||year%400==0)?29:28;
break;
case 3:
days = 31;
break;
case 4:
days = 30;
break;
case 5:
days = 31;
break;
case 6:
days = 30;
break;
case 7:
days = 31;
break;
case 8:
days = 31;
break;
case 9:
days = 30;
break;
case 10:
days = 31;
break;
case 11:
days = 30;
break;
case 12:
days = 31;
break;
case 1:
days = 31;
break;
default:
days = -1; // 表示错误
}
return days;
}
省略break:
int days_of_mouth(int year,int mouth){
int days;
switch(mouth){
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
days = 31;
break;
case 2:
days = (year%4==0&&year%100||year%400==0)?29:28;
break;
case 4:
case 6:
case 9:
case 11:
days = 30;
break;
default:
days = -1; // 表示错误
}
return days;
}
2. for嵌套
1.打印*组成的n*m的长方形矩阵
例如:
输入
4 5
输出
*****
*****
*****
*****
#include<stdio.h>
int main(){
int n,m;
scanf("%d%d",&n,&m);
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
printf("*");
}
printf("\n");
}
return 0;
}
2.打印*组成n*n的三角形
例如:
输入
4
输出
*
**
***
****
#include<stdio.h>
int main(){
int n;
scanf("%d",&n);
for(int i=0;i<n;i++){
for(int j=0;j<=i;j++){
printf("*");
}
printf("\n");
}
return 0;
}
3.打印*组成n*(2*n-1)的三角形
例如:
输入
4
输出
*
***
*****
*******
#include<stdio.h>
int main(){
int n;
scanf("%d",&n);
for(int i=1;i<=n;i++){
for(int j=1;j<=2*i-1;j++){
printf("*");
}
printf("\n");
}
return 0;
}
3. 无限循环/死循环
无限循环/死循环是指判断条件永远为真的循环。
例如:
while(1){
/* 如果条件为真将重复执行的语句 */
}
或者
for(;;){
/* 如果条件为真将重复执行的语句 */
}
通常程序中要避免出现无限循环/死循环,特殊情况也会适当使用无限循环/死循环,这时可通过方式break方式退出。
本文深入讲解C语言中的控制语句应用,包括switch-case的优化使用、for循环的嵌套实例,以及无限循环的注意事项。通过具体代码示例,如年月天数查询、星号图案打印等,帮助读者掌握控制流程设计技巧。
1980

被折叠的 条评论
为什么被折叠?



