C语言第三章顺序结构总结 下载本文

内容发布更新时间 : 2024/11/2 2:35:50星期一 下面是文章的全部内容请认真阅读。

第三章顺序结构总结

基本知识点:

数据的输出

※printf函数 格式:printf(格式控制字符串,输出列表);{例子:printf(“a=%d,b=%f”,a,b);} *格式控制字符串 1. 由双引号括起,两部分组成 2. %后加格式字符的表示输出的数值类型和格式 3. 其它原样输出

*输出列表:要输出的内容,必须和格式字符对应

*由于输出数据都隐含右对齐,如果想左对齐,可以在格式控制中的“%”和宽度之间加一个“-”号来实现

*如果要输出%符号,可以在格式控制中用%%表示,将输出一个%

*尽量不要在输出语句中改变输出变量的值,因为可能造成输出结果的不确定性。例如: Int k=8;printf(“%d%d”,k,++k);输出结果不是8,9;而是9,9.因为调用函数printf时,其参数是从右至左进行处理的,将先进行++k运算。 数据的输入

※Scanf 函数 格式:%[<修饰符>]<格式字>

*可以指定输入数据的域宽,系统自动按域宽截取输入数据(例如:scanf(“=”,&a);/*按宽度3输入一个整数给变量a*/)

*输入long型数据必须用%ld,输入double数据必须用%lf或%le

应用

1、已知:int x=10, y=3, z; 则下列语句的输出结果是( ) printf(“z=%d”,z=(x%y,x/y));

[A]z=1 [B]z=0 [C] z=4 [D] z=3

解析:本题考查的是数据的输出问题。对于printf函数来说%d格式为输出十进制整型数据,计算得知表达式x%y,x/y的值为3。因此,正确答案为[D]。

2、以下四个程序中,完全正确的是(全国计算机二级考试题2006年4月) [A]#include “stdio.h” [B] #include “stdio.h” void main(); void main() {/*programming*/ {/*/programming/*/

printf(\printf(\ *C+#include “stdio.h” [D] include “stdio.h” void main() void main() {/*/*progmmmfug*/*/ {/*programming*/

printf(\printf(\

解析:本题考查的是C程序结构及注释问题。选项A中主函数后不应有分号,选项C中/*遇到第一个*/注释语句就结束了,后面的*/非法,选项D中include前少#。因此,正确答案为[B]。

3、执行语句:printf(“The program\\’s name is c:\\\\tools\\book.txt”);后的输出是 。 *A+ The program’s name is c:tools book.txt *B+The program’s name is c:\\tools book.txt *C+ The program’s name is c:\\\\tools book.txt *D+ The program’s name is c:\\toolook.txt 解析:本题考查的是数据输出函数及转义字符问题。C语言库函数中printf函数双引号中除 % 和转义字符外其它字符原样输出,本题包含多个转义字符,包括\\’、 \\\\、\\b,分别表示’、 \\、退格,因此,正确答案为[D]。

1 第三章顺序结构总结

4、若变量已正确定义为int型,要通过语句scanf(“%d,%d,%d”,&a,&b,&c);给a赋值1,给b赋值2,给c赋值3,以下输入形式中错误的是( )。(ㄩ代表一个空格符)(全国计算机二级考试题2008年9月)

[A]ㄩㄩㄩ1,2,3<回车> [B]ㄩ2ㄩ3<回车> [C]1,ㄩㄩㄩ2,ㄩㄩㄩ3<回车> [D]1,2,3<回车>

解析:本题考查的是scanf输入函数的格式说明问题。输入函数的输入控制(双引号之间的内容),除 % 外,如果含有其它字符,则在输入数据时一定要一一对应输入这些字符,本题双引号之间含有逗号,因此输入数据之间必须输入逗号。此外,还要注意逗号不是分隔符,如果双引号之间没有逗号,输入数据时就不能用逗号。因此,正确答案为[B]。 5、若在定义语句:int a,b,c; 之后,接着执行以下选项中的语句,则能正确执行的语句是( )。 [A]scanf( \ [B]scanf( \ [C]scanf( \ [D]scanf( \

解析:本题考查的是scanf输入函数的格式说明问题。输入函数的输入控制(双引号之间的内容)与后面的输入项表列要类型一致、个数一致、位置一一对应,因此,正确答案为[B]。 6、以下说法正确的是( )。

[A]输入项可以为一个实型常量,如scanf(“%f”,3.5);

[B]只有格式控制,没有输入项,也能进行正确输入,如scanf(“a=%d,b=%d”);

[C]当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf(“%4.2f”,&f); [D]当输入数据时,必须指明变量的地址,如scanf(“%f”,&f);

解析:本题考查的是实型数据的输入问题。C语言规定scanf函数中必须有输入项,且输入项必须是变量,实型数据在输入时不必规定精度。因此,正确答案为[D]。

8、已知:int a, b;用语句scanf(“%d%d”,& a ,&b”);输入a、b的值时,不能作为输入数据分隔符是 。

[A], [B]空格 [C]回车 [D] tab 解析:本题考查的是数据输入函数scanf的使用问题。C语言库函数中scanf输入数据时,可以作为输入数据分隔符是空格、回车、[Tab],因此,正确答案为[A]。 9、要求编一程序,输入三角形三边a,b,c的值,计算三角形的面积。

求三角形面积公式为:area=sqrt(s(s-a)(s-b)(s-c))。其中:s=(a+b+c)/2,sqrt(x)表示x的平方根。(注:sqrt是C语言的标准库函数,在使用该函数时,文件的部首需要用编译预处理命令#include将文件“math.h”包含到源文件中)。

解析:用scanf函数和printf函数实现数据的输入输出,本题注意算术运算符不可省略。 #include “math.h” #include “stdio.h” void main() {

float a,b,c,s,area;

scanf(\ /*数据输入*/ s=0.5*(a+b+c);

area=sqrt(s*(s-a)*(s-b)*(s-c)); /*求三角形面积*/ printf(\ /*数据输出*/ }

2