您好,欢迎来到意榕旅游网。
搜索
您的当前位置:首页计算机二级

计算机二级

来源:意榕旅游网
2013年计算机二级C语言模拟试题五及答案

计算机等级考试 更新人:baggvohua 更新时间:2013-3-23

2013年计算机二级、一级、三级等更多考试考前培训请进入教育联展网-中国教育培训第一门户,助您顺利通过计算机等级考试!

一、单项选择题

1.printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列,如果字符串长度大于5,则输出按方式( B )。 A) 从左起输出该字符串,右补空格 B) 按原字符长从左向右全部输出 C) 右对齐输出该字串,左补空格 D) 输出错误信息

2.已有定义int a= -2; 和输出语句 printf(“%8x”,a); 以下正确的叙述是( D )。 A) 整型变量的输出形式只有%d一种

B) %x是格式符的一种,它可以适用于任何一种类型的数据

C) %x是格式符的一种,其变量的值按十六进制输出,但%8x是错误的 D) %8x不是错误的格式符,其中数字8规定了输出字段的宽度

3.若x, y均定义成int型,z定义为double型,以下不合法的scanf函数调用语句是( D )。

A) scanf(“%d %x, %le”, &x, &y, &z); B) scanf(“%2d *%d, %lf”, &x, &y, &z);

C) scanf(“%x %*d %o”, &x, &y);

D) scanf(“%x %o%6.2f”, &x, &y, &z);(双精度型用%le,或者%lf)

4.以下程序的输出结果是( D )。 main( ) { int k=17;

printf(\"%d,%o,%x\\n\",k,k,k); }

A)17,021,0x11 B)17,17,17 B)17,0x11,021 D)17,21,11

5.下列程序的运行结果是( B )。 #include main() { int a=2,c=5;

printf(\"a=%d,b=%d\\n\ }

A) a=%2,b=%5 B) a=2,b=5 C) a=d,b=d D) a=2,c=5

6.语句printf(\"a\\bre\\'hi\\'y\\\\\\bou\\n\"); 的输出结果是( C )。(说明:'\\b'是退格符)

A) a\\bre\\'hi\\'y\\\\\\bou B) a\\bre\\'hi\\'y\\bou C) re'hi'you D) abre'hi'y\\bou

7.x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是( B )。

A) INPUT x、y、z;

B) scanf(\"%d%d%d\ C) scanf(\"%d%d%d\ D) read(\"%d%d%d\

8.若变量已正确说明为float类型,要通过语句scanf(\"%f %f %f \给a赋于10.0,b赋予22.0,c赋予33.0,不正确的输入形式是( B ): A) 10<回车>

B) 10.0,22.0,33.0<回车> 22<回车> 33<回车> C) 10.0<回车> D) 10 22<回车>

22.0 33.0<回车> 33<回车>

9.以下程序的输出结果是( A )。

main() { int n;

(n=6*4,n+6),n*2; printf(“n=%d\\n”,n); } A) 24 B) 12 C) 26 D) 20

10.以下程序的输出结果是( B )。 main() {

int x=2,y,z; x*=3+1;

printf(“%d,”,x++); x+=y=z=5; printf(“%d,”,x); x=y=z;

printf(“%d\\n”,x); } A) 8,14,1 B) 8,14,5 C) 8,13,5 D)9,14,5

11.下面程序的输出结果是( C )。

main() { int x, y, z; x=0;y=z=-1; x+=-z---y;{(-z--)-y} printf(“x=%d\\n”,x); } A) x=4 B) x=0 C) x=2 D) x=3

12.设x为int型变量,则执行语句x=10; x+=x-=x-x; 后,x的值为( B )。 A) 10 B) 20 C) 40 D) 30

13.只能向终端输出一个字符的函数是( B )。 A) printf函数 B) putchar函数 C) getchar函数 D) scanf函数

14.下列程序执行后的输出结果是(小数点后只写一位)( A )。 main()

