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

2024-10-01 21:22:03 浏览数 (3)

第四章 选择结构

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

1.两类表达式

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

< <= > >= == !=

< <= > >= 是6级

== != 是7级

同级顺序是自左往右

例题:

代码语言:c复制
4>5     0
5==5    0
7=7     非法,赋值运算符左边必须为变量
5>4>3   0  5>4是1,1>3是0,所以是0

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

&& || !(单目)

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

(1)在c语言中逻辑表达式的值只有1或0两种值。其中,1表示“真”,0表示“假”

(2)&&是全真为1,有0为0,||是有1为1,全0为0 ,!是1变0,0变1

例题:

代码语言:c复制
a  >5 
  a>5
5||5
4<3 && 9
0&&7
5>4>3&&3

2.if语句

格式1:

代码语言:c复制
if(表达式)
	语句序列1;=>if子句
后继语句

格式2:

代码语言:c复制
if(表达式)
	语句序列1;
else
	语句序列2;

格式3:if语句的嵌套

代码语言:c复制
if(表达式1)
	if(表达式2)
		语句序列11;
	else 
		语句序列12;
	else
		语句序列2;
	

3.switch语句

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

代码语言:c复制
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:

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

带break:

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

运算符先后顺序大总结

第一级:()

第二级:单目

第三级-第十二级:双目

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

第十三级:三目

第十四级:=

第十五级:,

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

第五章 循环结构

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

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

1.1 while语句(当型循环)

第一类:

代码语言:c复制
while(表达式)
{
	循环体语句序列;
}

先执行表达式,再执行循环体语句

执行完循环体语句,再回到表达式,判断是否继续进入循环

while执行一条语句或一条复合语句

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

第二类:

代码语言:c复制
do
{
	循环体语句序列;
}while(表达式);

先执行循环体语句,然后进入表达式,判断是否进行下一次循环

do-while也是就近控制一条或花括号的复合语句

1.3 for语句

第三类:

代码语言:c复制
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.下面程序的运行结构是()

代码语言:c复制
# include<stdio.h>
int main()
{
     int num=0;
     while(num<=2)
     {
         num  ;
         printf("%dn",num);
     }
}

运行结果:

代码语言:c复制
1
2
3

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

代码语言:c复制
# include<stdio.h>
int main()
{
    int x=3;`1
    do
        printf("%dt",x-=2);
    while(!(--x));
}

运行结果:

代码语言:c复制
1	-2

1 人点赞