欢迎来到麦多课文档分享! | 帮助中心 海量文档,免费浏览,给你所需,享你所想!
麦多课文档分享
全部分类
  • 标准规范>
  • 教学课件>
  • 考试资料>
  • 办公文档>
  • 学术论文>
  • 行业资料>
  • 易语言源码>
  • ImageVerifierCode 换一换
    首页 麦多课文档分享 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

    【计算机类职业资格】二级C语言笔试315及答案解析.doc

    • 资源ID:1326352       资源大小:94KB        全文页数:16页
    • 资源格式: DOC        下载积分:5000积分
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    二维码
    微信扫一扫登录
    下载资源需要5000积分(如需开发票,请勿充值!)
    邮箱/手机:
    温馨提示:
    如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如需开发票,请勿充值!如填写123,账号就是123,密码也是123。
    支付方式: 支付宝扫码支付    微信扫码支付   
    验证码:   换一换

    加入VIP,交流精品资源
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    【计算机类职业资格】二级C语言笔试315及答案解析.doc

    1、二级 C 语言笔试 315 及答案解析(总分:110.00,做题时间:90 分钟)一、B选择题/B(总题数:40,分数:80.00)1.下列函数定义中,会出现编译错误的是 _。(分数:2.00)A.max(int x,int y,int * *z=xy? x:y;B.int max(int x, int z; z=xy? x;y; return z; C.max(int x,int int z; z=xy? x:y; return(; D.int max(int x,int return(xy?x:;2.下面程序的功能是输出以下形式的金字塔图案: * * * * * * * * * * * *

    2、 * * * * main() int i,j; for(i=1;i=4;i+;) for(j=1;j=4-i;j+)printf(“ “); for(j=1; ;j=_;j+)printf(“*“); printf(“/n“); 在下划线处应填入的是 _。(分数:2.00)A.iB.2*i-1C.2*i+1D.i+23.已有定义:int i,a10,*p;;,则合法的赋值语句是 _。(分数:2.00)A.p=100;B.p=a5;C.p=a2+2;D.p=a+2;4.以下叙述中正确的是 _。(分数:2.00)A.C 语言的源程序不必通过编译就可以直接运行B.C 语言中的每条可执行语句最终都将

    3、被转换成二进制的机器指令C.C 源程序经编译形成的二进制代码可以直接运行D.C 语言中的函数不可以单独进行编译5.下列选项中正确的语句组是 _。(分数:2.00)A.char s8;s=“Beijing“;B.char *s;s=“Beijing“;C.char s8;s=“Beiiing“;D.char *s;s=“Beijing“;6.已定义以下函数: fun(int *p) return *p; 该函数的返回值是 _。(分数:2.00)A.不确定的值B.形参 p 中存放的值C.形参 p 所指存储单元中的值D.形参 p 的地址值7.设有定义语句: int x6=2,4,6,8,5,7,*p

    4、=x,i; 要求依次输出 x 数组 6 个元素中的值,不能完成此操作的语句是 _。(分数:2.00)A.for(i=0;i6;i+) printf(“%2d“,*(p+);B.for(i=0;i6;i+) printf(“%2d“,*(p+);C.for(i=0;i6;i+)printf(“%2d“,*p+);D.for(i=0;i6;i+)printf(“%2d“,(*+);8.以下关于函数的叙述中正确的是 _。(分数:2.00)A.每个函数都可以被其他函数调用(包括 main 函数)B.每个函数都可以被单独编译C.每个函数都可以单独运行D.在一个函数内部可以定义另一个函数9.有以下程序:

    5、main() int c=35;printf(“%d/n“,e 程序运行后的输出结果是 _。(分数:2.00)A.0B.70C.35D.110.有以下程序: main( ) char * p10=“abc“,“aabdfg“,“dcdbe“,“abbcf,“cd“; printf(“%d/n“,strlen(p4); 执行后的输出结果是 _。(分数:2.00)A.2B.3C.4D.511.已知 i、j、k 为 iht 型变量,若从键盘输入:1,2,3回车,使 i 的值为 1、j 的值为 2、k 的值为3,以下选项中正确的输入语句是 _。(分数:2.00)A.scanf(“%d %d %d“,c

    6、har c=10; float f=100.0;double x; a=f/=c*=(x=6.5); printf(“%d %d %3.1f %3.1f/n“,a,c,f,x); 程序运行后的输出结果是 _。(分数:2.00)A.1 65 1 6.5B.1 65 1.5 6.5C.1 65 1.0 6.5D.2 65 1.5 6.513.为了使模块尽可能独立,要求 _。(分数:2.00)A.模块的内聚程度要尽量高,且各模块间的耦合程度要尽量强B.模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱C.模块的内聚程度要尽量低,且各模块问的耦合程度要尽量弱D.模块的内聚程度要尽量低,且各模块间的耦

    7、合程度要尽量强14.以下程序运行后的输出结果是 _。 main() int a,b,c; a=10;b=20;c=(a%b1)|(a/b1); printf(“%d %d %d/n“,a,b,c); (分数:2.00)A.10 20 0B.20 10 0C.10 10 0D.20 20 015.有以下程序: # includestdio.h main() int a=1,2,3,4,5,6,7,8,9,10,11,12, *p=a+5, *q=NULL; *q=*(p+5); printf(“%d %d/n“, *p, *q); 程序运行后的输出结果是 _。(分数:2.00)A.运行后报错B.

    8、6 6C.6 11D.5 1016.若变量已正确定义,要求程序段完成 5!的计算,不能完成此操作的程序段是 _。(分数:2.00)A.for (i=1,p=1; i=5; i+ +)p* = i;B.for (i=1;i=5; i+ +) p=1;p*=i;C.i=1;p= 1;while( i=5) p* =i;i+ +; D.i=1;p=1;do p*=i;i+ +; while (i=5);17.以下程序运行后的输出结果是 _。 main() int x=0210;printf(“%x/n“,x); (分数:2.00)A.88B.86C.77D.2118.有以下程序: main() ch

    9、ar a,b,c,d; scanf(“%c,%c,%d,%d“,a, printf(“%c,%c,%c,%c/n“,a,b,c,d); 若运行时从键盘上输入:6,5,65,66回车,则输出结果是 _。(分数:2.00)A.6,5,A,BB.6,5,65,66C.6,5,6,5D.6,5,6,619.设有定义:int n=0,*p=,则以下选项中,正确的赋值语句是 _。(分数:2.00)A.p=1;B.*q=2C.q=pD.*p=520.以下选项中不属于 C 语言的类型的是 _。(分数:2.00)A.signed short intB.unsigned long intC.unsigned in

    10、tD.long short21.有以下程序: #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.abcdefB.gfedcbaC.gbcdefaD.abedcfg22.有以下程序: main() int n=0,m=l,x=2; if(!n) x-=l

    11、: if(!m) x-=2; if(!x) x-=3; printf (“ %d/n“,x); 执行后的输出结果是 _。(分数:2.00)A.2B.1C.3D.623.有以下程序: void sort(int a,int n) int i,j,t; for(i=0;in-1;i+=2) for(j=i+2; jn;j+=2) if(aiaj)t=ai;ai=aj;aj=t; main( ) int aa10=(1,2,3,4,5,6,7,8,9,10),i; sort(aa,10); for(i=0;i10;i+) printf(“%d“,aai); printf(“/n“); 其输出结果是

    12、_。(分数:2.00)A.1,2,3,4,5,6,7,8,9,10,B.10,9,8,7,6,5,4,3,2.,1,C.9,2,7,4,5,6,3,8,1,10,D.1,10,3,8,5,6,7,4,9,2,24.下列对于线性链表的描述中正确的是 _。(分数:2.00)A.存储空间不一定是连续,且各元素的存储顺序是任意的B.存储空间不一定是连续,且前件元素一定存储在后件元素的前面C.存储空间必须连续,且各前件元素一定存储在后件元素的前面D.存储空间必须连续,且各元素的存储顺序是任意的25.有以下程序: void fun(int*a,int i,int j) int t; if(ij) t=ai

    13、;ai=aj;aj=t; fun(a,+i,-j); main() int a=1,2,3,4,5,6,i; fun(a,0,5); for(i=0;i6;i+) printf(“%d“,ai); 执行后的输出结果是 _。(分数:2.00)A.6 5 4 3 2 1B.4 3 2 1 5 6C.4 5 6 1 2 3D.1 2 3 4 5 626.当把以下 4 个表达式用作 if 语句的控制表达式时,有一个选项与其他 3 个选项含义不同,这个选项是 _。(分数:2.00)A.k%2B.k%2=1C.(k%2)!=0D.!k2=127.已定义以下函数: fun(char*p2,char*p1)

    14、while(*p2=*p1)!=/0)p1+;p2+ 函数的功能是 _。(分数:2.00)A.将 p1 所指字符串复制到 p2 所指内存空间B.将 p1 所指字符串的地址赋给指针 p2C.对 p1 和 p2 两个指针所指字符串进行比较D.检查 p1 和 p2 两个指针所指字符串中是否有/029.有以下程序: void fun(char *a, char*b) a=b;(*a)+;) main() char c1=A,c2=a, *p1, *p2; p1= p2= fun(p1,p2); printf(“%c%c/n“, c1,c2); 程序运行后的输出结果是 _。(分数:2.00)A.AbB.

    15、aaC.AaD.Bb30.有以下程序 main( ) int i,s=0; for(i=1;il0;i+=2) s+=i+1 printf(“%d/n“,s); 程序执行后的输出结果是 _。(分数:2.00)A.自然数 19 的累加和B.自然数 110 的累加和C.自然数 19 中奇数之和D.自然数 110 中偶数之和31.下列叙述中,正确的是 _。(分数:2.00)A.用 E-R 图能够表示实体集之间一对一的联系、一对多的联系、多对多的联系B.用 E-R 图只能表示实体集之间一对一的联系C.用 E-R 图只能表示实体集之间一对多的联系D.用 E-R 图表示的概念数据模型只能转换为关系数据模型

    16、32.下列关于栈的描述正确的是 _。(分数:2.00)A.在栈中只能插入元素而不能删除元素B.在栈中只能删除元素而不能插人元素C.栈是特殊的线性表,只能在一端插入或删除元素D.栈是特殊的线性表,只能在一端插入元素,而在另一端删除元素33.以下有 4 组用户标识符,其中合法的一组是 _。(分数:2.00)A.For -sub CaseB.4d DO SizeC.f2_G3 IF abcD.WORD void define34.下列关于单目运算符、的叙述中正确的是 _。(分数:2.00)A.它们的运算对象可以是任何变量和常量B.它们的运算对象可以是 char 型变量和 int 型变量,但不能是 f

    17、loat 型变量C.它们的运算对象可以是 int 型变量,但不能是 double 型变量和 float 型变量D.它们的运算对象可以是 char 型变量、int 型变量和 float 型变量35.有以下程序: main() char str10=“China“,“Beijing“),*P=str; printf(“%s/n“,p+10); 程序运行后的输出结果是 _。(分数:2.00)A.ChinaB.BeijingC.ngD.ing36.有以下程序: int*f(int*x,int*y) if(*x*y) return x; else return y; main() int a=7,b=8

    18、,*P,*q,*r; P= printf( % d, % d/n“, strlen(s),sizeof(s); 执行后的输出结果是 _。(分数:2.00)A.赋初值的字符串有错B.6,7C.5,6D.6,638.有定义语句:int x,y;,若要通过 scanf(“%d,%d“, 该语句所表示的含义是 _。 (分数:2.00)A.B.C.D.40.有以下程序: void f(int y,int *x) y=y+ *x; *x;=*x+y; main() int x=2,y=4; f(y, 执行后的输出结果是 _。(分数:2.00)A.8 4B.8 8C.4 8D.4 2二、B填空题/B(总题数

    19、:15,分数:30.00)41.有以下程序: main() int a=7,b=8, *p, *q, *r; p= q= r=p; p=q; q=r; printf(“%d,%d,%d,%d/n“, *p,*q,a,b); 程序运行后的输出结果是U 【1】 /U。(分数:2.00)填空项 1:_42.有以下程序: # includestring.h main(int argc,char *argv) int i,len=0; for(i=1;iargc;i+=2) len+= strlen(argvi); printf(“%d/n“,len); 经编译连接后生成的可执行文件是 ex.exe,若

    20、运行时输入以下带参数的命令行: ex abcd efg h3 k44 执行后的输出结果是U 【2】 /U。(分数:2.00)填空项 1:_43.有以下程序: main() int a33,*p,i; p=i9;i+)pi=i+1; printf(“%d/n“,a12); 程序运行后的输出结果是U 【3】 /U。(分数:2.00)填空项 1:_44.有以下程序: void f(int a,int i,int j) int t; if(ij) t=ai;ai=aj;aj=t; f(a,i+1,j-1); main() int i,aa5=1,2,3,4,5; f(aa,0,4); for(i=0;

    21、i5;i+) printf(“%d,“,aai);printf(“/n“); 执行后的输出结果是U 【4】 /U。(分数:2.00)填空项 1:_45.目前实际存在和使用的广域网基本上都是采用 _拓扑结构类型。 有以下程序: # include string.h struct STU int num; float TotalScore; ; void f(struct STU p) struct STU s2=20041,703,20045,537; p.num=s1.num;p.TotalScore=s1.TotalScore; main() struct STU s2=20041,703,

    22、20042,580; f(s0); printf(“%d %3.0f/n“,s0.num,s0,TotalScore); 程序运行后的输出结果是U 【5】 /U。(分数:2.00)填空项 1:_46.若有以下程序: int f(int x,int y) return (y-x)*x; main() int a=3,b=4,c=5,d; d=f(f(3,4),f(3,5); printf(“%d/n“,d); 执行后的输出结果是U 【6】 U。/U/U(分数:2.00)填空项 1:_47.有以下程序: void swap 1(int c) int t; t=c0;c0=c1;c1=t; void

    23、 swap2(int c0,int c1) int t; t=c0;c0=c1;c1=t; main() int a2=3,5,b2=3,5; swaplA);swap2(b0,b1); printf(“%d,%d,%d,%d/n“,a0,a1,b0,b1); 其输出结果是U 【7】 /U。(分数:2.00)填空项 1:_48.有以下程序; int a=2; int f(int *A) return(*A) +; main() int s=0; int a=5; s+=f( b=p5; b 中的值是U 【9】 /U。(分数:2.00)填空项 1:_50.以下程序的运行结果是U 【10】 /U。

    24、 # includestring.h char *ss(char *s) return s+strlen(s)/2; main() char *p,*str=“abcdefgh“; p=ss(str);printf(“%s/n“,p); (分数:2.00)填空项 1:_51.有如下程序段: main(int argc,char *argv) int n,i=0; while(argv1i!=/0) n=fun();i+; printf(“%d/n“,n*argc); int fun() static int s=0; s+=1; return s; 假设程序经编译、连接后生成可执行文件 exa

    25、m,exe,若键入如下命令行: exam l23回车 则运行结果为U 【11】 /U。(分数:2.00)填空项 1:_52.以下程序运行后的输出结果是U 【12】 /U。 # define S(x) 4*x*x+1 main() int i=6,j=8; printf(“%d/n“,S(i+j); (分数:2.00)填空项 1:_53.以下程序运行后的输出结果是U 【13】 /U。 # includestring.h void fun(char *s,int p,int k) int i; for(i=p;ik-1;i+)si=si+2; main() char s=“abcdefg“; fu

    26、n(s,3,strlen(s);puts(s); (分数:2.00)填空项 1:_54.若有以下程序: main() int a44=1,2,-3,-4,0,-12,-13,14,-21,23,0,-24,-31,32,-33,0; int i,j,s=0; for(i=0;i4;i+) for(j=0;j4;j+) if (aij0) continue; if(aij=0) break; s+=aij; printf(“%d/n“,s); 执行后的输出结果是U 【14】 /U。(分数:2.00)填空项 1:_55.若有以下程序: main() char a; a=H-A+0; printf(

    27、“%c/n“,a); 执行后的输出结果是U 【15】 /U。(分数:2.00)填空项 1:_二级 C 语言笔试 315 答案解析(总分:110.00,做题时间:90 分钟)一、B选择题/B(总题数:40,分数:80.00)1.下列函数定义中,会出现编译错误的是 _。(分数:2.00)A.max(int x,int y,int * *z=xy? x:y;B.int max(int x, int z; z=xy? x;y; return z; C.max(int x,int int z; z=xy? x:y; return(; D.int max(int x,int return(xy?x:;解析

    28、:解析 本题考查函数的定义。选项 B 中函数形参 y 没有说明数据类型。2.下面程序的功能是输出以下形式的金字塔图案: * * * * * * * * * * * * * * * * main() int i,j; for(i=1;i=4;i+;) for(j=1;j=4-i;j+)printf(“ “); for(j=1; ;j=_;j+)printf(“*“); printf(“/n“); 在下划线处应填入的是 _。(分数:2.00)A.iB.2*i-1 C.2*i+1D.i+2解析:解析 根据题意可知第二个 j 循环结束的条件是第 i 行打印出的“*“的个数。3.已有定义:int i,a

    29、10,*p;;,则合法的赋值语句是 _。(分数:2.00)A.p=100;B.p=a5;C.p=a2+2;D.p=a+2; 解析:解析 因 p 是指针变量,故选项 D 正确。4.以下叙述中正确的是 _。(分数:2.00)A.C 语言的源程序不必通过编译就可以直接运行B.C 语言中的每条可执行语句最终都将被转换成二进制的机器指令 C.C 源程序经编译形成的二进制代码可以直接运行D.C 语言中的函数不可以单独进行编译解析:解析 C 语言编写的程序必须经过编译、连接后才可以执行,选项 A 错误;C 语言编译后生成的二进制代码是目标文件,需进一步连接生成.exe 文件方可执行,选项 C 错误;C 语言

    30、中函数可以单独编译。5.下列选项中正确的语句组是 _。(分数:2.00)A.char s8;s=“Beijing“;B.char *s;s=“Beijing“;C.char s8;s=“Beiiing“;D.char *s;s=“Beijing“; 解析:解析 C 语言规定可以对字符指针变量直接赋字符串常量,但不能给字符数组直接赋字符串常量,对字符数组赋字符串常量应使用的是 strcpy 函数。正确答案为选项 D。6.已定义以下函数: fun(int *p) return *p; 该函数的返回值是 _。(分数:2.00)A.不确定的值B.形参 p 中存放的值C.形参 p 所指存储单元中的值 D

    31、.形参 p 的地址值解析:解析 函数 fun 的形参是指针变量,*p 的含义是指针变量 p 所指存储单元的内容,因此正确答案为 C。7.设有定义语句: int x6=2,4,6,8,5,7,*p=x,i; 要求依次输出 x 数组 6 个元素中的值,不能完成此操作的语句是 _。(分数:2.00)A.for(i=0;i6;i+) printf(“%2d“,*(p+);B.for(i=0;i6;i+) printf(“%2d“,*(p+);C.for(i=0;i6;i+)printf(“%2d“,*p+);D.for(i=0;i6;i+)printf(“%2d“,(*+); 解析:解析 选项 D 中

    32、(*p)+的意思是将 p 所指向的存储单元的值加 1,与题意不符,错误。8.以下关于函数的叙述中正确的是 _。(分数:2.00)A.每个函数都可以被其他函数调用(包括 main 函数)B.每个函数都可以被单独编译 C.每个函数都可以单独运行D.在一个函数内部可以定义另一个函数解析:解析 main 函数是不能被其他函数调用的,函数可以单独编译,但不能单独运行,C 语言中,一个函数内部是不能再定义另一函数的。9.有以下程序: main() int c=35;printf(“%d/n“,e 程序运行后的输出结果是 _。(分数:2.00)A.0B.70C.35 D.1解析:解析 “ printf(“%

    33、d/n“,strlen(p4); 执行后的输出结果是 _。(分数:2.00)A.2 B.3C.4D.5解析:解析 本题中 p4=“cd“,所以 strlen(p4)=2。11.已知 i、j、k 为 iht 型变量,若从键盘输入:1,2,3回车,使 i 的值为 1、j 的值为 2、k 的值为3,以下选项中正确的输入语句是 _。(分数:2.00)A.scanf(“%d %d %d“,char c=10; float f=100.0;double x; a=f/=c*=(x=6.5); printf(“%d %d %3.1f %3.1f/n“,a,c,f,x); 程序运行后的输出结果是 _。(分数:

    34、2.00)A.1 65 1 6.5B.1 65 1.5 6.5 C.1 65 1.0 6.5D.2 65 1.5 6.5解析:解析 本题中变量 a 是 int 型,c 是 char 型,f 是 float 型,x 是 double 型。根据变量的数据类型,执行语句 a=f/=c*=(x=6.5)时,首先执行 x.6.5 得 x=6.5;然后执行 c*=x 得 c=cx=106.5=65;执行 f/=c 得 f=f/c=100.0/65= 1.5385;最后执行 a=f 得 a=1。以“%3.1f”格式输出变量 f 和 x,小数点后面保留一位有效数字,故正确答案为 B。13.为了使模块尽可能独立

    35、,要求 _。(分数:2.00)A.模块的内聚程度要尽量高,且各模块间的耦合程度要尽量强B.模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱 C.模块的内聚程度要尽量低,且各模块问的耦合程度要尽量弱D.模块的内聚程度要尽量低,且各模块间的耦合程度要尽量强解析:解析 为了使模块尽可能独立,模块分解时应满足信息隐蔽原则。尽量使模块的内聚度高,模块间的耦合度低。模块的大小适中(通常一个模块以 50100 个语句行最为适宜)。14.以下程序运行后的输出结果是 _。 main() int a,b,c; a=10;b=20;c=(a%b1)|(a/b1); printf(“%d %d %d/n“,a,b

    36、,c); (分数:2.00)A.10 20 0 B.20 10 0C.10 10 0D.20 20 0解析:解析 a%b=11 不成立,根据“|”的性质,不需要看后面的表达式,就可以得出 c=0。15.有以下程序: # includestdio.h main() int a=1,2,3,4,5,6,7,8,9,10,11,12, *p=a+5, *q=NULL; *q=*(p+5); printf(“%d %d/n“, *p, *q); 程序运行后的输出结果是 _。(分数:2.00)A.运行后报错 B.6 6C.6 11D.5 10解析:解析 指针 q 没有指向确定的存储单元,故不能赋值。16

    37、.若变量已正确定义,要求程序段完成 5!的计算,不能完成此操作的程序段是 _。(分数:2.00)A.for (i=1,p=1; i=5; i+ +)p* = i;B.for (i=1;i=5; i+ +) p=1;p*=i; C.i=1;p= 1;while( i=5) p* =i;i+ +; D.i=1;p=1;do p*=i;i+ +; while (i=5);解析:解析 选项 B 中每次执行循环体都要执行 p=1,无法保存上次的运算结果,执行完 while 循环后p=5。17.以下程序运行后的输出结果是 _。 main() int x=0210;printf(“%x/n“,x); (分数

    38、:2.00)A.88 B.86C.77D.21解析:解析 x 以 0 开头是以八进制的形式赋值的,输出时要输出其对应的十六进制。0210 对应的十六进制是 88。18.有以下程序: main() char a,b,c,d; scanf(“%c,%c,%d,%d“,a, printf(“%c,%c,%c,%c/n“,a,b,c,d); 若运行时从键盘上输入:6,5,65,66回车,则输出结果是 _。(分数:2.00)A.6,5,A,B B.6,5,65,66C.6,5,6,5D.6,5,6,6解析:解析 char 型数据类型以%d 的形式输入时,输入的是 ASCII 值。65 是字符 A 的 A

    39、SCII 码值,66是字符 B 的 ASCII 值。19.设有定义:int n=0,*p=,则以下选项中,正确的赋值语句是 _。(分数:2.00)A.p=1;B.*q=2C.q=pD.*p=5 解析:解析 本题中 n 是 int 型变量,p 是指向 int 型的指针变量,q 是指向指针的指针变量,故正确答案为 D。20.以下选项中不属于 C 语言的类型的是 _。(分数:2.00)A.signed short intB.unsigned long intC.unsigned intD.long short 解析:解析 本题考查 C 语言中整型变量的分类问题,选项 D 不是 C 语言合法的数据类型

    40、。21.有以下程序: #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.abcdefB.gfedcba C.gbcdefaD.abedcfg解析:解析 p=str+strlen(str)/2+1=str+4,f(p,p-2)的功能是将 p4与 p2互换

    41、,p5与 p1互换,p6与 p0互换,最后的结果为 gfedcba。22.有以下程序: main() int n=0,m=l,x=2; if(!n) x-=l: if(!m) x-=2; if(!x) x-=3; printf (“ %d/n“,x); 执行后的输出结果是 _。(分数:2.00)A.2B.1 C.3D.6解析:解析 因 n=0,故!n 为真,执行语句 x-=1 得 x=x-1=2-1=1;条件!m 和!x 不成立,所以 x1,正确答案为 1。23.有以下程序: void sort(int a,int n) int i,j,t; for(i=0;in-1;i+=2) for(j=

    42、i+2; jn;j+=2) if(aiaj)t=ai;ai=aj;aj=t; main( ) int aa10=(1,2,3,4,5,6,7,8,9,10),i; sort(aa,10); for(i=0;i10;i+) printf(“%d“,aai); printf(“/n“); 其输出结果是 _。(分数:2.00)A.1,2,3,4,5,6,7,8,9,10,B.10,9,8,7,6,5,4,3,2.,1,C.9,2,7,4,5,6,3,8,1,10, D.1,10,3,8,5,6,7,4,9,2,解析:解析 函数 sort 的功能是将 a0、a2、a4、a6和 a8按照由大到小的次序排

    43、序,其他元素值不变。正确答案为 C。24.下列对于线性链表的描述中正确的是 _。(分数:2.00)A.存储空间不一定是连续,且各元素的存储顺序是任意的 B.存储空间不一定是连续,且前件元素一定存储在后件元素的前面C.存储空间必须连续,且各前件元素一定存储在后件元素的前面D.存储空间必须连续,且各元素的存储顺序是任意的解析:解析 线性链表属于链式存储结构,在链式存储结构中,存储空间可以不连续,各元素的存储顺序是任意的,元素之间的逻辑关系是由指针域来决定的。25.有以下程序: void fun(int*a,int i,int j) int t; if(ij) t=ai;ai=aj;aj=t; fu

    44、n(a,+i,-j); main() int a=1,2,3,4,5,6,i; fun(a,0,5); for(i=0;i6;i+) printf(“%d“,ai); 执行后的输出结果是 _。(分数:2.00)A.6 5 4 3 2 1 B.4 3 2 1 5 6C.4 5 6 1 2 3D.1 2 3 4 5 6解析:解析 本题考查指针变量作函数形参的问题。指针变量作函数的形参,实现的是地址传递,形参的改变可以影响实参。fun 由数的功能是将 a 所指数组中的内容逆置。在 main 函数中调用 fun 函数后,实参数组 s 中元素的值变为:a0=6、 a1=5、a2=4、a3=3、a4=2、a5=1。26.当把以下 4 个表达式用作 if 语句的控制表达式时,有一个选项与其他 3 个选项含义不同,这个选项是 _。(分数:2.00)A.k%2B.k%2=1C.(k%2)!=0D.!k2=1 解析:解析 A、B、C 作为 if 语句的条件时均表示 k 不能被 2 整除的情况时为真,但是 D 表示 k 为 0 时为真。27.已定义以下函数: fun(char*p2,char*p1) while(*p2=*p1)!=/0)p1+;p2+ 函数的


    注意事项

    本文(【计算机类职业资格】二级C语言笔试315及答案解析.doc)为本站会员(ownview251)主动上传,麦多课文档分享仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文档分享(点击联系客服),我们立即给予删除!




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
    备案/许可证编号:苏ICP备17064731号-1 

    收起
    展开