C语言程序设计核心详解 第四章&&第五章 选择结构程序设计&&循环结构程序设计

第四章 选择结构

1.定义:从main()开始,由上往下有哪些语句执行,哪些语句不执行

1.两类表达式

1.1 关系运算符及关系表达式(得到的值要么是1,要么是0)

< <= > >= == !=

< <= > >= 是6级
== != 是7级
同级顺序是自左往右

例题:

4>5     0
5==5    0
7=7     非法,赋值运算符左边必须为变量
5>4>3   0  5>411>30,所以是0

1.2 逻辑运算符与逻辑表达式

&& || !(单目)

单目是2级,&&是11级 ,||是12级

(1)在c语言中逻辑表达式的值只有1或0两种值。其中,1表示“真”,0表示“假”
(2)&&是全真为1,有0为0,||是有1为1,全0为0 ,!是1变0,0变1

例题:

a++>5 
++a>5
5||5
4<3 && 9
0&&7
5>4>3&&3

2.if语句

格式1:

if(表达式)
	语句序列1=>if子句
后继语句

格式2:

if(表达式)
	语句序列1else
	语句序列2

格式3:if语句的嵌套

if(表达式1if(表达式2)
		语句序列11else 
		语句序列12else
		语句序列2

3.switch语句

switch语句值得注意的点有很多,要小心谨慎。

switch(表达式)
{
case 常量表达式1:子句1
case 常量表达式2:子句2
...............
case 常量表达式n:子句n
default: 子句n+1
}

注意点:

  1. 【default: 子句n+1】该条语句可以有,也可以省略
  2. case后只能接常量整型或字符型,不能有变量和逗号表达式
  3. 各case后常量不能出现相同的值
  4. 只有每一个case常量表达式都不符合,才会跳转执行default
  5. 在子句不执行break语句的情况下,符合常量表达式1,会把子句1到n,以及default内子句n+1

来看几个列子:深刻理解switch语句
不带break:

#include<stdio.h>
int main()
{
    int x;
    scanf("%d",&x);
    switch(x)
{
    case 1:printf("语句1\n");
    case 2:printf("语句2\n");
    case 3:printf("语句3\n");
    default:printf("语句default\n");
}      
}

在这里插入图片描述

带break:

#include<stdio.h>
int main()
{
    int x;
    scanf("%d",&x);
    switch(x)
{
    case 1:printf("语句1\n");break;
    case 2:printf("语句2\n");break;
    case 3:printf("语句3\n");break;
    default:printf("语句default\n");
}     
}

在这里插入图片描述

运算符先后顺序大总结

第一级:()
第二级:单目
第三级-第十二级:双目

双目运算符:按顺序分,算术,关系,逻辑三类运算符

第十三级:三目
第十四级:=
第十五级:,

单目运算符就是一个符号的,双目就是两个符号的

第五章 循环结构

定义:从main()开始,从上向下,使得某些语句重复执行。
循环结构的程序:在顺序结构中加入循环控制语句。

1.循环控制语句(4类)

1.1 while语句(当型循环)

第一类:

while(表达式)
{
	循环体语句序列;
}

先执行表达式,再执行循环体语句
执行完循环体语句,再回到表达式,判断是否继续进入循环
while执行一条语句或一条复合语句

1.2 do-while语句(直到型循环)

第二类:

do
{
	循环体语句序列;
}while(表达式)

先执行循环体语句,然后进入表达式,判断是否进行下一次循环
do-while也是就近控制一条或花括号的复合语句

1.3 for语句

第三类:

for(表达式1 ;表达式2 ;表达式3)
{
 	循环体语句序列;
}

表达式1是初始化,表达式2是判断,表达式3是增减语句
for循环流程描述:

表达式1,是初始化,就执行一次,然后从表达式1到表达式2,判断表达式2
执行循环体语句
执行表达式3,回到表达式2判断,判断决定结束循环或进入到循环体语句

1.4 if(){} else{} goto配合使用

第四类(几乎不用):
if(){} else{} goto配合使用

2.两个控制语句—break continue

格式:break
功能:终止退出
范围:循环体中和switch体

匹配最近的循环体

格式:continue
功能:结束一次循环继续
范围:循环体中

匹配最近的循环体

3. 例题

1.下面程序的运行结构是()

# include<stdio.h>
int main()
{
     int num=0;
     while(num<=2)
     {
         num++;
         printf("%d\n",num);
     }
}

运行结果:

1
2
3

2.设整型变量x的当前值为3,执行以下循环语句后,输出的结果是()

# include<stdio.h>
int main()
{
    int x=3;`1
    do
        printf("%d\t",x-=2);
    while(!(--x));
}

运行结果:

1	-2
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小徐要考研

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值