C语言-if语句
1、一般形式 if(表达式)表达式1 else 表达式2 :表达式成立(为真)则执行表达式1,否则执行表达式2.
适用范围:真假,对错,开关,对立面的条件
注意:如果if语句中只包括一条语句,可以省略{}但最好不要省略,如果有多条语句,一定要加{}
如果else不包含任何语句,则可以省略掉else
2、分支 if(表达式1){语句1}else if(表达式){语句2} else if(表达式3){语句3}。。。。。else(语句4)
表达式1成立立即执行语句1,否则判断表达式2,表达式2成立则立即执行语句2,否则判断表达式3,表达式3成立则立即执行语句3,表达式1,表达式2,表达式3都不成立,则执行语句4
分支if语句中条件是互斥的,不能有重复或互相包含的情况。如果有,必须重新理清程序思路。
if的条件是一段连续的范围,要把所有的情况都涵盖完
适用范围:条件互斥,没有相重合的条件,且条件都是一段连续的范围的时候用
3、嵌套形式:
if (表达式) {
if(表达式1)
{
语句1 //表达式和表达式1同时成立
}else{
语句2 //表达式成立且表达式1不成立
}
}else{
if (表达式2) {
语句3 //表达式不成立且表达式2成立
}else{
语句4 //表达式不成立且表达式2不成立
}
}
使用范围:适合逐层递进,从大到小细分条件,可用嵌套
三目运算符 表达式?语句1:语句2 等价于if(表达式)语句1 else 语句2;
1、使用if分支选择性输出两个数中最大的数字:
int a=;
int b=;
if(a>b)
{
printf("");
}
else
{
printf("");
}
2、使用if语句判断一个从键盘输入的数字是奇数还是偶数
int a=;//定义变量时最好对变量进行初始化。
printf("请输入一个数字:");
scanf("%d",&a);
if(a%==)//对a除以2的余数进行判断,如果余数为0,则说明a为偶数,否则a为奇数。
{
printf("%d是一个偶数\n",a);
}
else
{
printf("%d是一个奇数\n",a);
}
3、数学中分段函数的C语言模型:如果x为0,则y的值为1000,如果x不为0,y的值为x分之1,
float y=; //定义变量
int x=; printf("请输入x:"); //输入
scanf("%d",&x); if(x!=) //判断
{
y=(float)/x; //对运算结果要强制转换为float型。
}
else
{
y=;
}
4、输入三个数,找出最大的并输出:
int a=;
int b=;
int c=;
int temp=; printf("请输入三个数:\n");
scanf("%d%d%d",&a,&b,&c); if(a>b)
{
temp=a;
}
else
{
temp=b;
}
if (temp>c) {
printf("max=%d\n",temp);
}
else
{
printf("max=%d\n",c);
}
5、三个数求最大值的第二种算法:先假设第一个数最大,然后和第二个数比较,得到最大的,最后与第三个数比较:
int a=;
int b=;
int c=;
int max=; printf("请输入三个数:\n");
scanf("%d%d%d",&a,&b,&c); max=a;//选择法找出三个数的最大值
if (max<b) {
max=b;
}
if (max<c) {
max=c;
} printf("最大数是%d",max);
6、判断一个两位数个位是奇数且十位是偶数:首先判断这个数时两位数,再对后续条件进行判断
int a=;
printf("输入一个数:");
scanf("%d",&a);
if (a>&&a<&&a%==&&a/%==) {
printf("a是两位数,且个位是奇数,十位是偶数\n");
}
else
printf("a不符合条件\n");
7、判断一个输入的数字是否是整数:
float a;
scanf("%f",&a);
printf("输入的数字是%f",a);
if (a-(int)a==)
{
printf("a是整数");
}
else
{
printf("a不是整数");
}
8、使用冒泡排序对四个数进行排序(不使用for循环)假设第一个数是最小的,然后与后续的数字逐一比较并移动到最后一个数字的位置,然后再使用第一个数字和最后一个数字之前的数字进行比较,得到第二小的数,并放在倒数第二的位置,重复循环直到得出最大的放在第一个的位置。
int a=;
int b=;
int c=;
int d=;
int tmp=; printf("请输入四个数字:");
scanf("%d%d%d%d",&a,&b,&c,&d); if (a<b) {
tmp=b;
b=a;
a=tmp;
}
if (b<c) {
tmp=c;
c=b;
b=tmp;
}
if (c<d) {
tmp=d;
d=c;
c=tmp;
} if (a<b) {
tmp=b;
b=a;
a=tmp;
}
if (b<c) {
tmp=c;
c=b;
b=tmp;
}
if (a<b) {
tmp=b;
b=a;
a=tmp;
} printf("从大到小是%d,%d,%d,%d\n",a,b,c,d);
9、根据商品价格打折条件对应付款进行计算:如果三种商品的价格中有一个超过50或者三个商品价格之和超高100,则对总价格打折扣85%。
float aprice,bprice,cprice;
float sumprice; printf("请输入三种商品价格:");
scanf("%f%f%f",&aprice,&bprice,&cprice); if (aprice>||bprice>||cprice>||aprice+bprice+cprice>) {
sumprice=(aprice+bprice+cprice)*(-0.15);
}
else sumprice=aprice+bprice+cprice; printf("应付钱数为%.1f\n",sumprice);
10、使用分支if语句确定三个数中最大的数:
int a,b,c,m;
scanf("%d%d%d",&a,&b,&c); if (a>=b&&a>=c) {
m=a;
}
else if (b>=a&&b>=c){
m=b;
}
else m=c; printf("最大值为%d\n",m);
11、使用嵌套if语句找出三个数中最大的数
int a,b,c,m;
scanf("%d%d%d",&a,&b,&c);
if (a>b) {
if (c>a)
m=c;
else
m=a;
}else{
if(c>b)
m=c;
else
m=b;
}
printf("最大的是:%d\n",m);
12、使用三目运算符求三个数中最大的数,方法一:
int a,b,c,m;
scanf("%d%d%d",&a,&b,&c);
m=(((a>b)?a:b)>c?((a>b)?a:b):c);
printf("最大值是%d\n",m);
13、使用三目运算符求三个数中最大的数,方法二:
int a,b,c,m;
scanf("%d%d%d", &a, &b, &c);
m = a;
m = m > b ? m : b;
m = m > c ? m : c;
printf("最大值是%d\n",m);
14、使用三目运算符求三个数中最大的数,方法三:
int a,b,c,m;
scanf("%d%d%d", &a, &b, &c);
m = (a>=b && a>=c) ? a : (b>=a && b>=c ? b : c);
printf("最大值是%d\n",m);
15、使用三目运算符求三个数中最大的数,方法四
int a,b,c,m;
scanf("%d%d%d", &a, &b, &c);
m = a>=b ? (a>=c ? a : c) : (b>=c ? b : c);
printf("最大值是%d\n",m);
C语言-if语句的更多相关文章
- [SQL]SQL语言入门级教材_SQL语言基本语句介绍(四)
SQL语言基本语句介绍 • 表的建立 关系数据库的主要特点之一就是用表的方式组织数据.表是SQL语言存放数据.查找数据以及更新数据的基本数据结构.在SQL语言中,表有严格的定义,它是一种二维表,对于这 ...
- php入门 数据类型 运算符 语言结构语句 函数 类与面向对象
php PHP-enabled web pages are treated just like regular HTML pages and you can create and edit them ...
- OpenGL ES着色器语言之语句和结构体(官方文档第六章)内建变量(官方文档第七、八章)
OpenGL ES着色器语言之语句和结构体(官方文档第六章) OpenGL ES着色器语言的程序块基本构成如下: 语句和声明 函数定义 选择(if-else) 迭代(for, while, do-wh ...
- 零基础逆向工程12_C语言06_switch语句反汇编
12_C语言06_switch语句反汇编 switch语句反汇编 测试环境:VC++6.0 分支少于4的时候没有意义,编译器会生成类似if...else之类的反汇编,不超过三个分支,不会生成索引表. ...
- R语言Switch语句
R语言Switch语句 switch语句允许一个变量值的列表来平等进行测试.每个值被称为一个条件(情况),变量被接通检查每个条件(情况). 语法 在R语言中创建switch语句的基本语法是: 以下规则 ...
- C语言中语句的跨行支持总结
C语言中语句的跨行支持总结: 预处理一行写不下: 把一个预处理指示写成多行要用""续行,因为根据定义,一条预处理指示只能由一个逻辑代码行组成. 正常程序一行写不下: 把C代码写成多 ...
- go语言循环语句 for
Go语言中的循环语句只支持for关键字,而不支持while和do-while结构. sum := 0 for i := 0; i < 10; i++ { sum += i } 无限循环的写法: ...
- go语言选择语句 switch case
根据传入条件的不同,选择语句会执行不同的语句.下面的例子根据传入的整型变量i的不同而打印不同的内容: switch i { case 0: fmt.Printf("0") case ...
- (旧)子数涵数·C语言——条件语句
首先,我们讲一下理论知识,在编程中有三种结构,分别是顺序结构.条件结构.循环结构,如果用流程图来表示的话就是: 那么在C语言中,如何灵活运用这三种结构呢?这就需要用到控制语句了. 而条件语句便是控制语 ...
- Go 语言 goto 语句
Go 语言的 goto 语句可以无条件地转移到过程中指定的行. goto语句通常与条件语句配合使用.可用来实现条件转移, 构成循环,跳出循环体等功能. 但是,在结构化程序设计中一般不主张使用goto语 ...
随机推荐
- cocos2d CCLOG格式符号表
使用示例: CCLOG(); CCLOG(, 650000L); CCLOG(); CCLOG(); CCLOG(, , , , ); CCLOG("Floats: %4.2f %.0e % ...
- ARP及RARP简介
1.概念 ARP(Address Resolution Protocol) 地址解析协议 RARP(Reverse Address Resolution Protocol) 反向地址解析协议 2.AR ...
- TDK伪原创? 对matatags的研究总结
/public_html/includes/modules/meta_tags.php 46行:switch ($_GET['main_page']) {这里面包括自定义页面index.php?mai ...
- 使用print2flash开发在线文档
www.print2flash.com 命令行调用: A:\Program Files (x86)\Print2Flash3>p2fServer.exe a.pdf a.swf
- Ubuntu系统如何卸载并安装新版本的jdk(permission denied问题)
1.如果是自带的openjdk运行下面可以删除: sudo apt-get purge openjdk* 但是这种情况又不一定成功,有时候运行java -version发现还是可以运行的.证明删除不成 ...
- HDU 1789 Doing Homework again(贪心)
在我上一篇说到的,就是这个,贪心的做法,对比一下就能发现,另一个的扣分会累加而且最后一定是把所有的作业都做了,而这个扣分是一次性的,所以应该是舍弃扣分小的,所以结构体排序后,往前选择一个损失最小的方案 ...
- java中“==”和equal区别
8个月以后就要正式找工作啦,我觉得现在是时候花时间好好深入研究一下以前比较混肴的知识.这就当作是自我成长的第一步! 对于String中的“equal方法”和“==”一直有点混肴,今天重新看了一下他们两 ...
- POJ 3683 Priest John's Busiest Day
2-SAT简单题,判断一下两个开区间是否相交 #include<cstdio> #include<cstring> #include<cmath> #include ...
- git使用时遭遇the authenticity of host can't be established
修改/etc/ssh/ssh_config文件的配置,以后则不会再出现此问题 最后面添加: StrictHostKeyChecking no UserKnownHostsFile /dev/null
- zookeeper C API
typedef void (*watcher_fn)(zhandle_t *zh, int type, int state, const char *path,void *watcherCtx); w ...