当前位置: 首页 > wzjs >正文

房地产网站建设策划方案表白网站制作器

房地产网站建设策划方案,表白网站制作器,云捷配快速开发平台,长春市住房城乡建设厅网站C语言分支结构详解:掌握if语句与关系操作符 C语言往期系列文章目录 往期回顾: C语言入门:解锁基础概念,动手实现首个C程序C语言概念之旅:解锁关键字,字符,字符串的秘密,揭秘语句和…

C语言分支结构详解:掌握if语句与关系操作符

C语言往期系列文章目录

往期回顾:

  1. C语言入门:解锁基础概念,动手实现首个C程序
  2. C语言概念之旅:解锁关键字,字符,字符串的秘密,揭秘语句和注释,程序员的宝藏
  3. C语言基础入门:数据类型、变量声明与创建详解
  4. C操作符详解,深入探索操作符与字符串处理
  5. 揭秘C语言输入输出内幕:printf与scanf的深度剖析

文章目录

  • C语言分支结构详解:掌握if语句与关系操作符
  • C语言往期系列文章目录
    • 前言
    • 一、分支结构:if语句
      • 1. 基本语法
      • 2. 双分支:if-else语句
      • 3. 多语句控制:代码块
      • 4. 嵌套if语句
      • 5. 悬空else问题
    • 二、关系操作符
      • 1. 操作符类型
      • 2. 使用注意


前言

C语言作为一门结构化的程序设计语言,其核心逻辑由顺序结构、选择结构(分支结构)和循环结构三大基础结构组成。这三种结构如同积木一般,能组合出任何复杂的程序逻辑。本文将重点解析分支结构的实现方式——if语句和switch语句,并深入探讨关系操作符的使用技巧,帮助大家掌握条件判断的核心机制。


一、分支结构:if语句

1. 基本语法

if 语句用于实现条件判断,其语法形式如下:

if (表达式) 语句;

​执行逻辑:若表达式结果为非0(真)​,则执行语句;若为0(假)​,则跳过该语句。

我们说表达式如果为真,语句执行,表达式为假,语句不执行。而在C语言中,0为假,非0表示真,也就是表达式的结果如果是0,则语句不执行,表达式的结果如果是不是0,则语句执行。

示例:判断一个整数是否为奇数

#include <stdio.h>int main() 
{int num = 0;scanf("%d", &num);if (num % 2 == 1)printf("%d是奇数\n", num);return 0;
}

在这里插入图片描述

2. 双分支:if-else语句

如果⼀个数不是奇数,那就是偶数了,如果任意一个整数,我们要清楚的判断是奇数还是偶数怎么表示呢?这里就需要 if…else… 语句了,语法形式如下:


if (表达式) 语句1;
else 语句2;

执行逻辑:表达式为真时执行语句1,否则执行语句2。

​示例:判断奇偶性

#include <stdio.h>
int main() 
{int num = 0;scanf("%d", &num);if (num % 2 == 1)printf("%d是奇数\n", num);elseprintf("%d是偶数\n", num);return 0;
}

练习题:
输入一个年龄,>=18岁就输出:成年,否则就输出:未成年

3. 多语句控制:代码块

默认情况下,if和else仅控制紧接的一条语句。若需执行多条语句,需用{}包裹形成代码块:
示例:

int main()
{int age = 0;scanf("%d", &age);if (age >= 18)printf("成年了\n");    printf("可以谈恋爱了\n");  else                      printf("未成年\n");printf("最好不要谈恋爱\n"); return 0;
}

为什么会报错呢?因为if 和else语句都默认只控制一条语句。所以我们想控制多条语句就可以用一个大括号括起来。

if (age >= 18) 
{printf("成年了\n"); printf("可以谈恋爱了\n"); 
} 
else 
{printf("未成年\n");printf("最好不要谈恋爱\n"); 
}

由这个大括号括起来的语句,叫复合语句,代码块。

4. 嵌套if语句

复杂逻辑需通过嵌套if实现分层判断。

示例1:要求输入一个整数,判断输入的整数是0,还是正数或者负数。

if (num > 0)printf("正数\n");
else if (num < 0)printf("负数\n");
elseprintf("零\n");

这是一种逻辑,当然我们也可以去使用嵌套if

    if (num == 0) {printf("输入的数字是0\n");} else {if (num > 0) {printf("输入的数是正数\n");  } else {printf("输入的数是负数\n");}}

示例2:要求输入⼀个整数,如果是正数,再判断是奇数还是偶数,并输出;如果不是正数则输出不是整数。

if (num > 0) 
{if (num % 2 == 1)printf("奇数\n");elseprintf("偶数\n");
}
else 
{printf("非正数\n");
}

练习题:

输入一个人的年龄
如果年龄<18岁,打印“少年”
如果年龄在18岁至44岁打印“青年”
如果年龄在45岁至59岁打印“中老年”
如果年龄在68岁至89岁打印“老年”
如果90岁以上打印“老寿星”

5. 悬空else问题

代码陷阱:else始终与最近的未匹配if配对,而非依赖缩进。

下述代码的输出结果是什么?

#include <stdio.h>int main() 
{int a = 0;int b = 2;if (a == 1) if (b == 2) printf("hehe\n");else printf("haha\n");    return 0;
}

很多初学者,上来以判断 a 是0,不等于1,那就执行 else 子句,打印 haha 但是当你去运行代码,输出的结果是:啥都不输出。

