c个人笔记5

程序的最小独立单位——语句

运算符表达式语句:不解释

赋值语句:不解释 赋值表达式和赋值语句的区别:赋值表达式是一种表达式,它可以出现在任何允许表达式出现的地方;而赋值语句则不能。

函数动用语句

函数调用后跟一个分号称为函数调用语句。其基本格式为:

函数名(参数列表);

空语句

空语句就是一个分号表示不进行任何的操作

符号语句(块语句)

表达式语句,函数调用语句和空语句可以称为简单语句或者基本语句,基本上都是一行的形式。而复合语句是有一对大括号{}包围若干条基本语句组成,所以也称为快语句。

{

语句一;

语句二;

语句三;

.............

语句n;

}

块语句有一个特殊的用处:在快语句内声明的变量仅仅在块语句内有效,在块语句外访问变量是无效的。

流程控制语句

在实际应用中,程序并不一定是按照续写的顺序来执行的,可能希望在某处设置多条路径,由程序选择一条来执行。

流程控制语句分为结构化语句和非结构化语句两部分,结构或语句包含条件语句(处理分支情况)和循环语句(处理重复情况),而非结构化语句用于一些特殊的跳转,一种“便捷通道的意思。

结构化程序设计

结构化程序设计的思想是:把一个需要结局的复杂问题分解成若干模块来解决,每个模块解决一个小问题,这种分治降低了程序设计的难度。

这里就要引用算法,所谓的算法值得就是解决问题时的一系列方法和步骤。当然平时我们不用自然语言来描述算法,要求采用一种精确,无歧义的机制。主要有两种算法表示方法,一种是伪代码 另一种就是流程图法

条件判断——分支结构

if语句

最简单的条件判断语句是if语句,其基本格式为

if(判断表达式)

{

结构体

}

判断表达式可以是简单的逻辑语句(逻辑表达式或者关系表达式),可以是多个逻辑语句的与,或,非组合,也可以是一般表达式,甚至可以是一个变量或常量。执行到if结构时,首先计算该表达式的值,当判断表达式的值不为0时,if后花括号中的结构体代码被执行,否则跳过花括号的代码.

花括号和if结构体

if结构体后的花括号非必需,if结构体后的花括号世界上是个”块语句“,如果没有花括号,则此时默认的块语句只包含紧跟在if语句后的一条语句

if(表达式)

{

语句1;

语句2;

语句3;

}

if ...else语句

标准形式为

if(表达式)

{

代码段1;

}

else

{

代码段2;

}

多分支语句和分支语句嵌套

在大多数情况下,在判断后程序并未结束,后面还有代码要执行,可以使用自由跳转语句goto,但大量使用这种太过自由的语句,会使程序一团乱麻,所以很多人反对goto语句(goto有害)

多分支if结构

分支语句嵌套

当if结构中的执行语句又是if结构,这种分支语句嵌套,分支语句的嵌套样式有很多种。

if语句允许嵌套但嵌套的层数不易太多,在实际编程时应该适当控制嵌套的层数(2~3)

switch结构

switch结构的一般形式

switch(表达式){

case(常量表达式1):

代码段1

break;

case(常量表达式2):

代码段2

break;

case(常量表达式3):

代码段3

break;

.............

case(常量表达式m):

代码段m

break;

default:

代码段m+1

break;

}

为什么叫做开关语句

如果不使用break语句,那么从与表达式的值匹配的那个case语句开始后的所有代码都会被执行,每个case都相当于一个入口开关或者时钥匙

break语句用来跳出switch结构,当执行break语句时,后面的代码被短路,不会执行。

default语句

当所有的case常量表达式与switch后表达式的值都不匹配,default被执行。但实际上default语句不是必须的,当省略default语句时,表示”缺省情况下什么也不做“,有些编译器会对缺少default情况发出警告。

default语句一般放在switch结构的最后,default语句和各个case语句的顺序可互换而不影响结果,但换了之后备幺幺忘记了break语句。

switch结构的常见错误与解决方法

虽然switch结构不能解决所有的判断问题,但是用它处理的程序结构比较清晰,可读性比较强,因此在程序书写中也经常用到。

  • 用于switch结构的组成,若要描述成若干个擦色分支,若干个break语句以及可默认的default分支构成,这样的描述是错误的。break语句你是单独的一种语句,可以用来推出switch分支结构,但不是switch结构的组成部分,同样可以推出分支的语句还有goto,return语句。可恶的goto语句-^-

  • switch后面的表达式必须放在括号中,且表达式的类型任意,如果表达式的值为实型则自动转换成整型的值,然后在于case分支的常量进行比较。各个case分支的常量必须是整型常量

  • 一定要在语句的分支语句中的适当位置上加上break语句,如果没有推出语句,虽然程序编译没有错误,但是程序有可能完成不了了有待解决的问题

  • switch的case和default的位置没有具体的规定,因此他们的位置任意,对语句的执行流程不会产生影响,但程序的运行结果可能会不同。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不好,商鞅要跑

谢谢咖啡

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值