{ double d; float f; long l; int i; i=f=1=d=20/3;

printf(\"%d %ld %f %f \\n\ }

A) 6 6 6.0 6.0 B) 6 6 6.7 6.7 C) 6 6 6.0 6.7 D) 6 6 6.7 6.0

15.在下列叙述中,错误的一条是( C )。

A) printf函数可以向终端输出若干个任意类型的数据 B) putchar函数只能向终端输出字符,而且只能是一个字符 C) getchar函数只能用来输入字符,但字符的个数不限 D) scanf函数可以用来输入任何类型的多个数据

16.以下程序的输出结果为( B )。 main() {

char c1=„a‟,c2=„b‟,c3=„c‟; printf(“a%cb%c\c%c\\n”,c1,c2,c3); }

A) abc abc abc B) aabb cc

C) a b c D) aaaa bb

17.若输入12345和abc,以下程序的输出结果是( B )。 main() { int a; char ch;

scanf(“%3d%3c”,&a,&ch); printf(“%d, %c” ,a, ch); }

A) 123, abc B) 123,4 C) 123,a D) 12345,abc

18.以下程序的输出结果是( D )。 main() {

unsigned x1; int b= -1; x1=b;

printf(“%u”,x1); } A) %u B) -1 C) %u-1

D) 65535

19.在printf函数中用来输出十六进制无符号整数的格式字符是( B )。 A) d格式符 B) x格式符 C) u格式符 D) o格式符

20.设a=12、b=12345,执行语句printf(“%4d,%4d”,a,b)的输出结果为( B )。 A) 12, 123 B) 12,12345 C) 12, 1234 D) 12, 123456

21.以下程序的输出结果是( C )。 #include #include main() {

int a=1,b=4,c=2; float x=10.5, y=4.0, z;

z=(a+b)/c+sqrt((double)y)*1.2/c+x; printf(“%f\\n”, z); }

A) 14.000000 B) 15.400000

C) 13.700000 D) 14.900000

22.以下程序的输出结果是( D )。 main( ) {

int a=2, c=5;

printf(“a=%%d, b=%%d\\n”, a, c); }

A) a=%2, b=%5 B) a=%2, c=%5 C) a=%%d, b=%%d D) a=%d, b=%d

23.请读程序: main( ) { int a; float b, c;

scanf(“%2d%3f%4f”,&a,&b,&c); printf(“\\na=%d, b=%f, c=%f\\n”, a, b, c); }

若运行时从键盘上输入98763210(表示回车),则上面程序的输出结果是( C )。 A) a=98, b=765, c=4321 B) a=10, b=432, c=8765

C) a=98, b=765.000000, c=4321.000000

D) a=98, b=765.0, c=4321.0

24.若有定义:int x, y; char a, b, c; 并有以下输入数据(此处代表回车,∪代表空格): 1∪2 A∪B∪C

则能给x赋整数1,给y赋整数2,给a赋字符A,给b赋字符B,给c赋字符C的正确程序段是( D )。

A) scanf(“x=%d, y=%d”, &x, &y); a=getchar( ); b=getchar( ); c=getchar( ); B) scanf(“%d %d”, &x, &y); a=getchar( ); b=getchar( ); c=getchar( ); C) scanf(“%d%d%c%c%c”, &x, &y, &a, &b, &c);

D) scanf(“%d%d%c%c%c%c%c%c”, &x, &y, &a, &a, &b, &b, &c, &c);

25.下列可作为C语言赋值语句的是( C )。 A) x=3, y=5; B) a=b=6 C) i--; D) y=int(x);

26.设i是int型变量,f是float型变量,用下面的语句给这两个变量输入值: scanf(“i=%d, f=%f”, &i, &f);

为了把100和765.12分别赋给i和f,则正确的输入为( B )。 A) 100<空格>765.12<回车>

B) 100, 765.12<回车> C) 100<回车>765.12<回车> D) x=100<回车>y=765.12<回车>

27.以下叙述中正确的是( D )。

