4.1 C语句概述
C语言的语句用来向计算机系统发出指令,一个实际的源程序通常包含若干条语句,这些语句用来完成一定的操作任务。
考点1 C语句分类
真考链接
针对考点1 的考查主要从表达式语句、空语句、复合语句;数据的输入与输出、输入与输出函数的调用;复合语句三方面进行考查,该考点在选择题中的考核概率为10%,属于简单识记内容。
1.控制语句
控制语句完成一定的控制功能,C语言共有8种控制语句,见表4.1。
表4.1 控制语句
说明:以上语句中“()”表示一个条件,“...”表示内嵌语句。
2.空语句
C语言中所有语句都必须由一个分号(;)结束,如果只有一个分号,如main(){;},这个分号也是一条语句,称为空语句,它在程序执行时不产生任何动作,但表示存在着一条语句。
3.复合语句
在C语言中花括号“{ }”不仅可以用作函数体的开始和结束标识,同时也常用作复合语句的开始和结束标识,复合语句也可称为“语句体”。
4.其他类型语句
函数调用语句:由一项函数调用加一个分号构成一条语句,如 scanf("%d",&a);。表达式语句:由一个表达式加一个分号;构成一条语句,如 a=b;。
小提示
在C语言中,任何表达式都可以加上分号构成语句,如“i++;”。不能随意加“;”,可能会导致很多逻辑上的错误,因此要慎用。复合语句里最后一个语句末尾的分号不能省略。
常见问题
while和do...while都是实现循环的语句,它们的区别是什么?
while在执行过程中,首先根据条件语句判断是否开始执行和是否继续执行循环体。而do…while语句在执行过程中首先无条件执行循环一次,然后根据条件语句来判断是否继续执行循环体。
真题精选
若变量已正确定义,有以下程序段:
int a =3,b =5,c = 7;
if(a > b)a = b;c = a;
if(c!= a)c = b;
printf("% d,% d,% d\n",a,b,c);
其输出结果是:
A.程序段有语法错误 B.3,5,3 C.3,5,5 D.3,5,7
【答案】 B
【解析】此题是if语句的例子。两个if语句的判断条件都不满足,程序只能执行c=a这条语句,所以变量c的值等于3,变量b的值没有变化。程序输出的结果为3,5,3,所以正确答案为B。