文章目录
- C语言分支结构和循环结构(1)
- 前言
- 一、C语言结构组成
- 1.分支语句(选择结构)
- 1.1 if语句
- 练习题
- 1.2 switch语句
- 实例
- 2.循环语句
- 2.1while循环
- 练习题
- 2.2 for循环
- 3. do while循环
- 练习题
- 总结
前言
一、C语言结构组成
C语言的结构化的程序设计语言!由顺序结构、选择结构、循环结构组成。
什么是语句?
一个分号隔开的就是一个语句;
分支语句(选择结构):if switch
1.1 if语句语法结构:
if(表达式)
语句:
if(表达式)
语句1;
else
语句2;
if()
语句1;
else if()
语句2;
else()
语句3;//如果后面有多条语句就得用{}括起来;
C语言中非0为真,0为假;
else和离得最近的if匹配;千万注意if和else的匹配问题
在敲代码的过程中要注意自己的代码风格;
int main()
{
int num=3;
if(num=5)
printf("hehenhehen");//判断相等的符号错写成赋值符,永远为真且不容易发现错误
if(5==num)
printf("hehen");//这种写法则可以保证代码的正确性,出现错误不能编译成功;
}
注意:在两数比较时,将常量放在左边更好一些;
练习题1.判断一个数是否是奇数
#includeint main() { int num=15; if(num%2==1) printf("奇数"); }
2.输出1~100之间的奇数
#include1.2 switch语句int main() { //c++ //c99支持这样写 for(int n=1;n<=100;n++) { if(1==n%2) printf("%d是奇数n",n); } return 0; }
语法结构:
switch(整型表达式)
{
语句项;//case语句项
case:整型常量表达式;
语句;
}
实例
利用switch写出星期一到星期天
#includeint main() { int day=0; scanf("%dn",&day); switch(day) { case 1: printf("星期1n"); break; case2: .... .... case 7: printf("星期7n"); break; default: //代表其余选项; printf("输入错误"); break; } return 0; }
day和case的值决定入口;break是出口,代表跳出,一起才可以完整表达分支;
switch(整型表达式);
case(必须是整型常量表达式);
字符也可以,因为字符底层存储是利用ASCII码值;
为了方便后面代码的扩展,最后一个case语句后面也最好加上break;
default没有前后要求,只要符合需求,放在前后均可以;
for
while
do while
一共包含3中,for循环用的最多。
while循环的格式:
2.1while循环while(表达式)
循环语句;
如果while()括号内的表达式非0,循环语句就会被执行,循环语句不一定是语句,也有可能是代码块;
练习题在电脑屏幕上打印1~10;
#includeint main() { int i=1; while(i<=10) { printf("%dn",i); i++; } return 0; }
在while循环中,break用于永久的终止循环;continue表示跳过本次循环continue后面的代码,直接去判断部分,看是否进行下一次循环;
while循环一共包含三个部分,代码行数增加三个部分距离可能会变远
int main()
{
int i=1;//初始化
while(i<=10)
{
printf("%d",i); //判断部分
i++; //调整部分;
}
return 0;
}
2.2 for循环
for循环结构:
for(表达式1;表达式2;表达式3);
{
循环体;
}
for后面的括号内表达式1是初始化,表达式2是判断,表达式3是调整;三个部分放在一起,此处优于while循环。
for循环特点:初始化只执行一次。
break和continue在for循环中的作用:
break终止循环,跳出循环;continue跳出此次循环后面的代码开始下一次循环。
for循环的continue是跳到调整部分继续执行,而while循环很有可能直接跳过调整部分;
for语句的循环控制变量一些建议:
1.不可在for循环体内修改循环变量,防止for循环失去控制;
2.建议for语句循环控制变量的取值采用“前闭后开区间”写法
int i=0;
//前闭后开的写法
for(i=0;i<10;i++)
{
}
for循环从语法上来说三个部分都可以省略,判断部分的省略会导致判断部分恒为真,导致死循环。
一般不建议省略任何一个部分,可能会导致程序出错,例如:
int main()
{
int i=0;
int j=0;
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
printf("hehen");
}
}
return 0;
}
以上程序最终可以打印9个hehe;然而省略了初始化部分时:
int main()
{
int i=0;
int j=0;
for(;i<3;i++)
{
for(;j<3;j++)
{
printf("hehen");
}
}
return 0;
}
最终结果只能打印3个hehe;因为c内层for循环中的j由0一直j++到3,循环执行完成三次之后跳出内层循环到达for循环i++一次再次进入内层循环时,j还是等于3,所以直接跳出内层循环,如此反复导致只能最终打印3个hehe。
3. do while循环do语句的语法:
int main()
{
int i=0;
do
{
printf("%d",i);
i++;
}while(i<=10);
return 0;
}
练习题
在电脑屏幕上利用do while循环打印1~10;
int main()
{
int i=0;
do
{
printf("%d",i);
i++;
}while(i<=10);
return 0;
}
do while循环的特点:循环体至少要执行一次;
总结这章笔记主要包含了C语言的选择语句(if 、switch)循环语句(for、while、do while)等知识点以及每个语句对应的练习题,希望可以帮助到大家。



