一、选择题
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)。#include {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)。#include 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□20B 5.已有定义intx;floaty;,且执行scanf(\"%3d%f\&x,&y);语句时,输入数据12345□678 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:2 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- 因篇幅问题不能全部显示,请点此查看更多更全内容