C语言基础知识4大坑,快来看看你中招了没?

##C语言基础知识4大坑,快来看看你中招了没?

1.分支结构

if语句与程序的单分支结构

形式:if(表达式)

语句

功能:若表达式的值为真,则执行语句。

注意,当函数作为if里面的表达式的时候即if(printf(“*”))的时候,则是以函数的返回值判断if的真假,printf输出以1个字符则返回为1,所以这个if是真的;

(2). if……else语句与程序的双分支结构

形式:if(表达式)

语句1

else

语句2

功能:若表达式的值为真,则执行语句1,否则执行语句2

(3).复合语句及其在程序中的使用

复合语句是用一对花括号“{}”将若干条C语句括起来形成的语句序列。复合语句的基本形式如下所示:

{ 语句1;

语句i;

语句n;

}

注意:

C语言的复合语句右括号“}”后不需要用分号“;”结尾,如果在程序中有如下形式的语句格式出现,则应认为是复合语句后面跟了一个空语句:

{ 语句序列;}; /* 最后的分号是空语句 */

(4).if语句的嵌套与 switch语句程序的多分支结构

C语法规定else 必须与最近的if相匹配。

switch语句与程序的多分支结构

形式:

switch(表达式)

{

case 常量表达式1:语句组1;

case 常量表达式2:语句组2;

………

case 常量表达式n:语句组n;

default:语句组n+1;

}

a) 常量表达式必须为整型、字符型或者枚举型,且值必须互不相同

b)case后可包含多个可执行语句,且不必加{ }

c) 多个case可共用一组执行语句

d)当表达式的值和某个case后面的语句相匹配时,则执行相应case后面的语句,并继续执行之后的语句。若不希望继续执行之后的语句,则使用break语句跳出switch语句。
C语言基础知识4大坑,快来看看你中招了没?

02循环结构

(1).while型循环

形式:while(表达式)

语句

注意在while()后面没有;号,当函数或者赋值表达式放在while的()中时与if的判断方法一样,判断函数的返回值或表达式值的逻辑值;若表达式的值为真(非0),则执行语句(循环体),否则结束循环;

加C/C++学习交.流群,免费获取C语言、C++学习资料,学习路线指导和梳理,更有进阶干货的直播免费学**限 ,都是大牛带飞 让你少走很多的弯路的

群…号是 787190917

(2).do….while型循环

形式:do

语句

while(表达式)

先执行语句(循环体)一次,再判断表达式的值是否为真(非0),若为真,则继续循环否则终止循环。同while()型循环相比,while()是先判断条件后执行语句,而do…while则是先执行语句后判断条件,无论如何都会先执行一次。

(3).for型循环

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

例:for(i=1;i<100;i++)

s=s+i;(注意for括号的后面没有;号)

当有两个for语句即嵌套的for循环的时候

例:for(i=1;i<4;i++)

for(j=0;j<5;j++)

s=s+i ;

这个时候是先做i=1;然后判断i;然后做加粗的部分,即是把加粗部分看成一个整体做完之后才会回到i++;所以s=s+i ;这个语句做了20次。

(4).总结

if,for,whlie,后面如果没有{}的时候,即是只有一个简单的语句的时候,if,for,whlie的作用效力范围是到与之最近的分号结束;当有{ }的时候即是把{ }看成一个整体,控制范围是整个{ }里面的所有语句。
C语言基础知识4大坑,快来看看你中招了没?
作者:氰涩的风
https://www.bilibili.com/read/cv3878141
出处: bilibili