A) 输入项可以是一个实型常量,例如:scanf(“%f”, 3.5);

B) 只有格式控制,没有输入项,也能正确输入数据到内存,例如:scanf(“a=%d, b=%d”);

C) 当输入一个实型数据时,格式控制部分可以规定小数点后的位数,例如:scanf(“%4.2f”, &f);

D) 当输入数据时,必须指明变量地址,例如:scanf(“%f”, &f);

28.设x和y均为int型变量,则以下语句:x+=y; y=x-y; x-=y; 的功能是( D )。 A) 把x和y按从小到大排序 B) 把x和y按从大到小排序 C) 无确定结果 D) 交换x和y中的值

二、填空题

1.下面程序的运行结果是 i:dec=-4,oct=17774,hex=ffffc,unsigned=65532 。 main() { short i; i= -4;

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

2.若想通过以下输入语句使a=5.0,b=4,c=3,则输入数据的形式应该是 5.0,4,c=3 。 int b,c; float a;

scanf(\"%f,%d,c=%d\",&a,&b,&c);

3.下列程序的输出结果是16.00,请填空。 main() { int a=9, b=2; float x= 6.6 , y=1.1,z;

z=a/2+b*x/y+1/2;(1/2=0,a/2=4) printf(\"%5.2f\\n\ }

4.在printf格式字符中,只能输出一个字符的格式字符是 %c ;用于输出字符串的格式字符是 %s ;以小数形式输出实数的格式字符是 %f ;以标准指数形式输出实数的格式字符是 %e 。

三、编程题

1. 若a=3, b=4, c=5, x=1.2, y=2.4, z= -3.6, u=51274, n=128765, c1=‟a‟, c2=‟b‟。想得到以下的输出格式和结果,请写出完整的程序(包括定义变量类型和设计输出)。 要求输出的结果如下:

a= <空格>3 <空格><空格> b= <空格> 4<空格><空格> c= <空格>5 x=1.200000, y=2.400000, z= -3.600000

x+y=<空格>3.60<空格><空格> y+z = -1.20<空格><空格>z+x= -2.40 u=<空格>51274<空格><空格>n=<空格><空格><空格>128756 c1= a <空格>or<空格>97(ASCII) c2= B <空格>or<空格>98(ASCII)

2. 输入一个华氏温度,要求输出摄氏温度。公式为C=5/9(F-32) 输出要有文字说明,取2位小数。

3. 编程序,用getchar函数读入两个字符给c1、c2,然后分别用putchar函数和printf函数输出这两个字符。

三、编程题参

1. 解: main() {

int a=3, b=4, c=5;

long int u=51274, n=128765; float x=1.2, y=2.4, z= -3.6; char c1=‟a‟, c2=‟b‟; printf(“\\n”);

printf(“a=%2d b=%2d c=%2d\\n”,a,b,c); printf(“x=%8.6f , y=%8.6f, c=%9.6f\\n”,x,y,z) ;

printf(“x+y=%5.2f y+z=%5.2f z+x=%5.2f\\n”,x+y,y+z,z+x) ; printf(“u=%6ld n=%9ld\\n”,u,n); printf(“c1=%c or %d(ASCII)\\n”,c1,c1); printf(“c2=%c or %d(ASCII)\\n”,c2,c2); } 2. 解: main() { float c, f;

printf(“请输入一个华氏温度:\\n”); scanf(“%f”,&f); c=(5.0/9.0)*(f-32);

printf(“摄氏温度为:%.2f\\n”,c) ; } 3. 解: #include main() {

char c1, c2;

printf(“请输入两个字符给c1和c2:\\n”); c1=getchar(); c2=getchar();

printf(“用putchar函数输出结果为:\\n”) ; putchar(c1); putchar(c2);

printf(“\\n用printf函数输出结果为:\\n”) ; printf(“%c, %c\\n”,c1,c2) ; }

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

Copyright © 2019- yrrf.cn 版权所有 赣ICP备2024042794号-2

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务