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语句。
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的作用效力范围是到与之最近的分号结束;当有{ }的时候即是把{ }看成一个整体,控制范围是整个{ }里面的所有语句。
作者:氰涩的风
https://www.bilibili.com/read/cv3878141
出处: bilibili