C语言的结构

本文详细介绍了C语言中的条件控制结构,包括if语句的使用,如最简单的if、带有else子句的if、if...else if...else结构,以及switch语句的语法和应用。通过实例解析了各种条件结构的执行逻辑,并给出了相应的编程练习,帮助读者掌握C语言中的条件控制。
摘要由CSDN通过智能技术生成

一、程序的基本 结构有三种:

(1)顺序结构

(2)分支结构(选择结构)

(3)循环结构

二、有几种语法形式

1、if 语句

有几种基本形式

(1)最简单的if语句

语法:

if(表达式)

{

...

语句块

...

}

如果表达式是成立(非0),就会执行语句块,否则就不会执行语句块

if(今天星期二)

{

我就要早点起床;

起完床洗漱一下;

来上课;

}

if 后面的小括号里面的表达式必须是 任意合法的表达式,表达式要么成立,要么不成立

只有成立的时候,才会执行后面的语句块

语句块

任意条语句,每一条语句后面都得“;”

一条/多条,空语句也行。

例:

int a = 3;

int b = 4;

int c = 5;

if(a + b > c)

c = a + b;

if后面的语句 任意条语句,建议都加“{}”,

如果不加“{}” 默认只管到一句话

int a = 3;

int b = 4;

int c = 5;

if(a + b > c)

{

c = a + b;

a = 4;

b = 8;

}

a = 4, b = 8, c = 7;

int a = 3;

int b = 4;

int c = 5;

if(a + b > c)

c = a + b;

a = 4;

b = 8;

a = 4, b = 8, c = 7;

int a = 3;

int b = 4;

int c = 5;

if(a + b < c)

c = a + b;

a = 4;//必定执行

b = 8;//必定执行

a = 4, b = 8, c = 5;

if(xxxx)

{}

一定要规范代码

该给“{}”,该缩进就缩进

练习:

求两个整数中,小的那个

输入2个数,输出较小的数

(2) else 子句

语法:

if(表达式)

{

语句块1

}

else

{

语句块2

}

如果 表达式 成立,执行语句块1,否则就执行语句块2

**** else 必须要和 if 一起用(if 在 else 前)

练习:

求两个整数中,大的那个

输入2个数,输出较大的数

输入一个年份,输出该年是平年还是闰年

(3) else if

**** else if 必须要和 if / else 一起用

if(表达式1)

{

语句块1

}

else if(表达式2)

{

语句块2

}

else if(表达式3)

{

语句块3

}

......

else if(表达式n)

{

语句块n

}

else

{

语句块n+1

}

如果表达式1成立,就执行语句块1

否则判断表达式2是否成立

如果表达式2成立,就执行语句块2

否则判断表达式3是否成立

.......

如果表达式n成立,就执行语句块n

否则 执行 语句 n+1

都是互斥

练习:

求两个整数中,大的那个

输入2个数,输出较大的数

输入一个学生的成绩,评级

[90,100]甲

[80, 90)乙

[70, 80)丙

[60, 70)丁

[0,60)戊

2、if 语句嵌套

if 语句中又有 if 语句

条件里面又有分条件.....

if(表达式1)

{

if(表达式2)

{

if()

{

......

}

else

{

....

}

}

else

{

if()

{

....

}

else

{

....

}

}

}

else

{

if(表达式3)

{

}

........

}

注意:

每个 if 语句 和 else 子句 都建议打括号,同时 记得“缩进”,看起来有层次感,便于阅读

如果看别人的代码,他不规范 怎么看懂?

else 与 if 匹配问题

if()

if()语句1;

else语句2;

else

if() 语句3;

else语句4;

语句5;

技巧:先匹配 最上面 else , else 总是和它上面、最近的、同一级、未匹配的 if 进行配对

if()

{

if()

{

语句1;

}

else

{

语句2;

}

}

else

{

if()

{

语句3;

}

else

{

语句4;

}

}

语句5;

3、switch

语法:

switch(表达式)

{

case 常量表达式1:语句块1; break;

case 常量表达式2:语句块2; break;

.

.

.

default:语句块;break;

}

说明:

(1) switch 后面 () 中的表达式的值必须是整数

(2) case 后面的表达式是常量表达式(不能出现变量),并且值也必须要是整数

(3) break 不是一个语句后面的必须,可以省略

(4) default 也不是一个必须要的,可以省略

(5) 每个 case 后常量表达式的值不能重复

switch 语句是用来把 "表达式" 的值 一一列举出来,与 case 后常量表达式的值进行匹配,

当匹配到某个 case ,就从该 case 语句一直执行下去 , 直到遇到 break ,或者 switch 的 "}"

如果 和 case "牵手失败" 就会执行 default 后面语句,直到遇到 break ,或者 switch 的 "}"

分析一下

int m = 8;

int n = 10;

switch(m)//①

{

case 1: printf("1\n");

case 8:printf("8\n");

case 9:

switch(n)//②

{

case 1:printf("2\n");break;

case 10:printf("4\n");break;//break 结束的 ②

}

case 10:printf("10\n");break;

}

8

4

10

if else 语句是用于范围匹配

switch 语句只能是值的匹配

作业:

1、输入3个不同数,按大到小输出(if else)

2、输入一个学生的成绩,评级(switch)

[90,100]甲

[80, 90)乙

[70, 80)丙

[60, 70)丁

[0,60)戊

可选:

3、输入年月日,判断该日是该年的第几天

4、简单算术计算器输入 两个数 和 运算符 输出结果

例:

输入 3 / 2

输出 3 / 2 = 1.50

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

新棉衣

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

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

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

打赏作者

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

抵扣说明:

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

余额充值