【计算机类职业资格】国家计算机二级(C)83及答案解析.doc
《【计算机类职业资格】国家计算机二级(C)83及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】国家计算机二级(C)83及答案解析.doc(16页珍藏版)》请在麦多课文档分享上搜索。
1、国家计算机二级(C)83 及答案解析(总分:3480.00,做题时间:120 分钟)一、选择题(1-10 题每题 2分,11-50 题(总题数:50,分数:3000.00)1.设有以下定义 int a=0; double b=1.25; char c=A; #define d 2 则下面语句中错误的是( )。 (分数:60.00)A.a+;B.b+;C.c+;D.d+;2.一个栈的初始状态为空。现将元素 1、2、3、4、5、A、B、C、D、E 依次入栈,然后再依次出栈,则元素出栈的顺序是(分数:60.00)A.12345ABCDEB.EDCBA54321C.ABCDEl2345D.5432lE
2、DCBA3.要求通过 while循环不断读入字符,当读入字母 N时结束循环。若变量已正确定义,以下正确的程序段是【 】。(分数:60.00)A.while(ch=getchar()!=N)printf(“C“,ch);B.while(ch=getchar()!=N)printf(“C“,ch);C.while(ch=getchar()=N)printf(“C“,ch).D.while(ch=getchar()=N)printf(“C“,ch);4.程序中头文件 typel.h的内容是: #define N 5 #define M1 N*3 程序如下: #include“typel.h“ #de
3、fine M2 N *2 main( ) int i; i=M1+M2; printf(“%d/n“,i); 程序编译后运行的输出结果是( )。 (分数:60.00)A.10B.20C.25D.305.以下不合法的用户标识符是【 】。(分数:60.00)A.j2KEYB.DoubleC.4dD.86.计算机能直接执行的程序是(分数:60.00)A.源程序B.目标程序C.汇编程序D.可执行程序7.下列叙述中正确的是( )。(分数:60.00)A.在 Windows环境下,最大化的窗口是不能移动的B.在 Windows环境下,应用程序窗口最小化后,该应用程序暂停执行C.在 Windows环境下,只
4、有最小化的窗口才能关闭D.在 Windows环境下,不能关闭最小化窗口8.设有定义:long x= -123456L;,则以下能够正确输出变量 x值的语句是( )。(分数:60.00)A.printf(“x=%d/n“,x);B.printf(“x=%1d/n“,x);C.printf(“x=%8dL/n“,x);D.printf(“x=%LD/n“,x);9.若以下选项中的变量已正确定义,则正确的赋值语句是( )。(分数:60.00)A.x1=26.8%3B.1+2=x2C.x3=0x12D.x4=1+2=3;10.下列选项中正确的语句组是( )。(分数:60.00)A.char s8; s
5、=“Beijing“;B.char s8; s=“Beijing“;C.char *s; s=“Beijing“;D.char *s; s=“Beijing“;11.程序中若有如下说明和定义语句 char fun(char*); main() char*s=“one“,a5=0,(*f1)()=fun,ch; . 以下选项中对函数 Fun的正确调用语句是【 】。(分数:60.00)A.(*f1)(a)B.*f1(*s);C.ch=*f1(s);12.有以下程序 #include main() char p20=a,b,c,d,q=“abc“,r=“abcde“; strcat(P,r);str
6、cpy(P+strlen(q),q); printf(“dn“,strlen(P); 程序运行后的输出结果是【 】。 (分数:60.00)A.9B.6C.11D.713.有以下程序 #include stdio.h main( ) printf(“%d/n“,NULL); 程序运行后的输出结果是( )。 (分数:60.00)A.0B.1C.-1D.NULL没定义,出错14.已定义以下函数 int fun(int*P) return*p;) fun 函数返回值是【 】。 (分数:60.00)A.不确定的值B.一个整数C.形参 P中存放的值D.形参 P的地址值15.数字字符 0的 ASC值为 48
7、,若有以下程序 main() char a=1,b=2; printf(“%c“,b+); printf (“%d/n“,b-a); 程序运行后的输出结果是【 】。(分数:60.00)A.32B.502C.22D.2,5016.若各选项中所用变量已正确定义,函数 fun中通过 return语句返回个函数值,以下选项中错误的程序是【 】。(分数:60.00)A.main() X=fun(2,10); float fun(int a,int b)B.float fun(int a,int b) main() X=fun(i,j);C.float fun(int,int); main() x=fun
8、(2,10); float fun(int a,int b)17.下列叙述中错误的是( )。(分数:60.00)A.gets函数用于从终端读入字符串B.getchar函数用于从磁盘文件读入字符C.fputs函数用于把字符串输出到文件D.fwrite函数用于以二进制形式输出数据到文件18.有以下程序 main( ) int i=0,s=0; do if(i%2)i+;continue; i+; s+=i; while(i7); printf(“%d/n“,s); 执行后输出的结果是( )。 (分数:60.00)A.16B.12C.28D.2119.下列叙述中正确的是【 】。(分数:60.00)A
9、.每个 C程序文件中都必须要有一个 main()函数B.在 C程序中 main()函数的位置是固定的C.C程序中所有函数之间都可以:相互调用,与函数所处位置无关D.在 C程序的函数中不能定义另一个函数20.程序中已构成如下图所示的不带头结点的单向链表结构,指针变量 s、p、q 均已正确定义,并用于指向链表结点,指针变量 S总是作为头指针指向链表的第一个结点。 (分数:60.00)A.首结点成为尾结点B.尾结点成为首结点C.删除首结点D.删除尾结点21.以下选项中合法的实型常数是( )。(分数:60.00)A.5E2.0B.E-3C.0.2D.1.3E22.下列叙述中错误的是( )。(分数:60
10、.00)A.在程序中凡是以“#”开始的语句行都是预处理命令行B.预处理命令行的最后不能以分号表示结束C.#define MAX是合法的宏定义命令行D.C程序对预处理命令行的处理是在程序执行的过程中进行的23.有以下程序 main( ) union unsigned int n; unsigned char c; ul; ul.c=A; printf(“%c/n“,ul.n); 执行后输出结果是( )。 (分数:60.00)A.产生语法错B.随机值C.AD.6524.有以下程序 main(int argc,char * argv) int n=0,i; flor(i=l;iA.12B.12345
11、C.12345678D.13625.设变量已正确定义,则以下能正确计算 f=n!的程序段是【 】。(分数:60.00)A.F=0: for(i=1;i=n;i+) f*=i;B.f=1; for(i=1;in;i+) f*=i;C.f=1; for(i=n;i1;i+)f*=i;D.f=-1; for(i=n;i=2;i-)f*=i;26.以下程序段中,不能正确赋字符串(编译时系统会提示错误)的是( )(分数:60.00)A.char s10=”abcdefg”;B.char t =”abcdefg”,*s=t;C.char s10;s=”abcdefg”;D.char s10;strcpy(
12、s,”abcdefg”);27.以下程序中函数 reverse( )的功能是将 a所指数组中的内容进行逆置。 void reverse(int a ,int n) int i,t; for(i=0;in/2;i+) t=ai;ai=an-1-i;an-1-i=t; main( ) int b10=1,2,3,4,5,6,7,8,9,10;int i,s=0; reverse(b,8); for(i=6;i10;i+)s+=bi; printf(“%d/n“,s); 程序运行后的输出结果是( )。 (分数:60.00)A.22B.10C.34D.3028.以下叙述中错误的是【 】。(分数:60.
13、00)A.C语言中对二进制文件的访问速度比文本文件快B.C语言中,随机文件以二进制代码形式存储数据C.语句 FILE fp:定义了一个名为 fp的文件指针D.C语言中的文本文件以 ASCII码形式存储数据29.设有定义 int a=2,b=3,c=4;,则以下选项中值为 0的表达式是【 】。(分数:60.00)A.(!a=1 for(i=1;i10;i+=2) s+=i+1; printf(“%d/n”,s); (分数:60.00)A.自然数 19 的累加和B.自然数 110 的累加和C.自然数 19 中的奇数之和D.自然数 110 中的偶数之和33.有以下程序 int fun(int n)
14、if(n=1)return 1; else return(n+fun(n-1); main() int x; scanf(“d“,,若要通过 scanf(“%d,%d“,语句使变量 x得到数值 11,变量 y得到数值 12,下面四组输入形式中,错误的是( )。(分数:60.00)A.11 12B.11, 12C.11,12D.11,1238.以下数组定义中错误的是【 】。(分数:60.00)A.int x 3:0;B.int x23=l,2,3,4,5,6;C.int X 3=l,2,3,4,5,6;D.int x23=l,2,3,4,5,6;39.在数据管理技术发展的三个阶段中,数据共享最好
15、的是(分数:60.00)A.人工管理阶段B.文件系统阶段C.数据库系统阶段D.三个阶段相同40.若有定义:float x=1.5;int a=1,b=3,C=2;则正确的 switch语句是【 】。(分数:60.00)A.switch(x) case 1.0:printf(“*n“); case 2.0:prinff(“*n“);B.switch(int)x); case 1:printf(“*n“); case 2:printf(“*n“);C.switch(a+b) case 1:printf(“*n“); case 2+1:prinff(“*n“);D.switch(a+b) case
16、1:printf(“*n“); case c:printf(“*n“);41.下列叙述中正确的是【 】。(分数:60.00)A.一个逻辑数据结构只能有一种存储结构B.数据的逻辑结构属于线性结构,存储结构属于非线性结构C.一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理的效率D.一个逻辑数据结构可以有多种存储结构,且各种存储结构影响42.有以下程序: main( ) int a33,*p,i; p= for(i=0;iA.3B.6C.9D.243.有以下程序 main() unsigned char a=2,b=4,c=5,d; d=ab;dB.int a 2=1,2,3,4;C
17、.int a22=1,2,3;D.int a2 =1,2,3,4;46.以下关于宏的叙述中正确的是(分数:60.00)A.宏名必须用大写字母表示B.宏定义必须位于源程序中所有语句之前C.宏替换没有数据类型限制D.宏调用比函数调用耗费时间47.以下选项中正确的定义语句是(分数:60.00)A.double a;b;B.double a=b=7;C.double a=7,b=7;D.double,a,b;48.以下符合 C语言语法的实型常量是( )。(分数:60.00)A.1.2B.3.14.159EC.0.0005D.E1549.有以下程序 #include main() FILE * fp;i
18、nt k , n,a6=1,2,3,4, 5,6; fp=fopen(“d2.dat“,“W“); fprintf(fp,“dddn“,a0,a1,a2);fprintf(fp,“dddn“,a3,a4,aS); fclose(fp); fp=fopen(“d2.dat“,“r“); fscanf(fp,“dd“, scanf(“%d“, do s+=1; a=a-2; while(a!=n); printf(“%d/n“,s); 若要使程序的输出值为 2,则应该从键盘给 n输入的值是( )。 (分数:60.00)A.-1B.-3C.-5D.0二、填空题(每空 2分,共 40分)(总题数:12
19、,分数:480.00)51.函数 strcmp1的功能是对两个字符串进行比较,当 s所指字符串和 t所指字符串相等时,返回值为0; 当 s所指字符串大于 t所指字符串时,返回值大于 0;当 s所指字符串小于 t所指字符串时,返回值小于 0(功能等同于库函数 strcmp2 ),请填空。 #include stdio.h int strcmp ( chat * s, char * t) while( * s * t * s= 3 s+;t+; return 4; ) (分数:40.00)填空项 1:_填空项 1:_52.若有以下程序 main( ) char a; a=H-A+0; printf
20、(“%c/n“,a); 执行后输出结果是 1。 (分数:40.00)填空项 1:_53.用十六进制给存储器中的字节地址进行编号,若地址编号从 0000到 FFFF,则该存储器的容量为 1KB。(分数:40.00)填空项 1:_54.以下程序运行后的输出结果是 1。 main( ) int x=15; while(x10 x填空项 1:_55.假设在当前盘当前目录下有一个可执行程序 USER.EXE。现要执行该程序,并要求在执行过程中将显示输出的结果信息存入当前盘当前目录的文件 OUT.DAT中,则完整的 DOS命令为 1。(分数:40.00)填空项 1:_56.执行以下程序后的输出结果是 1。
21、 main2 int a=10; a=(3*5,a+4);printf(“a=dn“,a); (分数:40.00)填空项 1:_57.设有定义语句:inta3=0,12;,则数组元素 a12的值是 1。(分数:40.00)填空项 1:_58.在面向对象方法中, 1 描述的是具有相似属性与操作的一组对象。(分数:40.00)填空项 1:_59.以下程序运行后的输出结果是 1。 main( ) int x=1,y=0,a=0,b=0; switch(x) case 1:switch(y) case 0:a+; break; case 1:b+; break; case 2:a+;b+; break
22、; printf(“%d %d/n“,a,b); (分数:40.00)填空项 1:_60.当执行以下程序时,输入 1234567890,则其中 while循环体将执行 1 次。 #include main2 char ch; while(ch=getchar3)=0)prinff(“#“); (分数:40.00)填空项 1:_61.已有定义如下: struct node int data; struct node *next; *p; 以下语句调用 malloc函数,使指针 p指向一个具有 struct node类型的动态存储空间。请填空。 p = (struct node *)malloc(
23、 1); (分数:40.00)填空项 1:_62.设有说明 struct DATEintyear;intmonth;intday;请写出一条定义语句,该语句定义 d为上述结构体类型变量,并同时为其成员 year、month、day 依次赋初值 2006、10、1: 1。(分数:40.00)填空项 1:_国家计算机二级(C)83 答案解析(总分:3480.00,做题时间:120 分钟)一、选择题(1-10 题每题 2分,11-50 题(总题数:50,分数:3000.00)1.设有以下定义 int a=0; double b=1.25; char c=A; #define d 2 则下面语句中错误
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 国家 二级 C83 答案 解析 DOC
