1.1 if语句
if语句的主要功能是执行判断,括号中为判断语句,大括号中为if语句块;
if语句中可以不使用大括号,那么运行if语句后面一行代码,else同理;
//if语句中可以不使用{}
int main(){
int num = 0;
//if语句中非零代表true
if(num)num=2;
else num= 10;
printf("%d\n",num);
return 0;
}
但是尽量要带{},应为这样的代码易读,而且判断语句中可以执行多行代码;
//建议使用{}
int main(){
int num = 0;
//if语句中非零代表true
if(num){
num=2;
}else{
num= 10;
}
printf("%d\n",num);
return 0;
}
1.2 while循环
while语句是一个循环语句,它会首先判断一个条件是否满足,如果条件满足,则执行后面紧跟着的语句或语句括号,然后再次判断条件是否满足,如果条件满足则再次执行,直到条件不满足为止。后面紧跟的语句或语句括号,就是循环体。
//while循环是先判断,再选择是否进循环体
int num = 100;
int n = 1;
while(num>0){
n++;
num /= 10;
}
do() while是先进行一次循环体中的执行,再执行判断语句
//while循环是先判断,再选择是否进循环体
int num = 100;
int n = 1;
do{
n++;
num /= 10;
}while(num>0);
1.3 for循环
在C语言中有时不能再条件中初始化
#include <stdio.h>
int main(){
int num = 1;
for(int i=1;i<5;i++){
num*=i;
}
printf("num的值为%d\n",num);
return 0;
}
下面是可以的
#include <stdio.h>
int main(){
int num = 1;
int i;
for(i=1;i<5;i++){
num*=i;
}
printf("num的值为%d\n",num);
return 0;
}
在执行的过程中for(;判断语句;)条件可以省略的,这时候相当于while循环
1.4 switch case
当switch后的值和case中的值相匹配时,执行对应case中的代码,然后继续执行,知道break结束;
#include <stdio.h>
int main(){
int num = 3;
switch(num){
case 1:
printf("num的值为%d\n",1);
case 2:
printf("num的值为%d\n",2);
case 3:
printf("num的值为%d\n",3);
case 4:
printf("num的值为%d\n",4);
default:
printf("执行结束!");
}
return 0;
}
以上写法中没有在每个case语句中添加break;这样输出的结果为:
num的值为3
num的值为4
执行结束!
应该使用以下代码
#include <stdio.h>
int main(){
int num = 3;
switch(num){
case 1:
printf("num的值为%d\n",1);
break;
case 2:
printf("num的值为%d\n",2);
break;
case 3:
printf("num的值为%d\n",3);
break;
case 4:
printf("num的值为%d\n",4);
break;
default:
printf("执行结束!");
}
return 0;
}
执行结果为:num的值为3
case的意思代表从哪个位置跳入,并不是只执行这各case后面的值,如果没有break,它会继续执行后面的代码;