总结篇不会汇总相应的练习题,也不会细致分析原因,只做最精简的重要汇总,会适当删去一些知识点,相关汇总文章放在最后。
C语言是结构化的程序设计语言:顺序结构、选择结构、循环结构
C语句可分为以下五类:
1. 表达式语句
2. 函数调用语句
3. 控制语句
4. 复合语句
5. 空语句
控制语句用于控制程序的执行流程,以实现程序的各种结构方式,它们由特定的语句定义符组成, C 语言有九种控制语句,可以分为以下三类:
1. 条件判断语句也叫分支语句: if 语句、 switch 语句;
2. 循环执行语句: do while 语句、 while 语句、 for 语句;
3. 转向语句: break 语句、 goto 语句、 continue 语句、 return 语句。
目录
1·if分支语句
语句结构
第一种 | 第二种 | 第三种(多分支) |
if ( 表达式 ) 语句 ; | if ( 表达式 ) 语句 1 ; else 语句 2 ; | if ( 表达式 1 ) 语句 1 ; else if ( 表达式 2 ) 语句 2 ; else 语句 3 ; |
由一个 分号隔开的就是一个 语句,多语句请用花括号{}括起来。
如果表达式 为真就执行语句,为假就不执行。注:else和离他最近的if语句进行匹配
书写注意
1·两种条件用&&连接
else if (18 <= age < 30)
printf("最好的年纪");
这样写会恒为真,18<=age为真就判定为1,然后1<30就为真,就执行语句。
注:0表示假,非0表示真。
应写为:
else if (age >= 18 && age < 30)
printf("最好的年纪");
2·等号注意
int main()
{
int a = 3;
if (a = 4) //会有警告但是能够运行(能运行是因为为真,这里不是等于而是赋值的意思
printf("aqiu");
return 0;
}
注意等号用==表示,一个=是赋值,且书写时候把常量放在左边较好。
2·switch分支语句
语句结构
switch(整型表达式)
{
语句项;
}
//语句项是一些case语句
case 整型常量表达式:
语句;
注意事项
break和default的作用:
1·break
break结束离他最近的switch。
它的实际效果是把语句列表划分为不同的分支部分。
2·default
每个switch语句中只能出现一条default子句。
但是它可以出现在语句列表的任何位置,而且语句流会像执行一个 case 标签一样执行 default 子句。
编写注意:
1、在最后一个 case 语句的后面加上一条 break语句。
(可以避免出现,在之前的最后一个 case 语句后面忘了添加 break语句)。
2、在每个 switch 语句中都放一条 default 子句是个好习惯,在后边再加一个 break 。
判断如何运行:
1、找break和switch
2.判断应该执行的语句
3.执行时候注意break
输入case对应整型表达式结果后并执行相应语句,在遇到break之前,把输入对应case之后的所有case后的语句都执行,不管是否符合case所对应的情况。
3·while循环执行语句
语句结构和执行流程
//while语法结构
while(表达式) //表达式结果为真则执行循环语句
循环语句;
代码注意
int main()
{
int a = 0;
while (a <= 10)
{
//if (a == 5)
// break; //在while循环中,break用于永久的终止循环
if (a == 5)
continue; //continue跳过本次循环它之后的语句
//来到while语句的表达式部分,判断是否进行下一次循环
printf("%d\n", a);
a++;
}
return 0;
}
1.while循环语句中的break是用于永久终止循环的。
2.while循环语句中continue跳过本次循环它之后的语句,来到while语句的表达式部分,判断是否进行下一次循环。
4·for循环执行语句
语法结构和执行流程
for(表达式1;表达式2;表达式3)
循环语句;
表达式1、2、3分别对应:
初始化部分:初始化循环变量
判断部分:判断循环是否终止
调整部分:循环条件的调整方式
代码与书写注意
int main()
{
int i = 0;
//for(i=1/*初始化*/; i<=10/*判断部分*/; i++/*调整部分*/)
for (i = 1; i <= 10; i++)
{
printf("%d ", i); //调试看过程
}
return 0;
}
break和continue:
1·continue
for语句跳出循环的调整部分不会受到continue位置的影响,while语句的continue如果在调整部分之前,循环会无法跳出导致死循环。
2·break
while语句和for语句的break倒是没有什么区别的,都是直接跳出循环了。
书写建议:
1. 不可在for 循环体内修改循环变量,防止 for 循环失去控制。
2. 建议for语句的循环控制变量的取值采用“前闭后开区间”写法。3· 最好别随意省略。
两个变量控制循环:
int main()
{
int x, y;
for (x = 0, y = 0; x < 2 && y < 5; ++x, y++)
{
printf("hehe\n");
}
return 0;
}
5·do……while()循环执行语句
语法结构和执行流程
这语句的特点就是至少执行一次,是先执行后判断是否循环的。
do
循环语句;
while(表达式); //注意这个分号
演示:
int main()
{
int i = 1;
do
{
printf("%d\n", i);
i++;
} while (i < 10);
return 0;
}
6·goto语句
goto语句多用于跳出两层或者多层循环
int main()
{
silent: //可以写在goto后面,注意是冒号
//不过写在后面就是其他用途,而不是循环了
printf("想哭\n");
printf("不准哭,成年人的世界没有哭声\n");
goto silent;
return 0;
}
上面这段代码会一直循环这两句话,如果把silent放在其他地方也可以。这里只是演示一下goto会跳到哪里去。
注意:goto只能在一个函数范围内跳出来,不能跨函数
但是在使用的时候我碰到了这样的麻烦
如果把注释掉的那段写回程序便没什么事了。
(这里如果后续知道原因会补充)
7·汇总文章相关链接
文章内有相关练习。
从0开始学c语言-11-if分支语句、switch分支语句_阿秋的阿秋不是阿秋的博客-优快云博客
从0开始学c语言-12-循环执行语句(1)while语句、getchar、putchar、缓冲区_阿秋的阿秋不是阿秋的博客-优快云博客
从0开始学c语言-12-循环执行语句(2)for语句_阿秋的阿秋不是阿秋的博客-优快云博客
从0开始学c语言-12-循环执行语句(3)do……while()语句+练习_阿秋的阿秋不是阿秋的博客-优快云博客