C语言第三章习题带答案 下载本文

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

练习3-1答案

一、选择题

1.在C语言库函数中,可以输出double型变量x值的函数是( D )。 A.getchar B.scanf C.putchar D.printf 2.执行语句:printf(\后输出是( D )。 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

3.以下程序的输出结果是( D )。(注:□表示空格) main()

{printf(\ printf(\}

A.*s1=chinabeijing□□□* B.*s1=chinabeijing□□□ *s2=**chi* *s2=chi□□* C.*s1=*□□chinabeijing* D.*s1=□□□chinabeijing* *s2=□□chi* *s2=chi□□*

4.选择程序的运行结果,①是( B )、②是( B )、③是( D )、④是( C )。 #include main()

{int a=-10, b=-3;

printf(\ /*输出①*/ printf(\ /*输出②*/ printf(\ /*输出③*/ printf(\/*输出④*/ }

① A.-2 B.-1 C.0 D.1 ② A.-10 B.-9 C.-8 D.0 ③ A.-2 B.-1 C.0 D.1 ④ A.-10 B.-9 C.-8 D.-7 5.以下C程序正确的运行结果是( D )。(注:□表示空格) main()

{int y=2456;

printf(\ printf(\ printf(\}

A.y=□□□2456 B.y=□□□4630 y=□□□□□□□□2456 y=□□□□□□□□4630 y=#########2456 y=#########4630

- 1 -

C.y=2456 D.y=4630 y=□□□□2456 y=□□□□4630 y=□□□02456 y=□□□04630 二、填空题

6.以下程序的输出结果为( i:dec=-4, otc=177774, hex=fffc, unsigned=65532 )。 main() {short i; i=-4;

printf(\}

7.以下程序的输出结果为( c:dec=120, oct=170, hex=78, ASCII=x )。 main() {char c='x';

printf(\}

8.已有定义int d=-2;,执行以下语句后的输出结果是: ( *d(1)=-2*d(2)=□-2*d(3)=-2□*

*d(4)=177776*d(5)=□177776*d(6)=177776□*

*d(4)=fffe*d(5)=□□fffe*d(6)=ffffe□□* )。(注:□表示空格) printf(\printf(\printf(\9.以下程序的输出结果是: ( a=374 a=0374 a=fc a=0xfc )。 #include main() {int a=252;

printf(\#o\\n\ printf(\}

- 2 -

练习3-2答案

选择题

1.已知:int x, y, z, w;,为使以下语句的输出为:1234+123+12+1,正确的输入形式应当为( C )。

scanf(\printf(\A.1234123121 B.1234 123 12 1 C.1234-123-12-1 D.1234+123+12+1 2.已知:int x; float y;,所用的scanf调用语句格式为: scanf(\

为了将数据10和66.6分别赋给x和y,正确的输入应当使( A )。 A.x=10, y=66.6<回车> B.10,66.6<回车> C.10<回车>66.6<回车> D.x=10<回车>y=66.6<回车> 3.已知:int x, y; double z;,以下语句中错误的函数调用是( D )。 A.scanf(\B.scanf(\C.scanf(\ D.scanf(\4.已有如下定义和输入语句,若要求a1、a2、c1、c2的值分别为10、20、A和B,

当从第一列开始输入数据时,正确的数据输入方式是( AC )。(注:□表示空格,表示回车)

int a1, a2; char c1, c2;

scanf(\A.10A□20B B.10□A□20B C.10A20B D.10A20□B

5.已有定义int x; float y;,且执行scanf(\语句时,输入数据12345

□678,则x的值为( ①B ),y的值为( ②B )。(注:□表示空格) ① A.12345 B.123 C.45 D.345 ② A.无定义 B.45.000000 C.678.000000 D.123.000000 6.阅读以下程序,当输入数据的形式为:25,13,10,正确的输出结果为( D )。 main() {int x, y, z;

scanf(\ printf(\}

A.x+y+z=48 B.x+y+z=35 C.x+z=35 D.不确定值

7.根据题目中已经给出的数据的输入和输出形式,程序中输入输出语句的正确内容是( B )。 main() {int x; float y;

printf(\ 输入语句 输出语句

- 3 -

}

输入形式:enter x, y: 23.4 输出形式:x+y=5.40

A.scanf(\ printf(\C.scanf(\ printf(\

B.scanf(\ printf(\D.scanf(\ printf(\

- 4 -