C语言程序的三种结构:
1.顺序结构:程序从上往下依次执行就叫顺序结构
2.分支结构:程序有选择的执行某段代码或者不执行某段代码
3.循环结构:程序重复的执行某段代码
重点是分支结构和循环结构
1.分支结构有两大类语句:一种是if 一种是switch
if语句
1.第一种形式:
语法:if(表达式){
语句块;
}
语义:如果表达式的结果为真,则执行语句块,否则不执行语句块
第二种形式:
语法:
if(表达式){
语句块1;
}else{
语句块2;
}
语义:如果表达式的结果为真,则执行语句块1,否则执行语句块2
语句块1或者语句块2,至少会有一个被执行
第三种形式:
if语句的嵌套
简单来说:就是if语句里面还可以有任意的if语句
第四种形式:
语法:
if(表达式1){
语句块1
}else if(表达式2){
语句块2
}else if(表达式3){
语句块3
}
……………………
else if(表达式n){
语句块n
}else{
语句块n+1;
}
语义:先判断表达式1,如果成立则执行语句块1,后面的都不执行了,否则继续判断表达式2,如果成立,则执行语句块2,后面的都不执行了,如果不成立则判断语句块3,如果成立则执行语句块3,否则继续往下判断,直到else上面的条件都不满足,就执行语句块n+1;
而且我们的这种语法格式是一个整体,上面判断过的内容如果不成立,那么下面判断时已经做了过滤
例子:请土豪输入他儿子的成绩:
用户输入 奖励
90及以上 法拉利跑车
80-89 奔驰汽车
70-79 大众汽车
60-69 拖拉机
60以下 吊打
#include <stdio.h>
int main(int argc, const char * argv[]) {
printf("亲爱的尊敬的土豪同志,请输入你后代的成绩\n");
int score;
scanf("%d",&**score);
/*第一种方法
if(score >= 90){
printf("来,给你台法拉利,去装X去飞\n");
}
if(score>=80 && score <90){// 80 <= score <90
printf("给你台奔驰去泡吧\n");
}
if(score>=70 && score <80){
printf("来台大众随便去代步\n");
}
if(score>=60 && score <70){
printf("你不是这块料,给你台拖拉机回家耕田把!\n");
}
if(score < 60){
printf("你大爷的,吊打你一顿\n");
}
*/
//第二种方法
if(score >= 90){
printf("来,给你台法拉利,去装X去飞\n");
}else if(score >= 80){
printf("奔驰\n");
}else if(score >= 70){
printf("大众\n");
}else if(score >= 60){
printf("拖拉机\n");
}else{
printf("吊打一顿\n");
}
printf("程序结束\n");
return 0;
}
`