c语言if用法详解,C语言if语句的使用讲解
C语言if语句的使用讲解
if语句(if statement)是指编程语言(包括c语言,C#,VB,汇编语言等)中用来判定所给定的条件是否满足,根据判定的结果(真或假)决定执行给出的两种操作之一。下面是小编为大家整理的C语言if语句的使用讲解,欢迎参考~
if语句的使用
用if语句可以构成分支结构。它根据给定的条件进行判断,以决定执行某个分支程序段。C语言的if语句有三种基本形式。
语句的三种形式
1) 第一种形式为基本形式:if
if(表达式) 语句
其语义是:如果表达式的值为真,则执行其后的语句,否则不执行该语句。
【例1】
#include
int main(void){
int a,b,max;
printf("
input two numbers: ");
scanf("%d%d",&a,&b);
max=a;
if (max
printf("max=%d",max);
return 0;
}
本例程序中,输入两个数a、b。把a先赋予变量max,再用if语句判别max和b的大小,如max小于b,则把b赋予max。因此max中总是大数,最后输出max的值。
2) 第二种形式为: if-else
if(表达式)
语句1;
else
语句2;
其语义是:如果表达式的值为真,则执行语句1,否则执行语句2 。
【例2】
#include
int main(void){
int a, b;
printf("input two numbers: ");
scanf("%d%d",&a,&b);
if(a>b)
printf("max=%d
",a);
else
printf("max=%d
",b);
return 0;
}
输入两个整数,输出其中的大数。改用if-else语句判别a,b的大小,若a大,则输出a,否则输出b。
3) 第三种形式为if-else-if形式
前二种形式的if语句一般都用于两个分支的情况。当有多个分支选择时,可采用if-else-if语句,其一般形式为:
if(表达式1)
语句1;
else if(表达式2)
语句2;
else if(表达式3)
语句3;
…
else if(表达式m)
语句m;
else
语句n;
其语义是:依次判断表达式的值,当出现某个值为真时,则执行其对应的语句。然后跳到整个if语句之外继续执行程序。 如果所有的表达式均为假,则执行语句n。然后继续执行后续程序。 if-else-if语句的执行过程如下图所示。
【例3】
#include
int main(void){
char c;
printf("input a character: ");
c=get);
if(c<32)
printf("This is a control character
");
else if(c>='0'&&c<='9')
printf("This is a digit
");
else if(c>='A'&&c<='Z')
printf("This is a capital letter
");
else if(c>='a'&&c<='z')
printf("This is a small letter
");
else
printf("This is an other character
");
return 0;
}
本例要求判别键盘输入字符的类别。可以根据输入字符的.ASCII码来判别类型。由ASCII码表可知ASCII值小于32的为控制字符。在“0”和“9”之间的为数字,在“A”和“Z”之间为大写字母, 在“a”和“z”之间为小写字母,其余则为其它字符。这是一个多分支选择的问题,用if-else-if语句编程,判断输入字符ASCII码所在的范围,分别给出不同的输出。例如输入为“g”,输出显示它为小写字符。
if语句的嵌套
当if语句中的执行语句又是if语句时,则构成了if 语句嵌套的情形。其一般形式可表示如下:
if(表达式)
if语句;
或者为:
if(表达式)
if语句;
else
if语句;
在嵌套内的if语句可能又是if-else型的,这将会出现多个if和多个else重叠的情况,这时要特别注意if和else的配对问题。例如:
if(表达式1)
if(表达式2)
语句1;
else
语句2;
其中的else究竟是与哪一个if配对呢?应该理解为:
if(表达式1)
if(表达式2)
语句1;
else
语句2;
还是应理解为:
if(表达式1)
if(表达式2)
语句1;
else
语句2;
为了避免这种二义性,C语言规定,else 总是与它前面最近的if配对,因此对上述例子应按前一种情况理解。
【例4】
#include
int main(void){
int a,b;
printf("please input A,B: ");
scanf("%d%d",&a,&b);
if(a!=b)
if(a>b) printf("A>B
");
else printf("A
else printf("A=B
");
return 0;
}
比较两个数的大小关系。本例中用了if语句的嵌套结构。采用嵌套结构实质上是为了进行多分支选择,实际上有三种选择即A>B、A
c语言if用法详解,C语言if语句的使用讲解相关推荐
- c语言struct的作用和用法,c语言struct用法详解
c语言struct用法详解 在C语言中,可以使用结构体(Struct)来存放一组不同类型的数据.结构体的定义形式为:struct 结构体名{ 结构体所包含的变量或数组 }; 结构体是一种集合,它里面包 ...
- c语言数据类型int的用法,C语言基本数据类型:整型(int)用法详解|C语言学习
C语言基本数据类型:整型(int)用法详解 1. 整型 int C 语言提供了很多整数类型(整型),这些整型的区别在于它们的取值范围的大小,以及是否可以为负.int 是整型之一,一般被称为整型.以后, ...
- sscanf c语言程序,C语言 sscanf用法详解
/*sscanf用法详解*/#include /*sscanf头文件*/#include#include /*sscanf 读取格式化的字符串中的数据. swscanf 是 sscanf 的宽字符版本 ...
- c语言 字符串 strncpy,详解c语言中的 strcpy和strncpy字符串函数使用
详解c语言中的 strcpy和strncpy字符串函数使用 strcpy 和strcnpy函数--字符串复制函数. 1.strcpy函数 函数原型:char *strcpy(char *dst,cha ...
- java if 用法详解_Java if判断语句用法详解
Java if判断语句用法详解 if关键字中文意思是如果,其细致的语法归纳来说总共有三种:if语句.if-else语句和if-else if-else语句,下面重点介绍if语句. if语句 语法 if ...
- C语言struct用法详解
数组(Array),它是一组具有相同类型的数据的集合.但在实际的编程过程中,我们往往还需要一组类型不同的数据,例如对于学生信息登记表,姓名为字符串,学号为整数,年龄为整数,所在的学习小组为字符,成绩为 ...
- C语言三目运算符用法详解
对于条件表达式b ? x : y,先计算条件b,然后进行判断.如果b的值为true,计算x的值,运算结果为x的值:否则,计算y的值,运算结果为y的值. 一个条件表达式绝不会既计算x,又计算y.条件运算 ...
- C语言const用法详解(带实例)
const与define区别 在C语言中const常用来定义常量,表示这个常量是不可以被修改的.define宏定义也可以用来表示一个常量.那么他们有那些区别呢! 1.预编译指令只是对值进行简单的替换, ...
- 第十章 结构体_C语言共用体(C语言union用法)详解
通过前面的讲解,我们知道结构体(Struct)是一种构造类型或复杂类型,它可以包含多个类型不同的成员.在C语言中,还有另外一种和结构体非常类似的语法,叫做共用体(Union),它的定义格式为: un ...
- c语言printf()用法详解
printf()函数是格式化输出函数, 一般用于向标准输出设备按规定格式输出 信息.在编写程序时经常会用到此函数.函数的原型为: int printf(const char *format, ...) ...
最新文章
- 【数据结构】单调栈和单调队列 详解+例题剖析
- iis 网页HTTP 错误 404.3 - Not Found解决方案
- 练习一:数学计算 有四个数字,分别是1,2,3,4,请问可以组成多少个相互不重复的数字,各是多少...
- dataframe的重设index
- 【CSS3】CSS——链接
- [BZOJ1799][Ahoi2009]self 同类分布(数位dp)
- Android之ANR异常及解决方法
- bzoj#4423-[AMPPZ2013]Bytehattan【并查集】
- LeetCode 1151. 最少交换次数来组合所有的 1(滑动窗口)
- 这些人生经验与常识相反
- 算法笔记_面试题_22. 图与搜索(BFS/DFS)相关_模板及示例十几道
- Win11怎么不让软件联网?Win11禁止某个软件联网的方法
- java中 implement_java中implement
- 上海科技大学信息科学与技术学院夏令营
- 某公司的雇员分为以下若干类: Employee:这是所有员工总的父类.属性:员工的姓名,员工的生日月份。 方法:getSalary(intmonth)
- pe和linux一起安装到移动硬盘,能否把winpe安装到移动硬盘上
- 如何学习有限元分析 有限元分析学习心得
- 点菜系统(适合Java基础练习)
- 查询攻略,将多个退回延误的快递单号物流设置分类
- 【系统集成项目管理工程师】项目资源管理
热门文章
- 记一次springboot应用偶发502错误的排查过程
- 数字电视标准大全DVB/ATSC/ISDB/CMMB/DMBTH/DAB
- 说唱天王 Eminem 自传《The Way I am》3
- SpringBoot+OCR 实现图片文字识别
- UI控件和代理为什么使用weak
- 刚刚,百度宣布造车!
- java bl层,科普一下bl锁的知识,没解锁的必看!
- IDCC2018|上海数据港股份有限公司副总裁、数据中心首席架构师王海峰:标杆管理驱动数据中心建设变革...
- 实用的视频去水印方法
- jQuery的五种初始化加载写法