C语言之九条语句笔记

 

第3章 C语言控制语句

  3.1 C语言程序结构

  3.2 选择结构基本语句(2条:if、switch)

     3.2.1 单种选择:if

     3.2.2 两种选择:if-else

     3.2.3 多种选择:if-else if-else if –else if-…-else.

     3.2.4 switch-case-break

  3.3 循环结构基本语句(3条)

     3.3.1 for

     3.3.2 while

     3.3.3 do-while (少用,特殊情况时运用)

  3.4 转移结构基本语句(4条)

     3.4.1 goto(少用)

     3.4.2 return

     3.4.3 break

     3.4.4 continue

 


第3章 C语言控制语句

3.1 C语言程序结构

C语言程序的3中基本结构。

  • 顺序:从头到尾一步一步执行
  • 分支:程序执行的过程中遇到支流
  • 循环:程序执行的过程中,会重复执行一段代码

 

语句的分类:if-else、switch-case-default、for、while、do-while、break、continue、goto、return

 

3.2 选择结构基本语句

  3.2.1 单种选择:if

  if语句的定义:当满足条件语句时执行{}内的语句,否则不执行{}内语句。

  if语句的格式:

if(条件语句)    //注意:没有  “;”  号

{

        执行语句;

}

  注意:

  (1)    if中是非0就成立,eg: if(3.14)  if(-1) 都会执行

  (2)    eg: a=1 if(--a) 不成立;但是if(a--)就成立,先用和后用的问题;

  (3)    同样 a=0 if(a++) 不成立;但是if(++a)成立,也是先用和后用的问题

  3.2.2 两种选择:if-else

  if-else语句的定义:当满足条件语句时(条件语句结果非零)执行{}内语句,否则执行elas后的语句。

  if-else语句的格式:

if(条件语句)  //括号内是条件语句 只要结果非零 均进入执行语句 

{

执行语句;

}

else

{

执行语句;

}

 

  注意:

  (1)    最后的else 对应的是 “相同等级条件语句中最近”的 if,如:

    if();

    if();

    else;

    他的else 是和最后一个if组合的。

 

 

 

 

 

  3.2.3 多种选择:if-else if-else if –else if-…-else

   多个else if语句定义:当不满足条件1时,继续判断下一条件语句,直到满足条件语句时,进入相应语句中执行,若都不满足所有条件语句,则执行最后 else 中的语句。

   多个else if语句的格式:

if(条件语句1)

{

语句1;

}

else if(条件语句2)     //注意:是else if 不是 if else

{

语句2;

}

else if(条件语句3)

{

语句3;

}

。。。

else              //注意:最后只有else  不是 else if

{

语句n;

}

         注意:if 和 else if 或 if 和 else 组合时:当满足其中之一种就不会再执行另外两种了;

      而 if..if...if 则会逐个执行一遍。

  3.2.4 switch-case-break

     定义格式:通过表达式得出数值,若得出的数值与下面case 后的数值对应,则执行相应的语句,若没有相对应的数值则执行default 后面的语句。

switch(表达式)       //注意:没有 ”;” 号

{

case 值1: 语句1;break;   //注意:不能没有break 需跳出switch语句 否则继续 

//执行往后的case 语句 直到全部case语句执行完为止

case 值2: 语句2;break;

case 值3:{语句3;语句4;。。。;}break;  //case后的语句可以是多条语句集

。。。

default:语句5;break;//若表达式中没对应的值与之对应 则执行语句5后跳出

}

 

              例子:

uchar x,y,z,a;

x=y=a=3;

         switch(a)

         {

                  case 1:x=8;(break)

                  case 3:x=20;(break)

                  case 6:x=80;(break)

                  default:x=200;

         }

 

若case后面没加break则结果x=200;

若case 后面加break 则结果为x=20.

switch-case-break 三个合在一起才构成选择结构语句。

 

    补:switch 括号中 可以是字符常量 整型常量;但不可以是 浮点型

3.3 循环结构基本语句

  3.3.1 for

  for语句的定义格式:当表达式2为真时,执行循环体语句否则不进入循环。

for(表达式1;表达式2;表达式3) //注意表达式之间用 ”;” 隔开 括号后面没“;”

{

循环体;

}

 

                例子:

uchar i,x,y,z;//全局变量默认值为零

for(i=0;i<3;i++)

{

x=x+1;//i=0;x=1//i=1;x=2//i=2;x=3

y=y+1;

z=z+1;

}

 

最后结果:x=3  y=3  z=3

 

    一个for循环,如何让两个变量初值不同,但是同时递增:即for后i++,n++

 

 

  3.3.2 while

  while语句的定义格式:当循环条件为逻辑0时不进入循环体;否则都会进入循环体,进行循环。

while(循环条件)

{

循环体;

}

 

  3.3.3 do-while (少用,特殊情况时运用)

  do-while语句的定义格式:先执行循环体,再判断循环条件,若满足条件则继续进入循环体。

do

{

循环体;

}while(循环条件);  //注意:不能漏了 ”;”

  注意:先执行一次循环,再判断循环条件是否满足。

 

3.4 转移结构基本语句

  3.4.1 goto(少用)

  一般用于跳出多重循环。

goto 标示符;  标示符:

           补:这个是最灵活的跳转,可跳转到函数中的任意点。

  3.4.2 return

    两个作用:1)结束函数;2)带回一个返回值

    补:直接结束函数,最强的跳转、断开,在递归函数中也经常用到

  3.4.3 break

    跳出一层{};如果与if联用时,直接忽略if的存在

    补:跳出的是包含它的、最近的一层循环。

  3.4.4 continue

    结束本次循环。

    补:结束本次循环,进行下一次的本个循环

 

              例子:

uchar i,x,y,z;//局部变量值不确定

i=x=y=z=1;

for(i=0;i<3;i++)

{

x=x+1;(continue;或break;)

y=y+1;

z=z+1;

}

无continue、break:结果为 x=4  y=4  z=4

有continue:结果为      x=4  y=1  z=1

有break:结果为          x=2  y=1  z=1

 

 

posted @   夜叉王  阅读(7)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 【.NET】调用本地 Deepseek 模型
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
点击右上角即可分享
微信分享提示