×

c语言程序设计题库及答案

C语言试题?C语言程序设计试题 求标准答案 都是多选

admin admin 发表于2022-07-05 05:53:39 浏览90 评论0

抢沙发发表评论

C语言试题


自考“C语言程序设计”模拟试题一
2008-1-3
相关自考频道点评提问自考网上培训

自考“C语言程序设计”模拟试题一
  一、填空题
  1、C语言中基本的数据类型有:______、______ 、______ .
  2、C语言中普通整型变量的类型说明符为______,在内存中占______字节,有符号普通整型的数据范围是______ .
  3、整数-35在机内的补码表示为______.
  4、执行下列语句int a=8; a+=a-=a*a; 后,a的值是______.
  5、有如下语句:char A[ ]={“I am a student”}; 该字符串的长度是______,A=______.
  6、符号“a”和‘a’的区别是______.
  7、所谓“指针”就是______.“&”运算符的作用是______.“*”运算符的作用是______.
  8、有如下输入语句:scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);为使变量a的值为1,b的值为3,c的值为2,从键盘输入数据的正确形式应是______.
  二、选择题
  1、设整型变量a为5,使b不为2的表达式是( )。
  A. b=a/2 B. b=6-(——a) C. b=a%2 D. b=a》3?2:1
  2、为了避免嵌套的条件分支语句if-else的二义性,C语言规定:C程序中的else总是与( )组成配对关系。
  A. 缩排位置相同的if B. 在其之前未配对的if
  C. 在其之前未配对的最近的if D.同一行上的if
  3、以下程序的输出结果是( )。
  int x=10,y=10;
  printf(“%d %d\n”,x——,——y);
  A. 10 10 B. 9 9 C. 9 10 D. 10 9
  4、设A为存放(短)整型的一维数组,如果A的首地址为P,那么A中第i 个元素的地址为( )。
  A.P+i*2 B. P+(i-1)*2 C. P+(i-1) D. P+i
  5、选出下列标识符中不是合法的标识符的是( )。
  A. hot_do B. cat1 C. _pri D. 2ab
  6、以下程序的输出结果是( )。
  int a=5;
  float x=3.14;
  a*=x*(‘E’ - ‘A’);
  printf(“%f\n”,(float)a);
  A. 62.000000 B. 62.800000 C. 63.000000 D. 62
  7、设有说明double(*p1)[N];其中标识符p1是( )。
  A. N个指向double型变量的指针。
  B. 指向N个double型变量的函数指针。
  C. 一个指向由N个double型元素组成的一维数组的指针。
  D.具有N个指针元素的一维指针数组,每个元素都只能指向double型量。
  8、在C程序中有如下语句:char *func(int x,int y);它是( )。
  A. 对函数func的定义。 B. 对函数func的调用。
  C.对函数func的原型说明。 D. 不合法的。
  9、以下程序的输出结果是( )。
  char str=“hello!”;
  printf(“%d\n”,strlen(str));
  A. 15 B. 14 C. 7 D. 6
  10、分析以下程序的输出结果是( )。
  main()
  {int a=5,b=-1,c;
  c=adds(a,b);
  printf(“%d”,c);
  c=adds(a,b);
  printf(“%d\n”,c); }
  int adds(int x,int y)
  {static int m=0,n=3;
  n*=++m;
  m=n%x+y++;
  return(m); }
  A. 2,3 B. 2,2 C. 3,2 D. 2,4
