【计算机类职业资格】计算机二级(C)46及答案解析.doc
《【计算机类职业资格】计算机二级(C)46及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】计算机二级(C)46及答案解析.doc(19页珍藏版)》请在麦多课文档分享上搜索。
1、计算机二级(C)46 及答案解析(总分:3040.00,做题时间:120 分钟)一、选择题(1-10 题每题 2 分,11-50 题(总题数:50,分数:3000.00)1.若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是(分数:60.00)A.函数调用可以作为独立的语句存在B.函数调用可以作为一个函数的实参C.函数调用可以出现在表达式中D.函数调用可以作为一个函数的形参2.下列条件语句中,功能与其他语句不同的是( )。(分数:60.00)A.if(a)printf(“%d/n“,x); else printf(“%d/n“,y);B.if(a=0)printf(“%d/n“,y)
2、; else printf(“%d/n“,x);C.if (a!=0)printf(“%d/n“,x); else printf(“%d/n“,y);D.if(a=0)printf(“%d/n“,x); else printf(“%d/n“,y);3.有以下程序 main() int i,j; for(i=1;iA.1*1=11*2=21*3=3B.1*1=1 1* 2=2 1*3=3 2*1=2 2*2=4 2*2 =4 2* 3=6 3*1=3 3*3=9C.1*1=1D.1*1=1 1*2=2 2*2=4 2*1=2 2*2=4 1*3=3 2*3=6.3*3=9 3*1=3 3*2=6
3、 3*3=94.有以下程序(提示:程序中 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.35.有以下程序 main() union char ch2; int d; S; S.d=0x4321; printf(“x,xn“,S.ch0,S.ch1); 在 16 位编译系统上,程序执行后的输出结果是【
4、 】。 (分数:60.00)A.21,43B.43,21C.43D.21,006.有以下程序 main( ) int a 3=1,2,3,4,5,0,(*pa)3,i; pa=a; for(i=0;iA.7B.6C.8D.无确定值7.有以下程序 maln() int a=0,b=0,C=0,d=0; . if(a=1)b=1;c:2; else d=3; printf(“d,d,d,dn“,a,b,C,d); 程序输出【 】。 (分数:60.00)A.0,1,2,0B.0,0,0,3C.1,1,2,0D.编译有错8.有以下程序: main( ) char a,b,c,d; scanf(“%c,
5、%c,%d,%d“, printf(“c,%c,%c,%c/n“,a,b,c,d); 若运行时从键盘上输入:6,5,65,66。则输出结果是( )。(分数:60.00)A.6,5,A,BB.6,5,65,66C.6,5,6,5D.6,5,6,69.在 Windows 环境下,当一个应用程序窗口被最小化后,该应用程序( )。(分数:60.00)A.继续在后台运行B.继续在前台运行C.终止运行D.暂停运行10.已知 i,j,k 为 int 型变量,若从键盘输入:1,2,3,使 i 的值为 1,j 的值为 2,k 的值为 3,以下选项中正确的输入语句是( )。(分数:60.00)A.scanf (“
6、%2d%2d%2d“,i,j,k);B.scanf (“%d %d %d“,i,j,k);C.scanf (“%d,%d,%d“,i,j,k);D.scanf (“i=%d,j=%d,k=%d“,i,j,k);11.有以下程序 main() int c=35;printf(“%d/n“,c e=f2(f1(a,b),f1(c,d);f=f1(f2(a,b),f2(c,d); g=a+b+c+d-e-f; pintf(“%d,%d,%d/n“,e,f,g); 程序运行后的输出结果是【 】。(分数:60.00)A.4,3,7B.3,4,7C.52,7D.2,5,714.以下选项中不能正确把 c1
7、定义成结构体变量的是( )。(分数:60.00)A.typedef struct int red; int green; int blue; COLOR; COLOR cl;B.struct color cl int red; int green; int blue; C.struct color int red; int green; int blue; cl;D.struct int red; int green; int blue; cl;15.有以下程序 void change(int k)k0=k5; main() int x10=l,2,3,4,5,6,7,8,9,10,n=0;
8、while(nb?(bc?1:0):0;功能等价的是( )。(分数:60.00)A.if(ab) else k=0;B.if(ab)|(bc) k=1 else k=0;C.if(ab) k=1; else if(bc) k=1; else k=0;46.有以下程序: 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); 程序运行后的输出结果是( )。 (分数:60.00)A.4B.3C.2D.147.C 语言中用于结构化
9、程序设计的三种基本结构是( )。(分数:60.00)A.顺序结构、选择结构、循环结构B.if、switch、breakC.for、while、do-whileD.if、for、continue48.下列叙述中正确的是【 】。(分数:60.00)A.程序设计就是编制程序B.程序的测试必须由程序员自己去完成C.程序经调试改错后还应进行再测试D.程序经调试改错后不必进行再测试49.设有如下说明 typedef struct int n; char c; double x;STD; 则以下选项中 ,能正确定义结构体数组并赋初值的语句是( )。 (分数:60.00)A.STD tt2=1,A,62,2,
10、B,75;B.STD tt2=1,“A“,62,2,“,75;C.struct tt2=1,A,2,B;D.struct tt2=1,“A“,62.5,2,“B“,75.0;50.有以下程序: main( ) int m=0256,n=256; printf(“%o %o/n“,mn,n); 程序运行后的输出结果是( )。 (分数:60.00)A.0256 0400B.0256 256C.256 400D.400 400二、填空题(每空 2 分,共 40 分)(总题数:20,分数:40.00)51.有以下程序 main( ) int n=0,m=1,x=2; if(!n) x-=1; if(m
11、) x-=2; if(x) x-=3; printf(“%d/n”,x); 执行后输出结果是 1。 (分数:2.00)填空项 1:_52.以下程序中给指针 p 分配三个 double 型动态内存单元,请填空。 # include stdlib.h main ( ) double *p; p=(double *) malloc( 1); p0=1.5;p1=2.5;p2=3.5; printf(“%f%f%f/n”,p0,p1,p2); (分数:2.00)填空项 1:_53.以下程序中函数 huiwen 的功能是检查一个字符串是否是回文,当字符串是回文时,函数返回字符串 yes!,否则函数返回字
12、符串 no!,并在主函数中输出,所谓回文即正向与反向的拼写都一样,例如:adgda。请填空。#includestring.h char*huiwen (char*str) char*p1,*p2;int i,t=0; p1=str;p2= 1。 for(i=0;istrlen(str)/2;i+) if(*p1+!=*p2-)t=1;break; if( 2)return(“yes“!); else return(“no!“); main3 char str50; printf(“Input:“);scanf(“%s“,str); printf(“%s/n“, 4); (分数:2.00)填空项
13、 1:_54.现有两个 C 程序文件 T18.C 和 myfun.C 同在 TC 系统目录(文件夹)下,其中 T18.C 文件如下: #include #include“myfun.c“ main1 fun2;printf(“n“); myfun.C 文件如下: void fun3 char S80,C;int n=0; while(C=getchar4)!=n)Sn+=c; n-; while(n=0)prinff(“C“,sn-); 当编译连接通过后,运行程序 T18 时,输入 Thank!则输出结果是: 5。 (分数:2.00)填空项 1:_55.以下函数 rotate 的功能是:将 a
14、 所指 N 行 N 列的二维数组中的最后一行放到 b 所指二维数组的第 0 列中,把 a 所指二维数组中的第 0 行放到 b 所指二维数组的最后一列中,b 所指二维数组中的其他数据不变。 #define N 4 void rotate(int aN,int bN int i,j; for(i=0;iN;i+) biN-1= 1; 2=aN-1i; (分数:2.00)填空项 1:_填空项 1:_56.诊断和改正程序中错误的工作通常称为 1。(分数:2.00)填空项 1:_57.按“先进后出“原则组织数据的数据结构是 1。(分数:2.00)填空项 1:_58.E-mail 地址由用户名和域名两部分
15、组成,这两部分的分隔符为 1。(分数:2.00)填空项 1:_59.在进行模块测试时,要为每个被测试的模块另外设计两类模块:驱动模块和承接模块(桩模块)。其中 1 的作用是将测试数据传送给被测试的模块,并显示被测试模块所产生的结果。(分数:2.00)填空项 1:_60.计算机软件分为系统软件和应用软件,操作系统属于 1。(分数:2.00)填空项 1:_61.若有语句 int i=-19,j=i%4; printf(“%d/n“,j); 则输出的结果是 1。 (分数:2.00)填空项 1:_62.有以下程序,其功能是:以二进制“写“方式打开文件 d1.dat,写入 l-100 这 100 个整数
16、后关闭文件。再以二进制“读“方式打开文件 d1.dat,将这 100 个整数读入到另一个数组 b 中,并打印输出。请填空。 #include main1 FILE *fp; int i,a100,b100; fp=fopen(“d1.dat“,“wb“); for(i=O;i2); fread(b ,sizeof(int),100,fp); fclose(fp); for(i=0;i填空项 1:_63.函数 fun 的功能是计算 Xn double fun(double x,int n) int i; double y=1; for(i=1;i=n;i+) y=y*x; return y; 主
17、函数中已经正确定义 m,a,b 变量并赋值,并调用fun 函数计算:m=a4+b4-(a+b)3。实现这一计算的函数调用语句为 1。 (分数:2.00)填空项 1:_64.以下程序运行后的输出结果是 1。 void fun(int x,int y) x=x+y;y=x-y;x=x-y; printf(“%d,%d,“,x,y); main( ) int x=2,y=3; fun(x,y); printf(“%d,%d/n“,x,y); (分数:2.00)填空项 1:_65.有以下程序,若运行时从键盘输入:18,11,则程序的输出结果是 1。 main2 int a,b; printf(“Ent
18、er a,b:“);scanf(“d,d“, for(i=1; i=n; i+) m+=i*f; f= 1; return m; main( ) printf(“m=%d/n“, 2); (分数:2.00)填空项 1:_68.有以下程序 main( ) int t=1,i=5; for(;i=0;i-) t*=i; printf(“%d/n”,t); 执行后输出结果是 1。 (分数:2.00)填空项 1:_69.下面程序的运行结果是: 1。 #include int f(int a,int n) if(n1) return a0+f(a+1,n 一 1);else return a0; mai
19、n2 int aa10=1,2,3,4,5,6,7,8,9,10,S; S=f(aa+2,4);printf(“dn“,S); (分数:2.00)填空项 1:_70.下面程序的运行结果是: 1 int f( int a , int n) if(n1) return a0+f( else return a0; main ( ) int aa3=1,2,3,s; s=f( ; printf(“%d/n”,s); (分数:2.00)填空项 1:_计算机二级(C)46 答案解析(总分:3040.00,做题时间:120 分钟)一、选择题(1-10 题每题 2 分,11-50 题(总题数:50,分数:30
20、00.00)1.若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是(分数:60.00)A.函数调用可以作为独立的语句存在B.函数调用可以作为一个函数的实参C.函数调用可以出现在表达式中D.函数调用可以作为一个函数的形参 解析:2.下列条件语句中,功能与其他语句不同的是( )。(分数:60.00)A.if(a)printf(“%d/n“,x); else printf(“%d/n“,y);B.if(a=0)printf(“%d/n“,y); else printf(“%d/n“,x);C.if (a!=0)printf(“%d/n“,x); else printf(“%d/n“,y);
21、D.if(a=0)printf(“%d/n“,x); else printf(“%d/n“,y); 解析:3.有以下程序 main() int i,j; for(i=1;iA.1*1=11*2=21*3=3B.1*1=1 1* 2=2 1*3=3 2*1=2 2*2=4 2*2 =4 2* 3=6 3*1=3 3*3=9 C.1*1=1D.1*1=1 1*2=2 2*2=4 2*1=2 2*2=4 1*3=3 2*3=6.3*3=9 3*1=3 3*2=6 3*3=9解析:本题主要考查了 for 循环的嵌套。外层 for 循环的自变量 i 从 1 开始,每次循环后增 l,至到 i 等于3 结束
22、。内层循环的自变量 j 每次从 i 开始,每次循环后增 1,至到 j 等于 3 结束。在每次外循环开始后,内层循环在一行上先打印“i*j=两个乘数的积“,然后换行,下次循环从下一行开始打印。4.有以下程序(提示:程序中 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.3 解析:5.有以下程序 main
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 C46 答案 解析 DOC
