【计算机类职业资格】国家计算机二级(C)80及答案解析.doc
《【计算机类职业资格】国家计算机二级(C)80及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】国家计算机二级(C)80及答案解析.doc(18页珍藏版)》请在麦多课文档分享上搜索。
1、国家计算机二级(C)80 及答案解析(总分:124.00,做题时间:120 分钟)一、选择题(1-10 题每题 2 分,11-50 题(总题数:50,分数:100.00)1.若有说明:int n=2,*p=n,*q=p;,则以下非法的赋值语句是( )。(分数:2.00)A.p=q;B.*p=q;C.n=*q;D.p=n;2.设有定义:intk=0;,以下选项的四个表达式中与其他三个表达式的值不相同的是【 】。(分数:2.00)A.k+B.k+=lC.+kD.k+l3.有以下程序: point(char *p)p+=3; main() char b4=a,b,c,d,*p=b; point(p)
2、;printf(“%c/n“,*p); 程序运行后的输出结果是【 】。 (分数:2.00)A.aB.bC.cD.d4.以下关于宏的叙述中正确的是(分数:2.00)A.宏名必须用大写字母表示B.宏定义必须位于源程序中所有语句之前C.宏替换没有数据类型限制D.宏调用比函数调用耗费时间5.在一个 C 语言程序中( )。(分数:2.00)A.main( )函数必须出现在所有函数之前B.main( )函数可以在任何地方出现C.main( )函数必须出现在所有函数之后D.main( )函数必须出现在固定位置6.有以下程序: main( ) unsigned char a,b; a=4|3; b=4 pri
3、ntf(“%d %d/n”,a,b(; 执行后输出结果是( )。 (分数:2.00)A.7 0B.0 7C.1 1D.43 07.有以下程序: main( ) int f1 (int x, int y) return xy?x:y; int f2 (int x, int y) return xy?y:x; main( ) int a=4,b=3,c=5,d,e,f; d=f1(a,b); d=f1(d,c); e=f2(a,b); e=f2(e,c); f=a+b+c-d-e; printf(“%d,%d,%d/n“,d,f,e); 执行后输出的结果是( )。 (分数:2.00)A.3,4,5
4、B.5,3,4C.5,4,3D.3,5,48.已有定义:int i,a10,*p;,则合法的赋值语句是( )。(分数:2.00)A.p=100;B.p=a5;C.p=a2+2;D.p=a+2;9.当变量 c 的值不为 2、4、6 时,值也为“真”的表达式是( )。(分数:2.00)A.(c= =2)(c= =4)(c= =6)B.(c=2 B.int max(int x,y) int z; z=xy ? x:y; return z; C.max(int x,int y) int z; z=xy?x:y; return(z); D.int max(int x,int y) return(xy?x
5、:y); 15.能将高级语言编写的源程序转换成目标程序的是( )。(分数:2.00)A.编辑程序B.编译程序C.解释程序D.链接程序16.表达式 3.6-52+1.2+52 的值是【 】。(分数:2.00)A.4.3B.4.8C.3.3D.3.817.s12 和 s2 已正确定义并分别指向两个字符串。若要求:当 s1 所指串大于 s2 所指串时,执行语句 S;则以下选项中正确的是 (分数:2.00)A.if(s1s2)S;B.if(strcmp(s1,s2)S;C.if(strcmp(s2,s1)0)S;D.if(strcmp(s1,s2)0)S;18.下列关于栈的描述正确的是【 】。(分数:
6、2.00)A.在栈中能插入元素而不能删除元素B.在栈中只能删除元素而不能插入元素C.栈是特殊的线性表,只能在一端插入或删除元素D.栈是特殊的线性表,只能在一端插入元素,而在另一端删除元素19.有以下程序: main( ) char a=a,b; print(“%c,“,+a); printf(“%c/n“,b=a+); 程序运行后的输出结果是( )。 (分数:2.00)A.b,bB.b,cC.a,bD.a,c20.以下程序的功能是按顺序读入 10 名学生 4 门课程的成绩,计算出每位学生的平均分并输出,程序如下:main( ) int n,k; float score,sum,ave; sum
7、=0.0; for(n=1;n=10;n+) for(k=1;k=4;k+) scanf(“%f“,score);sum+=score; ave=sum/4.0; printf(“NO%d:%f/n“,n,ave); 上述程序运行后结果不正确,调试中发现有条语句出现在程序中的位置不正确。这条语句是( )。 (分数:2.00)A.sum=0.0;B.sum+=score;C.ave=sum/4.0;D.printf(“NO%d:%f/n“,n,ave);21.有以下程序 #include main() char a=4; printf(“%d/n“,a=ay e=f2(f1(a,b),f1(c,
8、d);f=f1(f2(a,b),f2(c,d); g=a+b+c+d-e-f; pintf(“%d,%d,%d/n“,e,f,g); 程序运行后的输出结果是【 】。(分数:2.00)A.4,3,7B.3,4,7C.52,7D.2,5,724.若程序中已包含头文件 stdio.h,以下选项中,正确运用指针变量的程序段是( )。(分数:2.00)A.int *i=NULL; scanf(“%d“,i);B.float *f=NULL; *f=10.5;C.char t=m, *c= *c=D.long *L; L=/0;25.若有代数式根号下 n 的 x 次方+e 的 x 方的绝对值(其中 e 仅
9、代表自然对数的底数,不是变量)则一下能正确表示该代数式的 C 语言表达式的是【 】。(分数:2.00)A.B.C.D.26.以下叙述正确的是( )。(分数:2.00)A.C 语言比其他语言高级B.C 语言可以不用编译就能被计算机识别执行C.C 语言以接近英语国家的自然语言和数学语言作为语言的表达形式D.C 语言出现的最晚、具有其他语言的一切优点27.以下叙述中错误的是【 】。(分数:2.00)A.C 语言源程序经编译后生成后缀为.obj 的目标程序B.C 程序经过编译、连接步骤之后才能形成一个真正可执行的二进制机器指令文件C.用 C 语言编写的程序称为源程序,它以 ASCII 代码形式存放在一
10、个文本文件中D.C 语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令28.以下与函数 fseek(fp,OL,SEEK_SET)有相同作用的是【 】。(分数:2.00)A.feof(fp)B.ftell(fp)C.fgetc(fp)D.rewind(fp)29.在 Windows 环境下,单击当前应用程序窗口中的“关闭”按钮,其功能是( )。(分数:2.00)A.将当前应用程序转为后台运行B.退出 Windows 后再关机C.退出 Windows 后重新启动计算机D.终止当前应用程序的运行30.有以下程序: #define f(x) x*x main( ) int i; i=
11、f(4+4)/f(2+2); printf(“%d/n”,i); 执行后输出结果是( )。 (分数:2.00)A.28B.22C.16D.431.有以下程序: #includestring.h void f(char *s,char *t) char k; k=*s; +s=*t; *t=k; S+; t-; if(*s) f(s,t); main() char.str10=“abcdefg“,*p; p=str+strlen(str) /2+1; f(p,p-2); printf(“%s/n“,str); 程序运行后的输出结果是【 】。 (分数:2.00)A.abcdefgB.gfedcba
12、C.gbcdefaD.abedcfg32.有以下程序 #include main() char c1,c2,c3,c4,c5,c6; scanf(“cccC“,8az1, t=v;v=w;w=t; main( ) int x=1,y=3,z=2; if(xy) f(x,y); else if(yz) f(y,z); else f(x,z); printf(“%d,%d,%d/n”,x,y,z); 执行后输出结果是( )。 (分数:2.00)A.1,2,3B.3,1,2C.1,3,2D.2,3,134.以下叙述中错误的是【 】。(分数:2.00)A.C 语句必须以分号结束B.复合语句在语法上被看
13、作一条语句C.空语句出现在任何位置都不会影响程序运行D.赋值表达式末尾加分号就构成赋值语句35.有以下程序 main( ) int i=0,s=0; do if(i%2)i+;continue; i+; s+=i; while(i7); printf(“%d/n“,s); 执行后输出的结果是( )。 (分数:2.00)A.16B.12C.28D.2136.以下不合法的数值常量是【 】。(分数:2.00)A.011B.lelC.8.0E0.5D.0xabcd37.在 Windows 环境下,若要将整个屏幕上显示的内容存入剪贴板,可以按( )。(分数:2.00)A.Ctrl+Printscreen
14、 键B.Alt+Printscreen 键C.Shift+Printscreen 键D.Printscreen 键38.从 Windows 环境进入 MSDOS 方式后,返回 Windows 环境的 DOS 命令为( )。(分数:2.00)A.EXITB.QUITC.RETD.MSDOS39.有以下程序: int f(int n) if(n =1)return 1; else return f(n-1)+1; main( ) int i,j=0; for(i=1;i3;i+) j+=f(i); printf(“%d/n“,j); 程序运行后的输出结果是( )。 (分数:2.00)A.4B.3C
15、.2D.140.有以下程序,其中u 表示按无符号整数输出 main() unsigned int X=OXIFFF;* X 的初值为十六进制数 * printf(“un“,X); 程序运行后的输出结果是【 】。 (分数:2.00)A.-1B.65535C.32767D.0XFFFF41.有以下程序 #include main() char p20=a,b,c,d,q=“abc“,r:“abcde“; strcpy(P+strlen(q),r);strcat(p,q); printf(“ddn“,sizeof(p),strlen(p); 程序运行后的输出结果是【 】。 (分数:2.00)A.20
16、9B.99C.2011D.111142.有以下程序(提示:程序中 fseek(fp,-2L*sizeof(int),SEEK_END);语句的作用是使位置指针从文件尾向前移 2*sizeof(int)字节) #include stdio.h main( ) FILE *fp; int i,a4=1,2,3,4,b; fp=fopen(“data.dat“,“wb“); for(i=0;iA.2B.1C.4D.343.对下列二叉树进行前序遍历的结果为【 】。 (分数:2.00)A.DYBEAFCZXB.YDEBFZXCAC.ABCDEFXYZD.ABCDEFXYZ44.有以下程序: main()
17、 int i=1,j=2,k=3; if(i+=1b=1.1;48.以下不合法的用户标识符是【 】。(分数:2.00)A.j2KEYB.DoubleC.4dD.849.若有以下说明和定义 typedefint * INTEGER; INTEGER p,* q; 以下叙述正确的是( )。 (分数:2.00)A.p 是 int 型变量B.p 是基类型为 int 的指针变量C.q 是基类型为 int 的指针变量D.程序中可用 INTEGER 代替 int 类型名50.设有定义 int n1=0,n2,*p= int n1,n2; ch1=getchar( ); ch2=getchar( ); n1=
18、ch1-0; n2=n1*10+(ch2-0); printf(“%d/n”,n2); 程序运行时输入:12,执行后输出结果是 1。 (分数:2.00)填空项 1:_53.下面程序和运行运行结果是 1。 void swap(int * a,int * b) int * t; t=a; a=b; b=t; main2 intx=3,y=5,* p=x,* q=y; swap(p,q); prinff(“%d %d/n“, *p, *q); (分数:2.00)填空项 1:_54.以下程序运行后的输出结果是 1。 void swap(int x,int y) int t; t=x;x=y;y=t;p
19、rintf(“%d%d“,x,y); main2 int a=3,b=4; swap(a,b);pintf(“%d%d“,a,b); (分数:2.00)填空项 1:_55.以下程序运行后的输出结果是 1。 main( ) int a,b,c; a=25; b=025; c=0x25; printf(“%d %d %d/n“,a,b,c); (分数:2.00)填空项 1:_56.设函数 findbig( )已定义为求 3 个数中的最大值。以下程序将利用函数指针调用 findbig 函数。请填空。 main( ) int findbig(int,int,int); int (*f)( ),x,y,
20、z,big; f= 1; scanf(“%d%d%d“, big=(*f)(x,y,z); printf(“big=%d/n“,big); (分数:2.00)填空项 1:_57.下列程序的输出结果是 1。 #include stdio.h void fun(int x) if(x/20) fun(x/2); printf(“%d“,x); main2 fun(3);printf(“/n“); (分数:2.00)填空项 1:_58.在 Windows 环境下,利用菜单命令删除固定硬盘上的文件与文件夹,实际上是将需要删除的文件与文件夹移动到 1 文件夹中。(分数:2.00)填空项 1:_59.以下
21、程序用于判断 a、b、c 能否构成三角形,若能,输出 YES,否则输出 NO。当给 a、b、c 输入三角形三条边长时,确定 a、b、c 能构成三角形的条件是需同时满足三个条件:a+bc,a+cb,b+ca。请填空。 main1 float a,b,C; scanf(“fff“, main( ) int a=3,b=4,c=5,d; d=f(f(3,4),f(3,5); printf(“%d/n“,d); 执行后输出结果是 1。 (分数:2.00)填空项 1:_61.已知字符 A 的 ACSII 码值为 65,以下语句的输出结果是 1。 char ch=B; printf(“%c %d/n”,c
22、h,ch); (分数:2.00)填空项 1:_62.Windows 窗口一般由标题栏、菜单栏、控制按钮等部分组成。为了移动窗口,则要用鼠标拖动 1。(分数:2.00)填空项 1:_国家计算机二级(C)80 答案解析(总分:124.00,做题时间:120 分钟)一、选择题(1-10 题每题 2 分,11-50 题(总题数:50,分数:100.00)1.若有说明:int n=2,*p=n,*q=p;,则以下非法的赋值语句是( )。(分数:2.00)A.p=q;B.*p=q;C.n=*q;D.p=n; 解析:整型数据和指针型数据之间不能进行赋值运算。2.设有定义:intk=0;,以下选项的四个表达式
23、中与其他三个表达式的值不相同的是【 】。(分数:2.00)A.k+ B.k+=lC.+kD.k+l解析:因为“int k=0;“,所以 B)、C)、D)三个选项的表达式的值都等于 1,而 A)选项的表达式的值等于0。这是因为“k+“这个表达式先进行取 k 值的运算,然后是 k 值自加 1。故本题答案为 A)。3.有以下程序: point(char *p)p+=3; main() char b4=a,b,c,d,*p=b; point(p);printf(“%c/n“,*p); 程序运行后的输出结果是【 】。 (分数:2.00)A.a B.bC.cD.d解析:在 C 语言中,函数的参数传递方式采
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 国家 二级 C80 答案 解析 DOC
