判断结构要求程序员指定一个或多个要评估或测试的条件,以及条件为真时要执行的语句(必需的)和条件为假时要执行的语句(可选的)。
C 语言把任何**非零**和**非空**的值假定为**true**,把**零**或**null**假定为**false**。
下面是大多数编程语言中典型的判断结构的一般形式:
![](https://img.kancloud.cn/f2/91/f29176946128dfcacda070690ad3e64f_352x376.png)
## 判断语句
C 语言提供了以下类型的判断语句。点击链接查看每个语句的细节。
![](https://img.kancloud.cn/85/82/85829d26a5c492f6895be88f519c8b34_838x232.png)
## ? : 运算符(三元运算符)
我们已经在前面的章节中讲解了**条件运算符 ? :**,可以用来替代**if...else**语句。它的一般形式如下:
~~~
Exp1 ? Exp2 : Exp3;
~~~
其中,Exp1、Exp2 和 Exp3 是表达式。请注意,冒号的使用和位置。
? 表达式的值是由 Exp1 决定的。如果 Exp1 为真,则计算 Exp2 的值,结果即为整个 ? 表达式的值。如果 Exp1 为假,则计算 Exp3 的值,结果即为整个 ? 表达式的值。
![](https://img.kancloud.cn/d4/ad/d4ad44cc775c3b430c3621a25489aa69_449x359.png)
### 实例
1 以下实例通过输入一个数字来判断它是否为奇数或偶数
```
#include<stdio.h>
int main()
{
int num;
printf("输入一个数字 : ");
scanf("%d",&num);
(num%2==0)?printf("偶数"):printf("奇数");
}
```
2 某商店AB两种商品一个10元一个20元,通过输入商品类型计算商品总价
```
#include <stdio.h>
int A=10;
int B=20;
char buy;
int sum,number;
int main(){
printf("以下是本店的商品及价格:\n A 商品每个十元;\n B 商品每个二十元;\n\n");
printf("请输入你所需的产品(A 或 B):");
scanf("%c",&buy);
printf("请输入所需的数量:");
scanf("%d",&number);
sum=buy=='A'?A*number:B*number;
printf("\n你所需要的%d个%c商品总共%d元。\n",number,buy,sum);
return 0;
}
```
3 小王找对象要求身高170以上,体重50-70kg之间,月薪10000以上。爱好有打篮球,打羽毛球,爬山的其中一项。请您编程帮助小王筛选一下。
- 空白目录
- 第一章 c语言简介
- 1 通俗地理解什么是编程语言
- 2 C语言究竟是一门怎样的语言
- 第二章 算法简介&基本语法
- 1 算法简介
- 2 C 程序结构
- 3 C 基本语法
- 第三章 数据类型
- 1 数据类型
- 2 变量
- 3 常量
- 第四章 运算符
- 1 算术运算符
- 2 关系运算符
- 3 逻辑运算符
- 4 位运算符
- 5 赋值运算符
- 6 杂项运算符(其他运算符)
- 7 c语言中的运算符优先级
- 第五章 控制流
- 1 判断语句
- 2 switch语句
- 3 循环语句
- 4 流程控制相关案例
- 第六章 指针
- 1 c语言指针概述
- 2 指针的算术运算
- 3 指针数组
- 4 指向指针的指针
- 5 传递指针给函数
- 6 从函数返回指针
- 第七章 函数
- 1 函数的语法
- 2 作用域规则
- 3 形参与实参
- 第八章 数组
- 1 C语言中的数组
- 2 多维数组
- 3 传递数组给函数
- 4 从函数返回数组
- 第九章 指针
- 1 分钟彻底理解C语言指针的概念
- 2 C语言指针变量的定义和使用
- 3 C语言指针变量的运算(加法、减法和比较运算)
- 4 C语言数组指针(指向数组的指针)
- 5 C语言字符串指针(指向字符串的指针)
- 第十章 结构体
- 第十一章 练习
- 第十二章 文件操作
- 第十三章 文件操作2