全国计算机二级考试试题题库(附答案) 下列各题 A) 、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项在答题 卡相应位置上涂黑,答在试卷上不得分。 (1) 应用软件是指 A) 所有能够使用的软件 B) 能被各应用单位共同使用的某种软件 C) 所有微机上都应使用的基本软件 D) 专门为某一应用目的而编制的软件 (2) 下列述叙中错误的是 A) 计算机要经常使用不要长期闲置不用 B) 为了延长计算机的寿命,应避免频繁开关计算机 C) 在计算机附近应避免磁场干扰 D) 计算机用几小时后,应关机一会儿再用 (3) 下列字符中,ASCII码值最小的是 A) A B) a C) Z D) x (4) 用晶体管作为电子器件制成的计算机属于 A) 第一代 B) 第二代 C) 第三代 D) 第四代 (5) 下列各不同进制的四个无符号数中,最小的数是 A) ()2 B) (37)8 C) (75)10 D) (2A)16 (6) 二进制数转换成十六进制数是 A) B) C) D) (7) 下列各无符号十进制数中,能用八位二进制表示的是 A) 296 B) 333 C) 256 D) 199 (8) 计算机的软件系统可分类为 A) 程序与数据 B) 系统软件与应用软件 D) 操作系统与语言处理程序 D) 程序、数据与文档 (9) 486机中的CPU同时能处理的二进制位数为 A) 8 B) 16 C) 32 D) 64 (10) 在使用计算机的过程中,需要重新启动DOS,则要 A) 按Ctrl+Break键 B) 按^C键 C) 按Ctrl+Alt+Del键 D) 按^H键 (11) 现要从软盘启动DOS(软盘中已存有DOS系统),设有如下一些操作:①打开计算机 电源;②将该软盘插入A驱动器;③关好A驱动器门。则冷启动的操作顺序应为 A) ①→②→③ B) ③→②→① C) ②→①→③ D) ②→③→① (12) 设当前盘中某一文件路径为\A\C\B\,当前目录为\A。下列命令中错误的是 A) CD.. B) RD \A\C\B C) TYPE \A\C\B\ D) TYPE C\B\ (13) 设当前盘中的根目录下有一子目录AB,在子目录AB下有一文件。现要查看文件 的内容,应使用命令 A) TYPE \AB B) TYPE \AB\ C) TYPE \ D) DIR \AB\ (14) 自动批处理文件必须放在 A) C盘根目录中 B) A盘根目录中 C) 启动盘的任一个目录中 D) 启动盘的根目录中 (15) 设当前盘当前目录为C:\USER\XY\P,且当前盘当前目录为空,则下列命令中能正 确执行的是 A) RD C:\USER\XY\P B) RD USER\XY\P C) MD \USER\XY\P\USER D) MD \USER\XY\P\X\Y (16) 下列DOS命令中,合法的是 A) DISKCOMP B) TYPE >> C) COMP A: B: D) COMP A: A: (17) 设当前盘为C盘,所用的所有软盘已格式化,且容量相同,则下列DOS命令中错 误的是 A) DISKCOPY A: A: B) COPY A:*.* C) COPY *.* D) COPY A:*.* C: (18) 下列DOS命令中错误的是 A) TYPE >PRN B) TYPE PRN C) COPY *.TXT PRN D) COPY CON PRN (19) 下列四组DOS命令中,互相等价的一组是 A) COPY A:*.* B:与DISKCOPY A: B: B) COPY +与TYPE >> C) COPY + 与COPY + D) TYPE *.FOR>CON与COPY *.FOR CON (20) 设C盘目录结构如下: 且C盘根目录下文件的内容为 CD FORTRAN CD \TC 如果在A驱动器中插入一张根目录中只有扩展名为.C的若干文件(即A盘中无DOS系统 文件)的软盘片,则由C盘启动DOS系统后,第一次键入下列命令中,正确的是 A) COPY A:\*.C B) COPY A:\*.C TC C) COPY A:\*.C FORTRAN D) CD USER (21) C语言提供的合法的数据类型关键字是 A) Double B) short C) integer D) Char (22) 在C语言中,合法的长整型常数是 A) 0L B) 4962710 C) D) (23) 表达式:10!=9的值是 A) true B) 非零值 C) 0 D) 1 (24) 合法的C语言中,合法的长整型常数是 A) '\t' B) "A" C) 65 D) A (25) 若有说明和语句: int a=5; a++; 此处表达式a++的值是 A) 7 B) 6 C) 5 D) 4 (26) 在下列选项中,不正确的赋值语句是 A) ++t; B) n1=(n2=(n3=0)); C) k=i==j; D) a=b+c=1; (27) 若有说明:int i,j=7, *p=&i;,则与i=j;等价的语句是 A) I= *P; B) *P=*&J; C) i=&j; D) i=* *p; (28) 不能把字符串:Hello!赋给数组b的语句是 A) char b[10]={'H','e','l','l','o','!'}; B) char b[10];b="Hello!"; C) char b[10];strcpy(b,"Hello!"); D) char b[10]="Hello!"; (29) 若有以下说明: int a[12]={1,2,3,4,5,6,7,8,9,10,11,12}; char c='a',d,g; 则数值为4的表达式是 A)a[g-c] B)a[4] C)a['d'-'c'] D)a['d'-c] (30) 若有以下说明: int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; 则数值为6的表达式是 A) *p+6 B) *(p+6) C) *p+=5 D) p+5 (31) 若有以下说明: int w[3][4]o={{0,1},{2,4},{5,8}}; int(*p)[4]=w; 则数值为4的表达式是 A) *w[1]+1 B) p++,*(p+1) C) w[2][2] D) p[1][1] (32) 若程序中有下面的说明和定义 struct abc {int x;char y;} struct abc s1,s2; 则会发生的情况是 A) 编译进错 B) 程序将顺利编译`连接`执行 C) 能顺利通过编译`连接`但不能执行 D) 能顺利通过编译`但连接出错 (33) 能正确表示a≥10或a≤0的关系表达式是 A)a>=10 or a<=0 B)a>=10│a<=0 C)a>=10││a<=0 D)a>=10 ││a<=0 (34) 下面程序的输出是 main() { int x=3,y=6,a=0; while(x++!=(y+=o1)) { a+o=1; if(y #include main() { char ss[10]="12345"; strcat(ss,"6789"); gets(ss);printf("%s\n",ss); } A) ABC B) ABC9 C) 123456ABC D) ABC456789 (35) 下面程序的输出是 main() { char *a=""; int v1=0,v2=0,v3=0,v4=0,k; for(k=0;s[k];k++) switch(s[k]) { default:v4++; case '1': v1++; case '3': v3++; case '2': v2++; } printf("v1=%d,v2=%d,v3=%d,v4=%d\n",v1,v2,v3,v4); } A) v1=4,v2=2,v3=1,v4=1 B) v1=4,v2=9,v3=3,v4=1 C) v1=5,v2=8,v3=6,v4=1 D) v1=8,v2=8,v3=8,v4=8 (36) 下面程序的输出是 main() {int k=11;printf("k=%d,k=%o,k=%x\n",k,k,k);} A)k=11,k=12,k=11 B)k=11,k=13,k=13 C)k=11,k=013,k=0xb D)k=11,k=13,k=b (37) 若有以下程序段,w和k都是整型变量: ┆ w=k; LB: if(w==0) go to LE; w--; printf("*"); goto LB; LE: ┆ 则不能与上面程序段等价的循环语句是 A)for(w=k;w!=0;w--) printf("*"); B)for(w=k;w;--w)printf("*"); C)w=k; D)w=k; while(w--!=0)printf("*");w++; do{ w--;printf("*");}while(w!=0); (38) 若有说明,double *p,a;则能通过scanf语句正确给输入项读入数据的程序段是 A)*p=&a; scanf("%lf",p); B)p=(double *)malloc(8);scanf("%f",p); C) p=&a;scanf("%lf",a); D)p=&a; scanf("%le",p); (39) 当执行下面程序且输入:ABC时,输出的结果是 #include #include main() { char ss[10]="12345"; gets(ss);printf("%s\n",ss); } A) ABC B) ABC9 C) 123456ABC D) ABC456789 (40) 若有以下的说明和语句: main() {int t[3][2], *pt[3],k; fpr(k=o; k<3;k++)pt[k]=t[k]; } 则以一选项中能正确表示t数组元素地址的表达式是 A) &t[3][2] B) *pt[0] C) *(pt+1) D) &pt[2] (41) 下面程序输出数组中的最大值,由s指针指向该元素. main() { int a[10]={6,7,2,9,1,10,5,8,4,3,},*p,*s; flr(p=a, s=a; p-a<10; p++) if(---?---)s=p; printf("The max:%d",*s): } 则在if语句中的判断表达式应该是 A) p>s B) *p>*s C) a[p]>a[s] D) p-a>p-s (42) 下面程序的输出是 #include main() { char*a="abcdefgh"; fun(a);puts(a); } fun (char * s) { int x=0,y;char c; for(y=strlen(s)-1;x A)abcdefgh B)hgfdecba C)dcbahgfe D)hgfedcba (43) 若有以下函数调用语句: fun(a+b,(x,y),fun(n+k,d,(a,b)));在此函数调用语句 中实参的个数是 A)3 B)4 C)5 D)6 (44) 下面程序的输出是 main() { int t=1; fun(fun(t));} fun(int h) { static int a[3]={1,2,3}; int k; for(k=0;k<3;k++) a[k]+=a[k]-h; for(k=1;k<3;k++) printf("%d",a[k]); printf("\n"); return(a[h]);} A)1,2,3, B)1,3,5, C) 1,3,5, D) 1,3,5, 1,5,9, 1,3,5, 0,4,8, -1,3,7, (45) C语言中,函数的隐含存储类别是 A)auto B)static C)extern D)无存储类别 (46) 下面程序的输出是 int w=3; main() { int w=10; printf("%d\n",fun(5)*w); }
软耳兔兔
2024-06-05 05:33:39
去百度文库,查看完整内容>
内容来自用户:夜宿山寺2020年全国计算机等级考试二级c语言上机精选题库(共70套) 第1套 (填空题)给定程序中,函数fun的功能是:将行参指针所指结构体数组中的三个元素按num成员进行升序排列。请勿改动主函数main和其他函数中的任何内容,仅在横线上填入所编写的若干表达式或语句。#include typedef struct { int num; char name[10]; } PERSON; void fun(PERSON ___1___) { ___2___ temp; if (std[0].num > std[1].num) { temp = std[0]; std[0] = std[1]; std[1] = temp; } if (std[0].num > std[2].num) { temp = std[0]; std[0] = std[2]; std[2] = temp; } if (std[1].num > std[2].num) { temp = std[1]; std[1] = std[2]; std[2] = temp; } } main() { PERSON std[] = {5, "Zhanghu", 2, "WangLi", 6, "LinMin"}; int i; fun(___3___); printf("\nThe result is :\n"); for (i=0; i<3; i++) printf("%d,%s\n", std[i].num, std[i].name); } (改错题)下列给定程序中,函数fun的功能是:求k!(k〈13〉,所求阶乘的值作为函数值返回。例如:若k=10,则应输出3628800。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构! #include #include long fun(int k) {<