1. switch语句是判断语句的一种,可以根据条件的不同输出不同的结果。如下图是switch语句实现加减乘除的简单程序:
int a,b,c;
printf("请输入运算方式(+是1,-是2,*是3,/是4,%%是5):");
scanf("%d",&a);
printf("请输入要运算的数字:");
scanf("%d%d",&b,&c);
switch(a){
case 1:
printf("运算的结果是%d\n",b + c);
break;
case 2:
printf("运算的结果是%d\n",b - c);
break;
case 3:
printf("运算的结果是%d\n",b * c);
break;
case 4:
printf("运算的结果是%d\n",b / c);
break;
case 5:
printf("运算的结果是%d\n",b % c);
break;
default:
printf("你输入的时候长点眼睛。");
break;
其中在c语言编译器中想要输出百分号需要在其前面再加一个百分号。
2.do....while语句,一个循环语句,
条件表达式出现在循环的尾部,所以循环中的 statement(s) 会在条件被测试之前至少执行一次。
如果条件为真,控制流会跳转回上面的 do,然后重新执行循环中的 statement(s)。这个过程会不断重复,直到给定条件变为假为止。
一个简单的程序求一到一千偶数的和:
int a = 0;
int b = 0;
do{
if(a%2==0){
b = b+a;
}
a++;
}while(a<=1000);
printf("a = %d,b = %d",a,b);
结果如下:
3.while语句,条件在while后,大括号里写循环体,与do while类似。简单的程序求一到一千奇数的和:
int a = 0;
int b = 0;
while(a<=1000){
if(a%2==1){
b=b+a;
}
a++;
}
printf("b的值为:%d",b);
结果为:
可以看到,while里可以嵌套if,我们应灵活运用所学知识,解决问题。
4.for循环:
下面是 for 循环的控制流:
- init 会首先被执行,且只会执行一次。这一步允许您声明并初始化任何循环控制变量。您也可以不在这里写任何语句,只要有一个分号出现即可。
- 接下来,会判断 condition。如果为真,则执行循环主体。如果为假,则不执行循环主体,且控制流会跳转到紧接着 for 循环的下一条语句。
- 在执行完 for 循环主体后,控制流会跳回上面的 increment 语句。该语句允许您更新循环控制变量。该语句可以留空,只要在条件后有一个分号出现即可。
- 条件再次被判断。如果为真,则执行循环,这个过程会不断重复(循环主体,然后增加步值,再然后重新判断条件)。在条件变为假时,for 循环终止。
一个简单的for循环程序,打印一个倒立直角三角形:
int a,b;
for(a = 0;a<5;a++){
for(b=5-a;b<5;b++){
printf(" ");
}
for(b=1;b<=5-a;b++){
printf("*");
}
printf("\n");
}
结果如下:
for循环也可以嵌套,所以需要熟练掌握。
总结:今天学到的知识很重要,循环需要好好理解。