这就是悬空 else 的问题,如果有多个 if 和 else ,可以记住这样⼀条规则, else 总是跟最接近的 if 匹配。 上面的代码排版,让 else 和第⼀个 if 语句对齐,让我们以为 else 是和第⼀个if匹配的, *当 if语句不成立的时候,自然想到的就是执行 else 子句,打印 haha ,但实际上 else 是和第二个 if 进行匹配的,这样后边的 if…else 语句是嵌套在第一个 if 语句中的,如果第一个 if 语句就不成立,嵌套 if 和 else 就没机会执行了,最终啥都不打印。

#include <stdio.h>int main() {int a = 0;int b = 2;if (a == 1) {if (b == 2) {printf("hehe\n");}} else {printf("haha\n");}return 0;
}

只要带上适当的大括号,代码的逻辑就会更加的清晰,所以大家以后在写代码的时候要注意括号的使用,让代码的可读性更高。

二、关系操作符

1. 操作符类型

C语言提供6种关系操作符用于比较运算:

操作符含义
>大于
<小于
>=大于等于
<=小于等于
==相等
!=不相等

2. 使用注意

​返回值:关系表达式返回1(真)或0(假)。

​易错点:混淆==(判断相等)与=(赋值)。

if (a = 5) 
{ ... }   // 错误!将5赋值给a,表达式恒为真if (a == 5) 
{ ... }  // 正确判断

另⼀个需要避免的错误是:多个关系运算符不宜连用。

上面示例中,连续使用两个小于运算符。这是合法表达式,不会报错,但是通常达不到想要的结果,即不是保证变量 j 的值在 i 和 k 之间。因为关系运算符是从左到右计算,所以实际执行的是下面的表达式。

(i < j) < k

也就是 i 和 j 先比,比完后的结果再和k比。想要判断变量 j的值是否在 i 和 k 之间,应该使用下面的写法

i < j && j < k


文章转载自:

http://NYH2Rftk.xnwjt.cn
http://Fxv4WD2n.xnwjt.cn
http://hoR8Sxfp.xnwjt.cn
http://3sLf0TJJ.xnwjt.cn
http://fxIifS7S.xnwjt.cn
http://835SKs8N.xnwjt.cn
http://tT5AwUGk.xnwjt.cn
http://nAbH8RNx.xnwjt.cn
http://ZSTDfzrn.xnwjt.cn
http://VZLSoh2c.xnwjt.cn
http://3DV2wthx.xnwjt.cn
http://1pBa5rh2.xnwjt.cn
http://j4Xa1Klm.xnwjt.cn
http://zk9lsUrM.xnwjt.cn
http://aRDzj2ur.xnwjt.cn
http://J0hD1vVO.xnwjt.cn
http://OiZ5M2i6.xnwjt.cn
http://yTw5nGkp.xnwjt.cn
http://i2TJQu7R.xnwjt.cn
http://qFjX35DH.xnwjt.cn
http://RKu30ViE.xnwjt.cn
http://Vkr3wnem.xnwjt.cn
http://ltRCSjMV.xnwjt.cn
http://RFBocFro.xnwjt.cn
http://dfaKsalw.xnwjt.cn
http://8NPpiXpg.xnwjt.cn
http://MN5wjCO0.xnwjt.cn
http://wQp6voOF.xnwjt.cn
http://K1EYKiO6.xnwjt.cn
http://luXP2Psi.xnwjt.cn
http://www.dtcms.com/wzjs/634409.html

相关文章:

  • 建设部举报网站域名注册地址查询
  • vps lnmp wordpress广西壮族自治区在线seo关键词排名优化
  • 安徽鑫华建设有限公司网站PHP工具箱和WordPress
  • asp 网站 模板网站搭建用什么语言
  • 青岛做网站建设多少钱做网站的回扣
  • 托管网站服务器做任务领q币网站
  • 东莞建设小学网站网站建设的要求及标准
  • 工业设计创意网站金凤区建设交通局网站
  • 老电脑做网站服务器公司要求做网站
  • 惠阳营销网站制作好的漂亮的淘宝客网站模板
  • 襄阳市建设工程质量监督站网站做网站放广告
  • 范县网站建设佛山信息技术网站开发
  • 做儿童方面的网站简单大气的建筑公司名字
  • 家教网站建设南宁专业网站制作前十排名
  • 景观小品设计网站推荐重庆建设工程信息网官网平台
  • 自己做自营网站贵阳餐饮网站建设
  • 木马科技网站建设重庆市住房和城乡建设网站
  • 南京米雅途做网站如何怎样在在农行网站上做风险评估
  • 毕节建设局网站中小型企业查询官网
  • 佛山市做网站网站建设项目心得体会
  • 网站做seo安全吗北京商场购物中心
  • 网站开发建设合同书网站建设的文章
  • 怀仁网站建设施工企业排名
  • 找外包公司做网站望城区网站建设
  • 网站的后缀wordpress 评论邮箱改成电话
  • 外汇期货喊单网站怎么做的八年级微机网站怎么做
  • 徐州金网网站建设想开发一个app需要多少钱
  • 沈阳建站模板展示用jsp做的网站在不同浏览器显示效果差异很大如何解决
  • 把自己的电脑做网站服务器网页设计期末作品要求
  • 重庆建站费用外发加工网有哪些