2013年计算机二级考试《C语言》课后模拟题及答案三

牛课网 考试宝典 更新时间:2024-05-20 13:33:25

计算机二级c语言 历年计算机二级c语言题库及答案 计算机二级历年真题c语言

  一 单项选择题
  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",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",a,c);
  }Www.KaO8.CC
  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"); 的输出结果是( 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",&x,&y,&z);
  C) scanf("%d%d%d",x,y,z);      
  D) read("%d%d%d",&x,&y,&z);
  8.若变量已正确说明为float类型,要通过语句scanf("%f %f %f ",&a,&b,&c); 给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);
  }
  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”,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”,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 ", i,l,f,d);
  }
  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 [page]
  15.在下列叙述中,错误的一条是( C )。
  A) printf函数可以向终端输出若干个任意类型的数据
  B) putchar函数只能向终端输出字符,而且只能是一个字符
  C) getchar函数只能用来输入字符,但字符的个数不限
  D) scanf函数可以用来输入任何类型的多个数据
  16.以下程序的输出结果为( B )。
  main()
  {
  char c1=‘a’,c2=‘b’,c3=‘c’;
  printf(“a%cb%c\tc%c”,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”, 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”, 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(“a=%d, b=%f, c=%f”, a, b, c);
  }
  若运行时从键盘上输入9876543210表示回车),则上面程序的输出结果是( 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中的值 [page]
  二 填空题
  1.下面程序的运行结果是 i:dec=-4,oct=17774,hex=ffffc,unsigned=65532  
  main()
  {
  short i;
  i= -4;
  printf(“i: dec=%d, oct=%o, hex=%x, unsigned=%u”, 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", z ); 
  }
  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(“”);
  printf(“a=%2d b=%2d c=%2d”,a,b,c);
  printf(“x=%8.6f , y=%8.6f, c=%9.6f”,x,y,z) ;
  printf(“x+y=%5.2f y+z=%5.2f z+x=%5.2f”,x+y,y+z,z+x) ;
  printf(“u=%6ld n=%9ld”,u,n);
  printf(“c1=%c or %d(ASCII)”,c1,c1);
  printf(“c2=%c or %d(ASCII)”,c2,c2);
  }
  2. 解:
  main()
  {
  float c, f;
  printf(“请输入一个华氏温度:”);
  scanf(“%f”,&f);
  c=(5.0/9.0)*(f-32);
  printf(“摄氏温度为:%.2f”,c) ;
  }
  3. 解:
  #include
  main()
  {
  char c1, c2;
  printf(“请输入两个字符给c1和c2:”);
  c1=getchar();
  c2=getchar();
  printf(“用putchar函数输出结果为:”) ;
  putchar(c1);
  putchar(c2);
  printf(“用printf函数输出结果为:”) ;
  printf(“%c, %c”,c1,c2) ;
  }

考试宝典安装说明

宝典适用于手机、电脑、平板,您可安装客户端或在浏览器使用。

电脑版

手机版

网页版

考试宝典咨询
服务热线

TEL:029-88699698