【计算机类职业资格】计算机二级(C)58及答案解析.doc
《【计算机类职业资格】计算机二级(C)58及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】计算机二级(C)58及答案解析.doc(21页珍藏版)》请在麦多课文档分享上搜索。
1、计算机二级(C)58 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(1-10 题每题 2 分,11-50 题(总题数:60,分数:60.00)1.有以下程序 struct Sint n;int a20; voidf(struct S* p) int,i,j,t; for(i=0;in 一1;i+) for(j=i+1;jn;j+) if(p-a ip-aj)t=p-ai;p-ai=p-aj;P-aj=t; maln() int i;struct S s=10,2,3,l,6,8,7,5,4,10,9; f( t=v;v=w;w=t; main( ) int x=1,y=3,
2、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); 执行后输出结果是( )。 (分数:1.00)A.1,2,3B.3,1,2C.1,3,2D.2,3,13.有以下程序: main( ) char s =“ABCD“,*p; for(p=s+1;ps+4;p+)printf(“%s/n“,p); 程序运行后的输出结果是( )。 (分数:1.00)A.ABCD BCD CD DB.A B C DC.B C DD.BCD CD D4.下列定义变量的语句中错误的是【 】。(分数:1.00)A.
3、int_int;B.double int_;C.char For;D.float US$;5.有以下程序 int *f(int *x,int *y) if(*x*y) return x; else return y; main( ) int a=7,b=8,*p,*q,*r; p= q= r=f(p,q); printf(“%d,%d,%d/n“,*p,*q,*r); 执行后输出结果是( )。 (分数:1.00)A.7,8,8B.7,8,7C.8,7,7D.8,7,86.若各选项中所用变量已正确定义,函数 fun 中通过 return 语句返回个函数值,以下选项中错误的程序是【 】。(分数:1
4、.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(2,10); float fun(int a,int b)7.s12 和 s2 已正确定义并分别指向两个字符串。若要求:当 s1 所指串大于 s2 所指串时,执行语句 S;则以下选项中正确的是 (分数:1.00)A.if(s1s2)S;B.if(strcmp(s1,s2)S;C.if(strcmp(s2,s1)0)S;D.if(strcmp(s1
5、,s2)0)S;8.有以下程序: int a=3; main( ) int s=0; int a=5;s+=a+; s+=a+; printf(“%d/n“,s); 程序运行后的输出结果是( )。 (分数:1.00)A.8B.10C.7D.119.以下叙述中正确的是【 】。(分数:1.00)A.用 C 程序实现的算法必须要有输入和输出操作B.用 C 程序实现的算法可以没有输出但必须要输入C.用 C 程序实现的算法可以没有输入但必须要有输出D.用 C 程序实现的算法可以既没有输入也没有输出10.有以下程序 maln() int a=0,b=0,C=0,d=0; . if(a=1)b=1;c:2;
6、 else d=3; printf(“d,d,d,dn“,a,b,C,d); 程序输出【 】。 (分数:1.00)A.0,1,2,0B.0,0,0,3C.1,1,2,0D.编译有错11.有以下程序 main() int k=5; while(-k)printf(“d“,k-=3); printf(“n“); 执行后的输出结果是【 】。 (分数:1.00)A.1B.2C.4D.死循环12.有以下程序: #define N 20 fun(int a,int,n,int m) int,i,j; for(i=m;i=n;i-)ai+1=ai main() int i, aN=1,2,3,4,5,6,7
7、,8,9,10; fun(a,2,9); for(i=0;i5;i+)printf(“%d“,ai); 程序运行后的输出结果是【 】。(分数:1.00)A.10234B.12344C.12334D.1223413.下列选项中不符合良好程序设计风格的是【 】。(分数:1.00)A.源程序要文档化B.数据说明的次序要规范化C.避免滥用 goto 语句D.模块设计要保证高耦合、高内聚14.程序中对 fun 函数有如下说明: void *fun( ); 此说明的含义是( )。 (分数:1.00)A.fun 了数无返回值B.fun 函数的返回值可以是任意的数据类型C.fun 函数的返回值是无值型的指针类
8、型D.指针 fun 指向一个函数,该函数无返回值15.算法具有五个特性,以下选项中不属于算法特性的是【 】。(分数:1.00)A.有穷性B.简洁性C.可行性D.确定性16.以下 4 个程序中,完全正确的是【 】。(分数:1.00)A.#include main(); *programming* printf(“programming!n“);B.#include main() *programming* printf(“programming!n“);C.#include main() *programming* printf(“programming!n“);D.include main()
9、 *programming* printf(“programming!n“);17.以下程序的功能是:给 r 输入数据后计算半径为 r 的圆面积 s,程序在编译时出错。 main() /* Beginning */ int r;float s; scanf(“%d“,B.int a 3=22*3;C.int a 3=;D.int a23=1,2,3,4;19.以下叙述中正确的是( )。(分数:1.00)A.构成 C 语言程序的基本单位是函数B.可以在一个函数中定义另一个函数C.main( )函数必须放在其他函数之前D.所有被调用的函数一定要在调用之前进行定义20.第 4850 题基于以下信息。
10、以下程序的功能是:建立一个带有头结点的单向链表,并将存储在数组中的字符依次转储到链表的各个结点中,请从与下划线处号码对应的一组选若中选择出正确的选项。 #include stuct node char data; struct node *next; (48) CreatList(char *s) struct node *h,*p,*q); h=(struct node *)malloc(sizeof(struct node); p=q=h; while(*s!=/0) p=(struct node *)malloc(sizeof(struct node); p-data= (49) ; q
11、-next=p; q= (50) ; s+; p-next=/0; return h; main( ) char str =“link list“; struct node *head; head=CreatList(str); . (分数:1.00)A.char *B.struct nodeC.struct node*D.char21.有一个名为 init.txt 的文件,内容如下: #define HDY(A,B) AB #define PRINT(Y)printf(“Y=d/n“,Y) 有以下程序 #include“init.txt“ main() int a=1,b=2,c=3,d=4
12、,k; k=HDY(a+c,b+d); PRINT(k); 下面针对该程序的叙述正确的是【 】。 (分数:1.00)A.编译出错B.运行出错C.运行结果为 y=OD.运行结果为 Y=622.设 char 型变量 x 中的值为 10100111,则表达式(2+x)(3)的值是(分数:1.00)A.10101001B.10101000C.11111101D.0101010123.有以下程序 main( ) char k; int I; for(i=1;i3;i+) scanf(“%c”, switch(k) case 0: printf(“another/n”); case 1: printf(“
13、number/n”); 程序运行时,从键盘输入:01,程序执行后的输出结果是( )。 (分数:1.00)A.another numberB.another number anotherC.another number numberD.number number24.对于一个正常运行的 C 程序,以下叙述中正确的是【 】。(分数:1.00)A.程序的执行总是从 main 函数开始,在 main 函数结束B.程序的执行总是从程序的第一个函数开始,在 main 函数结束C.程序的执行总是从 main 函数开始,在程序的最后一个函数中结束D.程序的执行总是从程序中的第一个函数开始,在程序的最后一个函数
14、中结束25.有以下程序 main( ) char s =“/n123 / /“; printf(“%d,%d/n“,strlen(s),sizeof(s); 执行后输出结果是( )。 (分数:1.00)A.赋初值的字符串有错B.6,7C.5,6D.6,626.若有以下定义和语句 union data int i; char C; float f;X; int Y; 则以下语句正确的是【 】。 (分数:1.00)A.x=10.5;B.x.C=101:C.Y=x;D.printf(“dn“,x);27.以下叙述中正确的是(分数:1.00)A.全局变量的作用域一定比局部变量的作用域范围大B.静态(s
15、tatic)类别变量的生存期贯穿于整个程序的运行期间C.函数的形参都属于全局变量D.未在定义语句中赋初值的 auto 变量和 static 变量的初值都是随机值28.已定义 c 为字符型变量,则下列语句中正确的是( )。(分数:1.00)A.c=97;B.c=“97“;C.c=97;D.c=“a“;29.所谓 “裸机”是指( )。(分数:1.00)A.单片机B.单板机C.不装备任何软件的计算机D.只装备操作系统的计算机30.在 Windows 环境下,资源管理器左窗口中的某文件夹左边标有“+“标记表示( )。(分数:1.00)A.该文件夹为空B.该文件夹中含有子文件夹C.该文件夹中只包含有可执
16、行文件D.该文件夹中包含系统文件31.有以下程序: struct STU char name10;v int num; int Score; ;main( ) struct STU s5= “YangSan”,20041,703,“LiSiGuo”,20042,580, “wangYin”,20043,680,“SunDan”,20044,550, “Penghua”,20045,537,*p5,*t; int i,j; for(i=0;i5;i+) pi= for(i=0;i4;i+) for(j=i+1;jpj-Score) t=pi;pi=pj;pj=t; printf(“5d %d/n
17、”,s1.Score,p1-Score); 执行后输出结果是( )。 (分数:1.00)A.550 550B.680 680C.580 550D.580 68032.有以下程序 #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); 程序运行后的输出结果是【 】。 (分数:1.00)A.209B.99C.2011D.111133.下列选项中不属于软件生命周期开发阶段任务的是【 】。(分数:1.00)A.软件测试
18、B.概要设计C.软件维护D.详细设计34.已知 i,j,k 为 int 型变量,若从键盘输入:1,2,3,使 i 的值为 1,j 的值为 2,k 的值为 3,以下选项中正确的输入语句是( )。(分数:1.00)A.scanf (“%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);35.下列描述中正确的是【 】。(分数:1.00)A.程序就是软件B.软件开发不受计算机系统的限制C.软件既是逻辑实体,又是物理实体D.软件是程序、数据与相关文
19、档的集合36.有以下程序 main(int argc,char * argv) int n=0,i; flor(i=l;iA.12B.12345C.12345678D.13637.有以下程序: main() int p8=11,12,13,14,15,16,17,18,i=0,j=0; while(i+7)if(pi%2)j+=Pi; printf(“%d/n“,j); 程序运行后的输出结果,是【 】。(分数:1.00)A.42B.45C.56D.6038.以下定义语句中正确的是( )。(分数:1.00)A.char a=Ab=B;B.float a=b=10.0;C.int a=10,*b=
20、D.float *a,b=39.设 a 和 b 均为 double 型变量,且 a=5.5,b=2.5,则表达式(int)a+b/b 的值是( )。(分数:1.00)A.6.500000B.6C.5.500000D.6.00000040.若整型变量 a、b、c、d 中的值依次为 1、4、3、2。则条件表达式 ab?a:cd?c:d 的值是【 】。(分数:1.00)A.1B.2C.3D.441.有以下程序 main() char*P=“3697“,“2584“; int i,j;long num=0; for(i-0;iA.35B.37C.39D.397542.有以下程序: #include s
21、tring.h main(int argc ,char *argv ) int i,len=0; for(i=1;iargc;i+=2) len+=strlen(argvi); printf(“5d/n”,len); 经编译链接后生成的可执行文件是 ex.exe,若运行时输入以下带参数的命令行 ex abcd efg h3 k44 执行后输出结果是( )。 (分数:1.00)A.14B.12C.8D.643.若有以下函数首部 int fun(double X10,int *n)则下面针对此函数的函数声明语句中正确的是【 】。(分数:1.00)A.int fun(double X,int *n)
22、;B.int fun(double ,int);C.int fun(double * X,int n);D.int fun(double *int*);44.有以下程序: #define P3 void F(int x)return(P*x*x); main() printf(“%d/n“,F(3+5); 程序运行后的输出结果是【 】。(分数:1.00)A.192B.29C.25D.编译出错45.以下叙述中错误的是【 】。(分数:1.00)A.C 程序必须由一个或一个以上的函数组成B.函数调用可以作为一个独立的语句存在C.若函数有返回值,必须通过 return 语句返回D.函数形参的值也可以传
23、回给对应的实参46.有以下程序 main() char S=“abcde“; S+=2; printf(“dn“,s 0); 执行后的结果是【 】。 (分数:1.00)A.输出字符 a 的 ASCII 码B.输出字符 c 的 ASCII 码C.输出字符 cD.程序出错47.以下程序段中,不能正确赋字符串(编译时系统会提示错误)的是( )(分数:1.00)A.char s10=”abcdefg”;B.char t =”abcdefg”,*s=t;C.char s10;s=”abcdefg”;D.char s10;strcpy(s,”abcdefg”);48.以下能正确定义且赋初值的语句是【 】。
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 C58 答案 解析 DOC
