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

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

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

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

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

    1、二级 C 语言笔试 310 及答案解析(总分:100.00,做题时间:90 分钟)一、B选择题/B(总题数:40,分数:70.00)1.设有定义: int a=2, b=3, c=4; 则以下选项中值为 0 的表达式是_。(分数:2.00)A.(! a=1) for(j=0; j4; j+) i=j; if(i2)i=3-j; S+=bij; return s; main() int a44=1, 2, 3, 4, 0, 2, 4, 6, 3, 6, 9, 12, 3, 2, 1, 0; printf(“%d/n“, f(a); 执行后的输出结果是_。(分数:2.00)A.12B.11C.18

    2、D.163.以下叙述正确的是_。(分数:2.00)A.构成 C 程序的基本单位是函数B.可以在函数中定义另一个函数C.main()函数必须放在其他函数之前D.所有被调用的函数一定要在调用之前进行定义4.有以下程序: main() int m, n, p; scanf(“m=% dn=% dp=% d“, printf(“% d % d % d/n“, m, n, p); 若想从键盘上输入数据,使变量 m 中的值为 123,n 中的值为 456,p 中的值为 789,则正确的输入是_。(分数:2.00)A.m=123n=456p=789B.m=123 n=456 p=789C.m=123,n=4

    3、56,p=789D.123 456 7895.以下叙述正确的是_。(分数:2.00)A.可以把 define 和 if 定义为用户标识符B.可以把 define 定义为用户标识符,但不能把 if 定义为用户标识符C.可以把 if 定义为用户标识符,但不能把 define 定义为用户标识符D.define 和 if 都不能定义为用户标识符6.以下叙述中错误的是_。(分数:2.00)A.C 语句必须以分号结束B.复合语句在语法上被看作一条语句C.空语句出现在任何位置都不会影响程序运行D.赋值表达式末尾加分号就构成赋值语句7.若有以下程序段(n 所赋值的是八进制数): int m=32767, n=

    4、032767; printf(“% d, % o/n“, m, n); 执行后输出结果是_。(分数:2.00)A.32767, 32767B.32767, 032767C.32767, 77777D.32767, 0777778.以下程序中函数 setup 的功能是返回形参指针 s1 和 s2 所指字符串中较小字符串的首地址: # includestdio. h # includestring. h char * scmp(char * s1, char * s2) if(strcmp(s1, s2)0) return(s1); else return(s2); main() int i; c

    5、har string20, str320; for(i=0; i3; i+)gets(stri); strcpy(string, scmp(str0, str1); strcpy(string, scmp(string, str2); printf(“% s/n“, string); 若运行时依次输入:abcd、abba 和 abc3 个字符串,则输出结果为_。(分数:2.00)A.abcdB.abbaC.abcD.abca9.有如下程序; int func(int a, int b) return(a+b); main() int x=2, y=5, z=8, r; r=func(func(

    6、x, y), z); printf(“% /d/n“, r); 该程序的输出的结果是_。 A) 12 B) 13 C) 14 D) 15(分数:2.00)A.B.C.D.10.有以下程序: main() int a=1, b; for(b=1; b=10; b+) if(a=8)break; if(a % 2=1)a+=5; continue; a-=3; printf(“% d/n“, B) ; 程序运行后的输出结果是_。(分数:2.00)A.3B.4C.5D.611.设有以下函数: f(int a) int b=0; static int c=3; b+; c+; return(a+b+c

    7、); 如果在下面的程序中调用该函数,则输出结果是_。 main() int a=2, i; for(i=0; i3; i+)printf(“% d/n“, f(a); (分数:1.00)A.7 8 9B.7 9 11C.7 10 13D.7 7 712.C 语言中用于结构化程序设计的 3 种基本结构是_。(分数:1.00)A.顺序结构、选择结构、循环结构B.if、switch、breakC.for、while、do-whileD.if、for、continue13.有定义语句:int a=1, b=2, c=3, x;,则以下选项中各程序段执行后,x 的值不等于 3 的是_。(分数:1.00)

    8、A.if(cx=1; else if(bx=2; else x=3;B.if(a3)x=3; else if(a2)x=2; else x=1;C.if(a3)x=3; if(a2)x=2; if(a1)x=1;D.if(ax=b; if(bx=c; if(cx=a;14.下列叙述中正确的是_。(分数:1.00)A.一个逻辑数据结构只能有一种存储结构B.数据的逻辑结构属于线性结构,存储结构属于非线性结构C.一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理效率D.一个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理效率15.若指针 p 已正确定义,要使 p 指向两个连续

    9、的整型动态存储单元,不正确的语句是_。(分数:1.00)A.p=2*(int*)malloc(sizeof(in);B.p=(int*)mallet(2*sizeof(in);C.p=(int*)malloc(2*2);D.p=(int*)calloc(2, sizeof(in);16.以下程序的输出结果是_。 long fun(int n) long s; if(n=1 | n=2)s=2; else s=n-fun(n-1); return s; main() printf(“% 1d/n“, fun(3); (分数:1.00)A.1B.2C.3D.417.以下叙述中错误的是_。(分数:1

    10、.00)A.用户所定义的标识符允许使用关键字B.用户所定义的标识符应尽量做到“见名知意”C.用户所定义的标识符必须以字母或下划线开头D.用户所定义的标识符中,大、小写字母代表不同标识18.有以下程序: int a=3; main() int s=0; int a=5; s+=a+ ; s+=a+; printf(“% d/n“, s); 程序运行后的输出结果是_。(分数:1.00)A.8B.10C.7D.1119.数据库设计的根本目标是要解决_。(分数:1.00)A.数据共享问题B.数据安全问题C.大量数据存储问题D.简化数据维护20.下列叙述中正确的是_。(分数:1.00)A.软件交付使用后

    11、还需要维护B.软件一旦交付使用就不需要维护C.软件交付使用后其生命周期就结束D.软件维护是指修复程序中被破坏的指令21.以下程序的输出结果是_。 int f() static int i=0; int s=1; s+=i; i+; return s; main() int i, a=0; for(i=0; i5; i+) a+=f(); printf(“% d/n“ , a); (分数:2.00)A.20B.24C.25D.1522.有以下程序: void swapl(int c0, int c1) int t; t=coo; coo=o1o; c1o=t; void swap2(int *

    12、c0, int * c1) int t; t=*c0; *c0=*c1; *c1=t; main() int a2=3, 5, b2=A3, 5); swapl(a, a+1); swap2( printf(“%d%d%d%d/n“, a0, a1, b0,b1); 程序运行后的输出结果是_。(分数:2.00)A.3 5 5 3B.5 3 3 5C.3 5 3 5D.5 3 5 323.以下定义语句中正确的是_。(分数:2.00)A.char a=A b=B;B.float a=b=19.0;C.int a=10, *b=D.float *a, b=24.设有如下程序段: int x=2002

    13、, y=2003; printf(“ % d/n“, (x, y); 则以下叙述中正确的是_。(分数:2.00)A.输出语句中格式说明符的个数少于输出项的个数,不能正确输出B.运行时产生出错信息C.输出值为 2002D.输出值为 200325.以下能正确定义二维数组的是_。(分数:2.00)A.int a3;B.int a3=2*3;C.int a3=;D.int a23=1), 2, 3,4;26.若已经定义的函数有返回值,则以下关于该函数调用的叙述中错误的是_。(分数:2.00)A.函数调用可以作为独立的语句存在B.函数调用可以作为一个函数的实参C.函数调用可以出现在表达式中D.函数调用可

    14、以作为一个函数的形参27.以下程序的输出结果是_。 int x=3; main() int i; for(i=1; ix; i+) incre(); incre() static int x=1; x*=x+1; printf(“ % d“, x); (分数:2.00)A.3 3B.2 2C.2 6D.2 528.有以下程序段: int n, t=1, s=0; scanf(“% d“, dos=s+t; t=t-2; )while(t!=n); 为使程序不陷入死循环,从键盘输入的数据应该是_。(分数:2.00)A.任意正奇数B.任意负偶数C.任意正偶数D.任意负奇数29.设变量 x 为 fl

    15、oat 型且已经赋值,则以下语句中能够将 x 中的数值保留到小数点后面两位,并将第三位四舍五入的是_。(分数:2.00)A.x=x*100+0.5/100.0B.x=(x*100+0.5)/100.0C.x=(in(x*100+0.5)/100.0D.x=(x/100+0.5)*100.030.对于长度为 n 的线性表,在最坏的情况下,下列各排序法所对应的比较次数中正确的是_。(分数:2.00)A.冒泡排序为 n/2B.冒泡排序为 nC.快速排序为 nD.快速排序为 n(n-1)/231.以下循环体的执行次数是_。 main() int i, j; for(i=0, j=1; i=j+1; i

    16、+=2, j-)printf(“% d/n“, i); (分数:2.00)A.3B.2C.1D.032.程序中对 fun 函数有如下说明: void * fun(); 此说明的含义是_。(分数:2.00)A.fun 函数无返回值B.fun 函数的返回值可以是任意的数据类型C.fun 函数的返回值是无值型的指针类型D.指针 fun 指向一个函数,该函数无返回值33.有以下程序: # define P 3 yoid F(int x) return(p*x*x); main() printf(“% d/n“, F(3+5); 程序运行后的输出结果是_。(分数:2.00)A.192B.29C.25D.

    17、编译出错34.以下程序的输出结果是_。 int a, b; void fun() a=100; b=200; main() int a=5, b=7; fun(); printf(“% d % d /n“, a, b); (分数:2.00)A.100200B.57C.200100D.7535.有以下程序: main() char a7=“a0/0a0/0“; int i, j; i=sizeof(a); j=strlen(a); printf(“% d % d/n“, i, j); 程序运行后的输出结果是_。(分数:2.00)A.2 2B.7 6C.7 2D.6 236.有以下程序: main

    18、() int m=3, n=4, x; x=-m+; x=x+8/+n; printf(“% d/n“, x); 程序运行后的输出结果是_。(分数:2.00)A.3B.5C.-1D.-21637.有以下程序: main() int a33, *p, i; p= for(i=0; i9; 1+)pi=i; for(i=0; i3; i+)printf(“% d“, a1i); 程序运行后的输出结果是_。(分数:2.00)A.0 1 2B.1 2 3C.2 3 4D.3 4 538.s1 和 s2 已正确定义并分别指向两个字符串。若要求:当 s1 所指串大于 s2 所指串时,执行语句 S。则以下选

    19、项中正确的是_。(分数: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;39.以下叙述中正确的是_。(分数:2.00)A.调用 printf 函数时,必须要有输出项B.调用 putchar 函数时,必须在之前包含头文件 stdi hC.在 C 语言中,整数可以以十二进制、八进制或十六进制的形式输出D.调用 getchar 函数读人字符时,可以从键盘上输入字符所对应的 ASCII 码40.有以下程序: int f(int n) if(n=1)retuxn 1; else ret

    20、urn 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.2D.1二、B填空题/B(总题数:15,分数:30.00)41.诊断和改正程序中错误的工作通常称为U 【1】 /U。(分数:2.00)填空项 1:_42.在关系数据库中,把数据表示成二维表,每一个二维表称为U 【2】 /U。(分数:2.00)填空项 1:_43.下面程序的运行结果:U 【3】 /U。 int f(int a, int n) if(n1) return a0+f( e

    21、lse return ao; main() int aa3=1, 2, 3, s; s=f( printf(“% d/n“, s); (分数:2.00)填空项 1:_44.以下函数 rotate 的功能是:将 a 所指 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=a0i;U 【4】 /U=aN-1i; (分数:2.0

    22、0)填空项 1:_45.有以下程序: main() int t=1, i=5; for(; i=0; i-)t*=i; printf(“% d/n“, t); 执行后的输出结果是U 【5】 /U。(分数:2.00)填空项 1:_46.已知字符 A 的 ASCII 代码值为 65,以下程序运行时若从键盘输入:B33回车,则输出结果是U 【6】 /U。 # include main() char a, b; a=getchar(); scanf(“% d“, a=a-A+0; b=b*2; printf(“% c % c/n“, a, b); (分数:2.00)填空项 1:_47.若有以下程序:

    23、main() int p, a=5; if(p=a!=0) printf(“% d/n“, p); else printf(“% d/n“, p+2); 执行后的输出结果是U 【7】 /U。(分数:2.00)填空项 1:_48.以下主程序运行后的输出结果是U 【8】 /U。 main() int i, m=0, n=0, k=0; for(i=9; i=ii; i+) switch(i/10) case 0:m+; n+; break; case 10:n+; break; default:k+; n+; printf(“% d % d % d/n“, m, n, k); (分数:2.00)填

    24、空项 1:_49.设在主函数中有以下定义和函数调用语句,且 fun 函数为 void 类型;请写出 fun 函数的首部U 【9】 /U,要求形参名为 b。 main() double s1022; int n; fun(s); (分数:2.00)填空项 1:_50.以下程序中,fun 函数的功能是求 3 行 4 列二维数组每行元素中的最大值,请填空。 void fun(int, int, int(*)4, int*); main() int a34=12, 41, 36, 28, 19, 33, 15, 27, 3, 27, 19, 1, b3, i; fun(3, 4, a, b); for

    25、(1=0; i3; i+)printf(“% 4d“, bi); printf(“/n“); void fun(int m, int n, int ar4, int * bar) int i, j, x; for(i=0; im; i+) x=ari0; for(j=0; jn; j+)if(xarij)x=arij; U 【10】 /U=x; (分数:2.00)填空项 1:_51.以下程序的输出结果是U 【11】 /U。 # define MCNA(m)2*m # define MCNB(n, m)2*MCRA(n)+m # define f(x)(x*x) main() int i=2,

    26、j=3; printf(“% d/n“, MCRB(j, MCRA(i); (分数:2.00)填空项 1:_52.以下程序运行后的输出结果是U 【12】 /U。 fun(int a) int b=0; static int c=3; b+; c+; return(a+b+c); main() int i, a=5; for(i=0; i3; i+)printf(“% d % d“, i, fun(a); printf(“/n“); (分数:2.00)填空项 1:_53.以下程序运行后的输出结果是U 【13】 /U。 # include string. h cbar *ss(char *s) c

    27、har *p, t; p=s+1; t=*s; while(-p)*(p-1)=*p; p+; *(p-1)=t; return s; main() char *p, str10=“abcdefgh“; p=ss(str); printf(“% s/n“, p); (分数:2.00)填空项 1:_54.下面程序的功能:将字符数组 a 中下标值为偶数的元素从小到大排列,其他元素不变。请填空。 # includestdio. h # includestring. h main() char a=“clanquage“, t; int i, j, k; k=strlen(A) ; for(i=0;

    28、i=k-2; i+=2) for(j=i+2;jk; j+=2) if(U 【14】 /U) t=ai;ai=aj; aj=t; puts(A) ; printf(“/n“); (分数:2.00)填空项 1:_55.下面程序的功能:输出 100 以内能被 3 整除且个位数为 6 的所有整数,请填空。 # includestdio. h main() int i, j; for(i=0; i10 或 i=9; i+) j=i*10+6; if(U 【15】 /U)continue; printf(“% d“, j); (分数:2.00)填空项 1:_二级 C 语言笔试 310 答案解析(总分:1

    29、00.00,做题时间:90 分钟)一、B选择题/B(总题数:40,分数:70.00)1.设有定义: int a=2, b=3, c=4; 则以下选项中值为 0 的表达式是_。(分数:2.00)A.(! a=1) for(j=0; j4; j+) i=j; if(i2)i=3-j; S+=bij; return s; main() int a44=1, 2, 3, 4, 0, 2, 4, 6, 3, 6, 9, 12, 3, 2, 1, 0; printf(“%d/n“, f(a); 执行后的输出结果是_。(分数:2.00)A.12B.11C.18D.16 解析:解析 f(a)=a00+a11+

    30、a22+a03=1+2+9+4=16。3.以下叙述正确的是_。(分数:2.00)A.构成 C 程序的基本单位是函数 B.可以在函数中定义另一个函数C.main()函数必须放在其他函数之前D.所有被调用的函数一定要在调用之前进行定义解析:解析 C 语言是由函数构成的。一个 C 程序可以包含一个主函数,即 main()函数,也可以包含一个 main()函数和若干其他函数。函数是 C 程序的基本单位。被调用的函数可以是系统提供的库函数,也可以是自定义的函数。从函数的形式上分为有参函数和无参函数。main()函数可以位于程序最前头,也可以位于程序结尾或中间,C 程序总是从 main()函数开始执行,不

    31、论 main()函数在程序中的位置如何。 C语言中函数必须独立定义,不能在一个函数中定义另一个函数,但可以在一个函数中调用另一个函数,而且被调函数的定义可以在程序中的任何位置,不一定要在调用函数之前进行定义。若被调函数在调用函数之后定义,在调用函数中需要对被调函数进行类型说明。4.有以下程序: main() int m, n, p; scanf(“m=% dn=% dp=% d“, printf(“% d % d % d/n“, m, n, p); 若想从键盘上输入数据,使变量 m 中的值为 123,n 中的值为 456,p 中的值为 789,则正确的输入是_。(分数:2.00)A.m=123

    32、n=456p=789 B.m=123 n=456 p=789C.m=123,n=456,p=789D.123 456 789解析:解析 输入变量的值的时候,输入的格式要和输入语句中那些控制格式字符串的格式一致。5.以下叙述正确的是_。(分数:2.00)A.可以把 define 和 if 定义为用户标识符B.可以把 define 定义为用户标识符,但不能把 if 定义为用户标识符 C.可以把 if 定义为用户标识符,但不能把 define 定义为用户标识符D.define 和 if 都不能定义为用户标识符解析:解析 if 是 C 语言中的保留字,所以不能作为用户标识符;define 是 C 语言

    33、中的预编译命令,由于 C 语言中的预编译命令都是以#开头,所以 define 可以作为用户标识符。6.以下叙述中错误的是_。(分数:2.00)A.C 语句必须以分号结束B.复合语句在语法上被看作一条语句C.空语句出现在任何位置都不会影响程序运行 D.赋值表达式末尾加分号就构成赋值语句解析:解析 C 语言中,只有一个分号的语句称为空语句,程序执行时并不产生任何的动作,但是随意加分号会产生错误,例如 D 选项所说到情况,这样就产生了错误。7.若有以下程序段(n 所赋值的是八进制数): int m=32767, n=032767; printf(“% d, % o/n“, m, n); 执行后输出结

    34、果是_。(分数:2.00)A.32767, 32767 B.32767, 032767C.32767, 77777D.32767, 077777解析:解析 “%o”以八进制无符号形式输出整数,n=032767 中的 032767 是整数的八进制形式,当以“%o”格式输出 n 时,结果仍为 32767。8.以下程序中函数 setup 的功能是返回形参指针 s1 和 s2 所指字符串中较小字符串的首地址: # includestdio. h # includestring. h char * scmp(char * s1, char * s2) if(strcmp(s1, s2)0) return

    35、(s1); else return(s2); main() int i; char string20, str320; for(i=0; i3; i+)gets(stri); strcpy(string, scmp(str0, str1); strcpy(string, scmp(string, str2); printf(“% s/n“, string); 若运行时依次输入:abcd、abba 和 abc3 个字符串,则输出结果为_。(分数:2.00)A.abcdB.abba C.abcD.abca解析:解析 函数 scmp 的功能是比较两个符号串的大小,返回值较小的那个符号串。str0中存

    36、放“abcd“、str1中存放“abba“、str2中存放“abc“,执行完语句 strcpy(string,scmp(sty0,sir1);后 string 中存放“abba“,执行完语句 strcpy(string,scmp(string,str2);后 string 中存放“abba“。9.有如下程序; int func(int a, int b) return(a+b); main() int x=2, y=5, z=8, r; r=func(func(x, y), z); printf(“% /d/n“, r); 该程序的输出的结果是_。 A) 12 B) 13 C) 14 D) 1

    37、5(分数:2.00)A.B.C.D. 解析:解析 函数 func 的功能是计算两个形参之和,并将值返回主调函数。所以:r=func(func(x, y), z)=func(func(2, 5), 8)=func(7, 8)=15。10.有以下程序: main() int a=1, b; for(b=1; b=10; b+) if(a=8)break; if(a % 2=1)a+=5; continue; a-=3; printf(“% d/n“, B) ; 程序运行后的输出结果是_。(分数:2.00)A.3B.4 C.5D.6解析:解析 第一次循环,a=1,b=1,第二个 if 条件成立 a=

    38、6,跳出这次循环执行第二次循环,由于两个 if 条件均不成立,a=a-3=3,b=2,第三次循环,第二个 if 条件成立 a=3+5=8,b=3,跳 m 这次循环执行第四次循环,a=8,b=4,第一个 if 条件满足,退出整个循环,输出 b。11.设有以下函数: f(int a) int b=0; static int c=3; b+; c+; return(a+b+c); 如果在下面的程序中调用该函数,则输出结果是_。 main() int a=2, i; for(i=0; i3; i+)printf(“% d/n“, f(a); (分数:1.00)A.7 8 9 B.7 9 11C.7 1

    39、0 13D.7 7 7解析:解析 本题考查静态变量的问题。函数 f 中 c 是静态变量存放在静态存储区,在程序的整个运行期间都不释放占据的存储单元。函数 f 被调用 3 次,调用过程如下。 第 1 次调用;a=2、b=0、c=3,执行b+和 c+后 b=1、c=4,f(a)=a+b+c=2+1+4=7 第 2 次调用:a=2、b=0、c=4执行 b+和 c+后b=1、c=5,f(a)=a+b+c=2+1+5=8 第 3 次调用:a=2、b=0、c=5,执行 b+和 c+后 b=1、c=6,f(a)=a+b+c=2+1+6=9 所以输出结果为选项 A。12.C 语言中用于结构化程序设计的 3 种

    40、基本结构是_。(分数:1.00)A.顺序结构、选择结构、循环结构 B.if、switch、breakC.for、while、do-whileD.if、for、continue解析:解析 本题主要考查结构化程序设计的基本结构。结构化程序设计有 3 种基本结构:顺序结构、选择结构、循环结构。13.有定义语句:int a=1, b=2, c=3, x;,则以下选项中各程序段执行后,x 的值不等于 3 的是_。(分数:1.00)A.if(cx=1; else if(bx=2; else x=3;B.if(a3)x=3; else if(a2)x=2; else x=1;C.if(a3)x=3; if(

    41、a2)x=2; if(a1)x=1; D.if(ax=b; if(bx=c; if(cx=a;解析:解析 选项 A 中表达式 ca(即 31)的值为假,所以执行 else if(ba),因 ba 不成立,结果为假,因此执行 else 语句 x=3;,得 x=3;选项 B 中表达式 a3(即 13)成立,故执行语句x=3;,else 后的语句不再执行,故 x=3;选项 D 中首先执行 if(ab),因 ab 即 12 成立。得x=b=2,然后执行 if(bc),因 23 成立,得 x=c=3,执行 if(ca),因 31 不成立,语句 x=a;不被执行,敞 x=3;选项 C 中因 a3 成立,故

    42、得 x=3,执行 if(a2)因 a2 成立,得 x=2,执行 if(a1),因 a1 不成立,故语句 x=1;不被执行,所以 x=2。14.下列叙述中正确的是_。(分数:1.00)A.一个逻辑数据结构只能有一种存储结构B.数据的逻辑结构属于线性结构,存储结构属于非线性结构C.一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理效率D.一个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理效率 解析:解析 逻辑结构是反映了元素之间的逻辑关系的数据结构,存储结构是逻辑结构在计算机中的存放形式,它们都具有线性结构和非线性结构。逻辑结构有顺序、链接、索引等存储结构,采用不同的存储

    43、结构,数据处理的效率不同。15.若指针 p 已正确定义,要使 p 指向两个连续的整型动态存储单元,不正确的语句是_。(分数:1.00)A.p=2*(int*)malloc(sizeof(in); B.p=(int*)mallet(2*sizeof(in);C.p=(int*)malloc(2*2);D.p=(int*)calloc(2, sizeof(in);解析:解析 本题考查 malloc 函数和 calloc 函数的应用。C 语言中库函数 malloc 和 calloc 的功能都是向系统申请分配内存空间。其中函数 malloc 的调用为:malloc(size),其中 size 是一个无

    44、符号整数,表示向系统申请多大的存储空间;calloc(n,size)表示向系统申请 n 个大小为 size 的存储空间。新标准C 提供的 malloc 和 calloc 函数的类型规定为 void*类型,使用时根据需要进行强制类型转换。选项B、C、D 都能满足 p 指向两个连续的整型存储单元的要求,其中(int*)表示强制类型转换。16.以下程序的输出结果是_。 long fun(int n) long s; if(n=1 | n=2)s=2; else s=n-fun(n-1); return s; main() printf(“% 1d/n“, fun(3); (分数:1.00)A.1 B

    45、.2C.3D.4解析:解析 在主函数中调用 fun 时,形参 n=3,所以 fun 中变量 s=n-fun(n-1)=3-fun(2)=3-2=1,即fun(3)=1。17.以下叙述中错误的是_。(分数:1.00)A.用户所定义的标识符允许使用关键字 B.用户所定义的标识符应尽量做到“见名知意”C.用户所定义的标识符必须以字母或下划线开头D.用户所定义的标识符中,大、小写字母代表不同标识解析:解析 在 C 语言中,用户所定义的标识符不能使用关键字。18.有以下程序: int a=3; main() int s=0; int a=5; s+=a+ ; s+=a+; printf(“% d/n“, s); 程序运行后的输出结果是_。(分数:1.00)A.8 B.10C.7D.11解析:解析 本题有两个同名变量 a,其中一个在 main 函数之前定义,为全局变量,另一个


    注意事项

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




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

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

    收起
    展开