c语言if语句的用法

Python015

c语言if语句的用法,第1张

C语言中if语句基本的有三种格式,在此基础上可以扩展一些其它格式,下面我们来看看c语言if语句的用法。

c语言if语句的用法

1、 if……形式

一般格式:if(表达式) 语句

语义是:如果表达式的值为真,则执行其后的语句,否则不执行该语句。语句可以是单条语句,也可以是用花括号{}包括起来的复合语句。示例如下:

#include

int main(){

int a,b,max

printf(" input two numbers: ")

scanf("%d%d",&a,&b)

max=a

if (max<b) max=b

printf("max=%d ",max)

return 0

}

2、if……else形式

一般格式:

if(表达式)

语句1

else

语句2

语义是:如果表达式的值为真,则执行语句1,否则执行语句2 。语句1和语句2可以是复合语句。

示例如下:

#include

int main(){

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

}

3、if……else……if形式

一般形式为:

if(表达式1)

语句1

else if(表达式2)

语句2

else if(表达式3)

语句3

else if(表达式m)

语句m

else

语句n

语义是:依次判断表达式的值,当出现某个值为真时,则执行其对应的语句。然后跳到整个if语句之外继续执行程序。 如果所有的表达式均为假,则执行语句n。然后继续执行后续程序。示例如下:

#include

int main(){

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

}

4、扩展形式

if条件控制语句的形式是多种多样的。比如if嵌套、if……if类似的形式,但是都离不开上面介绍的三种基本形式。注意活学活用。

【拓展】c语言的优缺点

1. 简洁紧凑、灵活方便

C语言一共只有32个关键字,9种控制语句,程序书写形式自由,主要用小写字母表示。它把高级语言的基本结构和语句与低级语言的实用性结合起来。 C 语言可以像汇编语言一样对位、字节和地址进行操作,而这三者是计算机最基本的工作单元。

2. 运算符丰富

C语言的运算符包含的范围很广泛,共有34种运算符。C语言把括号、赋值、强制类型转换等都作为运算符处理。从而使C语言的'运算类型极其丰富,表达式类型多样化。灵活使用各种运算符可以实现在其它高级语言中难以实现的运算。

3. 数据结构丰富

C语言的数据类型有:整型、实型、字符型、数组类型、指针类型、结构体类型、共用体类型等。能用来实现各种复杂的数据结构的运算。并引入了指针概念,使程序效率更高。另外C语言具有强大的图形功能,支持多种显示器和驱动器。且计算功能、逻辑判断功能强大。

4. C是结构式语言

结构式语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。这种结构化方式可使程序层次清晰,便于使用、维护以及调试。C语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。

5.C语法限制

C语法限制不太严格,程序设计自由度大 虽然C语言也是强类型语言,但它的语法比较灵活,允许程序编写者有较大的自由度

6. C语言允许直接访问物理地址,可以直接对硬件进行操作

由于C语言允许直接访问物理地址,可以直接对硬件进行

if语句是c语言中的条件分支语句。它能将程序的执行路径分为两条。下面我们来看看c语言if的用法: if (condition) statement1; else statement2 其中,if和else的对象都是单个语句(statement),也可以是程序块。条件condition可以是任何返回布尔值的表达式。else子句是可选的。 if语句的执行过程如下:如果条件为真,就执行if的对象(statement1);否则,执行else的对象(statement2)。任何时候两条语句都不可能同时执行。考虑下面的例子: int a,b if(a <b) a = 0 else b = 0 本例中,如果a小于b,那么a被赋值为0;否则,b被赋值为0。任何情况下都不可能使a 和b都被赋值为0。 记住,直接跟在if 或else语句后的语句只能有一句。如果你想包含更多的语句,你需 要建一个程序块,如下面的例子: int bytesAvailable if (bytesAvailable >0) { ProcessData() bytesAvailable -= n } else waitForMoreData() 这里,如果变量bytesAvailable 大于0,则if块内的所有语句都会执行。 嵌套 if 语句 嵌套(nested)if语句是指该if语句为另一个if或者else语句的对象。在编程时经常要用到嵌套if语句。当你使用嵌套if语句时,需记住的要点就是:一个else语句总是对应着和它同一个块中的最近的if语句,而且该if语句没有与其他else语句相关联。下面是一个例子: if(i == 10) { if(j <20) a = b if(k >100) c = d// this if is else a = c // associated with this else } else a = d // this else refers to if(i == 10) 如注释所示,最后一个else语句没有与if(j <20)相对应,因为它们不在同一个块(尽 管if(j <20)语句是没有与else配对最近的if语句)。最后一个else语句对应着if(i==10)。 内部的else语句对应着if(k>100),因为它是同一个块中最近的if语句。 if-else-if 阶梯 基于嵌套if语句的通用编程结构被称为 if-else-if 阶梯。它的语法如下: if(condition) statement else if(condition) statement else if(condition) statement else statement 条件表达式从上到下被求值。一旦找到为真的条件,就执行与它关联的语句,该阶梯的其他部分就被忽略了。如果所有的条件都不为真,则执行最后的else语句。最后的else语句经常被作为默认的条件,即如果所有其他条件测试失败,就执行最后的else语句。如果没有最后的else语句,而且所有其他的条件都失败,那程序就不做任何动作。 . 下面的程序通过使用if-else-if阶梯来确定某个月是什么季节。 // Demonstrate if-else-if statements. main() { int month = 4// April if (month == 12 || month == 1 || month == 2) printf ( "Winter") else if (month == 3 || month == 4 || month == 5) printf ("Spring") else if (month == 6 || month == 7 || month == 8) printf ( "Summer") else if (month == 9 || month == 10 || month == 11) printf ("Autumn") else printf ( "Bogus Month") } 该程序产生如下输出: Spring. 试验这个程序。你将看到,不管你给month什么值, 该阶梯中有而且只有一个语句执行。 小结: if语句的三种形式: a) if (表达式)语句 b) if (表达式)语句1 else 语句2 c)if (表达式1)语句1 else if(表达式2)语句2 …… else  语句