11、下列描述中不正确的是( )。
  A. 字符型数组中可能存放字符串。
  B. 可以对字符型数组进行整体输入、输出。
  C. 可以对整型数组进行整体输入、输出。
  D. 不能在赋值语句中通过赋值运算符“=”对字符型数组进行整体赋值。
  12、以下程序的输出结果是( )。
  #define f(x) x*x
  main()
  {int a=6,b=2,c;
  c=f(a)/f(b);
  printf(“%d\n”,c);
  }
  A. 9 B. 6 C. 36 D. 18
  13、设有如下定义: int x=10,y=3,z;
  则语句printf(“%d\n”,z=(x%y,x/y)); 的输出结果是( )。
  A. 1 B. 0 C. 4 D. 3
  14、定义如下变量和数组:int i;int x={1,2,3,4,5,6,7,8,9};
  则语句for(i=0;i《3;i++) printf(“%d ”,x[i][2-i]); 的输出结果是( )。
  A. 1 5 9 B. 1 4 7 C. 3 5 7 D. 3 6 9
  15、以下对二维数组a进行正确初始化的是( )
  A. int a={{1,2},{3,4},{5,6}}; B. int a[ ]={1,2,3,4,5,6};
  C. int a[ ]={1,2,3,4,5,6}; D. int a[ ]={{1,2},{3,4}};
  16、两次运行下面的程序,如果从键盘上分别输入6和3,则输出结果是( )。
  int x;
  scanf(“%d”,&x);
  if(x++》5) printf(“%d”,x);
  else printf(“%d\n”,x - -);
  A. 7和5 B. 6和3 C. 7和4 D. 6和4
  17、设有如下定义: char *aa={“abcd”,“ABCD”}; 则以下说法中正确的是( )。
  A)aa数组成元素的值分别是“abcd”和ABCD“
  B)aa是指针变量,它指向含有两个数组元素的字符型一维数组
  C)aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址
  D)aa数组的两个元素中各自存放了字符‘a’和‘A’的地址
  18、下列程序的输出结果是( )。
  char *p1=“abcd”, *p2=“ABCD”, str=“xyz”;
  strcpy(str+2,strcat(p1+2,p2+1));
  printf(“%s”,str);
  A. xyabcAB B. abcABz C. ABabcz D. xycdBCD
  19、下列程序的输出结果是( )。
  int a={2,4,6,8,10},*P,* *k;
  p=a; k=&p;
  printf(“%d”,*(p++));
  printf(“%d\n”,* *k);
  A. 4 4 B. 2 2 C. 2 4 D. 4 6
  20、不能把字符串:Hello!赋给数组b的语句是( )。
  A. char b={‘H’,‘e’,‘l’,‘l’,‘o’,‘!’};
  B. char b; b=“Hello!”;
  C. char b; strcpy(b,“Hello!”);
  D. char b=“Hello!”;
 三、读程序题
  1、float f=3.1415927;
  printf(“%f,%5.4f,%3.3f”,f,f,f);
  则程序的输出结果是 .
  2、int x=6, y=7;
  printf(“%d,”,x++);
  printf(“%d\n”,++y);
  程序的输出结果是 .
  3、a=3;
  a+=(a《1)?a:1;
  printf(“%d”,a);
  结果是.
  4、for (a=1,b=1;a《=100;a++)
  { if(b》=20) break;
  if(b%3==1)
  {b+=3; continue;}
  b-=5; }
  程序的输出结果a的值为 .
  5、int y=1, x, *p, a[ ]={2,4,6,8,10};
  p=&a;
  for(x=0;x《3;x++)
  y + = * (p + x);
  printf(“%d\n”,y);
  程序的输出结果y的值是 .
  四、程序填空题
  1、从键盘上输入10个数,求其平均值。
  main()
  {int i;
  float f,sum;
  for(i=1,sum=0.0;i《11;i++)
  { ;
  ; }
  printf(“average=%f\n”,sum/10); }
  2、以下程序是建立一个名为myfile的文件,并把从键盘输入的字符存入该文件,当键盘上输入结束时关闭该文件。
  #include
  main()
  { FILE *fp;
  char c;
  fp= ;
  do{
  c=getchar();
  fputs(c,fp);
  }while(c!=EOF);
  }
  3、以下程序的功能是:从键盘上输入若干个学生的成绩, 统计并输出最高成绩和最低成绩,当输入负数时结束输入。请填空。
  main()
  { float x,amax,amin;
  scanf(“%f”,&x);
  amax=x; amin=x;
  while( )
  { if(x》amax) amax=x;
  if( ) amin=x;
  scanf(“%f”,&x); }
  printf(“\namax=%f\namin=%f\n”,amax,amin); }
  五、编程题
  1. 三个整数a、b、c,由键盘输入,输出其中最大的一个数。
  2.输出1900~2000年中所有的闰年。每输出3个年号换一行。(判断闰年的条件为下面二者之一:能被4整除,但不能被100整除。或者能被400整除。)
  3.请编一个函数int fun(int a),它的功能是:判断a是否是素数,若a是素数,返回1;若不是素数,返回0.A的值由主函数从键盘读入。
  4.有N个学生,每个学生的信息包括学号、性别、姓名、四门课的成绩,从键盘上输入N个学生的信息,要求输出总平均成绩最高的学生信息,包括学号、性别、姓名和平均成绩。

