c语言每符合一个条件就加一,C语言程序设计入门(三)

写程序就像建立模型一样,一个完整的程序不仅有所谓的砖,也有所谓的框架,其实框架这个东西在后来的学习中将会指代封闭好的工具包一样的东西。在这里我们指的框架是指如何让这些”砖”完成更加复杂的功能。这就涉及到了一些语句。即顺序执行的语句,按照一定条件才执行的语句,按照条件进行循环的语句。

顺序语句不用多说,很简单,正常的想法都这样,挨着往下执行就是

先说条件语句,先来最完美的一种

#include

int main()

{

int a;

scanf("%d",&a);

if(a>0){

printf("输入的数字大于0");

}

else if(a==0){

printf("输入的数字为0");

}

else{

printf("输入的数字小于0");

}

return 0;

}

直接给出了例子,应该很容易理解。有一句新的内容,scanf();这是一个用来输入的函数,其中的&a是往a的地址里送内容,为什么取地址送,,这是人为规定的,什么是地址,以后统一讲。

还有比较重要的一点是如果每一个条件后面如果只有一条语句,其实是不需要花括号的,但是如果是多条,就必须用括号括起来。

上面给出的程序执行顺序是很重要的,从开始执行时,直接找符合条件的对应的语句执行,不会再顺序执行,如果想要挨着判断每一个条件,就需要写好多个if语句,还有每一个else总是与它之上的最近的一个if进行配对。

下面给出另一种执行顺序的代码

#include

int main()

{

int a;

scanf("%d",&a);

if(a>0){

printf("输入的数字大于0");

}

if(a==0){

printf("输入的数字为0");

}

if(a<0){

printf("输入的数字小于0");

}

return 0;

}

重要的事情说三遍,两个程序的执行顺序不一样!!!

从第二个程序可看出,if条件语句可以单独使用的

还有一个问题如果执行体为空怎么办,其实可以什么都不写,也可以这样if(a==0) ;

请一定要注意这是一句话,代表if的执行体没了,后面有代码也已经不属于if管了

还有一种分支语句,其实用条件语句也可以互换

多分支语句switch的格式:

switch( 表达式)

{

case E1:

语句序列1;

case E2:

语句序列2;

……

case En:

语句序列 n;

[default:

默认语句序列;]

}

执行的顺序是:找到合适的入口,一直执行到程序结束,一般为了效果像条件语句一样,就在每一个条件的执行体最后加一个break;意思是用来推出循环,如果是嵌套语句时,就是推出当前的循环体,即本层循环。

说到嵌套,其实这些语句为了达到多条件判断,将循环或者条件语句进行嵌套来达到目的。

接下来就是循环语句,有三种:

格式:

while(表达式)

{

语句序列

}

语句序列称为循环体,当为一条语句时,表示复合语句的{}可以省略。

表达式可以为任何类型

先判断,后执行,若条件不成立,有可能一次也不执行。

语句序列中必须有改变while后面括号的表达式值的语句,否则有可能死循环。

do

{

语句序列

} while(表达式);

语句序列称为循环体,当为一条语句时,表示复合语句的{}可以省略。

表达式可以为任何类型。

其特点是先执行,后判断,若条件不成立,就跳出循环。

语句序列中必须有改变while后面括号的表达式值的语句,否则有可能死循环。

while(表达式)后面的“;”不能少。

for (;;)

{

语句序列

}

语句序列称为循环体。

当语句序列只有单条语句,表示复合语句的{}可以省略。

表达式1一般为赋值表达式,给控制变量赋初值;如果省略表达式1,这时for语句为如

表达式2一般为关系表达式或逻辑表达式,称为循环控制条件

表达式3一般为赋值表达式,给控制变量增量或减量

for(;;) 意思是三个表达式都可以省略,或者只要其中一二

for语句的执行顺序,重要!刚进入循环体,首先执行表达式1的初始条件,然后判断表达式二的判断条件是否满足,然后进入循环体执行,执行完后才会去进行表达式三的自增量等东西,这样就完成了一次循环。

到这里就只剩一个goto 语句了,这个玩意从出生开始就褒贬不一,也就造成了使用率的降低。

最后简单给出一下嵌套的形式以及一些规则:

while()

{ ……

while()

{

……

}

……

}

do

{ ……

do

{

……

}while( );

……

}while( );

while()

{ ……

do

{

……

}while( );

…….

}

for( ; ;)

{ ……

do

{

……

}while();

……

while()

{

……

}

……

}

三种循环可互相嵌套,层数不限。

外层循环可包含两个以上内循环,但不能相互交叉。

嵌套循环的执行流程:外层循环执行一次,内层循环要执行完。

嵌套循环的跳转:只能跳转出本层循环。

禁止从外层跳入内层、禁止跳入同层的另一循环和向上跳转。

至于条件语句的嵌套,没循环语句那么复杂,形式也是类似的,以后一见到就会看懂。

毕竟是自己纯手打的,所以有些知识点遗忘了。。。我打算上传一份课件供大家学习使用。嗯,下回再公布下载链接。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值