C语言程序员

C语言编程学习选择结构之 if 条件语句

2018-05-02  本文已影响0人  小辰带你看世界

C语言是面向过程的,而C++是面向对象的

C和C++的区别:

C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现过程(事务)控制)。

C++,首要考虑的是如何构造一个对象模型,让这个模型能够契合与之对应的问题域,这样就可以通过获取对象的状态信息得到输出或实现过程(事务)控制。 所以C与C++的最大区别在于它们的用于解决问题的思想方法不一样。之所以说C++比C更先进,是因为“ 设计这个概念已经被融入到C++之中 ”。

C与C++的最大区别:在于它们的用于解决问题的思想方法不一样。之所以说C++比C更先进,是因为“ 设计这个概念已经被融入到C++之中 ”,而就语言本身而言,在C中更多的是算法的概念。那么是不是C就不重要了,错!算法是程序设计的基础,好的设计如果没有好的算法,一样不行。而且,“C加上好的设计”也能写出非常好的东西。

选择结构语句

在实际生活中我们经常需要作出一些判断,比如开车来到一个十字路口,这时需要对红绿灯进行判断,如果前面是红灯,就停车等候,如果是绿灯,就通行。同样,在C语言中也经常需要对一些条件做出判断,从而决定执行哪一段代码,这时就需要使用选择语句。选择结构语句分为 if条件语句 和 switch条件语句,今天我们就重点讲解一下 if条件语句 。

if条件语句

if 条件语句分为三种语法格式,每一种格式都有其自身的特点,下面分别进行讲解。

格式一:if语句

if语句是指如果满足某种条件,就进行相应的处理。例如,小明妈妈跟小明说“如果你考试得了100分,星期天就带你去游乐场玩”。这句话可以通过下面的一段伪代码来描述。

如果小明考试得了100分

妈妈星期天带小明去游乐场

在上面的伪代码中,“ 如果 ”相当于C语言中的关键字 if,“小明考试得了100分”是判断条件,需要用 ( ) 括起来,“妈妈星期天带小明去游乐场”是执行语句,需要放在 { } 中。修改后的伪代码如下:

if (小明考试得了100分)

{

妈妈星期天带小明去游乐场

}

上面的例子就描述了if语句的用法,在C语言中,if语句的具体语法格式如下:

if (条件语句)

{

代码块

}

上述语法格式中,判断条件是一个布尔值,当判断条件为true时, { } 中的执行语句才会被执行。if语句的执行流程如下图所示:

小编推荐一个学C语言/C++的学习裙【 六九九,四七零,五九六 】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!

if语句流程图

接下来我们通过一个案例来学习if语句的具体用法:

#include

int main()

{

int x = 5; //声明变量x

if (x < 10) //如果x的值小于10则执行if大括号中的代码

{

x++;

}

printf("x=%d " , x);

return 0;

}

运行结果如图3-5所示:

上例中,定义了一个变量x,其初始值为5。在if语句的判断条件中判断x的值是否小于10,很明显条件成立,因此{}中的语句会被执行,变量x的值将进行自增。从运行结果图的运行结果可以看出,x的值已由原来的5变成了6。

格式二:if…else语句

if…else语句是指如果满足某种条件,就进行相应的处理,否则就进行另一种处理。例如,要判断一个正整数的奇偶,如果该数字能被2整除则是一个偶数,否则该数字就是一个奇数。if…else语句的具体语法格式如下:

if (判断条件)

{

执行语句1

……

}

else

{

执行语句2

……

}

上述语法格式中,判断条件是一个布尔值。当判断条件为true时,if后面 { } 中的执行语句1会被执行。当判断条件为false时,else后面 { } 中的执行语句2会被执行。if…else语句的执行流程如下图所示:

小编推荐一个学C语言/C++的学习裙【 六九九,四七零,五九六 】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!

if…else语句流程图

接下来通过一个实现奇偶数判断的案例来演示if..else语句的具体用法:

#include

int main()

{

int num = 19;

if (num % 2 == 0)

{

//判断条件成立,num被2整除

printf("num是一个偶数 ");

}

else

{

printf("num是一个奇数 ");

}

return 0;

}

运行结果如下图所示:

例中,变量num的值为19,模以2的结果为1,不等于0,判断条件不成立。因此会执行else后面 { } 中的语句,打印“num是一个奇数”。

格式三:if…else if…else语句

if…else if…else语句用于对多个条件进行判断,从而进行多种不同的处理。例如,对一个学生的考试成绩进行等级的划分,如果分数大于等于80分等级为优,如果分数小于80分大于等于70分等级为良,如果分数小于70分大于等于60分等级为中,否则,等级为差。if…else if…else语句的具体语法格式如下:

if (判断条件1)

{

执行语句1

}

else if (判断条件2)

{

执行语句2

}

……

else if (判断条件n)

{

执行语句n

}

else

{

执行语句n+1

}

上述语法格式中,判断条件是一个布尔值。当判断条件 1 为 true 时, if 后面 { } 中的执行语句1会执行。当判断条件 1 为 false 时,会继续执行判断条件 2,如果为 true 则执行语句 2,以此类推,如果所有的判断条件都为 false ,则意味着所有条件均未满足,else后面 { } 中的执行语句n+1会被执行。if…else if…else语句的执行流程如下图所示:

if…else if…else语句的流程图

接下来通过一个对学生考试成绩进行等级划分的案例来演示if…else if…else语句的用法:

#include

int main()

{

int grade = 75; //定义学生成绩

if (grade >= 80)

{

//满足条件 grade >=80

printf("该成绩的等级为优 ");

}

else if (grade >= 70)

{

//不满足条件 grade >= 80 ,但满足条件 grade >= 70

printf("该成绩的等级为良 ");

}

else if (grade >= 60)

{

//不满足条件 grade >= 70 ,但满足条件 grade >= 60

printf("该成绩的等级为中 ");

}

else

{

//不满足条件 grade >= 60

printf("该成绩的等级为差 ");

}

return 0;

}

运行结果如图所示:

例中,定义了学生成绩 grade 为75。它不满足第一个判断条件 grade >=80,会执行第二个判断条件 grade>=70,条件成立,因此会打印“该成绩的等级为良”。

&多学一招:三元运算符

在C语言中有一种特殊的运算叫做三元运算,它和if…else语句类似,具体语法格式如下:

判断条件 ? 表达式1 : 表达式2

三元运算通常用于对某个变量进行赋值,当判断条件成立时,运算结果为表达式1的值,否则结果为表达式2的值。

例如求两个数x、y中的较大者,如果用if…else语句来实现,具体代码如下:

int x = 0;

int y = 1;

int max;

if (x > y)

{

max = x;

} else

{

max = y;

}

小编推荐一个学C语言/C++的学习裙【 六九九,四七零,五九六 】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!

上面的代码运行之后,变量 max 的值为 1 。如果 if…else 语句用三元运算来替换,具体代码如下:

int x = 0;

int y = 1;

int max;

max = x > y ? x : y;

这样子代码量是不是就建少了呢?当然了,前提是你的得学会使用啦!、

这些是C/C++能做的

服务器开发工程师、人工智能、云计算工程师、信息安全(黑客反黑客)、大数据 、数据平台、嵌入式工程师、流媒体服务器、数据控解、图像处理、音频视频开发工程师、游戏服务器、分布式系统、游戏辅助等

上一篇下一篇

猜你喜欢

热点阅读