C语言学习——分支语句之if语句-创新互联
文章目录
前言
一.什么是语句?
标题名称:C语言学习——分支语句之if语句-创新互联
文章出自:http://ybzwz.com/article/cehcgg.html
- 前言
- 一.什么是语句?
- 二、分支语句(if语句)
- 1.if语句的语法结构
- (1).单分支if语句
- (2).多分支if语句
- 2.if表达式进行条件判断的注意事项
- 3.悬空else
- 4.一个注意事项
前言
C语言是结构化的程序设计语言
主要包含三个结构 也就是顺序结构、选择结构、循环结构
一.什么是语句?
C语言中的语句可以分为以下五类
1.表达式语句
2.函数调用语句
3. 控制语句
4. 复合语句
5. 空语句
本篇文章主要介绍控制语句
二、分支语句(if语句) 1.if语句的语法结构控制语句用于控制程序的执行流程,以实现程序的各种结构方式(C语言支持三种结构:顺序结构、选择结构、循环结构),它们由特定的语句定义符组成,C语言有九种控制语句
可分成以下三类:
- 条件判断语句也叫分支语句:if语句、switch语句;
- 循环执行语句:do while语句、while语句、for语句;
- 转向语句:break语句、goto语句、continue语句、return语句
(1).单分支if语句C语言中 0表示假 非0表示真 表达式结果为真 执行语句
if(表达式)
{语句列表1;
}
(2).多分支if语句if(表达式1)
{ 语句列表1;
}
else if(表达式2)
{语句列表2;
}
else
{ 语句列表3;
}
这里的一对{ }就是一个代码块
- 代码实例
#includeint main()
{int nums = 0;
scanf("%d",&nums);
if(nums>0)
{printf("nums为正数");
}
else if(nums==0)注意这里用来判断相等的符号是== 而不是=
{printf("nums为0");
}
else
{ printf("nums为负数");
}
return 0;
}
- 注意如果if内的语句列表只有一条 可以省略{}但是如果包含多条语句 就必须包含{}
- 建议大家不管是一条语句还是多条语句 都加上{}
#includeint main()
{int age = 0;
scanf("%d", &age);
if(age<18)
{printf("少年\n");
}
else if(age>=18 && age<30)
{printf("青年\n");
}
return 0;
-注意 当需要进行区间判断时 要写成 (条件1&&条件2) 而不要写成简单的数学区间
3.悬空else#includeint main()
{int a = 0;
int b = 2;
if(a == 1)
if(b == 2)
printf("hello\n");
else
printf("world\n");
return 0;
}
以上代码会输出什么呢?
- 其实什么也不会输出 vs编译器自动对我们的代码进行了排版 else会和离它最近的if匹配
也就是和上述第二个if匹配 - 所以可以看出代码的排版是非常重要的注意代码的缩进 对齐 能加{}就加上 避免误解
改进一下代码风格
int main()
{int a = 0;
int b = 2;
if(a == 1)
{if(b == 2)
{printf("hello\n");
}
}
else
{ printf("world\n");
}
return 0;
}
很显然 如果代码排版规范 那么自然就会避免产生误解
4.一个注意事项我们来看一串代码
#includeint main()
{int num = 1;
if (num == 1)//写法一
{printf("1\n");
}
if(1 == num)//写法二
{printf("2\n");
}
return 0;
}
可以看到 两个if判断的条件是一样的 在此条件下 两个if条件均为真 那这两种写法有什么区别呢?
在没有语法错误的情况下 这两种是一样的 但是万一你将 "=="写成了 “=” 写法二的作用就凸显出来了
可以看见如果少写了一个等号 语法1没有任何错误提示
而语法2就会提醒表达式必须是可修改的左值
因此将数字写在 == 左边更好 可以帮助我们减少一些莫名其妙的错误
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧
标题名称:C语言学习——分支语句之if语句-创新互联
文章出自:http://ybzwz.com/article/cehcgg.html