分支与循环

1.switch多分支结构

基本结构如下图:

 break语句直接跳出循环

当switch后面的变量表达式与其中的case值一样的话就依次执行后面的程序,直到遇见break跳出循环

switch语句必须遵循一下规则:

1)只能针对基本数据类型中的整型类型使用switch,这些类型包括int  char等对于其他类型,则必须使用if语句;

2)case的标签必须是常量表达式,不能包含任何变量

3)不允许两个case的常量表达式相同

4)default不是必须的,当没有default时,如果case都匹配失败。那switch语句就什么都不执行,直接执行后续的代码

2.函数初步:自定义函数和库函数

(1)函数按其是否是系统预定义的分为两类:一类是编译系统预定义,成为库函数或标准函数,用户只需要使用头文件来进行引用       另一类是用户自定义函数,用户可以根据需要将某个具有相对哦独立能力的程序定义为函数

自定义函数有    函数返回类型+函数名+形参列表+函数体构成;

注意:c语言中不允许函数的嵌套定义,即在一个函数中定义另一个函数

(2)在函数中有两种参数一种是形式参数:再调用函数时接收传进来的数据,在调用完这个函数后会释放其存储空间,只作用于函数中       另一种是实际参数:可以是常量,变量表达式,再调用函数时都用明确的值传给形参

形式参数 和实际参数的区别和联系

1)形参只在函数调用时才会分配内存,调用结束后会立刻释放内存,只在函数内部有效,不能在函数外部使用

2)形参和实参在数量,类型,顺序上必须严格要求一致

3)函数调用中发生的数据传递是单向的,只能把实参的值传递给形参,而不能把形参的值返乡的传递给实参

3.函数调用的机制:

局部变量占用的空间是在程序执行的过程中动态的建立和释放,这种动态是通过栈由系统自动管理进行的,当任何一个函数调用时系统都要做一下保护工作:

1)建立栈空间;

2)保护现场:主调函数运作状态和返回地址入栈

3)为被调函数中的局部变量分配空间,完成参数的传递

4)执行被调函数函数体

5)释放被调函数中局部变量的栈空间

6)恢复现场:去主调函数运作状态即返回地址,释放占空间

7)继续主调函数的后续语句

4.在for循环语句中3个表达式都可以进行省略

5.逗号运算符作为在c语言中运算级别最低,逗号运算符从左往右

逗号运算符是指在c语言中,多个表达式可以用逗号分开,其中用逗号表达式分开的表达式的值分表计算,但表达式的值是最后一个表达式的值

 6.空语句

语句可以为空,也就是除了末尾的分号以外什么符号也没有

空语句带来的问题:

不小心在if,while,或for语句的括号后方置分号会创建空语句,从而造成if,while,for 语句提前结束,if语句中,在括号后放置分号,无论条件表达式的值是什么,if语句执行的动作都一样

while语句中在圆括号后放置分号,会产生无限循环

for语句中,在圆括号后方知分号,会导致只执行一次循环体语句

7.跳转语句break,continue ,goto,return 

1)break :语句只能在switch语句和循环语句中用来跳出switch和循环,区执行之后的语句

自己编程100以内的素数:

continue:语句只能用在循环语句中,用来终止本次循环。当执行到contiune语句时将跳过尚未执行的循环体语句,开始下一次循环,下一次循环是否执行仍取决于循环条件的判断。

continue和break的区别:前者结束的是本次循环,而后者结束整个循环

goto语句与标识符语句一起使用,它控制程序从goto语句所在地方转移到标号语句处,goto语句会导致程序结构混乱,一般不提倡使用,但在某种特定的情况下如,多层循环嵌套中,使用goto比较方便,不会使用太多的break,从而时程序简洁,明了。

设置标号时只需在一个字符串后加冒号即可:标号由字母,数字,下划线组成,一般以字母下划线开头

return语句:用于结束函数的执行,返回调用者,如果是主函数即返回操作系统(终止程序的执行)

return语句与exit函数的区别:exit函数是属于<stdlib.h>头文件中,

两者都是说明程序的终止但有差别:exit表示程序的终止无论在主函数还是自定义函数,而return语句仅在主函数表示程序的终止

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值