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

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

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

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

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

    1、二级 C 语言笔试-345 及答案解析(总分:98.50,做题时间:90 分钟)一、选择题(总题数:50,分数:62.00)1.数据处理的最小单位是( )。A) 数据 B) 数据元素 C) 数据项 D) 数据结构(分数:1.00)A.B.C.D.2.执行下面程序片段的结果是 ( )int x123;doprintf(“%3d/n“,x-);while(!x);A) 打印出 321 B) 打印出 123 C) 不打印任何内容 D) 陷入死循环(分数:1.00)A.B.C.D.3.C 语言可执行程序的开始执行点是( )。A) 包含文件中的第一个函数 B) 程序中第一个函数C) 程序中的 main(

    2、)函数 D) 程序中第一条语句(分数:1.00)A.B.C.D.4.函数的值通过 return 语句返回,下面关于 return 语句的形式描述错误的是A) return 表达式; B) return(表达式);C) 一个 return 语句可以返回多个函数值 D) 一个 return 语句只能返回一个函数值(分数:1.00)A.B.C.D.5.若有下列定义和语句:int u=011,v=0x11,w=11;printf(“%o,%x,%d/n“,u,v,w);则输出结果是( )。A) 9,17,11 B) 9,11,11 C) 11,11,11 D) 11,17,11(分数:2.00)A.B

    3、.C.D.6.C 语言中,组成数据文件的成分是 _。A) 记录 B) 数据行 C) 数据块 D) 字符(字节)序列(分数:1.00)A.B.C.D.7.下列叙述中正确的是( )。A) 栈是“先进先出”的线性表B) 队列是“先进后出”的线性表C) 循环队列是非线性结构D) 有序线性表既可以采用顺序存储结构,也可以采用链式存储结构(分数:1.00)A.B.C.D.8.有以下程序main()int i=1,j=1,k=2;if(j+k+)do(printf(“%d“,x-=4) ;while(!(-X);程序的输出结果是( )。A) 1 B) 2 0 C) 1 -4 D) 死循环(分数:2.00)A

    4、.B.C.D.12.有以下程序main()int a=1,b=2,m=0,n=0,k;k=(n=ba)(m=ab) ;printf(“%d,%d/n“,k,m);程序运行后的输出结果是A) 0,0 B) 0,1 C) 1,0 D) 1,1(分数:1.00)A.B.C.D.13.“商品”与“顾客”两个实体集之间的联系一般是_。A) 对 B) 对多C) 多对一 D) 多对多(分数:1.00)A.B.C.D.14.有以下程序:#includestdio.h#includestring.hmain()char str20(“One*world“,“One*Dream!“,*p=str1;prinft(

    5、“%d,“,strlen(p);printf(“%s/n“,p);程序运行后的输出结果是( )。A) 9,One*World B) 9,One*Dream!C) 10,One*Dream! D) 10,One*World(分数:1.00)A.B.C.D.15.以下程序的输出结果是_。#includestdio.h#define SQR(x)x*xmain()int a,k=3;a=+SQR(k+1);printf(“%d/n“,a);A) 8 B) 9 C) 17 D) 20(分数:1.00)A.B.C.D.16.下述函数功能是_。int fun(char*x)char*y=x;while(*

    6、y+);return y-s-1;A) 求字符串的长度 B) 求字符串存放的位置C) 比较两个字符串的大小 D) 将字符串 x 连接到字符串 y 后面(分数:1.00)A.B.C.D.17.在关系数据库中,用来表示实体之间联系的是( )。A) 树结构 B) 网结构 C) 线性表 D) 二维表(分数:1.00)A.B.C.D.18.现有以下结构体说明和变量定义,如图所示,指针 P,q,r 分别指向一个链表中连续的三个结点。(分数:1.00)A.B.C.D.19.阅读下列程序,则运行结果为#include “stdio.h“fun()static int x=3;x+;return x;main(

    7、)int i,x;for(i=0;i3;i+)x=fun();printf(“%d/n“,x);A) 3 B) 4 C) 5 D) 6(分数:1.00)A.B.C.D.20.有以下程序: 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);程序运行后的输出结果是 _。A) Ab B) aa C) Aa D) Bb(分数:2.00)A.B.C.D.21.有以下程序int a=3;main()int s=0;int a=5; s+=

    8、a+; s+=a+;printf(“%d/n“,s);程序运行后的输出结果是A) 8 B) 10 C) 7 D) 11(分数:1.00)A.B.C.D.22.有以下程序main ( )char str =“xyz“, *ps=str;while (*ps) ps+:for (ps- ;ps-str=0 ;ps-) puts(ps);执行后输出结果是A) yzxyzB) zyzC) zyzxyzD) xxyxyz(分数:1.00)A.B.C.D.23.以下所列的各函数首部中,正确的是_。A) void play(Var:Integer,var b:Integer)B) void play(int

    9、 a,b)C) void play(int a,int b)D) Sub play(a as integer,b as integer)(分数:1.00)A.B.C.D.24.数据库设计的四个阶段是:需求分析,概念设计,逻辑设计和_。(A) 编码设计(B) 测试阶段(C) 运行阶段(D) 物理设计(分数:2.00)A.B.C.D.25.数据库、数据库系统和数据库管理系统之间的关系是( )。A) 数据库包括数据库系统和数据库管理系统B) 数据库系统包括数据库和数据库管理系统C) 数据库管理系统包括数据库和数据库系统D) 三者没有明显的包含关系(分数:1.00)A.B.C.D.26.以下选项中与

    10、if(a=1) a=b; else a+;语句功能不同的 switch 语句是A) switch(a)case 1: a=b; break;default:a+;B) switch(a=1)case 0: a=b; break;case 1:a+;C) switch(a)default: a+; break;case 1:a=b;D) switch(a=1)case 1:a=b; break;case 0:a+;(分数:1.00)A.B.C.D.27.下述关于数据库系统的叙述中正确的是A) 数据库系统减少了数据冗余B) 数据库系统避免了一切冗余C) 数据库系统中数据的一致性是指数据类型一致D)

    11、 数据库系统比文件系统能管理更多的数据(分数:1.00)A.B.C.D.28.有以下程序:#includestdio.hmain()FILE*fp;char str10;fp=fopen(“myfile,dat“,“);fputs(“abc“,ip);fclose(fp);fp=fopen(“myfile.dat“,“a*“);fprintf(fp,“%d“,28);rewind(fp);fscanf(fp,“%s“,str);puts(str);fclose(fp);程序运行后的输出结果是( )。Aabc B28cCabc28 D内类型不一致而出错(分数:1.00)A.B.C.D.29.以下

    12、程序中函数 sort 的功能是对 a 数组中的数据进行由大到小的排序void sort(int a,int n)int i,j,t;for(i=0;in-1;i+)for(j=i+1;n;j+)if(aiaj)t=ai;ai=aj;aj=t; main()int aa10=1,2,3,4,5,6,7,8,9,10,i;sort(-fun 是一个返回 int 指针的函数B) int (*fun)();-fun 是一个返回 int 指针的函数C) int (*array5)();-array 是一个有 5 个元素的数组,每一个元素都是一个函数指针,指向一个返回 int 的函数D) int (*fu

    13、n(int)(int);-fun 是带有一个 int 参数的函数,返回值是一个函数指针,这个指针指向带有一个 int 参数并返回 int 的函数(分数:2.00)A.B.C.D.32.有下列二叉树,对此二叉树前序遍历的结果为( )。(分数:2.00)A.B.C.D.33.如果需要打开一个已经存在的非空文件“Demo”进行修改,下面选项中正确的是( )。A) fp=fopen(“Demo“, “r“); B) fp=fopen(“Demo“, “ab+“); C) fp=fopen(“Demo“, “w+“); D) fp=fopen(“Dem0“, “r+“)(分数:1.00)A.B.C.D.

    14、34.若 a 是 float 型变量,b 是 unsigned 型变量,以下输入语句合法的是 ( )Ascanf(“%62f%d“, while 循环执行的次数是( )。A) 无限次 B) 有语法错,不能执行C) 一次也不执行 D) 执行 1 次(分数:1.00)A.B.C.D.36.设 x、y、t 均为血型变量,则执行语句 x=y=3;t=+x | | +y;后,y 的值为 _。A) 不定值 B) 4 C) 3 D) 1(分数:1.00)A.B.C.D.37.数据库设计的四个阶段是:需求分析、概念设计、逻辑设计和( )。A) 编码设计 B) 测试阶段 C) 运行阶段 D) 物理设计(分数:2

    15、.00)A.B.C.D.38.下列叙述中正确的是( )。A) break 语句只能用于 switch 语句B) 在 switch 语句中必须使用 defaultC) break 语句必须与 switch 语句中的 case 配对使用D) 在 switch 语句中,不一定使用 break 语句(分数:1.00)A.B.C.D.39.程序段:int i=65536;prinff(“%d/n“,i);,则输出结果是_。A65536 B0 C有语法错误,无输出结果 D-1(分数:2.00)A.B.C.D.40.数据库、数据库系统和数据库管理系统之间的关系是A) 数据库包括数据库系统和数据库管理系统 B

    16、) 数据库系统包括数据库和数据库管理系统C) 数据库管理系统包括数据库和数据库系统 D) 3 者没有明显的包含关系(分数:1.00)A.B.C.D.41.有以下程序:struct Sint n;int a20;;void f(struct S*P)int i,j,t;for(i=0;iP-n-1;i+)for(j=j+1;jP-n-1;j+)if(p-aip-aj)t=P-ai;p-ai=P-aj;p-aj=tmain()int i;struct S s10,2,3,1,6,8,7,5,4,10,9;f(s);for(i=0;is.n;i+)printf(“%d“,s.ai);程序运行后的输出

    17、结果是_。A) 3 B) 4 C) 5 D) 6(分数:2.00)A.B.C.D.42.以下程序的输出结果是_。main()int i;for(i=1;i6;i+)if(i%2)(printf(“#“);continue;printf(“*“);printf(“/n“);A) #*#*# B) # C) * D) *#*#*(分数:1.00)A.B.C.D.43.结构化程序设计主要强调的是_。A) 程序的规模 B) 程序的易读性C) 程序的执行效率 D) 程序的可移植性(分数:1.00)A.B.C.D.44.执行下列程序段后,变量 a,b,c 的值分别是( )。int x=5,y=4;int

    18、a,b,c;a=(-x=y+)?x:+y;b=+x;c=y;A) a=5, b=5, c=5 B) a=4, b=5, c=5C) a=5, b=6, c=5 D) a=1, b=5, c=6(分数:1.00)A.B.C.D.45.若变量已正确定义,要求程序段完成求 5!的计算,不能完成此操作的程序段是( )。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;dop*=i; i+; while(1=5)(分数:1.00)A.B.C.D.46.有

    19、以下程序:#include stdio.hint fun(int x, int n) static int sum=0, i; for(i=0; in; i+) sum+=xi; return sum; main() int a=1, 2, 3, 4, 5, b=6, 7, 8, 9, s=0; s=fun(a, 5) +fun(b, 4); printf(“%d/n“, s); 程序执行后的输出结果是( )。A) 45 B) 50 C) 60 D) 55(分数:1.00)A.B.C.D.47.设有定义:char p=1,2,3,*q=p;,以下不能计算出一个 char 型数据所占字节数的表达

    20、式是A) sizeof(p) B) sizeof(char) C) sizeof(*q) D) sizeof(p0)(分数:1.00)A.B.C.D.48.下列程序的输出结果是( )。#includestdio.hvoid main()int b6=2,4,6,8,10,12;int *p=b,*q=printf(“%d“,*(p+);printf(“%d,“,*q);A) 4,4 B) 2,2 C) 4,5 D) 2,4(分数:2.00)A.B.C.D.49.下面不属于软件设计原则的是A) 抽象 B) 模块化 C) 白底向上 D) 信息隐蔽(分数:2.00)A.B.C.D.50.若有如下程序

    21、:main()int x=3,y=4,z;z=(x+(y-=X*X);printf(“%d,%d/n“,y,z);则程序执行后的输出结果是( )。A) -4,2 B) -5,-2 C) -5,-1 D) 4,-2(分数:1.00)A.B.C.D.二、填空题(总题数:20,分数:36.50)51.数据库系统中实现各种数据管理功能的核心软件称为 1。(分数:1.00)填空项 1:_52.数据独立性分为逻辑独立性与物理独立性。当数据的存储结构改变时,其逻辑结构可以不变,因此,基于逻辑结构的应用程序不必修改,称为 1。(分数:1.00)填空项 1:_53.mystrlen 函数的功能是计算 str 所

    22、指字符串的长度,并作为函数值返回。请填空。int mystrlen(char *str)int i;for(i=0;_!/0;i+);return(i);(分数:2.00)填空项 1:_54.数据结构分为线性数据结构和非线性数据结构,带链的队列属于 1。(分数:2.00)填空项 1:_55.以下程序运行后的输出结果是_。#include stdio.hmain( )int x=1,y=0,a=0,b=0;switch ( x )case 1:switch(y)case 0:a +; break;case 1 :b +; break;case 2:a + ;b +*; break;printf(

    23、“%d %d/n“,a,b);(分数:2.00)填空项 1:_56.有以下结构体说明和变量的定义,且指针 p 指向变量 a,指针 q 指向变量 b,则不能把结点 b 连接到结点 a 之后的语句是_。struct nodechar data;struct node *next;a,b(分数:2.00)填空项 1:_57.在面向对象方法中, 1 描述的是具有相似属性与操作的一组对象。(分数:2.00)填空项 1:_58.下列程序的输出结果是_。#include stdio.hvoid swap(int *a, int *B) int *t;t=a;a=b;b=t;main()int i=3,j=5

    24、,*p=swap(p,q);printf(“%d %d/n“,*p,*q);(分数:1.50)填空项 1:_59.已知字符A的 ASC代码值是 65,字符变量 c1 的值是A,c2 的值是D。执行语句printf(“%d,%d,c1,c2-2);后,输出结果是 1。(分数:2.00)填空项 1:_60.以下程序运行后的输出结果是_。main()int m=011,n=11;printf(“%d %d/n“,+m,n+); (分数:2.00)填空项 1:_61.以下程序的输出结果是_。main()int i=010,j=10;printf(“%d,%d/n“,i,j);(分数:1.00)填空项

    25、1:_62.下列程序的输出结果是_。void fun(int*n)while(*n)-);printf(“%d“,+(*n);main()int a=50;fun(for(i=0;ii0;i+)j=i*10+6;if(_)continue;printf(“%d“,j);(分数:2.00)填空项 1:_64.下列程序的运行结果是_。#includestdio.hlongfunc(int x)long p;if(x=0x=1) return(1) ;p=x*func(x-1) ;return(p);main()printf(“%d/n“,func(4) );(分数:2.00)填空项 1:_65.在

    26、一个容量为 15 的循环队列中,若头指针 front=6,尾指针 rear=9,则该循环队列中共有 1 个元素。(分数:2.00)填空项 1:_66.若输入 I have a test.#,则以下程序的运行结果为_。#includestdio.hmain()FILE*fp;char str100,filename10;int i=0;if (fp=fopen(“test“,“w“)=NULL)printf(“can not open the file!/n“);exit(0);getchar();gets(str);while(stri!=#)if (stri=a switch(x)case

    27、1: switch(y)case 0: a+; break;case 1: b+; break;case 2: a+; b+; break;printf(“%d %d/n“, a, b);(分数:2.00)填空项 1:_68.有一个已排好序的数组,今输入一个数,要求按原来的顺序规律将它插入到数组中。算法是:假设排序顺序是从小到大,对输入的数,检查它在数组中哪个数之后,然后将比这个数大的数顺序后移一个位置,在空出的位置上将该数插入。请在程序中的空白处填上一条语句或一个表达式。#define N 100main()float aN+1,x;int i,p;for(i=0;iN;i+)scanf(“

    28、%f“scanf(“%f“,for(i=0,p=N;iN;i+)if(xai)_;break;for(i=N-1;_;i-)ai+1=ai;ap=x;for(i=0;_;i+)printf(“%8.2f“,ai);if(i%5=0)printf(“/n“);(分数:1.00)填空项 1:_69.设有如下宏定义#define MYSWAP(z,x,y)z=x;x=Y;Y=z;以下程序段通过宏调用实现变量 a、b 内容的交换,请填空。float a=5,b=16,c;MYSWAP(_,a,b) ;(分数:1.00)填空项 1:_70.按照软件测试的一般步骤, 1 测试应在集成测试之前进行。(分数:

    29、2.00)填空项 1:_二级 C 语言笔试-345 答案解析(总分:98.50,做题时间:90 分钟)一、选择题(总题数:50,分数:62.00)1.数据处理的最小单位是( )。A) 数据 B) 数据元素 C) 数据项 D) 数据结构(分数:1.00)A.B.C. D.解析:解析 数据处理的最小单位是数据项;由若干数据项组成数据元素;数据是指能够被计算机识别、存储和加工处理的信息载体;数据结构是指数据之间的相互关系和数据运算。2.执行下面程序片段的结果是 ( )int x123;doprintf(“%3d/n“,x-);while(!x);A) 打印出 321 B) 打印出 123 C) 不打

    30、印任何内容 D) 陷入死循环(分数:1.00)A.B. C.D.解析:3.C 语言可执行程序的开始执行点是( )。A) 包含文件中的第一个函数 B) 程序中第一个函数C) 程序中的 main()函数 D) 程序中第一条语句(分数:1.00)A.B.C. D.解析:解析 每个 C 程序有且只有一个主函数 main(),且程序必须从 main 函数开始执行,并在 main()函数中结束。4.函数的值通过 return 语句返回,下面关于 return 语句的形式描述错误的是A) return 表达式; B) return(表达式);C) 一个 return 语句可以返回多个函数值 D) 一个 re

    31、turn 语句只能返回一个函数值(分数:1.00)A.B.C. D.解析:解析 return 语句中的表达式的值就是所求的函数值,此表达式值的类型必须与函数首部所说明的类型一致。如果类型不一致,则以函数值的类型为准,由系统自动进行转换。一个 return 语句只能返回一个值。5.若有下列定义和语句:int u=011,v=0x11,w=11;printf(“%o,%x,%d/n“,u,v,w);则输出结果是( )。A) 9,17,11 B) 9,11,11 C) 11,11,11 D) 11,17,11(分数:2.00)A.B.C. D.解析:解析 在 C 语言中,“%d”表示输出带符号的十进

    32、制整型数;“%x”表示以十六进制无符号型输出整型数据(即不带前导 0x 或 0X);“%o”表示以八进制无符号型输出整型数据(即不带前导 0)。6.C 语言中,组成数据文件的成分是 _。A) 记录 B) 数据行 C) 数据块 D) 字符(字节)序列(分数:1.00)A.B.C.D. 解析:解析 C 语言中的文件是流式文件。流式文件是一种无结构文件,即整个文件是一串字符流或二进制流。文件的存取以字符或字节为单位。7.下列叙述中正确的是( )。A) 栈是“先进先出”的线性表B) 队列是“先进后出”的线性表C) 循环队列是非线性结构D) 有序线性表既可以采用顺序存储结构,也可以采用链式存储结构(分数

    33、:1.00)A.B.C.D. 解析:解析 本题考查了栈、队列、循环队列的基本概念,栈的特点是先进后出,队列的特点是先进先出,根据数据结构申各数据元素之间的复杂程度,将数据结构分为线性结构与非线性结构两类。有序线性表既可采用顺序存储结构,也可以采用链式存储结构。8.有以下程序main()int i=1,j=1,k=2;if(j+k+)do(printf(“%d“,x-=4) ;while(!(-X);程序的输出结果是( )。A) 1 B) 2 0 C) 1 -4 D) 死循环(分数:2.00)A.B.C. D.解析:解析 本题考查 dowhile 循环。执行 printf 语句,x=x-4=1,

    34、输出 1,判断 while 循环的控制条件,-x=0,则(!(-x)非零,循环条件成立,执行下一次循环;执行 printf 语句,x=x-4=-4,输出-4,判断 while 循环的控制条件,-X=-5,则(!(-X)为零,循环条件不成立,结束循环。12.有以下程序main()int a=1,b=2,m=0,n=0,k;k=(n=ba)(m=ab) ;printf(“%d,%d/n“,k,m);程序运行后的输出结果是A) 0,0 B) 0,1 C) 1,0 D) 1,1(分数:1.00)A.B.C. D.解析:解析 在“|”运算中当其左边的表达式为真,右边的表达式将不再执行。主函数中,“|”左

    35、边的表达式 k=(n=bA) ,“21”为真,所以 n 被赋值为 1,接着 k 被赋值 1,即“|”运算符左边表达式为真,此时不再计算“|”右边的表达式,因此 m 的值没有被改变仍为 0,最后的输出结果 1,0。13.“商品”与“顾客”两个实体集之间的联系一般是_。A) 对 B) 对多C) 多对一 D) 多对多(分数:1.00)A.B.C.D. 解析:知识点:Visual FoxPro 基础知识/关系数据库评析:两个实体间的联系可以归纳为 3 种类型:对联系:对的联系表现为主表中的每条记录只与相关表中的条记录相关联。对多联系:对多的联系表现为主表中的每条记录与相关表中的多条记录相关联。多对多联

    36、系:多对多的联系表现为个表中的多个记录在相关表中同样有多个记录其匹配。本题中个顾客可以购买多种商品,同种商品可以有多个顾客购买,所以商品和顾客之间是多对多的联系。14.有以下程序:#includestdio.h#includestring.hmain()char str20(“One*world“,“One*Dream!“,*p=str1;prinft(“%d,“,strlen(p);printf(“%s/n“,p);程序运行后的输出结果是( )。A) 9,One*World B) 9,One*Dream!C) 10,One*Dream! D) 10,One*World(分数:1.00)A.B

    37、.C. D.解析:解析 本题输出两个结果,第一个是求字符串的长度。第二个是输出的字符串,数组的下标是从0 开始的,所以当 str 取 1 的时候,应为“One*Dream!”。15.以下程序的输出结果是_。#includestdio.h#define SQR(x)x*xmain()int a,k=3;a=+SQR(k+1);printf(“%d/n“,a);A) 8 B) 9 C) 17 D) 20(分数:1.00)A.B. C.D.解析:解析 本题宏替换中遇到形参 x 以实参 k+1 代替,其他字符不变。SQR(k+1)展开后应为字符串k+1*k+1。16.下述函数功能是_。int fun(

    38、char*x)char*y=x;while(*y+);return y-s-1;A) 求字符串的长度 B) 求字符串存放的位置C) 比较两个字符串的大小 D) 将字符串 x 连接到字符串 y 后面(分数:1.00)A. B.C.D.解析:解析 在函数体内定义一字符型指针并指向形参,然后遍历其中各字符直到 NULL,最后返回字符串首尾地址的差值,即字符串的长度。17.在关系数据库中,用来表示实体之间联系的是( )。A) 树结构 B) 网结构 C) 线性表 D) 二维表(分数:1.00)A.B.C.D. 解析:解析 在关系数据库中,用二维表来表示实体之间的联系。18.现有以下结构体说明和变量定义,

    39、如图所示,指针 P,q,r 分别指向一个链表中连续的三个结点。(分数:1.00)A.B.C.D. 解析:解析 选项 D)中首先将 q 赋给 r-next,也就是将结点 q 的地址存放在结点 r 的指针域中;接着将 r 赋给 p-next,也就是将结点 r 的地址存放在结点 p 的指针域中,此时完成了 q 和 r 所指结点的交换。q-next=r-next 的目的是想将 q 的指针域指向下一个结点的数据地址,但由于一开始执行了 r-next=q,即已将 r 的指针域甲存放了 q 结点的地址,此时 q-next=r- next 就相当于将 q 指向了其本身,也就是和下一个结点断开了,所以选项 D)

    40、错误。19.阅读下列程序,则运行结果为#include “stdio.h“fun()static int x=3;x+;return x;main()int i,x;for(i=0;i3;i+)x=fun();printf(“%d/n“,x);A) 3 B) 4 C) 5 D) 6(分数:1.00)A.B.C.D. 解析:解析 在整个程序运行期间,静态局部变量在内存的静态存储区中占据着永久的存储单元,即使退出函数以后,下次再进入该函数时,静态局部变量仍使用原来的存储单元,静态局部变量的初值是在编译的时候赋予的,在程序执行期间不再赋予初值。本题由于连续 3 次调用函数 fun(),3 次对静态变

    41、量 x进行操作,x 的值应依次为 4,5,6。20.有以下程序: 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);程序运行后的输出结果是 _。A) Ab B) aa C) Aa D) Bb(分数:2.00)A. B.C.D.解析:解析 本题中函数 fun 的形参是指针变量,因此实参与形参之间是地址传递,即形参的改变可以影响实参。main 函数中 p1 指向 c1,p2 指向 c2,函数调用语句 fun(p1,p2)的功能是将

    42、 p2 所指存储单元的内容的值加 1,即将 c2 的值加 1 得 c2 =b,故 printf 函数的输出结果为 Ab。21.有以下程序int a=3;main()int s=0;int a=5; s+=a+; s+=a+;printf(“%d/n“,s);程序运行后的输出结果是A) 8 B) 10 C) 7 D) 11(分数:1.00)A. B.C.D.解析:解析 本题中定义一个全局变量 a 和一个局部变量 a。局部变量和全局变量的不同在于,局部变量的存储单元都是在进入这些局部变量所在的函数体(或复合语句)时生成,退出其所在的函数体(或复合语句)时消失,而全局变量是在函数外部任意位置上定义的

    43、变量,它的作用域从变量定义的位置开始,到整个源文件结束为止。若全局变量和某一函数中的局部变量同名,则在该函数中,此全局变量被屏蔽,在该函数内,起作用的将是局部变量,与同名的全局变量不发生任何关系。在程序中首先定义了变量 s 并赋值为 0,接着在嵌套的复合语句中定义了变量 a 并赋初值为 5,接着执行语句 s+=a+a;在这条语句中 a 加 1,但表达式 a+还是原来的值,故 s=s+5,s 为 5,程序执行到外层,此时内定义的变量 a 不再有效,此时的变量 a 为之前定义的且初值为 3,接着执行后面的语句s+=a+;相当于执行语句 s=s+(+);即 s=5+3,最后值为 8,所以最后输出的

    44、s 值为 8。所以 4 个选项中A 正确。22.有以下程序main ( )char str =“xyz“, *ps=str;while (*ps) ps+:for (ps- ;ps-str=0 ;ps-) puts(ps);执行后输出结果是A) yzxyzB) zyzC) zyzxyzD) xxyxyz(分数:1.00)A.B.C. D.解析:解析 本题考核的知识点是字符型指针变量的使用执行 while 循环,使指针变量 Ps 指向字符串“xyz”的字符串结束标志,然后执行 for 循环,先执行“ps-”,使 ps 指向字符“z”,故 puts(ps)输出结果为“z”;再次执行“ps-”,使

    45、ps 指向字符“y”,故 puts(ps)输出结果为“y2”;再次执行“ps-”,使 Ps 指向字符xt,故 puts(ps)输出结果为“xyz”, 退出循环所以,C 选项为所选。23.以下所列的各函数首部中,正确的是_。A) void play(Var:Integer,var b:Integer)B) void play(int a,b)C) void play(int a,int b)D) Sub play(a as integer,b as integer)(分数:1.00)A.B.C. D.解析:解析 C 语言中函数首部中的各参数必须分开单独定义,因此选项 C 才是正确的。而选项 A

    46、和 D是其他语言的函数定义方式。24.数据库设计的四个阶段是:需求分析,概念设计,逻辑设计和_。(A) 编码设计(B) 测试阶段(C) 运行阶段(D) 物理设计(分数:2.00)A.B.C.D. 解析:25.数据库、数据库系统和数据库管理系统之间的关系是( )。A) 数据库包括数据库系统和数据库管理系统B) 数据库系统包括数据库和数据库管理系统C) 数据库管理系统包括数据库和数据库系统D) 三者没有明显的包含关系(分数:1.00)A.B. C.D.解析:解析 数据库系统包括数据库和数据库管理系统。26.以下选项中与 if(a=1) a=b; else a+;语句功能不同的 switch 语句是A) switch(a)case 1: a=b; break;default:a+;B) switch(a=1)case 0: a=b; break;case 1:a+;C) switch(a)default: a+; break;case 1:a=b;D) switch(a=1)case 1:a=b; break;case 0:a+;(分数:1.00)A.B. C.D.解析:解析 选项 B 中,switch 语句中表达式“a=1”为“真”时,表达式取值 1,程序流程转向 case 1: a+;,与 if(a=1) a=b; else a+;语句功能不同。27.下述关于数据


    注意事项

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




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

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

    收起
    展开