您的当前位置:首页正文

C语言第三章习题带答案

2020-08-15 来源:易榕旅网
练习3-1答案

一、选择题

1.在C语言库函数中,可以输出double型变量x值的函数是(D)。A.getcharB.scanfC.putcharD.printf2.执行语句:printf(\"Theprogram\\'snameisc:\\\ools\\book.txt\");后输出是(D)。A.Theprogram'snameisc:toolsbook.txtB.Theprogram'snameisc:\oolsbook.txtC.Theprogram'snameisc:\\\oolsbook.txtD.Theprogram'snameisc:\oolook.txt

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

{printf(\"\\n*s1=%15s*\\"chinabeijing\");printf(\"\\n*s2=%-5s*\\"chi\");}

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)。#includemain()

{inta=-10,b=-3;printf(\"%d\\n\a%b);/*输出①*/printf(\"%d\\n\a/b*b);/*输出②*/printf(\"%d\\n\-a%b);/*输出③*/printf(\"%d\\n\a-=b+++1);/*输出④*/}

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

{inty=2456;

printf(\"y=%3o\\n\y);printf(\"y=%8o\\n\y);printf(\"y=%#8o\\n\y);}

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

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

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

printf(\"\\ni:dec=%d,otc=%o,hex=%x,unsigned=%u\\n\i,i,i,i);}

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

printf(\"c:dec=%d,oct=%o,hex=%x,ASCII=%c\\n\c,c,c,c);}

8.已有定义intd=-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(\"*d(1)=%d*d(2)=%3d*d(3)=%-3d*\\n\d,d,d,d);printf(\"*d(4)=%o*d(5)=%7o*d(6)=%-7o*\\n\d,d,d,d);printf(\"*d(4)=%x*d(5)=%6x*d(6)=%-6x*\\n\d,d,d,d);9.以下程序的输出结果是:

(a=374a=0374a=fca=0xfc)。#includemain(){inta=252;

printf(\"a=%oa=%#o\\n\a,a);printf(\"a=%xa=%#x\\n\a,a);}

-2-练习3-2答案

选择题

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

scanf(\"%4d-%3d-%2d-%1d\&x,&y,&z,&w);printf(\"%4d+%3d+%2d+%1d\\n\x,y,z,w);A.1234123121B.1234123121C.1234-123-12-1D.1234+123+12+12.已知:intx;floaty;,所用的scanf调用语句格式为:scanf(\"x=%d,y=%f\&x,&y);

为了将数据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.已知:intx,y;doublez;,以下语句中错误的函数调用是(D)。A.scanf(\"%d,%x,%1e\&x,&y,&z);B.scanf(\"%2d*%d%1f\&x,&y,&z);C.scanf(\"%x%*d%o\&x,&y);D.scanf(\"%x%o%6.2f\&x,&y,&z);4.已有如下定义和输入语句,若要求a1、a2、c1、c2的值分别为10、20、A和B,当从第一列开始输入数据时,正确的数据输入方式是(AC)。(注:□表示空格,表示回车)

inta1,a2;charc1,c2;

scanf(\"%d%c%d%c\&a1,&c1,&a2,&c2);A.10A□20BB.10□A□20BC.10A20BD.10A20□B

5.已有定义intx;floaty;,且执行scanf(\"%3d%f\&x,&y);语句时,输入数据12345□678,则x的值为(①B),y的值为(②B)。(注:□表示空格)①A.12345B.123C.45D.345②A.无定义B.45.000000C.678.000000D.123.0000006.阅读以下程序,当输入数据的形式为:25,13,10,正确的输出结果为(D)。main(){intx,y,z;

scanf(\"%d%d%d\&x,&y,&z);printf(\"x+y+z=%d\\n\x+y+z);}

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

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

printf(\"enterx,y:\");输入语句输出语句

-3-}

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

A.scanf(\"%d,%f\&x,&y);printf(\"\\nx+y=%4.2f\x+y);C.scanf(\"%d%f\&x,&y);printf(\"\\nx+y=%6.1f\x+y);

B.scanf(\"%d%f\&x,&y);printf(\"\\nx+y=%4.2f\x+y);D.scanf(\"%d%3.1f\&x,&y);printf(\"\\nx+y=%4.2f\x+y);

-4-

因篇幅问题不能全部显示,请点此查看更多更全内容