C语言编程学习中选择结构程序设计与循环控制

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

C和C++的区别:

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

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

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

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

在任何一个编程语言中,必定存在顺序结构、条件选择结构、与循环语句,至少在小编会的三种语言中都存在,汇编语言、C语言、Java语言,如条件语句在汇编中指令cmp就起到了条件选择的作用(当然也可以使用伪指令IF等),而循环语句可以使用loop指令,根据寄存器ecx是否为0,来决定循环次数,每循环一次,ecx会自动减一,直到变为0,才会跳出循环。当然了C语言中的还有转移语句(goto),相当于汇编中的跳转指令jmp(汇编语言中能起到跳转的指令不少,如call指令等等),至于java中基本跟C语言差不多,C语言中的关于选择、循环思想几乎可以完全照搬到java中,但是关于goto关键字,在java中只是保留字,以后可能会使用。其实只要有编程基础的人,肯定对这些很熟悉,否则根本就不可能写出一套完整正确的程序。

一、if、if else语句形式:

其实这些都比较简单,所以简单的介绍一下。

if(表达式) 语句块。当表达式的值为真时(非0即可),那么执行后面的语句块,否则(为0)跳过此语句块,继续执行后面的语句。过程如图:

​要是以日常生活中的话理解的话,if可以当成如果解释,比如可以说,如果今天下雨,你就来接我。if语句就这作用,但是并没有说不下雨该怎么做(当然你完全可以再加一个及以上的if语句),因此if else语句就此应运而生,闪亮登场,该语句除了指定条件为真时执行某些语句外,还可以在条件为假是执行另外一个语句块,其一般形式为:

if(表达式)

语句1

else

语句2

执行流程图:

​表达式为真时执行if后面的语句块1,表达式为假时执行else后面的语句块2。

二、else if语句。

该语句是对一系列互斥的条件进行检验,其一般形式为:

if(表达式1) 语句1

else if(表达式2) 语句2

else if(表达式3) 语句3

……

else 语句n

其执行流程图为:

​执行顺序,首先判断表达式1,如果为真那么执行语句1,而后忽略后面所有else if 及else语句,如果为假时,则依次向下匹配,直到匹配到真时,就执行其对应后面的语句块,如果没有匹配项,那么执行最后的else后面的语句(当然也可以不带else,那么就继续后续程序),其实else if语句就是一个整体,一旦匹配到其中一项,那么就退出else if语句,即使后面还有符合条件的表达式也不会在被匹配到,不会匹配到两项及两项以上。

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

三、条件运算符:

条件运算符" ?:",也是一个三目运算符,其一般形式为:表达式1 ?表达式2 :表达式3,其根据表达式1的真或假返回另外两个表达式中的一个,如果表达式1为真,则返回表达式2的结果值,如果为假则返回表达式3的结果值。max=a>b? a:b;这表达式其实是得到a,b中的最大值。

四、switch语句:

如果只需要检验某一个整型变量的可能取值,那么switch语句将更加合适。其一般形式为:

switch(表达式)

{

case 情况1:

语句1;

case 情况2:

语句2;

……

default:

默认情况语句块;

}

switch程序流程图:

switch检验的条件必须为一个整型表达式,其中也可以包含运算符和函数调用,而case检验的值必须是整形常量,也可以是常量表达式或常量运算。在每一个case和default都会有一个相应的break语句,如果没有的话,那么当匹配到一个符号的case时,当执行完当前case后面的语句后,后面的case将继续执行,不会退出来。如:

swtich(a){

case 1:

语句1;

case 2:

语句2;

……

case n:

语句n;

default:

语句m;

}

当a=2,case 2匹配,那么执行语句2,如果没有break,那么将继续输出语句3,语句4,直到最后。

使用switch语句时应注意:

①、case后面的常量不能相同,否则会出错。

②、case和default语句顺序可以变动,不一定default就一定在最后。

③、case后面可以有多条语句,可以不用{}括起来。

④、default可以不需要。

break关键字可以根据需要加还是不加,其形式可以有如下形式:

switch(表达式)

{

case 1:

语句1;

break;

case 2:

case 3:

语句2;

break;

default :

默认语句;

break;

{

上诉代码,值 2和 3执行同一语句,break应该根据实际情况添加。

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

五、if else与switch的区别:

①、if else是先对条件进行判断,而switch是后进行判断。

②、if else对开始少量的检验判断速度比较快,但是随着检验判断的次数增长,速度会越变越慢,默认情况下是最慢的。if else结构可以判断表达式,但是随着次数的增加有着越来越慢的趋势,而且也不容易进行后续的添加扩充。而switch语句中对每一项case语句的检验判断的速度都是相同的,但default默认情况要比其他情况要快。所以在判定情况在少数时,if else语句要比switch语句要快,一般在3到4次时选择if else语句,否则选择switch语句。

六,循环控制语句:

C语言中循环控制语句主要有while(表达式) do…while(表达式) for(表达式1;表达式2;表达式3),关于循环语句的详细介绍将在下一篇,下一篇继续。

你可能感兴趣的:(C语言编程学习中选择结构程序设计与循环控制)