参考答案
  一、填空题
  (1)整型、实型、字符型。
  (2)int,2,-32768~ +32767
  (3)1111111111011101
  (4)- 112
  (5)14,‘m’
  (6)“a”是字符串常量,而‘a’是字符常量。
  (7)存放地址值的变量或常量,或者答地址。
  (8)取运算对象的地址。 取指针变量所指的内容。a=1,b=3,c=2
  二、选择题
  1、C 2、C 3、D 4、B 5、D
  6、A 7、C 8、C 9、D 10、A
  11、C 12、C 13、D 14、C 15、B
  16、C 17、D 18、D 19、C 20、B
  三、阅读程序题
  (1) 3.141593,3.1416,3.142
  (2) 6,8
  (3) 4
  (4) 22
  (5) 19
  四、程序填空题
  1、scanf(“%f”,&f); sum+=f;
  2、fopen(“myfile”,w) fclose(fp);
  3、x》=0.0 x《=amin
  五、编程题
  1、main()
  {int a,b,c;
  printf(“请输入三个整数:”);
  scanf(“%d,%d,%d”,&a,&b,&c);
  if(a

  if(b

  else printf(“max=%d\n”,b);
  else if(a

  else printf(“max=%d\n”,a);}
  2、#include“stdio.h”
  main()
  {int I,n;
  for(n=0,I=1900;I《=2000;I++)
  {if(I%4==0&&I0!=0||I@0==0)
  {printf(“%d ”,I);n++;}
  if(n%3==0)
  printf(“\n”);} } }
 3、#include“stdio.h”
  int fun(int a)
  {int I;
  if(a==2) return 1; I=2;
  while((a%I)!=0&&I《=sqrt((float)a))
  I++;
  if(a%I==0)
  {printf(“%d is not a prime!”,a);
  return 0;}
  printf(“%d is a prime!”,a);
  return 1; }
  main()
  {int x;
  printf(“\n please enter a number:”);
  scanf(“%d”,&x);
  printf(“%d\n”,fun(x)); }
  4、#include“stdio.h”
  #define N 3
  struct student
  {long stu_num; char sex;
  char name; int score;
  float average; };
  main()
  {int I,j,index; float sum,max;
  struct student stuarr[N];
  for(I=0;I

  {printf(“please input %d student information:\n”,I+1);
  scanf(“%ld,%c,%s”,&stuarr[I].stu_num,&stuarr[I].sex,stuarr[I].name);
  for(j=0;j《4;j++)
  scanf(“%d”,&stuarr[I].score[j]); }
  for(I=0;I

  {sum=0.0;
  for(j=0;j《4;j++)
  sum+=stuarr[I].score[j];
  stuarr[I].average=sum/4.0;}
  max=stuarr.average;
  index=0;
  for(I=1;I

  if(stuarr[I].average》max)
  {max=stuarr[I].average;
  index=I; }
  printf(“总平均成绩最高的学生信息是学号=%ld,性别=%c,姓名=%s,平均成绩=%4.1f\n”,stuarr[index].stu_num,stuarr[index].sex,stuarr[index].name,stuarr[index].average);
  }

C语言程序设计试题 求标准答案 都是多选


1、答案:A
(单引号括起来的都是字符,而且一对单引号最多对应一个字符,\反斜杠是转义字符的开始,\72是ASCII码对应的字母H。也就是把H这个字母存到了变量char a中。就一个字符H。)
2、ACDE
解析:
int a=3,b=4,c=5;,
A、a》b
B、a<=b
C、(a||b)>c
D、a<=(b||c)
E、!((a<b)&&!c||b)
优先级由大到小:() ! && ||
A选项,3》4错误,逻辑值0。
B选项,3《=4正确,逻辑值1。
C选项,(3||4)》5,(3||4)“或“逻辑运算符两边只要有一个非0的整个值就是1,1》5错,逻辑值0。
D选项,3《=(4||5)错误,逻辑值0。
E选项,!((3《4)&&!5||4),先(3《4)逻辑值1,!5逻辑值0,1&&0是0,0||4是1,!1是0,所以逻辑值0。
3、AC。
解析:A可以,B答案b不能被赋值(自左向右,计算||左侧就已经是1了右边就不用再计算了整个表达式无论右边如何整个逻辑值必定是1,计算机也就不会计算右边了)C可以(因为&&两边都必须计算才能得出最后的逻辑值答案),D不可以a不能被赋值(&&左边就一个a,构不成赋值,可能存放一个随机值,右边可以被赋值)。
4、ABCD。
外部函数几乎可以被所有函数调用。只要开头#include” “引入。

求:C语言程序设计试卷及答案一份


一、选择题(1~40题每题1分,41~50题每题2分,共60分)下列各题A、B、C、D四个选项中,只有一个选项是正确的。请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。

1.微型计算机的运算器、控制器及内存储器组合在一起,称之为()(本题分值:1分)
【正确答案】D
A.ALU
B.CPU
C.MPU
D.主机
2.下列存储器中,存取速度最快的是()(本题分值:1分)
【正确答案】D
A.软盘
B.硬盘
C.光盘
D.内存
3.系统软件中最重要的是()(本题分值:1分)
【正确答案】A
A.操作系统
B.语言处理程序
C.工具软件
D.数据库管理系统
4、CPU处理的数据基本单位为字,一个字的字长()(本题分值:1分)
【正确答案】D
A.为8个二进制位
B.为16个二进制位
C.为32个二进制位
D.与CPU芯片的型号有关
5.打印当前屏幕内容应使用的控制键是()(本题分值:1分)
【正确答案】D
A.Scroll-Lock
B.Num-Lock
C.PgDn
D.PrtSc(Print Screen)
6.能将高级语言源程序转换成目标程序的是()(本题分值:1分)
【正确答案】C
A.调试程序
B.解释程序
C.编译程序
D.编辑程序
7.二进制数1110111.11转换成十进制数是()(本题分值:1分)
【正确答案】B
A.119.375
B.119.75
C.119.125
D.119.3
8.十六进制数FF.1转换成十进制数是()(本题分值:1分)
【正确答案】A
A.255.0625
B.255.125
C.127.0625
D.127.125
9.中国国家计算机网络设施是()(本题分值:1分)
【正确答案】A
A.NCFC
B.CERNET
C.ISDN
D.Internet
10.控制键^C的功能为()(本题分值:1分)
【正确答案】A
A.终止当前操作
B.系统复位
C.暂停标准输出设备的输出
D.结束命令行
11.COMMAND.COM为命令处理程序,DOS系统启动后,它()(本题分值:1分)
【正确答案】B
A.驻留在外存,需要时装入内存
B.常驻内存,包含所有内部命令
C.不能处理外部命令
D.不能处理后缀为.EXE的可执行文件
12.为了将所有扩展名为.PAS的文件改成扩展名为.P,应使用命令()(本题分值:1分)
【正确答案】C
A.REN *.PAS .?AS
B.REN PAS P
C.REN *.PAS *.P
D.REN *.PAS *.P??
13.设当前盘中文件XY.C的路径为\A\B\XU,当前目录为\A\B。为了查看文件XY.C的内容,应使用命令()(本题分值:1分)
【正确答案】A
A.TYPE XU\XY.C
B.TYPE \XU\XY.C
C.DIR XU\XY.C
D.DIR \A\B\XU\XY.C
14.要将提示符改成当前盘当前目录后加一个大于号“>”,应使用命令()(本题分值:1分)
【正确答案】B
A.PROMPT
B.PROMPT $ p $ g
C.PROMPT $ $
D.PROMPT C\>
15.在多媒体计算机系统中,CD-ROM属于()(本题分值:1分)
【正确答案】D
A.感觉媒体
B.表示媒体
C.表现媒体
D.存储媒体
16.设当前盘为C盘,将A盘根目录下的文件目录信息存放到当前盘当前目录下的文件AB中,应使用命令()(本题分值:1分)
【正确答案】C
A.TYPE A:\>AB
B.DIR >AB
C.DIR A:\>AB
D.DIR \>AB
17.在位运算中,操作数每右移一位,其结果相当于()(本题分值:1分)
【正确答案】B
A.操作数乘以2
B.操作数除以2
C.操作数除以16
D.操作数乘以16
18.在当前盘当前目录下有一个文件A.BAT,其内容为
CD \
MD \XYZ\AB\B\C
CD XYZ\AB\B
在正确执行上述文件后,接着执行下列命令时,不会发生错误的是()(本题分值:1分)
【正确答案】C
A.MD C
B.RD \XYZ
C.RD C
D.RD B
19.下列命令组中两个DOS命令互相等价的是()(本题分值:1分)
【正确答案】D
A.TYPE AB.TXT与DIR AB.TXT
B.DISKCOMP A:B:与COMP A:.* B:*.
C.TYPE AB.TXT>>XY.TXT与COPY AB.TXT XY.TXT
D.TYPE AB.TXT>XY.TXT与COPY AB.TXT XY.TXT
20.设A盘为启动盘,其目录结构为
根目录
DOS子目录 COMAND.COM
USER子目录 AUTOEXEC.BAT
其文件AUTOEXEC.BAT的内容如下:
MD \XYZ
CD \DOS\USER
则由A盘启动成功后,A盘的当前目录是()(本题分值:2分)
【正确答案】C
A.\DOS\USER
B.\XYZ
C.根目录
D.\DOS
21.C语言提供的合法关键字是()(本题分值:1分)
【正确答案】C
A.switch
B.cher
C.case
D.default
22.在C语言中,合法的字符常量是()(本题分值:1分)
【正确答案】B
A.′\084′
B.′\x43′
C.′ab′
D.′\0′
23.若已定义x和y为double类型,则表达式: x=1,y=x+3/2的值是()(本题分值:1分)
【正确答案】C
A.1
B.2
C.2.0
D.2.5
24.合法的数组定义是()(本题分值:1分)
【正确答案】D
A.int a=〃string〃;
B.int a={0,1,2,3,4,5};
C.char a=〃string〃;
D.char a={0,1,2,3,4,5};
25.设a为整型变量,不能正确表达数学关系10<a<15的C语言表达式是()(本题分值:1分)
【正确答案】A
A.10<a<15
B.a==11||a==12||a==13||a==14
C.a>10&&a<15
D.!(a<=10)&&!(a>=15)

26.若t为double类型,表达式t=1,t+5,t++的值是()(本题分值:1分)
【正确答案】C
A.1
B.6.0
C.2.0
D.1.0
27.若有定义和语句:
char s;s=〃abcd〃;printf(〃%s\n〃,s);
则结果是(以下μ代表空格)()(本题分值:1分)
【正确答案】D
A.输出abcd
B.输出a
C.输出abcdμμμμμ
D.编译不通过
28.若有定义和语句:
int **pp,*p,a=10,b=20;
pp=&p;p=&a;p=&b;printf(〃%d,%d\n〃,*p,**pp);
则输出结果是()(本题分值:1分)
【正确答案】D
A.10,10
B.10,20
C.20,10
D.20,20
29.若有以下定义和语句:
int u=010,v=0x10,w=10;
printf(〃%d,%d,%d\n〃,u,v,w);
则输出结果是()(本题分值:1分)
【正确答案】A
A.8,16,10
B.10,10,10
C.8,8,10
D.8,10,10
30.若有以下定义和语句:
char c1=′b′,c2=′e′;
printf(〃%d,%c\n〃,c2-c1,c2-′a′+′A′);
则输出结果是()(本题分值:1分)
【正确答案】B
A.2,M
B.3,E
C.2,E
D.输出项与对应的格式控制不一致,输出结果不确定
31.若有定义:int a;,()不能表示数组元素a。(本题分值:1分)
【正确答案】D
A.*(a+1)
B.*(&a)
C.(*(a+1))
D.*(a+5)

32.若i、j已定义为int型,则以下程序段中内循环体的总的执行次数是()(本题分值:1分)
for(i=5;i>0;i--)
for(j=0;j<4;j++){…}
【正确答案】A
A.20
B.24
C.25
D.30
33.若有以下定义和语句:
char *s1=〃12345〃,*s2=〃1234〃;
printf(〃%d\n〃,strlen(strcpy(s1,s2)));
则输出结果是()(本题分值:1分)
【正确答案】A
A.4
B.5
C.9
D.10
34.若有以下定义和语句:
int a={1,2,3,4,5,6,7,8,9,10},*p=a;
则不能表示a数组元素的表达式是()(本题分值:1分)
【正确答案】B
A.*p
B.a
C.*a
D.a[p-a]
35.下面程序的输出结果是()(本题分值:2分)
【正确答案】C
A.k=3 a=2 b=3
B.k=3 a=3 b=2
C.k=2 a=3 b=2
D.k=2 a=2 b=3
36.下面程序的输出结果是()(本题分值:1分)
main()
{unsigned a=32768;
printf(〃a=%d\n〃,a);}
【正确答案】C
A.a=32768
B.a=32767
C.a=-32768
D.a=-1
37.执行下面语句后的输出结果为()(本题分值:1分)
int i=-1;
if(i<=0) printf(〃****\n〃);
else printf(〃%%%%\n〃)
【正确答案】D
A.****
B.%%%%
C.%%%%c
D.有语法错误,不能正确执行
38.对于条件表达式(M)?(a++):(a--),其中的表达式M等价于()(本题分值:1分)
【正确答案】C
A.M==0
B.M==1
C.M!=0
D.M!=1
39.下述程序段的输出结果是()(本题分值:1分)
int x=10;
int7nbspy=x++;
printf(〃%d,%d〃,(x++,y),y++);
【正确答案】A
A.11,10
B.11,11
C.10,10
D.10,11
40.若有以下的定义:
int a={1,2,3,4,5,6,7,8,9,10},*p=a
则值为3的表达式是()(本题分值:1分)
【正确答案】A
A.p+=2,*(p++)
B.p+=2,*++p
C.p+=3,*p++
D.p+=2,++*p
41.假定所有变量均已正确说明,下列是程序段运行后x的值是()(本题分值:2分)
a=b=c=0;x=35;
if(!a) x--;
else if(b);
if(c) x=3;
else x=4;
【正确答案】B
A.34
B.4
C.35
D.3
42.在以下一组运算中,优先级最高的运算符是()(本题分值:2分)
【正确答案】C
A.<=
B.=
C.%
D.&&
43.若有以下定义和语句:
int w,(*pw);pw=w;
则对w数组元素的非法引用是()(本题分值:2分)
【正确答案】A
A.*(w+2)
B.*(pw+1)
C.pw
D.*(pw+2)
44.若有以下程序片段: char str[ ]=〃ab\n\012\\\\〃; printf(〃%d〃,strlen(str));
上面程序片段的输出结果是()(本题分值:2分)
【正确答案】C
A.3
B.4
C.6
D.12
45.函数调用:strcat(strcpy(str1,str2),str3)的功能是()(本题分值:2分)
【正确答案】C
A.将串str1复制到串str2中后再连接到串str3之后
B.将串str1连接到串str2之后再复制到串str3之后
C.将串str2复制到串str1中后再将串str3连接到串str1之后
D.将串str2连接到串str1之后再将串str1复制到串str3中
46.以下对C语言函数的有关描述中,正确的是()(本题分值:2分)
【正确答案】A
A.在C中,调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参
B.C函数既可以嵌套定义又可以递归调用
C.函数必须有返回值,否则不能使用函数
D.C程序中有调用关系的所有函数必须放在同一个源程序文件中
47.以下叙述中不正确的是()(本题分值:2分)
【正确答案】C
A.在C中,函数中的自动变量可以赋初值,每调用一次,赋一次初值
B.在C中,在调用函数时,实参和对应形参在类型上只需赋值兼容
C.在C中,外部变量的隐含类别是自动存储类别
D.在C中,函数形参可以说明为register变量

48.设有以下定义或语句,则输出的结果是(用small模式编译,指针变量占2个字节)()(本题分值:2分)
struct date
{long *cat;
struct date *next;
double dog;
}too;
printf(〃%d〃,sizeof(too));
【正确答案】D
A.20
B.16
C.14
D.12
49.设有定义:struct sk
{int a;float b;}data,*p;
若有p=&data;,则对data中的a域的正确引用是()(本题分值:2分)
【正确答案】B
A.(*p).data.a
B.(*p).a
C.p->data.a
D.p.data.a
50.以下对枚举类型名的定义中正确的是()(本题分值:2分)
【正确答案】B
A.enum a={one,two,three};
B.enum a{one=9,two=-1,three};
C.enum a={〃one〃,〃two〃,〃three〃};
D.enum a{〃one〃,〃two〃,〃three〃};
二、填空题(每空2分,共40分)请将答案分别写在答题卡中序号【1】至【20】的横线上,答在试卷上不得分。
1、与十进制数101等值的二进制数为。(本题分值:2分)
【正确答案】
【1】1100101
2、DOS命令分为内部命令与外部命令,XCOPY命令属于命令。(本题分值:2分)
【正确答案】
【2】外部
3、设当前盘为A盘,当前系统提示符为“》”,在不改变当前盘的情况下,显示C盘的当前目录路径,应使用命令。 (本题分值:2分)
【正确答案】
【3】CD C:
4、自动批处理文件名必须是。(本题分值:2分)
【正确答案】
【4】AUTOEXEC.BAT

5、设在当前盘当前目录下有两个文件W.TXT与P.TXT,现要将文件P.TXT连接到文件W.TXT的后面,若使用COPY命令,则完整的命令为。(本题分值:2分)
【正确答案】
【5】COPY W.TXT+P.TXT W.TXT
6、表示条件10<x<100或x<0的C语言表达式是。(本题分值:2分)
【正确答案】
【6】(x>10&& x<100)||x<0
或(10<x&&x<100)||x<0
或x<0 ||(x>10&&x<100)
或0>x ||(10<x&&x<100)
7、以下程序中,主函数调用了LineMax函数,实现在N行M列的二维数组中,找出每一行上的最笾怠G胩羁铡?br》 #define N 3
#define M 4
void LineMax(int x[N][M])
{ int i,j,p;
for(i=0;i<N;i++)
{p=0;
for(j=1;j<M;j++)
if(x[i][p]<x[i][j]) ;
printf(〃The max value in line is %d\n〃,);
}
}
main()
{ int x[N][M]={1,5,7,4,2,6,4,3,8,2,3,1};
;
}
(本题分值:6分)
【正确答案】
【7】p=j
【8】x[i][p]
【9】LineMax(x)
8、以下程序的功能是:从键盘上输入若干个学生的成绩,统计计算出平均成绩,并输出低于平均分的学生成绩,用输入负数结束输入。请填空。
main()
{float x,sum=0.0,ave,a;
int n=0,i;
printf(〃Enter mark:\n〃);scanf(〃%f〃,&a);
while(a>= 0.0 && n<1000)
{sum+=;x[n]=;
n++; scanf(〃%f〃,&a);
}
ave= ;
printf(〃Output:\n〃);
printf(〃ave=%f\n〃,ave);
for(i=0;i<n;i++)
if() printf(〃%f\n〃,x[i]);
}
(本题分值:8分)
【正确答案】
【10】a
【11】a
【12】sum/n或sum/(float)n或sum/(double)n
【13】x[i]<ave或!(x[i]>=ave)或ave>x[i]
9、执行以下程序,输入-10的结果是,输入5的结果是,输入10的结果是,输入30的结果是。
(本题分值:8分)
【正确答案】
【14】0
【15】5
【16】10
【17】5
10、以下程序的功能是。
main()
{int num={10,1,-20,-203,-21,2,-2,-2,11,-21};
int sum=0,i;
for(i=0;i<10;i++)
if(num[i]>0)
sum=num[i]+sum;
printf(〃sum=%6d〃,sum);
}
(本题分值:2分)
【正确答案】
【18】计算数组num中大于零的数据之和
11、以下程序可以把从键盘上输入十进制数(long型)以二到十六进制数的形式输出,请填空。
#include
main()
{char
b={′0′,′1′,′2′,′3′,′4′,′5′,′6′,′7′,′8′,′9′,′A′,′B′,′C′,′D′,′E′,′F′};
int c,d,i=0,base;
long n;
printf(〃Enter a number:\n〃); scanf(〃%1d〃,&n);
printf(〃Enter new base:\n〃); scanf(〃%1d〃,&base);
do
{c[i]=;
i++;
n=n/base;
}while(n!=0);
printf(〃The result is:\n〃);
for(--i;i>=0;--i)
{?d=c[i];
printf(〃%c〃,b);
}
}
(本题分值:4分)
【正确答案】
【19】n%base
【20】 [d]
-c语言程序设计题库及答案