C语言支持最基本的三种程序运行结构:顺序结构、选择结构、循环结构。
选择结构
if语句
1、if是选择语句的关键字
( )为条件,如果条件为真,执行{ },( )后面是没有分号的
if(-1) //条件为真
if(0) //条件为假,不执行if语句
例:条件为假的几种情况
打印结果
、
例题 :求 两个数最大值
#include<stdio.h>
int main()
{
int a = 1;
int b = 2;
if(a < b)
{
printf("最大值为: %d\n", b);
}
else
{
printf("最大值为: %d\n", a);
}
return 0;
}
例题 :求 两个数最大值 结果:
例题 :求 三个数最大值
#include<stdio.h>
int main()
{
int a = 7;
int b = 10;
int c=3;
if(a>b)//a最大
{
if(a>c)//接着把a和c相比较,
{
printf("最大值为 %d\n",a);
}
else
{
printf("最大值为 %d\n",c);
}
}
else//b 最大
{
if(b>c)//接着把b和c相比较
{
printf("最大值为 %d\n",b);
}
else
{
printf("最大值为 %d\n",c);
}
}
return 0;
}
例题 :求 三个数最大值 结果;
if else 语句
//if~else if~else
int a = 10;
if(a == 10)
{
printf("a == 10\n");
}
else if(a > 10)
{
printf("a > 10\n");
}
else if(a < 10)
{
printf("a < 10\n");
}
else
{
printf("这是不可能的\n");
}
三目运算符
//三目运算符?:
//三目运算符?: ,就是简洁版的if else
int a = 50;
int b = 20;
int c = 90;
int result=0;
int temp;
//1、判断a > b结果
//2、如果为真,执行?后面
//3、如果为假,执行:后面
//用三木运算符判断两个数最大
temp = a > b ? a : b;
printf("两个数最大值为:%d\n", temp);
//用三木运算符判断三个数最大 (把(a>b?a:b)看成整体->结果为50 类似于50 > 90 ? 50:90)
result=(a>b?a:b)>c?(a>b?a:b):c;
printf("三个数最大值为:%d\n", result);
switch语句
//switch语句
int a;
printf("请输入楼层:");
scanf("%d", &a);
switch(a) //后面没有分号,条件只能是整型或字符型
{
case 1:
printf("按下的是1楼\n");
break; //break的作用,跳出switch语句,最好加上
case 2:
printf("按下的是2楼\n");
break;
case 3:
printf("按下的是3楼\n");
break;
default:
printf("其它\n");
break;
}
例题:// 分数段 0-60不及格 60 -70及格 70-80良好 80-90优秀 90-100优秀+
// 分析 除10取余数 0到10分内的都为0...<1; 10-20分数除以10 结果为1....<2 ; 20-30分数除以10 结果为2..<3 ;接着强制转换(int)float。
// 实现 switch case语句
// switch case语句格式
//1、switch是关键字,switch()后面没有分号 case和default后面都需要要加上冒号:否则报错
//2、switch()中()里只能放整型变量或字符型变量
//3、switch用法类似于电梯模型
#include<stdio.h>
void main()
{
float score;
scanf("%f",&score);
if(score>100.00)
{
printf("输入有误,重新输入\n");
return;//函数遇到return 就返回 不执行
}
switch((int)score/10) //分数段 强制类型转换
{
case 0:case 1:case 2:case 3:case 4:case 5:
printf("不及格\n");
break;
case 6:
printf("及格\n");
break;
case 7:
printf("良好\n");
break;
case 8:
printf("优秀\n");
break;
case 9:case 10:
printf("优秀+\n");
break;
default:
printf("成绩有误,重新输入\n");
}
}