分支和循环 Branch and loop 1-if语句-关系操作符-条件操作符

本文详细介绍了C语言中如何使用if,switch,for,while等控制结构实现分支和循环,包括if-else语句、嵌套if、关系运算符以及条件操作符的应用实例。
摘要由CSDN通过智能技术生成
C语言是结构化的程序设计语言,这⾥的结构指的是顺序结构、选择结构、循环结构。
使⽤ if switch 实现分支结构,使⽤ for while do while 实现循环结构

if语句

  • 语法形式        if(表达式)语句;        表达式成立(为真),则语句执行,不成立(为假),语句不执行。C语言中,0为假,非0为真。
    if(1 == 2)
        printf("good");//为假,不打印
    if(1 == 1)
        printf("good");//打印
    int num1 = 0;
    if(num1)
        printf("good");//为假,不打印
    int num2 = -1;
    if(num2)
        printf("good");//打印
    
        if ( 表达式 )
                语句 1
        else
                语句 2
//输入一个整数,判断是否为奇数
int num;
scanf("%d", &num);
if (num % 2 == 1)
	printf("%d为奇数",num);
else
printf("%d为偶数",num);
  • 默认在 if else 语句中默认都只控制⼀条语句,多条要使用  {} 将代码括起来。
  • 嵌套if
if else 语句中, else 可以与另⼀个 if 语句连用,构成多重判断。
 int age = 0;
 scanf("%d", &age);
 if(age<18)
 printf("少年\n");
 else if(age<=44)
 printf("⻘年\n");
 else if(age<=59)
 printf("中⽼年\n");
 else(age<=89)
 printf("⽼年\n");
  • 悬空else问题        else 总是跟最接近的 if 匹配
int a = 0;
int b = 2;
if(a == 1)
if(b == 2)
printf("hehe\n");
else
printf("haha\n");
//输出的结果是: 
//如果希望else确实和第⼀个if匹配

int a = 0;
int b = 2;
if(a == 1)
{
 if(b == 2)
 printf("hehe\n");
}
 else
{
 printf("haha\n");
}

关系操作符

  • 用于比较的表达式,称为 “关系表达式”(relational expression),里面使用的运算符就称
为“关系运算符”(relational operator)
> 大于运算符
>= 大于等于运算符
== 相等运算符
< 小于运算符
<= 小于等于运算符
!= 不相等运算符
关系表达式通常返回 0 1 ,表示真假。
多个关系运算符不宜连用  例如  i < j < k , 关系运算符是从左到右计算,所以实际执行的是  (i < j) < k。 i < j 返回 0 1 ,所以最终是 0 1 与变量 k 进行比较。
如果想要判断变量 j 的值是否在 i k 之间,应该使用   i < j && j < k。

条件操作符

  • 条件操作符也叫三目操作符,需要接受三个操作数的  exp1 ? exp2 : exp3

如果 exp1 为真, exp2 计算,计算的结果是整个表达式的结果;如果 exp1 为假, exp3 计算,计算的结果是整个表达式的结果。

//使⽤条件表达式实现找两个数中较⼤值
 int a = 0;
 int b = 0;
 scanf("%d %d", &a, &b);
 int m = a>b ? a : b;
 printf("%d\n", m);

  • 13
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JIEGAOBABY

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值