C语言笔记(四)

        C语言是结构化的语言,这里的结构指的是顺序结构、选择结构、循环结构。我们可以使用 if、switch实现分支结构,使用 for、while、do while实现循环结构。 

一 if 语句

    if 语句的语法形式如下:

    if (表达式)

          语句

        表达式为真时,则语句执行。表达式不成立,则语句不执行。在C语言中,0为假,非0为真,也就是表达式结果如果是0,则语句不执行,表达式的结构如果不是0,则语句执行。

    if......else......语句的语法形式如下:  

       if  (表达式)

             语句1;

      else

            语句2;

默认在 if  和 else 语句中默认都只控制一条语句。

嵌套if 

       在 if else 语句中,else 可以与另一个 if 语句连用,构成多重判断。 如果有多个 if   和 else ,可以记住这样一条规则,else总是跟最接近的 if 匹配。

二  关系操作符

       C语言用于比较的表达式,称为  关系表达式,里面使用的运算符就称为 关系运算符。主要有下面六个:< 小于运算符  <=  小于或等于运算符  == 等于运算符 >=大于等于运算符  > 大于运算符 != 不等于运算符 

下面是一些例子  

a <  b

a  <= b 

a == b

a >= b

  a > b

a != b

        关系表达式通常返回0或1,表示真假。 关系表达式常用于 if 或 while 结构。

注意

1 相等运算符 == 和赋值运算符 = 是两个不一样的运算符,当一个常量和一个变量比较相等的时候, 建议将常量放在 == 的左边。

2 多个关系运算符 不宜连用。

3 虽然然关系运算符可以用来比较浮点数,但是比较浮点数时,尽量使用< 和 >。因为浮点数的舍入误差会导致在逻辑上应该相等的两数却不相等。

4 不能用 关系运算符比较字符串。

二 条件操作符  

     条件操作符也叫三目操作符,需要接受三个操作数的。 形式如下:

      exp1?exp2:exp3

     条件操作符的运算逻辑是:如果exp1为真,exp2计算,计算的结果是整个表达式的结果,如果exp1为假,exp3计算,计算的结果是整个表达式的结果。

三 逻辑操作符 

      逻辑运算符提供逻辑判断功能,用于构建更复杂的表达式,主要有下面三个运算符。

!逻辑取反运算符 (改变单个表达式的真假)

&& 逻辑与运算符,就是并且的意思 (两侧的表达式都为真,则为真,否则为假)双目操作符

||    逻辑或运算符,就是或者的意思(两侧至少有一个表达式为真,则为真,否则为假)双目操作符

C语言逻辑运算符还有一个特点,它总是先对左侧的表达式求值,再对右侧的表达式求值,如果左边表达式满足逻辑运算符的条件,就不再对右边表达式求值,这种情况称为短路。

四 swich  语句

swich 语句是一种特殊的if....else结构,用于判断条件有多个结果的情况。

swich(expression){

      case value1:statement

      case value2:statement

      defalut:statement

}

根据表达式的值,执行相应的case分支,如果找不到值,就执行default 语句。注意 switch 后的expression 必须是整型表达式,case后的值,必须是整型常量表达式。case和后边的数字之间必须要有空格,每一个case语句中的代码执行完成后,需要加上break,才能跳出这个switch 语句。字符类型也是归类到整型里边,因为字符的本质是ASCII码值,这个值是整数。

五  while 循环

C语言提供三种循环语句 while、for 、do while ,接下来介绍while语句。

while(expression)

         statement

程序实例中的expression都使用关系表达式,也就是说,expression是值之间的比较,可以使用任何表达式。如果expression为真(或者更一般地说,非零),执行statement部分一次,然后再次判断expression。在expression为假(0)之前,循环的判断和执行一直重复进行。每次循环都被称为一次迭代。

六  for  循环

for  循环是三种语句中使用最多的。 for 循环的语法形式如下:

  for(表达式1;表达式2;表达式3)

       语句;

       表达式1用于循环变量的初始化,表达式2用于循环结束条件的判断,表达式3用于循环变量的调整。首先执行表达式1初始化循环变量,接下来就是执行表达式2的判断部分,表达式2的结果如果等于0,则循环结束;如果表达式2的结果!=0则执行循环语句,循环语句执行完后,再去执行表达式3,调整循环变量,然后再去表达式2的地方执行判断,表达式2的结果是否为0,决定循环是否继续。整个循环的过程中,表达式1初始化部分只被执行1次,剩下的就是表达式2、循环语句、表达式3再循环。

七   do  while 循环

do   

      语句;

while(表达式);

while 和 for 这两种循环都是先判断,条件如果满足就进入循环,执行循环语句,如果不满足就跳出循环;而 do while 循环则是先直接进入循环体,执行循环语句,然后再执行 while 的判断表达式,表达式为真,就会进行下一次,表达式为假,则不再继续循环。

八   转向语句 (break、continue)

      在循环执行的过程中,如果某些状况发生的时候,需要提前中止循环,这是非常常见的现象,C语言中提供了 break 和 continue 两个关键字,就是应用到循环中的。break 的作用是用于永久的终止循环,只要break 被执行,直接就会跳出循环,继续往后执行。continue 的作用是跳过本次循环中continue 后边的代码,在 for  循环和 while 循环 中有所差异的。

       C语言提供了一种非常特别的语法,就是goto语句和跳转标号,goto语句可以实现在同一个函数内跳转到设置好的标号处。goto语句如果使用不当,就会导致在函数内部随意乱跳转,打乱程序的执行流程,所以建议尽量不使用,但goto语句也不是一无是处,for循环提前退出要使用break,一个break只能跳出一层for循环,如果三层循环嵌套就得使用三个break才能跳出循环,所以这种情况下使用goto语句就十分快捷。

          

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值