if语句

简介: 一、 if语句形式(1)二、 if语句形式(2)三、 if语句形式(3)

if语句

 

内容介绍:

一、  if语句形式(1

二、  if语句形式(2

三、  if语句形式(3

 

 

一、 if语句形式(1

表达式一定会返回一个值,而关系表达式和逻辑表达式返回的都是一个叫作逻辑值的东西。所谓逻辑值就是用真和假来表示结果。如果表达式的结果为真,那么他就返回表达式的结果,如果为假,那它就返回0

 

分支结构的概念:

分支结构的作用就是将c语言的代码引入歧途。那么光有关系表达式和逻辑表达式还不足以实现所谓的分支结构,还需要学习一个新的语句,我们把这个语句称之为if语句。If语句的实现有很多种形式,下面就以if语句展开介绍。

 

....//其它语句(return)

if(表达式)  

//必须返回一个逻辑值的表达式,直接填充一个逻辑值也是可以的,非0的时候,C 语言的编译系统会认为是真,为0认为是假。

{

……//逻辑值为真所执行的语句、程序块

}

……//其它语句

其他语句可以写其他任何语句

 

代码演示:

#include <stdio.h>

int main( )

{

int i;  //声明一个变量

printf(“您老贵庚啊: ");

scanf”%d,&i”;

if ( i >=18)  //括号必须有,括号里填写表达式必须返回一个逻辑值,如果为真执行语句内容,为假则忽略,执行其他语句。

{

printf(""进门左拐! \n");

}

return 0;

}

执行代码结果如下:

image.png

您老贵庚啊:

输入18

执行结果图:

image.png

您老贵庚啊: 16

如果未满18则没有进门左拐显示

执行结果图:

image.png

[ fishclocalhost sle11]$.

只有表达式得到的值为真,才会执行 if 语句里的内容,如果没有则直接 return 0,什么都不显示。

If 语句下有 { }大括号,里面有 tab 缩进位,不是必须有的,没有的话程序也是可以正常运行的。

C 语言对于语法的检查还是比较宽松的,但还是强调要加上 { }和缩进,养成良好的习惯,虽然 C语言不会强制代码一定要写的很规范,但适当的缩进可以让代码一目了然。


用大括号包括起来的语句构成一个语句块。

C 语言中用;表示语句的结束,如果表达式后面没有;执行会出错,加上;则是一个完整的语句。

如果用大括号将几个语句包裹起来,那么被包裹起来的语句就构成了语句块,是一个整体。

比如希望 if 后面的表达式为真的时候同时执行多个语句那么就可以用大括号包裹起来。

表达出来的意思是如果怎样就怎样,如果表达式为真,就执行,这就是if语句形式(1)。

 

 

二、 if语句形式(2

If语句形式(2),他表达的意思就是如果怎样就怎样,否则还能怎么样?当表达式的值为真的时候,那么他就执行这里的语句。如果这个表达式的逻辑值为假的话,那么就执行else这个大括号里面的这个语句。

...//其它语句

if(表达式) //为真时,执行下方语句

{

…… //逻辑值为真所执行的语句、程序块

}

else

{

……//逻辑值为假所执行的语句、程序块

}

……//其它语句

 

 代码演示:

#include <stdio.h>

int main( )

{

int i;

printf(“您老贵庚啊: ");

scanf”%d,&i”;

if ( i >=18)

{

printf(""进门左拐! \n");

}

else

{

printf(“慢走,不送!\n”);

}

return 0;

}

代码执行结果图如下:

image.png

 

三、if语句形式(3

如果表达式为真,那么它的执行这一个大括号里的内容,else if的意思就是这个不符合。那么再接着往下判断第二个情况,如果这个表达式二为真的话,那么就进行这个语句执行。再判断表达式三的内容,如果为真那就执行。前面的条件都不能成立的话,所有表达式返回的值为 0,逻辑值返回为假,那么就执行else

……//其它语句

if(表达式1){.......}   //表达式1为真时,执行大括号里的内容。

else if(表达式2){.......}  //上一个不符合了,则接着往下判断,表达式2为真时,执行打括号里的内容

else if(表达式3){.......}    //同上

……..

else if(表达式n){.... }

else {......}

....//其它语句

 

课堂实践:

帮数学老师做一个按分数评级的程序:

90分及以上:A

80 ~90:B

70 ~80:C

6070:D

低于60:E

 

代码演示:

int main( )

{

int i;

printf请输入分数:);

scanf("%d" , &i);

if (i >= 90)

{

printf(""A\n" );

}

else if (i >= 80&& i < 90){

printf(""B\n"");

}

else if(i >= 70 && i < 80){

printf("C\n");

}

else if (i >=60&&i < 70)

{

printf(""D\n"");

}

else{

 print(“E\n”)

}

return 0;

}

代码执行结果如下:

[fishc@localhost slel1l$ vi test3.c

[fishc@localhost sle11]$ gcc test3.c && ./a.out

请愉入分数: 99

A

[fishc@localhost slell]$ gcc test3.c && .la.out

请愉入分歌:91

A

[fishc@localhost s1e11]$ gcc test3.c && ./a.out

请输入分数:89

B

[fishcelocalhost sle11]$ gcc test3.c && ./a.out

请愉入分数:60

D

[fishcelocalhost sle11]$ gcc test3.c && ./ a.out

请输入分数:59

E

[fishc@localhost slel1]$ gcc test3.c && ./a.out

请输入分数:11

E

这就是第三种条件比较多的情况。

 

这个程序就是输入一个具体的分数,然后就显示对应的级别。90分以上只有95分,那就是a89分是b,就是考81分跟考89分都是一个级别。

相关文章
|
弹性计算 前端开发 小程序
微信小程序上传文件至阿里云OSS直传(java后端签名+前端直传)
当前的通用文件上传方式是通过前端上传到服务器,再由服务器转存至对象存储。这种方式在处理小文件时效率尚可,但大文件上传因受限于服务器带宽,速度较慢。例如,一个100MB的文件在5Mbps带宽的阿里云ECS上上传至服务器需160秒。为解决此问题,可以采用后端签名的方式,使微信小程序直接上传文件到阿里云OSS,绕过服务器中转。具体操作包括在JAVA后端引入相关依赖,生成签名,并在微信小程序前端使用这个签名进行文件上传,注意设置正确的请求头和formData参数。这样能提高大文件上传的速度。
3662 1
|
Rust 物联网 人机交互
一文看懂蓝牙在物联网中的应用场景
蓝牙作为一项发明于上世纪的近距离无线通信技术,在手机,电脑领域已经有了充分地基础,那么这项技术在物联网领域又会有哪些应用场景呢?
一文看懂蓝牙在物联网中的应用场景
|
应用服务中间件 网络安全 nginx
Nginx配置WebSocket 【支持wss与ws连接】
Nginx配置WebSocket 【支持wss与ws连接】
10164 1
|
JavaScript 前端开发 开发者
如何在 Visual Studio Code (VSCode) 中使用 ESLint 和 Prettier 来检查代码规范并自动格式化 Vue.js 代码。
【10月更文挑战第7天】随着前端开发技术的快速发展,代码规范和格式化工具变得尤为重要。本文介绍了如何在 Visual Studio Code (VSCode) 中使用 ESLint 和 Prettier 来检查代码规范并自动格式化 Vue.js 代码。通过安装和配置这两个工具,可以确保代码风格一致,提升团队协作效率和代码质量。
899 2
|
监控 前端开发 网络协议
如何使用Spring Boot实现WebSocket通信
如何使用Spring Boot实现WebSocket通信
|
jenkins 持续交付
Generic Webhook Trigger
Generic Webhook Trigger 是 Jenkins 的一个插件,用于通过 HTTP Webhook 接收来自外部系统的推送数据,并触发 Jenkins 的构建任务。
635 2
|
存储 XML Java
Flowable:ProcessEngin(引擎)与Service(服务接口)讲解
Flowable:ProcessEngin(引擎)与Service(服务接口)讲解
1280 0
|
前端开发 小程序
UniApp 解决 style 绑定 css 变量,支持 var() 使用
UniApp 解决 style 绑定 css 变量,支持 var() 使用
2906 0
|
安全 数据挖掘 芯片
聊聊电源自动切换电路(常用自动切换电路总结)
今天得聊聊电源自动切换电路,实际中需要使用并且用过,那就来记录总结一下。
747 1
聊聊电源自动切换电路(常用自动切换电路总结)
|
存储 监控 网络协议
译|Monitoring and Tuning the Linux Networking Stack: Sending Data(三)
译|Monitoring and Tuning the Linux Networking Stack: Sending Data(三)
370 0