c语言基础教程 第四章语 句Word格式.docx
- 文档编号:15174792
- 上传时间:2022-10-28
- 格式:DOCX
- 页数:27
- 大小:68.27KB
c语言基础教程 第四章语 句Word格式.docx
《c语言基础教程 第四章语 句Word格式.docx》由会员分享,可在线阅读,更多相关《c语言基础教程 第四章语 句Word格式.docx(27页珍藏版)》请在冰豆网上搜索。
(条件表达式语句)
b==5
(比较表达式语句)
x&
&
++y||Z;
(逻辑表达式语);
printf("
0n!
\n"
)
(函数调用也是表达式语句)
i=a,j=5,k=7;
(逗号表达式语句)
等等。
有些表达式语句虽然是合法的,例如,
n?
m;
但是,它并没有实际意义,需要将其表达式的值赋给某个变量才有意义。
例如,
x=m>
n?
m:
这是一个有意义的表达式语句,它将一个表达式m>
m;
n的值赋给了变量x.
虽然任何一个表达式加上分号都构成表达式语句,但在程序中要出现的是有意义的表达式语句。
4.1.2空语句
空语句是一种只有分号而没有表达式的特殊语句。
空语句是c语句中最简单的语句,因为它只由一个分号(;
)组成。
空语句是一种不执行任何操作的语句。
说它是特殊语句是指它是一种"
不做事情"
的语句。
空语句在编程中也是有用的,它主要被用在需要一条不做事情的语句的地方。
例如,它可用来作循环体,则该循环是空循环。
下面是一个为了延迟一段时间的循环,其循环体可用空语句。
for<
i=0:
i<
1000;
i++)
空语句还可以用在goto.语句中语句标号的后面,即需要goto语句转向一条什么事情都不做的语句,那么在该语句标号的后面可用空语句。
4.2.1复合语句
复合语句是指由两条或两条以上语句用花括号({})括起来的语句序列。
C语句中的语句简单地划分为单条语句和复合语句两类。
单条语句是指只有一条语句,而复合语句是指多条语句的总称,但是,多条语句用花括号括起来才称复合语句。
没有用花括号括起的若干条单条语句只能称为语句序列。
所以,复合语句是一种特殊的语句序列,它被一对花括号括起来,它在程序中被看作是一条语句。
一般地说,凡是可以出现一条语句的地方都可以出现复合语句。
复合语句是C语言程序中常用的语句形式之一。
在复合语句内部还可以包含有复合语句,即复合语句可以嵌套。
上述便是复合语句嵌套的一种形式。
复合语句常用作if语句的if体、else体和elseif体以及循环语句的循环体等。
复合语句和函数体虽然都是用一对花括号({})来定界的,但是两者间是有区别的。
复合语句是由两条或两条以上语句序列组成的,而函数体内可以是多条语句的语句序列,也可以只有单条语句,还可以没有语句,即为空。
另外,函数体内可以包含若干个复合语句,而复合语句内不能包含函数体,只能包含复合语句。
4.2.2分程序
分程序又称程序块。
分程序是一种花括号内含有说明语句的复合语句。
分程序是一种复合语句,但是复合语句不一定是分程序,只有包含说明语句的复合语句才是分程序。
因此,复合语句包含了分程序,分程序是复合语句的一种。
具有下列格式的复合语句是分程序:
(说明语句序列)
(执行语句序列)
}
在分程序中,说明语句序列一定要放在执行语句序列的前边。
在分程序内可以定义或说明变量,也可以对已定义过的变量进行重新定义。
在分程序中定义的变量都是属于局部变量,它的作用域仅在定义它的分程序内。
有关这方面的详细情况在讲述存储类时再做详细描述。
4.3.1条件语句
条件语句是一种根据指定的条件来决定执行不同的程序段的语句。
条件语句又称if语句。
1.条件语句的格式和功能
条件语句的格式如下:
if(条件i>
)
(语句1)
elseif((条件2))
(语句2>
elseif((条件3))
(语句3)
elseif((条件N))
(语句N)
else
(语句N+1>
这是if语句的完整的格式,其中,if和。
lse都是关键字。
(条件1)至<
条件N)都是任一表达式,用来指出条件的表达式多是关系表达式和逻辑表达式,也可用其他表达式。
<
语句1)至(语句N-}})都是单条语句或复合语句。
在if语句中,至少要有一个if短语,最简单的if语句格式如下:
if(条件))
(语句)
在if语句中,除了至少要有一个if短语之外,可以有一个(只能有一个)else短语,或者没有else短语。
elseif短语在if语句中可以没有,也可以有一个或多个。
一般在多路分支的间题中,需要用到多个elseif短语。
具有一个else短语而无elseif短语的if语句格式如下:
if(条件1))
(语句2)
if语句的功能描述如下:
先计算(条件1)中表达式的值,如果其值为非零,则执行(语句1),然后执行该if语句后边语句,如果其值为非零,则不执行(语句1>
接着计算《条件2)中表达式的值。
如果其值为非零,则执行(语句2),然后执行该if语句后边语句;
如果其值为零,则不执行<
语句2),接,计算<
条件3)中表达式的值,再判断,依次类推。
如果N个条件对应的表达式的值全都为零,则执行<
语句N+1)然后执行该if语句后边的语句。
如果N个条件对应的表达式中某个值不为零,则执行该条件后边的语句,然后退出if语句,即执行该if语句后边的语句。
if语句的功能可用下图所示:
2.if语句的应用
if语句在具体应用中要注意:
一个if语句中只能有一个。
Ise短语,也可以没有。
lse短语,而且在多重嵌套的if语句中,else短语总是与它前面最近的if相匹配的。
下面通过]L个具体例子说明if语句的使用。
[例4.1]输入两个整数,按其值由大到小顺序输出这两个数。
Main()
{
inta,b,t,
pcintf("
Inputa,b;
"
),
scanf("
%d%d"
a,&
b),
if(a<
b)
t=a
a=b,
b=t,
printf(%d,"
d\n,"
a,b);
执行该程序后,屏幕显示如下提示信息:
Inputa,b,
3u5
输入3和5后,按回车键3与5之间用空格符分隔,屏幕显示如下结果:
5.3
说明:
该程序中使用了最简单的if语句的格式。
仅有if短语和一个if体,该if体用一个复合语句,它由3条斌值表达式语句组成,其功能是实现变量a和b之间的内容的交换。
交换方法是通过第3个变量t,先将a的值斌给t,再将b的值赋给a,最后将t的值赋给b.其关系如下所示:
通过上述方法使得变量a和b的值进行了交换。
这是一种有用的算法,以后还会用到。
如果要求将两个整数按由小到大的顺序输出时,只需将程序中
if(a<
改写为
if<
a>
其余不变。
这时上例中输出结果如下:
3,5
〔例4.幻假设有一个物品其价格规定如下:
低于5公斤(含5公斤),每公斤a元,大于5公斤不足10公斤,每公斤b元,IO公斤以上(含10公斤),每公斤。
元。
编程计算该物品为m公斤的价格。
main()
floatx,p,a,b,c;
Inputweightx:
);
scant("
%f"
&
x)
prints("
Inputpricea,b,c:
%f%f%f%f"
b,&
c);
if(x<
=5)
p=a*x;
elseif(x>
5&
x<
10)
P=b*x;
p=c*x;
printf("
%.2f\n"
.p);
程序中变量x是该物品的重量,P是该物品的价格。
该程序中使用了一个if语句,该语句含有一个。
lseif短语和一个else短语句。
这是一个简单的多路分支程序。
如果分支再多时,可以再多用几个elseif短语。
[例4.3]较两个整型数的大小。
(
inta,b;
Inputa,b:
scanf("
b);
if(a1=b)
if(a>
a}b\n"
a<
b\n"
a=b\n};
执行该程序输入两个lilt型数:
Inputa,b:
-35
a<
b
本例程序中,用了一个if-else语句,该语句的if体又是一个if-else语句,这是if语句嵌套。
当从键盘输入两个int型数以后,程序中a和b获取了值。
如,a为一3,b为5,显然,这时a!
=b为非零,接着执行if体,这又是一个if-else语句,先判断a>
b为。
,则执行printf("
b\n"
);
语句,屏幕上显示a<
b.退出内重的if语句,再退出外重if语句,最后结束整个程序。
此例中使用的if语句还有其他形式。
if(a==b)'
a=b\n"
).
a,b\n}}
还可以写成如下形式,
if(a==b)
elseif(a>
ease
还可以写成如卜形式:
if(a>
=b)
if(a=b>
prinrf("
e1Se
printf("
c,h\n"
):
还有很多其他的等价写法,这里不再一一列举。
在if语句嵌套时,如果if体或elseif体或else体是一个if语句时,则应该被完全包含在体内。
一般形式如下:
if((条件1))
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- c语言基础教程 第四章 语言 基础教程 第四