1997年9月全国计算机等级考试二级C语言试题及答案
全国计算机等级考试二级笔试题基础知识和C语言程序设计(考试时间120分钟,满分100分)1997年9月21日一、选择题((1)-(40)每小题1分,(41)-(50)每小题2分,共60分)下列各题 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) (11011001)2 B) (37)8 C) (75)10 D) (2A)16(6) 二进制数1110111.11转换成十六进制数是A) 77.C B) 77.3 C) E7.C D) E7.3(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\ABC.C,当前目录为\A。
下列命令中错误的是A) CD.. B) RD \A\C\BC) TYPE \A\C\B\ABC.C D) TYPE C\B\ABC.C(13) 设当前盘中的根目录下有一子目录AB,在子目录AB下有一文件PQ.BAS。
现要查看文件PQ.BAS的内容,应使用命令A) TYPE \AB PQ.BAS B) TYPE \AB\PQ.BASC) TYPE \PQ.BAS D) DIR \AB\PQ.BAS(14) 自动批处理文件必须放在A) C盘根目录中 B) A盘根目录中C) 启动盘的任一个目录中 D) 启动盘的根目录中(15) 设当前盘当前目录为C:\USER\XY\P,且当前盘当前目录为空,则下列命令中能正确执行的是A) RD C:\USER\XY\P B) RD USER\XY\PC) MD \USER\XY\P\USER D) MD \USER\XY\P\X\Y(16) 下列DOS命令中,合法的是A) DISKCOMP A.C B.C B) TYPE A.C >> B.CC) 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 A.TXT>PRN B) TYPE A.TXT PRNC) COPY *.TXT PRN D) COPY CON PRN(19) 下列四组DOS命令中,互相等价的一组是A) COPY A:*.* B:与DISKCOPY A: B:B) COPY ABC.TXT+XYZ.TXT与TYPE XYZ.TXT >> ABC.TXTC) COPY ABC.TXT+XYZ.TXT XYZ.TXT与COPY XYZ.TXT+ABC.TXTD) TYPE *.FOR>CON与COPY *.FOR CON(20) 设C盘目录结构如下:且C盘根目录下文件AUTOEXEC.BAT的内容为CD FORTRANCD \TC如果在A驱动器中插入一张根目录中只有扩展名为.C的若干文件(即A盘中无DOS系统文件)的软盘片,则由C盘启动DOS系统后键入下列命令中,正确的是A) COPY A:\*.C B) COPY A:\*.C TCC) COPY A:\*.C FORTRAN D) CD USER(21) C语言提供的合法的数据类型关键字是A) Double B) short C) integer D) Char(22) 在C语言中,合法的长整型常数是A) 0L B) 4962710 C) 0.054838743 D) 2.1869e10(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<=0C)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#includemain(){ 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="12134211";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=1C) 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<stdio.h>#include<string.h>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<string.h>main(){ char*a="abcdefgh";fun(a);puts(a); }fun (char * s){ int x=0,y;char c;for(y=strlen(s)-1;x<y;x++,y--) { c=s[x];s[x]=s[y];s[y]=c;} }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); }fun(int k){ if(k==0) return w;return(fun(k-1)*k); }A)360 B)3600 C)1080 D)1200(47) 要求函数的功能是交换x和y中的值,且通过正确调用返回交换结果。
全国计算机等级考试二级C语言笔试试题及答案
全国计算机等级考试二级C语言笔试试题及答案一、选择题1. 以下关于C语言的描述中,正确的是(A)A. C语言是一种结构化程序设计语言B. C语言是面向对象的程序设计语言C. C语言是一种解释型语言D. C语言是一种高级汇编语言答案:A2. 在C语言中,以下哪个选项是非法的整型常量?(D)A. 012B. 0x123C. 0XabcD. 0123答案:D3. 若变量已正确定义并赋值,以下正确的表达式是(C)A. a = b ++ + 1;B. a = b ++ = a++;C. a = b + b++;D. a = ++b + ++b;答案:C4. 在C语言中,以下哪个函数用于输出字符?(B)A. printfB. putcharC. putcharcD. putchart答案:B5. 已知 int a = 5, b = 3;,以下哪个选项的结果为1?(D)A. a % bB. a / bC. a + bD. a - b答案:D二、填空题1. 在C语言中,一个int类型的数据在内存中占______个字节。
答案:42. C语言中,逻辑运算符“或”用______表示。
答案:||3. 若定义 int a = 10, b = 20;,则执行语句 a += b -= a; 后,b的值为______。
答案:104. 在C语言中,函数的返回值类型为void时,表示该函数______。
答案:无返回值5. 在C语言中,以下函数的返回类型为______。
int max(int a, int b) {return (a > b) ? a : b;}答案:int三、判断题1. C语言中的数组名可以作为指针使用。
(正确)2. 在C语言中,静态存储区的数据在程序运行期间一直存在。
(正确)3. 在C语言中,结构体是一种用户自定义的数据类型。
(正确)4. 在C语言中,函数的参数传递都是按值传递的。
(错误,部分按引用传递)5. 在C语言中,文件操作完成后必须关闭文件,否则可能导致数据丢失。
全国计算机等级考试二级C语言程序设计真题精选3(含答案)
全国计算机等级考试二级C语言程序设计真题精选3一、单项选择题1.下列关于C语言文件的叙述中正确的是()。
A.文件由一系列数据依次排列组成,只能构成二进制文件B.文件由结构序列组成,可以构成二进制文件或文本文件C.文件由数据序列组成,可以构成二进制文件或文本文件√D.文件由字符序列组成,其类型只能是文本文件解析:C语言将文件看作是一个字符(字节)的序列,即由一个一个字符(字节)数据顺序组成。
根据数据的组成形式,可将文件分为两种:①ASCII文件,又称文本(text)文件,它的每一个字节可放一个ASCII码,代表一个字符;②二进制文件,是把内存中的数据按其在内存中的存储形式原样输出到磁盘上存放。
所以C文件就是一个字节流或一个二进制流。
2.有以下程序:#includ<stdio.h>main()inm=1,n=2,*p=&m,*q=&n,*r; r=p,p=q;q=r; printf("%d,%d,%d,%",m,n,*p,*q);}程序运行后的输出结果是()。
A.1,2,1,2B.1,2.2,1 √C.2,1,2,1D.2,1.1,2解析:本题定义了两个整型变量,然后用两个指针分别指向这两个整型变量,接着对指针进行交换,那么原来指向第一个整数的指针将指向第二个整数,原来指向第二个整数的指针将指向第一个整数。
3.有以下程序:#includ<stdio.h>#include<string.h>strucAina;chab[10];doublc;};strucf (struct);main()struca={1001,"ZhangDa",1098.0}; a=f(a);printf ("%d,%s,%6.1",a.a,a.b,a.c);}strucf(struct)t.a=1002;strcpy(t.b,"ChangRong");t.c=1202.0;returt;}程序运行后的输出结果是()。
全国计算机等级考试二级C语言选择题【1、基本语法】
11.【单选题】不合法的十六进制数是()A.oxffB.0xabcC.0X11D.0x19答案: A2.【单选题】合法的八进制数是()A.0B.028C.-077D.01.0答案: A3.【单选题】VS 2010 C++中int 类型变量所占字节数是()A.2B.4C.8D.16答案: B4.【单选题】以下叙述中正确的是()A.在C 程序中无论是整数还是实数,只要在允许的范围内都能准确无误的表示2B.C 程序由主函数组成C.C 程序由若干函数组成D.C 程序中只允许包含一个函数答案: C5.【单选题】以下叙述中正确的是()A.a 是实型变量,c 允许进行赋值a=10,但不可以这样说:实型变量中允许存放整型值B.在赋值表达式中,赋值号左边既可以是变量也可以是任意表达式C.执行表达式a=b 后,在内存中a 和b 存储单元中的原有值都将被改变,a 的值已由原值改变为b 的值.b 的值由原值变为0D.已有a=3,b=5,当执行了表达式a=b ,b=a 之后,使a 中的值为5,b 中的值为3答案: A6.【单选题】若变量已正确定义并赋值,以下符合C 语言语法的表达式是()A.a=a+7;B.a=7+b+c,a++C.int(12.3%4)D.a=a+7=c+b答案: B7.【单选题】可在C 程序中用作用户标识符的一组标识符是()A.as_b3、_123、If3B.void 、define 、WORDC.For 、-abc 、caseD.2c 、DO 、SIG答案: A8.【单选题】以下选项中不合法的用户标识符是()A.A$B.DimC.printfD._123答案: A9.【单选题】以下选项中不合法的用户标识符是()A.abc.cB.fileC.MainD.PRINTF答案: A10.【单选题】以下选项中不正确的实型常量是()A.2.607E-1B.0.8103e 2C.-77.77D.456e-24答案: B11.【单选题】以下选项中正确的实型常量是()A. 0B. .871C. 3. 1415D. 0.329×102答案: B12.【单选题】以下选项中正确的整型常量是()A.12.B.-20C.1,000D.4 5 6答案: B13.【单选题】结构化程序设计不包括以下哪项()A.顺序结构B.选择结构C.循环结构D.模块结构答案: D14.【单选题】语句:x++;执行后能使变量x 中的值增1,下列选项中哪条赋值语句不属于同一功能()5A.++x;B.x=x+1C.x=1+x;D.x+=1;答案: B15.【单选题】设a 、b 、c 为整型数, 且a=2、b=3、c=4, 则执行完以下语句: a*=16+(b++)-(++c); 后,a 的值是()A.28B.32C.31D.34答案: A16.【单选题】设x 和y 均为int 型变量,且x=1,y=2,则表达式1.0+x/y 的值为A.1B.1.0C.1.5D.2答案: B17.【单选题】若有定义:int a=10,b=9,c=8;接着顺序执行下列语句后,变量b 中的值是()6c=(a-=(b-5));c=(a%11)+(b=3);A.1B.2C.3D.4答案: C18.【单选题】C 语言程序的基本单位是()A.程序行B.语句C.函数D.字符答案: C19.【单选题】在C 语言中,合法的长整型常数是()A.0LB.4962710C.0.054838743D.2.1869e10答案: A20.【单选题】设x 和y 均为int 型变量,则以下语句的功能是( )x+=y;y=x-y;x-=y;A.把x 和y 按从大到小排列7B.把x 和y 按从小到大排列C.无确定结果D.交换x 和y 中的值答案: D21.【单选题】在C 语言中,不正确的int 类型的常数是()A.-012B.0C.037D.0xAF答案: A22.【单选题】若已定义x 和y 为double 类型,则表达式x=1,y=x+3/2 的值是()A.1B.2C.2.0D.2.5答案: C23.【单选题】C 语言中运算对象必须是整型的运算符是( )A.%=B./C.=8答案: A24.【单选题】若a 为int 类型,且其值为3,则执行完表达式a+=a-=a*a 后,a 的值是()A.-3B.9C.-12D.6答案: C25.【单选题】以下程序的输出结果是( )main(){int a=3;printf("%d\n",(a+a-=a*a) );}A.-6B.12C.0D.-12答案: D26.【单选题】设int x 、y ,且x=10,y=3,则以下语句的输出结果是( )printf("%d,%d\n",x--,--y);A.10,39C.9,2D.10,2答案: D27.【单选题】以下选项中,与k=n++完全等价的表达式是( )A.k=n,n=n+1B.n=n+1,k=nC.k=++nD.k+=n+1答案: A28.【单选题】以下非法的赋值语句是()A.n=(i=2,++i);B.j++;C.++(i+1);D.x=j>0;答案: C29.【单选题】A.它们的运算对象可以是任何变量和常量B.它们的运算对象可以是char 型变量和int 型变量,但不能是float 型变量C.它们的运算对象可以是int 型变量,但不能是double 型变量和float 型变量D.它们的运算对象可以是char 型变量、int 型变量和float 型变量10 答案: D30.【单选题】设变量x 为float 型且已赋值,则以下语句中能将x 中的数值保留到小数点后两位,并将第三位四舍五入的是A.x=x*100+0.5/100.0;B.x=(x*100+0.5)/100.0;C.x=(int)(x*100+0.5)/100.0;D.x=(x/100+0.5)*100.0;答案: C31.【单选题】以下叙述中正确的是A.C 程序中注释部分可以出现在程序中任意合适的地方B.花括号"{"和"}"只能作为函数体的定界符C.构成C 程序的基本单位是函数,所有函数名都可以由用户命名D.分号是C 语句之间的分隔符,不是语句的一部分答案: A32.【单选题】若以下选项中的变量已正确定义,则正确的赋值语句是A.x1=26.8%3;B.1+2=x2;C.x3=0x12;D.x4=1+2=3;答案: C33.【单选题】以下4组用户定义标识符中,全部合法的一组是()11A._main 、Include 、SinB.If 、-max 、turboC.txt 、REAL 、3COMD.int 、k_2、 _001答案: A34.【单选题】下列选项中,不能用作标识符的是()A._1234_B._1_2C.int_2_D.2_int_答案: D35.【单选题】有以下程序main(){ int m=12,n=34;printf("%d%d",m++,++n);printf("%d%d\n",n++,++m);}程序运行后的输出结果是A.12353514B.12353513C.12343514D.1234351312答案: A36.【单选题】以下选项中,不能作为合法常量的是A.1.234e04B.1.234e0.4C.1.234e+4D.1.234e0答案: B37.【单选题】以下不能定义为用户标识符的是A.MainB._0C._intD.sizeof答案: D38.【单选题】以下选项中可作为C 语言合法常量的是A.-80B.-080C.-8e1.0D.-80.0e答案: A39.【单选题】以下不能正确计算代数式值的C 语言表达式是A.1/3*sin(1/2)*sin(1/2)13 B.sin(0.5)*sin(0.5)/3C.pow(sin(0.5),2)/3D.1/3.0*pow(sin(1.0/2),2)答案: A40.【单选题】以下叙述中错误的是A.C 语句必须以分号结束B.复合语句在语法上被看作一条语句C.空语句出现在任何位置都不会影响程序运行D.赋值表达式末尾加分号就构成赋值语句答案: C41.【单选题】以下叙述中错误的是A.用户所定义的标识符允许使用关键字B.用户所定义的标识符应尽量做到"见名知意"C.用户所定义的标识符必须以字母或下划线开头D.用户定义的标识符中,大、小写字母代表不同标识答案: A。
计算机等级考试二级C语言模拟试题(1)及答案
⼀、选择题(每题2分,共计70分)1.栈和队列的共同特点是A)都是先进先出B)都是先进后出C)只允许在端点处插⼊和删除元素D)没有共同点2.已知⼆叉树后序遍历序列是dabec,中序遍历序列是debac,它的前序遍历序列是A)acbedB)decabC)deabcD)cedba3.链表不具有的特点是A)不必事先估计存储空间B)可随机访问任⼀元素C)插⼊删除不需要移动元素D)所需空间与线性表长度成正⽐4.结构化程序设计的3种结构是A)顺序结构、选择结构、转移结构B)分⽀结构、等价结构、循环结构C)多分⽀结构、赋值结构、等价结构D)顺序结构、选择结构、循环结构5.为了提⾼测试的效率,应该A)随机选取测试数据B)取⼀切可能的输⼊数据作为测试数据C)在完成编码以后制定软件的测试计划D)集中对付那些错误群集的程序6.算法的时间复杂度是指A)执⾏算法程序所需要的时间B)算法程序的长度C)算法执⾏过程中所需要的基本运算次数D)算法程序中的指令条数7.软件⽣命周期中所花费⽤最多的阶段是A)详细设计B)软件编码C)软件测试D)软件维护8.数据库管理系统DBMS中⽤来定义模式、内模式和外模式的语⾔为A)CB)BasicC)DDLD)DML9.下列有关数据库的描述,正确的是A)数据库是⼀个DBF⽂件B)数据库是⼀个关系C)数据库是⼀个结构化的数据集合D)数据库是⼀组⽂件10.下列有关数据库的描述,正确的是A)数据处理是将信息转化为数据的过程B)数据的物理独⽴性是指当数据的逻辑结构改变时,数据的存储结构不变C)关系中的每⼀列称为元组,⼀个元组就是⼀个字段D)如果⼀个关系中的属性或属性组并⾮该关系的关键字,但它是另⼀个关系的关键字,则称其为本关系的外关键字11.以下叙述中正确的是A)C语⾔⽐其他语⾔⾼级B)C语⾔可以不⽤编译就能被计算机识别执⾏C)C语⾔以接近英语国家的⾃然语⾔和数学语⾔作为语⾔的表达形式D)C语⾔出现的最晚,具有其他语⾔的⼀切优点12.C语⾔中⽤于结构化程序设计的3种基本结构是A)顺序结构、选择结构、循环结构B)if,switch,breakC)for,while,do-whileD)if,for,continue13.C语⾔中最简单的数据类型包括A)整型、实型、逻辑型B)整型、实型、字符型C)整型、字符型、逻辑型D)字符型、实型、逻辑型14.若变量已正确定义并赋值,以下符合C语⾔语法的表达式是A)a:=b+1B)a=b=c+2C)int 18.5%3D)a=a+7=c+b15.下列可⽤于C语⾔⽤户标识符的⼀组是A)voiddefineWORDB)a3_b3_123CarC)For-abcIFCaseD)2aDOsizeof16.若变量a,i已正确定义,且i已正确赋值,合法的语句是A)a==1B)++i;C)a=a++=5;D)a=int(i);17.已知int t=0;while (t=1){...}则以下叙述正确的是A)循环控制表达式的值为0B)循环控制表达式的值为1C)循环控制表达式不合法D)以上说法都不对18.有如下程序main(){int x=1,a=0,b=0;switch(x){case 0: b++;case 1: a++;case 2: a++;b++;}printf("a=%d,b=%d\n",a,b);}该程序的输出结果是A)a=2,b=1B)a=1,b=1C)a=1,b=0D)a=2,b=219.有以下程序main(){ int i=1,j=1,k=2;if((j++||k++)&& i++)printf("%d,%d,%d\n",i,j,k);}执⾏后输出结果是A)1,1,2B)2,2,1C)2,2,2D)2,2,320.有如下程序main(){ int n=9;while(n>6){n--; printf("%d",n);}}该程序的输出结果是A)987B)876C)8765D)987621.在下列选项中,没有构成死循环的是A)int i=100;while(1){ i=i0+1;if(i>100)break;}B)for(;;);C)int k=10000;do{ k++; }while(k>10000);D)int s=36;while(s)--s;22.若已定义的函数有返回值,则以下关于该函数调⽤的叙述中错误的是A)函数调⽤可以作为独⽴的语句存在B)函数调⽤可以作为⼀个函数的实参C)函数调⽤可以出现在表达式中D)函数调⽤可以作为⼀个函数的形参23.有以下程序float fun(int x,int y){ return(x+y);}main(){ int a=2,b=5,c=8;printf("%3.0f\n",fun((int)fun(a+c,b),a-c));}程序运⾏后的输出结果是A)编译出错B)9C)21D)9.024.若有以下调⽤语句,则不正确的fun函数的⾸部是main(){ …int a[50],n;…fun(n, &a[9]);…}A)void fun(int m, int x[])B)void fun(int s, int h[41])C)void fun(int p, int *s)D)void fun(int n, int a)25.设有以下说明语句struct stu{ int a;float b;} stutype;则下⾯的叙述不正确的是A)struct是结构体类型的关键字B)struct stu是⽤户定义的结构体类型C)stutype是⽤户定义的结构体类型名D)a和b都是结构体成员名26.若运⾏时给变量x输⼊12,则以下程序的运⾏结果是main(){ int x,y;scanf("%d",&x);y=x>12?x+10:x-12;printf("%d\n",y);}A)0B)22C)12D)1027.以下说法正确的是A)C语⾔程序总是从第⼀个的函数开始执⾏B)在C语⾔程序中,要调⽤函数必须在main()函数中定义C)C语⾔程序总是从main()函数开始执⾏D)C语⾔程序中的main()函数必须放在程序的开始部分28.有以下程序#define F(X,Y)(X)*(Y)main(){ int a=3, b=4;printf("%d\n", F(a++, b++));}程序运⾏后的输出结果是A)12B)15C)16D)2029.下列程序执⾏后的输出结果是void func(int *a,int b[]){ b[0]=*a+6; }main(){ int a,b[5]={0};a=0; b[0]=3;func(&a,b); printf("%d\n",b[0]);}A)6B)7C)8D)930.若有下⾯的程序段char s[]="china";char *p; p=s;则下列叙述正确的是A)s和p完全相同B)数组s中的内容和指针变量p中的内容相等C)s数组长度和p所指向的字符串长度相等D)*p与s[0]相等31.以下程序中函数sort的功能是对a数组中的数据进⾏由⼤到⼩的排序void sort(int a[],int n){ int i,j,t;for(i=0;ifor(j=i+1;jif(a[i]}main(){ int aa[10]={1,2,3,4,5,6,7,8,9,10},i;sort(&aa[3],5);for(i=0;i<10;i++)printf("%d,",aa[i]);printf("\n");}程序运⾏后的输出结果是A)1,2,3,4,5,6,7,8,9,10,B)10,9,8,7,6,5,4,3,2,1,C)1,2,3,8,7,6,5,4,9,10,D)1,2,10,9,8,7,6,5,4,3,32.以下程序的运⾏结果是#include "stdio.h"main(){ struct date{ int year,month,day;}today;printf("%d\n",sizeof(struct date));}A)6B)8C)10D)1233.若执⾏下述程序时,若从键盘输⼊6和8时,结果为main(){ int a,b,s;scanf("%d%d",&a,&b);s=a;if(as=b;s*=s;printf("%d",s);}A)36B)64C)48D)以上都不对34.下列关于C语⾔数据⽂件的叙述中正确的是A)⽂件由ASCII码字符序列组成,C语⾔只能读写⽂本⽂件B)⽂件由⼆进制数据序列组成,C语⾔只能读写⼆进制⽂件C)⽂件由记录序列组成,可按数据的存放形式分为⼆进制⽂件和⽂本⽂件D)⽂件由数据流形式组成,可按数据的存放形式分为⼆进制⽂件和⽂本⽂件35.有以下程序void ss(char *s,char t){ while(*s){ if(*s==t)*s=t-′a′+′A′;s++;}}main(){ char str1[100]="abcddfefdbd",c=′d′;ss(str1,c); printf("%s\n",str1);}程序运⾏后的输出结果是A)ABCDDEFEDBDB)abcDDfefDbDC)abcAAfefAbAD)Abcddfefdbd⼆、填空题(每空2分,共计30分)1.算法的基本特征是可⾏性、确定性、【1】和拥有⾜够的情报。
计算机二级c语言试题及答案解析
计算机二级c语言试题及答案解析一、选择题(每题2分,共20分)1. 在C语言中,以下哪个选项是合法的整型常量?A. 0x12B. 0123C. 0x123.456D. 0123456答案:A解析:在C语言中,十六进制常量以0x或0X开头,后跟十六进制数字。
选项A表示十六进制数,是合法的整型常量。
选项B表示八进制数,选项C表示浮点数,选项D是无效的表示。
2. 下列哪个选项是C语言中的关键字?A. switchB. caseC. defaultD. all of the above答案:D解析:在C语言中,switch、case和default都是关键字。
switch用于条件分支,case用于指定分支条件,default用于指定默认分支。
3. 在C语言中,以下哪个选项是合法的字符常量?A. 'A'B. "A"C. '\t'D. 'AB'答案:C解析:在C语言中,字符常量用单引号括起来,可以是单个字符或转义字符。
选项A是合法的字符常量,但选项B是字符串常量。
选项C 是合法的转义字符,表示水平制表符。
选项D是两个字符,不是合法的字符常量。
4. 在C语言中,以下哪个选项是合法的数组声明?A. int a[];B. int b[10];C. int c[10] = {0};D. all of the above答案:D解析:在C语言中,A选项声明了一个未指定大小的整型数组,B选项声明了一个大小为10的整型数组,C选项声明了一个大小为10的整型数组并初始化所有元素为0。
所有选项都是合法的数组声明。
5. 在C语言中,以下哪个选项是合法的函数声明?A. int func(int x);B. int func(int);C. int func();D. int func(int, int);答案:D解析:在C语言中,函数声明需要指定返回类型、函数名和参数列表。
全国计算机等级考试二级c语言题库及答案
全国计算机等级考试二级c语言题库及答案全国计算机等级考试二级C语言题库及答案1. 以下关于C语言的叙述中,错误的是:A. C语言是一种高级语言B. C语言可以直接被计算机执行C. C语言具有结构化的特点D. C语言支持模块化程序设计答案:B2. 在C语言中,以下哪个关键字用于定义一个函数?A. intB. forC. returnD. void答案:D3. 若有定义:int a=3, b=4; 则表达式 a+b 的值是:A. 7B. 6C. 3.4D. 43答案:A4. 在C语言中,以下哪个选项不是合法的变量名?A. _sumB. sum_C. 2valueD. sum$答案:C5. 在C语言中,以下哪个选项是正确的二维数组声明?A. int array[3][2];B. int array[][];C. int array[3][];D. int array[2,3];答案:A6. 若有定义:char c1='a', c2='b'; 则表达式 c1-c2 的值是:A. -1B. 1C. 97D. 98答案:A7. 在C语言中,以下哪个选项不是合法的字符串字面量?A. "Hello"B. 'Hello'C. "123"D. "C\"Language"答案:B8. 若有定义:int x=10; 则表达式 x++ 的结果是:A. 10B. 11C. 9D. 无法确定答案:A9. 在C语言中,以下哪个关键字用于声明一个指针?A. intB. charC. floatD. pointer答案:B10. 若有定义:int a[5] = {1, 2, 3, 4, 5}; 则表达式 a[2] 的值是:A. 3B. 4C. 5D. 无法确定答案:A11. 在C语言中,以下哪个选项不是合法的循环控制语句?A. forB. whileC. do-whileD. repeat答案:D12. 若有定义:float x=3.14; 则表达式 (int)x 的值是:A. 3B. 3.14C. 4D. 无法确定答案:A13. 在C语言中,以下哪个选项不是合法的函数参数类型?A. intB. floatC. doubleD. void答案:D14. 若有定义:int a=5, b=10; 则表达式 a%b 的值是:A. 5B. 0C. 1D. 无法确定答案:B15. 在C语言中,以下哪个选项不是合法的输入输出函数?A. printfB. scanfC. coutD. getchar答案:C16. 若有定义:int a=2, b=4; 则表达式 a&b 的值是:A. 0B. 2C. 4D. 6答案:B17. 在C语言中,以下哪个选项不是合法的逻辑运算符?A. &&B. ||C. !D. <答案:D18. 若有定义:int a=3; 则表达式 a<<2 的值是:A. 6B. 12C. 9D. 无法确定答案:B19. 在C语言中,以下哪个选项不是合法的文件操作函数?A. fopenB. fcloseC. removeD. delete答案:D20. 若有定义:int a=6; 则表达式 a==6 的值是:A. 1B. 0C. 6D. 无法确定答案:A。
国家二级计算机考试c语言试题及答案
国家二级计算机考试c语言试题及答案国家二级计算机考试C语言试题及答案一、选择题(本大题共10小题,每小题2分,共20分。
每小题只有一个正确答案。
)1. 在C语言中,以下哪个关键字用于定义一个函数?A. intB. voidC. returnD. function答案:A2. 下列哪个选项是合法的C语言变量名?A. 2variableB. variable2C. variable2!D. _variable2答案:D3. C语言中,用于表示逻辑“与”的运算符是?A. &&B. ||C. !D. =答案:A4. 在C语言中,哪个函数用于将字符串复制到另一个字符串?A. strcpyB. strcatC. strcmpD. strlen答案:A5. 下列哪个选项是正确的C语言注释?A. // This is a single line commentB. /* This is a single line comment */C. // This is a multi-line commentD. /* This is a multi-line comment */答案:A6. 在C语言中,以下哪个选项是正确的数组声明?A. int arr[5] = {1, 2, 3};B. int arr[] = {1, 2, 3};C. int arr[5] = {1, 2};D. int arr = {1, 2, 3};答案:A7. C语言中,用于计算两个整数相加的函数是?A. strcatB. strcmpC. strcpyD. sum答案:D(注:sum不是C语言标准库函数,此处假设为自定义函数)8. 下列哪个选项是C语言中的合法常量?A. 0x1AB. 1.23e5C. 123.45D. All of the above答案:D9. C语言中,用于定义一个结构体的关键字是?A. structB. unionC. enumD. typedef答案:A10. 在C语言中,哪个关键字用于声明一个指针?A. intB. charC. floatD. *答案:D二、填空题(本大题共5小题,每小题2分,共10分。
全国计算机等级考试《二级C语言程序设计》历年真题精选及详解
全国计算机等级考试《二级C语言程序设计》历年真题精选及详解一、选择题(请在【答题】菜单上选择【选择题】命令,启动选择题测试程序,按照题目上的内容进行答题。
作答选择题时键盘被封锁,使用键盘无效,考生须使用鼠标答题。
选择题部分只能进入一次,退出后不能再次进入。
选择题部分不单独计时。
)1.下列叙述中正确的是()。
A.所有数据结构必须有根结点B.所有数据结构必须有终端结点(即叶子结点)C.只有一个根结点,且只有一个叶子结点的数据结构一定是线性结构D.没有根结点或没有叶子结点的数据结构一定是非线性结构【答案】D【解析】D项正确,线性结构的特点是:①集合中必存在“第一个元素”且惟一;②集合中必存在“最后一个元素”且惟一;③除最后一个元素外,其他数据元素均有惟一的“后继”;④除第一个元素外,其他数据元素均有惟一的“前驱”。
所以没有根结点或没有叶子结点的数据结构一定是非线性结构。
AB两项错误,不是所有数据结构都必须有根结点和叶子结点;C项错误,数据结构中若有中间结点不满足只有一个前件或者后件的条件,就不是线性结构。
答案选择D选项。
2.以下叙述中错误的是()。
A.C语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令B.C程序经过编译、链接步骤之后才能形成一个真正可执行的二进制机器指令文件C.用C语言编写的程序称为源程序,它以ASCII代码形式存放在一个文本文件中D.C语言源程序经编译后生成后缀为.obj的目标程序【答案】A【解析】A项错误,注释语句不会被翻译成二进制的机器指令。
C源程序经过C编译程序编译之后生成后缀为.obj的二进制文件(称为目标文件),然后由“链接程序”(Link)的软件把.obj文件与各种库函数连接起来生成一个后缀为.exe的可执行文件。
答案选择A选项。
3.C语言主要是借助以下()功能来实现程序模块化的。
A.定义函数B.定义常量和外部变量C.三种基本结构语句D.丰富的数据类型【答案】A【解析】C程序的模块化主要通过函数来实现。
计算机二级C语言测试题及答案解析
计算机二级C语言测试题及答案解析计算机二级C语言测试题及答案解析C语言的应用范围广泛,具备很强的数据处理能力,不仅仅是在软件开发上,而且各类科研都需要用到C语言,下面给大家整理了计算机二级C语言测试题及答案,欢迎阅读!计算机二级C语言测试题及答案解析1.(A )是构成C语言程序的基本单位。
A、函数B、过程C、子程序D、子例程2.C语言程序从 C 开始执行。
A、程序中第一条可执行语句B、程序中第一个函数C、程序中的main函数D、包含文件中的第一个函数3、以下说法中正确的是( C )。
A、C语言程序总是从第一个定义的函数开始执行B、在C语言程序中,要调用的函数必须在main( )函数中定义C、C语言程序总是从main( )函数开始执行D、C语言程序中的main( )函数必须放在程序的开始部分4.下列关于C语言的说法错误的是( B ) 。
A、 C程序的工作过程是编辑、编译、连接、运行B、 C语言不区分大小写。
C、 C程序的三种基本结构是顺序、选择、循环D、C程序从main函数开始执行5.下列正确的标识符是(C )。
A、-a1B、a[i]C、a2_iD、int t5~8题为相同类型题考点:标识符的命名规则只能由字母、数字、下划线构成数字不能作为标识符的开头关键字不能作为标识符选项A中的“-” ,选项B中“[”与“]”不满足(1);选项D中的int为关键字,不满足(3)6.下列C语言用户标识符中合法的是(B )。
A、3axB、xC、caseD、-e2 E)union选项A中的标识符以数字开头不满足(2);选项C,E均为为关键字,不满足(3);选项D中的“-”不满足(1);7.下列四组选项中,正确的C语言标识符是( C )。
A、 %xB、a+bC、a123D、123选项A中的“%” ,选项B中“+”不满足(1);选项D中的标识符以数字开头不满足(2)8、下列四组字符串中都可以用作C语言程序中的标识符的是( A)。
1997年9月全国计算机二级C语言考试真题及答案
1997年9月全国计算机二级C语言考试真题及答案一、选择题((1)-(40)每小题1分,(41)-(50)每小题2分,共60分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项在答题卡相应位置上涂黑,答在试卷上不得分。
(1)应用软件是指A.所有能够使用的软件B.能被各应用单位共同使用的某种软件C.所有微机上都应使用的基本软件D.专门为某一应用目的而编制的软件(2)下列述叙中错误的是A.计算机要经常使用不要长期闲置不用B.为了延长计算机的寿命,应避免频繁开关计算机C.在计算机附近应避免磁场干扰D.计算机用几小时后,应关机一会儿再用(3)下列字符中,ASCII码值小的是A.AB.aC.ZD.x(4)用晶体管作为电子器件制成的计算机属于A.代B.第二代C.第三代D.第四代(5)下列各不同进制的四个无符号数中,小的数是A.(11011001)2B.(37)8C.(75)10D.(2A)16(6)二进制数1110111.11转换成十六进制数是A.77.CB.77.3C.E7.CD.E7.3(7)下列各无符号十进制数中,能用八位二进制表示的是A.296B.333C.256D.199(8)计算机的软件系统可分类为A.程序与数据B.系统软件与应用软件D.操作系统与语言处理程序D.程序、数据与文档(9)486机中的CPU同时能处理的二进制位数为A.8B.16C.32D.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\ABC.C,当前目录为\A。
