C语言 百分网手机站

C语言试题及答案

时间:2020-11-07 10:55:29 C语言 我要投稿

C语言试题及答案

  讷讷寡言者未必愚,喋喋利口者未必智。以下是小编为大家搜索整理C语言试题及答案,希望能给大家带来帮助!更多精彩内容请及时关注我们应届毕业生考试网!

C语言试题及答案

  一、选择题((1)-(40)每小题1分,(41)-(50)每小题2分,共60分)

  下列各题 A) 、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。

  (1) 一个完整的计算机系统包括

  A.主机、键盘与显示器

  B.计算机与外部设备

  C.硬件系统与软件系统

  D.系统软件与应用软件

  (2) 十六进制数1000转换成十进制数是

  A.4096

  B.1024

  C.2048

  D.8192

  (3) 十进制数269转换成十六进制数是

  A.10E

  B.10D

  C.10C

  D.10B

  (4) 如果用八位二进制补码表示带符号的定点整数,则能表示的十进制数的范围是

  A.-127到+127

  B.-128到+128

  C.-127到+128

  D.-128到+127

  (5) 下列设备中,既可作为输入设备又可作为输出设备的是

  A.鼠标器

  B.打印机

  C.键盘

  D.磁盘驱动器

  (6) 下列各叙述中,正确的是

  A.正数十进制原码的补码是原码本身

  B.所有的十进制小数都能准确地转换为有限位二进制小数

  C.汉字的计算机内码就是国标码

  D.存储器具有记忆能力,其中的信息任何时候都不会丢失

  (7) 在下列操作中,能导致DOS系统重新启动但不进行系统自检的是

  A.加电开机

  B.按+

  C.按++

  D.按RESET按钮

  (8) 如果给定一个带有通配符的文件名F*.?,则在下列各文件中,它能代表的文件名是

  A.FA.EXE

  B.F.C

  C.EF.C

  D.FABC.COM

  (9) DOS系统启动后,下列文件中常驻内存的是

  A.*.COM

  B.FORMAT.COM

  C.AUTOEXEC.BAT

  D.COMMAND.COM

  (10) 设A盘的目录结构为(画方框的为目录)

  如果当前盘为C盘,A盘的当前目录为\D2,则下列对A盘上文件QR.C的指定中,合法的是

  A.\D2\D4\QR.C

  B.D4\QR.C

  C.A:D4\QR.C

  D.A:D2\D4\QR.C(11) 为了要将A盘当前目录(不是根目录)中所有扩展名为.C的文件同名复制到A痰哪柯糪USER中,正确的命令是

  A.COPY A:*.C USER\*.C

  B.COPY A:*.C A:\USER

  C.COPY A:*.C A:USER\

  D.COPY A:*.C A:USER\*.C

  (12) 为了在屏幕上一次显示当前盘当前目录下的所有扩展名为.TXT的文件内容,下列命令中正确的是

  A.TYPE *.TXT

  B.TYPE *.TXT CON

  C.COPY *.TXT>CON

  D.COPY *.TXT CON

  (13) 设当前盘为A盘,为了将当前盘当前目录下的文件AB1.TXT连接在C盘根目录下的文件XYZ.TXT的后面,正确的命令是

  A.COPY C:\XYZ.TXT+AB1.TXT

  B.COPY AB1.TXT>>C:\XYZ.TXT

  C.TYPE AB1.TXT>C:\XYZ.TXT

  D.COPY AB1.TXT+C:\XYZ.TXT>C:\XYZ.TXT

  (14) 设A盘为启动盘,其目录结构为(画方框的为目录)

  其中文件AUTOEXEC.BAT的内容为

  MD \XYZ

  CD \DOS\USER

  则由A盘启动成功后,A盘的当前目录是

  A.\DOS\USER

  B.\XYZ

  C.\

  D.\DOS

  (15) 下列DOS命令中为内部命令的是

  A.COMP

  B.PATH

  C.PRINT

  D.FORMAT

  (16) 设当前盘为C盘,所用的所有软盘已格式化且容量相同,则下列DOS命令中错误的是

  A.DISKCOPY A: C:

  B.DISKCOPY A: A:

  C.COPY A:*.*

  D.COPY A:*.* C:

  (17) 下列DOS命令中,有错误的是

  A.TYPE AAB.FOR>PRN

  B.TYPE ?AB.FOR

  C.COPY *.C PRN

  D.COPY CON PRN

  (18) 设当前盘为C盘,在当前目录下有全部的DOS系统文件与批处理命令文件AB.BAT,且该批处理命令文件的内容为

  FORMAT A:/4

  MD \XYZ

  CD \XYZ

  RD \XYZ

  MD \XYZ

  如果在1.2软盘驱动器A中插入一张360K容量的软盘片,执行批自理命令文件AB.BAT后,结果A盘的目录结构是

  A.根目录

  B.根目录----子目录XYZ----子目录XYZ

  C.根目录 ─┬─ 子目录XYZ

  └─ 子目录XYZ

  D.根目录----子目录XYZ

  (19) 下列带有通配符的文件名,能代表文件ABC.FOR的是

  A.*BC.?

  B.A?.*

  C.?BC.*

  D.?.?

  (20) 设当前盘为C盘,且C盘上含有子目录\DOS,A盘为只有根目录的启动盘(根目录下只有三个DOS系统文件与扩展名为. C的文件)。下列命令组中的两个命令从效果上可以认为等价的是

  A.DEL \DOS与RD \DOS

  B.FORMAT A:与DEL A:*.*

  C.FORMAT A: /S与DEL A:*.?

  D.COPY A:F1 F2与REN A:F1 F2

  (21) 设a、b和c都是int型变量,且a=3,b=4,c=5,则下面的表达式中,值为0的表达式是

  A.’a’&&’b’

  B.a<=b

  C.a||b+c&&b-c

  D.!((a  (22) 请读程序片段:

  int i=65536; printf("%d\n",i);

  上面程序片段的输出结果是

  A.65536

  B.0

  C.有语法错误,无输出结果

  D.-1

  (23) 设ch是char型变量,其值为A,且有下面的表达式:

  ch=(ch>=’A’&&ch<=’Z’)?(ch+32):ch

  上面表达式的值是

  A.A

  B.a

  C.Z

  D.z

  (24) 若x和y都是int型变量,x=100,y=200,且有下面的程序片段:

  printf("%d",(x,y));

  上面程序片段的输出结果是

  A.200

  B.100

  C.100 200

  D.输出格式符不够,输出不确定的值

  (25) 下面各语句行中,能正确进行赋字符串操作的语句行是

  A.char st[4][5]={"ABCDE"};

  B.char s[5]={’A’,’B’,’C’,’D’,’E’};

  C.char *s; s="ABCDE";

  D.char *s; scanf("%s",s);

  (26) 若k是int型变量,且有下面的程序片段:

  k=-3

  if(k<=0) printf("####")

  else printf("&&&&");

  上面程序片段的输出结果是

  A.####

  B.&&&&

  C.####&&&&

  D.有语法错误,无输出结果

  (27) 若x是int型变量,且有下面的程序片段:

  for(x=3; x<6; x++) printf((x%2)?("**%d"):("##%d\n"),x);

  上面程序片段的输出结果是

  A.**3

  B.##3

  C.##3

  D.**3##4

  ##4 **4 **4##5 **5

  **5 ##5

  (28) 请读程序:

  #include

  f(char *s)

  { char *p=s;

  while( *p!=’\0’) p++;

  return(p-s);

  }

  main()

  { printf("%d\n",f("ABCDEF"));}

  上面程序的输出结果是

  A.3

  B.6

  C.8

  D.0

  (29) 请读程序:

  #include

  main()

  { int a; float b, c;

  scanf("-?O",&a,&b,&

  C.;

  printf("\na=%d, b=%f, c=%f\n", a, b,

  C.;

  }

  若运行时从键盘上输入9876543210(表示回车),则上面程序的输出结果是

  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

  (30) 请读程序:

  #include

  main()

  { int n[2], i, j, k;

  for(i=0;i<2;i++) n[i]=0;

  k=2

  for(i=0;i  for(j=0;j  printf("%d\n",n[k]);

  }

  上面程序的输出结果是

  A.不确定的值

  B.3

  C.2

  D.1

  (31) 请读程序片段:

  char str[]="ABCD", *p=str;

  printf("%d\n",*(p+4));

  上面程序的输出结果是

  A.68

  B.0

  C.字符"D"的地址

  D.不确定的值

  (32) 请读程序片段:

  #include

  main()

  { int a, b;

  for(a=1;b=1;a<=100;a++)

  { if(b>=20) break;

  if(b%3==1)

  {b+=3;

  continue;

  }

  b-=5;

  }

  printf("%d\n",a);

  }

  上面程序的输出结果是

  A.7

  B.8

  C.9

  D.10

  (33) 若要用下面的程序片段使指针变量p指向一个存储整型变量的动态存储单元:

  int *p;

  p=__________ malloc( sizeof(int));

  则应填入

  A.int

  B.inst *

  C.(*int)

  D.(int *)

  (34) 请读程序片段(字符串内没有空格):

  printf("%d\n",strlen("ATS\n012\1\\"));

  上面程序片段的'输出结果是

  A.11

  B.10

  C.9

  D.8

  (35) 请读程序:

  #include

  #include

  main()

  { char*s1="AbCdEf", *s2="aB";

  s1++; s2++;

  printf("%d\n",strcmp(s1,s2));

  }

  上面程序的输出结果是

  A.正数

  B.负数

  C.零

  D.不确定的值

  (36) 请读程序:

  #include

  func( int a, int

  B.

  { int c;

  c=a+b;

  return c;

  }

  main()

  { int x=6, y=7, z=8, r;

  r=func( x--,y==,x+y),z--);

  printf("%d\n",r);

  }

  上面程序的输出结果是

  A.11

  B.20

  C.21

  D.31

  (37) 请读程序:

  #include

  int a[]={2,4,6,8};

  main()

  { int i;

  int *p=a;

  for(i=0;i<4;i++) a[i]=*p++;

  printf("%d\n",a[2]);

  }

  上面程序的输出结果是

  A.6

  B.8

  C.4

  D.2

  (38) 请读程序:

  #include

  char fun(char *

  C.

  { if( *c<=’Z’ && *c>=’A’) *c-=’A’-’a’;

  return *c;

  }

  main()

  { char s[81], *p=s;

  gets(s);

  while(*p)

  {*p=fun(p); putchar(*p); p++;}

  putchar(’\n’);

  }

  若运行时从键盘上输入OPEN THE DOOR(表示回车),则上面程序的输出结果是

  A.oPEN tHE door

  B.open the door

  C.OPEN THE DOOR

  D.Open The Door

  (39) 请读程序:

  #include

  void fun( int *s)

  { static int j=0;

  do

  s[j]+=s[j+1];

  while(++j<2);

  }