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

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

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

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

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

    1、二级 C 语言-520 及答案解析(总分:74.00,做题时间:90 分钟)一、选择题(总题数:34,分数:48.00)1.C 语言中,能识别处理的文件为( )。(分数:1.00)A.文本文件和数据块文件B.文本文件和二进制文件C.流文件和文本文件D.数据文件和二进制文件2.有以下程序: int a=2; int f(int n) static int a=3; int t=0; if(n%2)static int a=4;t+=a+; elsestatic int a=5;t+=a+; return t+; main() int s=a,i; for(i=0;i3;i+)s+=f(i); p

    2、rintf(“%d/n“,s); 程序运行后的输出结果是_。(分数:2.00)A.26B.28C.29D.243.对长度为 n 的线性表进行顺序查找,在最坏的情况下需要比较的次数为 _ 。(分数:2.00)A.125B.n/2CnD.n+14.以下程序中函数 scmp 的功能是返回形参指针 s1 和 s2 所指字符串中较小字符串的首地址 #include stdio.h #include string.h char *scmp(char *s1, char *s2) if(strcmp(s1,s2)return(s1); else return(s2); main( ) int i; char

    3、 string20, str320; for(i=0;istrcpy(string,scmp(str0,str1); /*库函数 strcpy 对字符串进行复制*/ strcpy(string,scmp(string,str2); printf(“%s/n“,string); 若运行时依次输入:abcd、abba 和 abc 三个字符串,则输出结果为 A)abcd B)abba C)abc D)abca (分数:1.00)A.B.C.D.5.算法一般都可以用_控制结构组合而成。(分数:1.00)A.循环、分支、递归B.顺序、循环、嵌套C.循环、递归、选择D.顺序、选择、循环6.设 a 为 in

    4、t 型变量,执行下列赋值语句后,a 的取值分别为 ( ) a125.534;a20.0/3;a20%3;a(int)125%521%4;a52;(分数:1.00)A.125,6.666666,2,1,1B.125,6,2,1,1C.125.534,6.666666,2,1,20D.125,6,2,1,207.在数据结构中,从逻辑上可以把数据结构分为_。(分数:1.00)A.动态结构和静态结构B.紧凑结构和非紧凑结构C.线性结构和非线性结构D.内部结构和外部结构8.下列叙述中正确的是(分数:1.00)A.每个 C 语言程序文件中都必须要有一个 main()函数B.在 C 语言程序中 main()

    5、函数的位置是固定的C.C 语言程序中所有函数之间都可以相互调用,与函数所在位置无关D.在 C 语言程序的函数中不能定义另一个函数9.在下列给出的表达式中,与 while(E)中的(E)不等价的表达式是 _ 。(分数:2.00)A.(!E= =0)B.(E0E0)C.(E= =0)D.(E!=0)10.若进栈序列为 1,2,3,4,进栈过程中可以出栈,则下列不可能的一个出栈序列是_。(分数:2.00)A.1,4,3,2B.2,3,4,1C.3,1,4,2D.3,4,2,111.以下不能正确计算代数式 sin2()值的 C 语言表达式是 _ 。(分数:1.00)A.1/3*sin(1/2)*sin

    6、(1/2)B.sin(0.5)*sin(0.5)/3C.pow(sin(0.5),2)/3D.1/3.0*pow(sin(1.0/2),2)12.有以下程序 #includestdio.h main() int a34=(1,3,5,7,9,11,13,15,17,19,21,23,(*p)4=a,i,j,k=0; for(i=0;i3;i+) for(j=0;j2;j+)k=k+*(*(p+i)+j); printf(“%d/n“,k); 程序运行后的输出结果是_。(分数:2.00)A.60B.68C.99D.10813.下列叙述中正确的是 _ 。(分数:1.00)A.软件就是程序清单B.软

    7、件就是存放在计算机中的文件C.软件应包括程序清单以及运行结果D.软件包括程序、数据和文档14.若有以下定义,则对 a 数组元素地址的正确引用是 _ 。 int a5,*p=a;(分数:2.00)A.p+5B.*a+1C. int i,k,n; fp=fopen(“data.dar“,“w+“); for(i=1;i6;i+) fprintf(fp,“%d “,i); if(i%3=0) fprintf(fp,“/n“); rewind(fp); fscanf(fp,“%d%d“, printf(“%d%d/n“,k,n); fclose(fp); 程序运行后的输出结果是( )。(分数:1.00

    8、)A.0 0B.123 45C.1 4D.1 216.有下列程序: main() int t, a=1, b=5, c=-2; while(abc) t=a; a=b; b=t; c+; printf(“%d, %d, %d“, a, b, c); (分数:1.00)A.1, 5, 0B.1, 5, -2C.5, 1, -1D.5, 1, -217.设有关系 R 和 S,关系代数表达式 R-(R-S)表示的是(分数:1.00)A.RsB.R-SC.RsD.RS18.若变量已正确定义,下列正确的程序段是 _ 。(分数:2.00)A.while(ch=getchar()=“/N“)putchar(

    9、ch);B.while(ch=getchar()=“/n“)putchar(ch);C.while(ch=getchar()!=“/N“)putchar(ch);D.while(ch=getchar()!=“/n“)putchar(ch);19.在位运算中,操作数每右移两位,其结果相当于 _ 。(分数:2.00)A.操作数乘以 2B.操作数除以 2C.操作数除以 4D.操作数乘以 420.下列对于软件测试的描述中正确的是(分数:1.00)A.软件测试的目的是证明程序是否正确B.软件测试的目的是使程序运行结果正确C.软件测试的目的是尽可能多地发现程序中的错误D.软件测试的目的是使程序符合结构化原

    10、则21.下列叙述中正确的是 _ 。(分数:2.00)A.算法就是程序B.设计算法时只需要考虑数据结构的设计C.设计算法时只需要考虑结果的可靠性D.以上三种说法都不对22.下面程序的运行结果是( )。 #includestdio.h main() int i; for(i=1; iif(i%3=0) break; printf(“%d“, i); (分数:1.00)A.123B.12C.23D.1234523.下列不属于软件调试技术的是_。(分数:2.00)A.强行排错法B.集成测试法C.回溯法D.原因排除法24.以下程序段的执行结果为_。 #define PLUS(X,Y)X+Y main()

    11、 int x=1,y=2,z=3,sum; sum=PLUS(x+y,z)*PLUS(y,z); printf(“SUM=%d“,sum); (分数:1.00)A.SUM=9B.SUM=12C.SUM=18D.SUM=2825.在数据库系统中,用户所见的数据模式为_。(分数:2.00)A.概念模式B.外模式C.内模式D.物理模式26.以下能正确定义一维数组的选项是 _ 。(分数:2.00)A.int a5=0, 112, 3, 4, 5;B.char a=“0“, “2“, “3“, “4“, “5“, “/0“;C.char a=“A“, “b“, “C“;D.int a5=“0123“;2

    12、7.软件设计包括软件的结构、数据接口和过程设计,其中软件的过程设计是指 _ 。(分数:2.00)A.模块间的关系B.系统结构部件转换成软件的过程描述C.软件层次结构D.软件开发过程28.下述关于数据库系统的叙述中正确的是_。(分数:1.00)A.数据库系统减少了数据冗余B.数据库系统避免了一切冗余C.数据库系统中数据的一致性是指数据类型的一致D.数据库系统比文件系统能管理更多的数据29.当用户要求输入的字符串中含有空格时,应使用的输入函数是( )。(分数:1.00)A.getchar()B.scanf()C.gets()D.getc()30.为了合理组织数据,应遵循的设计原则是 _(分数:1.

    13、00)A.“一事一地”的原则,即一个表描述一个实体或实体之间的一种联系B.用外部关键字保证有关联的表之间的联系C.表中的字段必须是原始数据和基本数据元素,并避免在表之间出现重复字段D.以上各原则都包括31.有以下程序 #include stdio.h void fun(int *a, int n)/* fun 函数的功能是将 a 所指数组元素从大到小排序*/ int t, i,j; for (i=0; in-1 ;i+) for 0=i+l; jn; j+) if(aiaj) t=ai; ai=aj; aj=t; main() int c10= 1,2,3,4,5,6,7,8,9,0,i; f

    14、un(c+4, 6); for (i=0;i10; i+) printf(“%d,“, ci); printf(“/n“); (分数:1.00)A.1,2,3,4,5,6,7,8,9,0,B.0,9,8,7,6,5,1,2,3,4,C.0,9,8,7,6,5,4,3,2,1,D.1,2,3,4,9,8,7,6,5,0,32.设有如下说明: typedef struct ST long a;int b;char c2; NEW; 则下面叙述中正确的是 _ 。(分数:1.00)A.以上的说明形式非法B.ST 是一个结构体类型C.NEW 是一个结构体类型D.NEW 是一个结构体变量33.有以下程序段

    15、: #include “stdio.h“ #include “string.h“ main() char a320=“china“,“isa“,“bigcountry!“; char k100=0,*p=k; int i; fori=0;i3;i+) P=strcat(p,ai); i=strlen(p); printf(“%d/n“,i)=; 则程序段的输出结果是 _ 。(分数:1.00)A.18B.19C.20D.21二、填空题(总题数:15,分数:26.00)34.执行以下程序时输入 1234567CR,则输出结果是 1。 #include stdioh main() int a=1,b

    16、; scanf(“%2d%2d“, prinff(“%d %dhn“,a,b); 35.若有定义 int m=5,y=2,则执行表达式 y+=y-=m*=y 后,y 的值为 _ 1_ 。 (分数:1.00)36.常用的黑箱测试有等价分类法、 1、因果图法和错误推测法 4 种。 (分数:2.00)37.以下程序的功能是将文件 filel.c 的内容输出到屏幕上并复制到文件 file2.c 中。请在横线处填入适当的内容。 #includestdio.h void main() FILE 1; fp1=fopen(“file1.c“,“r“); fp2=fopen(“file2.c“,“w“); w

    17、hile(!feof(fp1) putchar(fgetc(fp1); 2 while(!feof(fp1)fputc( 3); fclose(fp1); fclose(fp2); (分数:2.00)38.对长度为 10 的线性表进行冒泡排序,最坏情况下需要比较的次数为 1。 (分数:2.00)39.数据结构分为逻辑结构和存储结构,循环队列属于 1 结构。 (分数:2.00)40.下面的语句要使指针 p 指向一个 double 类型的动态存储单元,请填空。 p = _ 1_ malloc(sizeof(double); (分数:2.00)41.有一个学生选课的关系,其中学生的关系模式为:学生(

    18、学号,姓名,班级,年龄),课程的关系模式为:课程(课号,课程名,学时),其中两个关系模式的键分别是学号和课号,则关系模式选课可定义为:选课(学号, 1,成绩)。 (分数:4.00)42.若从键盘输入 58,则以下程序输出的结果是 _ 1_ 。 main() int a; scanf(“%d“, (分数:2.00)44.设有下列宏定义: #defineA2 #define B A+3 则执行赋值语句:t=B*2;t 为 int 型变量后的值是 1。 (分数:2.00)45.在结构化分析使用的数据流图(DFD)中,利用 1 对其中的图形元素进行确切解释。 (分数:2.00)46.当循环队列非空且队

    19、尾指针等于队头指针时,说明循环队列已满,不能进行入队运算。这种情况称为 1。 (分数:2.00)47.下面的程序可对指定字符串中的字符串进行从大到小排序,请将程序完整。 (注:程序采用了冒泡排序算法) #includestdio.h #includestring.h main() char*str=“ABCDabcd“,temp; int n,i; n=strlen(str); while(n-1) for(i=0;in;i+) if(stristri+1) temp= _ 1_ ; stri=stri+1; _ 2_ =temp; printf( _ 3_ ); (分数:1.00)48.从

    20、Windows 环境进入 MS-DOS 方式后,返回 Windows 环境的 DOS 命令为 【】 。 (分数:1.00)二级 C 语言-520 答案解析(总分:74.00,做题时间:90 分钟)一、选择题(总题数:34,分数:48.00)1.C 语言中,能识别处理的文件为( )。(分数:1.00)A.文本文件和数据块文件B.文本文件和二进制文件 C.流文件和文本文件D.数据文件和二进制文件解析:解析 C 语言中,能识别处理的文件为文本文件和二进制文件,故 B 为所选。2.有以下程序: int a=2; int f(int n) static int a=3; int t=0; if(n%2)

    21、static int a=4;t+=a+; elsestatic int a=5;t+=a+; return t+; main() int s=a,i; for(i=0;i3;i+)s+=f(i); printf(“%d/n“,s); 程序运行后的输出结果是_。(分数:2.00)A.26B.28C.29 D.24解析:解析 定义“int a=2;”中的全局变量 a,起作用的范围是从定义此变量的位置开始到本源文件结束;定义“static int a=3;”中的静态局部变量 a 的作用范围是其所在的函数 f,并对其只赋一次初值,以后每次调用函数时不再重新赋值,而只保留上次函数调用结束时的值;复合语

    22、句“static int a=4;t+=a+;”和“static int a=s;t+=a+;)”中定义的两个变量 a 属于复合语句中定义的变量,作用的范围只在其本身所在的复合语句内对于本程序来讲,第三行定义的静态局部变量并不会对第 4、5两行的复合语句产生作用,这是因为复合语句也定义了与其同名的静态局部变量。3.对长度为 n 的线性表进行顺序查找,在最坏的情况下需要比较的次数为 _ 。(分数:2.00)A.125B.n/2Cn D.n+1解析:解析 对线性表进行顺序查找时,从表中的第一个元素开始,将给定的值与表中逐个元素的关键字进行比较,直到两者相符,查找到所要找的元素为止。在最坏的情况下,

    23、要查找的元素是表的最后一个元素或查找失败,这两种情况都需要将这个元素与表中的所有元素进行比较,因此比较次数为 n。4.以下程序中函数 scmp 的功能是返回形参指针 s1 和 s2 所指字符串中较小字符串的首地址 #include stdio.h #include string.h char *scmp(char *s1, char *s2) if(strcmp(s1,s2)return(s1); else return(s2); main( ) int i; char string20, str320; for(i=0;istrcpy(string,scmp(str0,str1); /*库函

    24、数 strcpy 对字符串进行复制*/ strcpy(string,scmp(string,str2); printf(“%s/n“,string); 若运行时依次输入:abcd、abba 和 abc 三个字符串,则输出结果为 A)abcd B)abba C)abc D)abca (分数:1.00)A.B. C.D.解析:解析 当第一次执行 strcpy()函数时,把输入的前两个串中的较小者复制到 string 中,第二次调用 strcpy()函数时,则是把前两者中的较小者与第三个串进行比较返回较小者,并复制到 string 中,故 string 存放了 3 个输入串中的最小者。5.算法一般都

    25、可以用_控制结构组合而成。(分数:1.00)A.循环、分支、递归B.顺序、循环、嵌套C.循环、递归、选择D.顺序、选择、循环 解析:解析 算法的控制结构给出了算法的基本框架,不仅决定了算法中各操作的执行顺序,也直接反映了算法的设计是否符合结构化原则。一个算法一般都可以用顺序、选择、循环三种基本控制结构组合而成。6.设 a 为 int 型变量,执行下列赋值语句后,a 的取值分别为 ( ) a125.534;a20.0/3;a20%3;a(int)125%521%4;a52;(分数:1.00)A.125,6.666666,2,1,1B.125,6,2,1,1C.125.534,6.666666,2

    26、,1,20D.125,6,2,1,20 解析:7.在数据结构中,从逻辑上可以把数据结构分为_。(分数:1.00)A.动态结构和静态结构B.紧凑结构和非紧凑结构C.线性结构和非线性结构 D.内部结构和外部结构解析:解析 逻辑结构反映数据元素之间的逻辑关系,线性结构表示数据元素之间一对一的关系,非线性结构表示数据元素之间一对多或多对一的关系。8.下列叙述中正确的是(分数:1.00)A.每个 C 语言程序文件中都必须要有一个 main()函数 B.在 C 语言程序中 main()函数的位置是固定的C.C 语言程序中所有函数之间都可以相互调用,与函数所在位置无关D.在 C 语言程序的函数中不能定义另一

    27、个函数解析:解析 main 函数是 C 语言程序的主函数,可以出现在程序中的任何位置。函数是 C 语言程序的基本模块,函数内部可以再定义其他函数。但函数间可相互调用,被调用的既可以是 C 语言提供的库函数,也可以是用户自定义的函数。9.在下列给出的表达式中,与 while(E)中的(E)不等价的表达式是 _ 。(分数:2.00)A.(!E= =0)B.(E0E0) C.(E= =0)D.(E!=0)解析:解析 在 while(E)中,表达式 E 可以是 C 语言中任意合法的条件表达式,但不能为空,由它来控制循环体是否执行。在选项 B)中表达式 E0E0 是一个逻辑表达式。10.若进栈序列为 1

    28、,2,3,4,进栈过程中可以出栈,则下列不可能的一个出栈序列是_。(分数:2.00)A.1,4,3,2B.2,3,4,1C.3,1,4,2 D.3,4,2,1解析:解析 栈是一种后进先出表,选项 C 中,先出栈的是 3,说明此时栈内必然有 1,2,由于 1 先于2 进浅,所以 1 不可能在 2 之前出栈,故选项 C 这种出栈序列是不可能的。11.以下不能正确计算代数式 sin2()值的 C 语言表达式是 _ 。(分数:1.00)A.1/3*sin(1/2)*sin(1/2) B.sin(0.5)*sin(0.5)/3C.pow(sin(0.5),2)/3D.1/3.0*pow(sin(1.0/

    29、2),2)解析:解析 选项 A 中传递给 sin()函数的参数表达式 1/2 计算出来的结果为整数 0,所以不能正确计算出题目要求的值,而其余选项中,除号两边都至少有个运算分量是实数,故应该选择 A。12.有以下程序 #includestdio.h main() int a34=(1,3,5,7,9,11,13,15,17,19,21,23,(*p)4=a,i,j,k=0; for(i=0;i3;i+) for(j=0;j2;j+)k=k+*(*(p+i)+j); printf(“%d/n“,k); 程序运行后的输出结果是_。(分数:2.00)A.60 B.68C.99D.108解析:解析 k

    30、 累加 a00,a01,a10,a11,a20,a21,结果为 60,答案选择 A。13.下列叙述中正确的是 _ 。(分数:1.00)A.软件就是程序清单B.软件就是存放在计算机中的文件C.软件应包括程序清单以及运行结果D.软件包括程序、数据和文档 解析:解析 计算机软件是计算机系统中与硬件相互依存的另一部分,包括程序、数据及相关文档的完整集合。用一个等式表示,则为:软件=程序文档数据。选项 A、选项 B 和选项 C 错误,正确答案是D。14.若有以下定义,则对 a 数组元素地址的正确引用是 _ 。 int a5,*p=a;(分数:2.00)A.p+5B.*a+1C. int i,k,n; f

    31、p=fopen(“data.dar“,“w+“); for(i=1;i6;i+) fprintf(fp,“%d “,i); if(i%3=0) fprintf(fp,“/n“); rewind(fp); fscanf(fp,“%d%d“, printf(“%d%d/n“,k,n); fclose(fp); 程序运行后的输出结果是( )。(分数:1.00)A.0 0B.123 45C.1 4D.1 2 解析:解析 程序首先定义了一个文件指针 fp,并使用 fopen()函数以“w+”方式新建一个可读写文件“data.dat”。然后使用一个 for 循环,循环变量 i 从 1 递增到 5,在循环体

    32、中每次写入循环变量 i 的值和 4 个空格,当 i 能被 3 整除的时候写入一个换行符。所以循环结束时,文件中的内容应该为: 1 2 3 4 5 接下来程序使用 rewind()函数,将文件的读写指针调回起始位置。并调用 fscanf()函数从文件中读取两个整数到变量 k 和 n。所以最终输出应该为:1 2。故本题选 D。16.有下列程序: main() int t, a=1, b=5, c=-2; while(abc) t=a; a=b; b=t; c+; printf(“%d, %d, %d“, a, b, c); (分数:1.00)A.1, 5, 0 B.1, 5, -2C.5, 1,

    33、-1D.5, 1, -2解析:解析 本题考查 while 循环。先判断 while 循环的控制表达式是否成立,发现 abc 不成立,所以不执行循环。直接输出 a、b、c 的值。17.设有关系 R 和 S,关系代数表达式 R-(R-S)表示的是(分数:1.00)A.Rs B.R-SC.RsD.RS解析:解析 R-S 表示属于 R 但不属于 S,R-(R-S)表示属于 R 但不属于(R-S),即相当于 RS。18.若变量已正确定义,下列正确的程序段是 _ 。(分数:2.00)A.while(ch=getchar()=“/N“)putchar(ch);B.while(ch=getchar()=“/n

    34、“)putchar(ch);C.while(ch=getchar()!=“/N“)putchar(ch);D.while(ch=getchar()!=“/n“)putchar(ch); 解析:解析 本题考查两个知识点:C 语言用“/n“这个字符常量表示换行;函数 getchar()的作用是从终端输入一个字符,当遇到换行时结束输入。19.在位运算中,操作数每右移两位,其结果相当于 _ 。(分数:2.00)A.操作数乘以 2B.操作数除以 2C.操作数除以 4 D.操作数乘以 4解析:解析 在位运算中,操作数每右移两位,相当于在操作数的左侧添 0,最右面的两位被移出,即操作数除以 4。20.下列对

    35、于软件测试的描述中正确的是(分数:1.00)A.软件测试的目的是证明程序是否正确B.软件测试的目的是使程序运行结果正确C.软件测试的目的是尽可能多地发现程序中的错误 D.软件测试的目的是使程序符合结构化原则解析:解析 软件测试是为了发现错误而执行程序的过程。21.下列叙述中正确的是 _ 。(分数:2.00)A.算法就是程序B.设计算法时只需要考虑数据结构的设计C.设计算法时只需要考虑结果的可靠性D.以上三种说法都不对 解析:解析 所谓算法是指解题方案的准确而完整的描述。是一组严谨地定义运算顺序的规则,并且每一个规则都是有效的,且是明确的,此顺序将在有限的次数下终止。算法不等于程序,也不等于计算

    36、方法。设计算法时不仅要考虑对数据对象的运算和操作,还要考虑算法的控制结构。22.下面程序的运行结果是( )。 #includestdio.h main() int i; for(i=1; iif(i%3=0) break; printf(“%d“, i); (分数:1.00)A.123B.12 C.23D.12345解析:解析 本题考核的知识点是 break 语句的应用。本题中 for,循环到 i=3 而执行 break 语句跳出循环,最终只输出 12。23.下列不属于软件调试技术的是_。(分数:2.00)A.强行排错法B.集成测试法 C.回溯法D.原因排除法解析:解析 调试的关键在于推断程序

    37、内部的错误位置及原因。主要的调试方法有强行排错法、回溯法和原因排除法。24.以下程序段的执行结果为_。 #define PLUS(X,Y)X+Y main() int x=1,y=2,z=3,sum; sum=PLUS(x+y,z)*PLUS(y,z); printf(“SUM=%d“,sum); (分数:1.00)A.SUM=9B.SUM=12 C.SUM=18D.SUM=28解析:解析 表达式 sum=PLUS(x+y,z)*PLUS(y,z)用带参的宏替换为 sum=x+y+z*y+z,sum 的值为12。25.在数据库系统中,用户所见的数据模式为_。(分数:2.00)A.概念模式B.外

    38、模式 C.内模式D.物理模式解析:解析 数据库系统的三级模式:概念模式:数据库系统中全局数据逻辑结构的描述,全体用户公共数据视图;外模式:也称子模式与用户模式,是用户的数据视图,也就是用户所见到的数据模式;内模式:又称物理模式,它给出了数据库物理存储结构与物理存取方法。26.以下能正确定义一维数组的选项是 _ 。(分数:2.00)A.int a5=0, 112, 3, 4, 5;B.char a=“0“, “2“, “3“, “4“, “5“, “/0“; C.char a=“A“, “b“, “C“;D.int a5=“0123“;解析:解析 选项 A)中,定义的初值个数大于数组的长度;选项

    39、 C)中,数组名后少了中括号;选项 D)中,整型数组不能赋予字符串。27.软件设计包括软件的结构、数据接口和过程设计,其中软件的过程设计是指 _ 。(分数:2.00)A.模块间的关系B.系统结构部件转换成软件的过程描述 C.软件层次结构D.软件开发过程解析:解析 软件设计包括软件结构设计、数据设计、接口设计和过程设计。其中,结构设计是定义软件系统各主要部件之间的关系;数据设计是将分析时创建的模型转化为数据结构的定义;接口设计是描述软件内部、软件和操作系统之间及软件与人之间如何通信;过程设计则是把系统结构部件转换成软件的过程性描述。28.下述关于数据库系统的叙述中正确的是_。(分数:1.00)A

    40、.数据库系统减少了数据冗余 B.数据库系统避免了一切冗余C.数据库系统中数据的一致性是指数据类型的一致D.数据库系统比文件系统能管理更多的数据解析:解析 由数据的共享自身又可极大地减少数据冗余性,不仅减少了不必要的存储空间,更为重要的是可以避免数据的不一致性。所谓数据的一致性是指在系统中同一数据的不同出现应保持相同的值。29.当用户要求输入的字符串中含有空格时,应使用的输入函数是( )。(分数:1.00)A.getchar()B.scanf()C.gets() D.getc()解析:解析 本题综合考查了输入函数的使用。scanf 函数会将空格视为分隔符,getchar 函数只能输入单个字符,g

    41、etc 函数是文件操作函数,显然都不符合题意。通过 gets 函数输入字符串时,输入的空格被认为是字符串的一个字符。30.为了合理组织数据,应遵循的设计原则是 _(分数:1.00)A.“一事一地”的原则,即一个表描述一个实体或实体之间的一种联系B.用外部关键字保证有关联的表之间的联系C.表中的字段必须是原始数据和基本数据元素,并避免在表之间出现重复字段D.以上各原则都包括 解析:31.有以下程序 #include stdio.h void fun(int *a, int n)/* fun 函数的功能是将 a 所指数组元素从大到小排序*/ int t, i,j; for (i=0; in-1 ;

    42、i+) for 0=i+l; jn; j+) if(aiaj) t=ai; ai=aj; aj=t; main() int c10= 1,2,3,4,5,6,7,8,9,0,i; fun(c+4, 6); for (i=0;i10; i+) printf(“%d,“, ci); printf(“/n“); (分数:1.00)A.1,2,3,4,5,6,7,8,9,0,B.0,9,8,7,6,5,1,2,3,4,C.0,9,8,7,6,5,4,3,2,1,D.1,2,3,4,9,8,7,6,5,0, 解析:解析 本题考查的知识点是:for 循环的简单应用。 题目中 fun()函数的作用是排序,从

    43、形参指针 a 所指位置开始,对其后 n 个 int 型元素进行从大到小排序。主函数中,调用 fun()函数传入的两个实参分别为 c+4 和 6,即从数组 c 的第 5 个元素开始,对其后连续的 6 个元素进行从大到小排序。所以,最后通过 for 循环输出数组 c 的值为“1,2,3,4,9,8,7,6,5,0,”,故应该选择 D。32.设有如下说明: typedef struct ST long a;int b;char c2; NEW; 则下面叙述中正确的是 _ 。(分数:1.00)A.以上的说明形式非法B.ST 是一个结构体类型C.NEW 是一个结构体类型 D.NEW 是一个结构体变量解析

    44、:解析 将题目中的定义语句去掉前面的 typedef 和后面的 NEW(分号保留),就是一条完整的结构体定义语句,其中 struct 是说明符,ST 是结构体名,大括号里面的是结构体成员的定义。此时要声明该结构体变量时需要使用 struct 加结构体名一起来声明,struct ST 一起构成一个结构体类型,就好像字符类型 char。若只去掉前面的 typedef,就是一条结构体定义同时声明一个结构体变量 NEW 的语句,因为NEW 的前面部分是 struct ST 的完整写法,可以看作是 struct ST。C 语言允许用 typedef 说明一种新类型名,其语法格式为: typedef 类型

    45、 名标识符; 以后就可以用该标识符来代替被说明的类型名了。因此,当前面存在 typedef 时,该语句就变成了给struct ST 的完整写法定义一个新的名称 NEW。所以,此时的 NEW 是一个结构体类型,它相当于 struct ST,即可以和 char 一样单独用来声明该结构体变量,而 ST 只是一个结构体名,不能单独用来声明变量。所以,4 个选项中 C 符合题意。33.有以下程序段: #include “stdio.h“ #include “string.h“ main() char a320=“china“,“isa“,“bigcountry!“; char k100=0,*p=k;

    46、int i; fori=0;i3;i+) P=strcat(p,ai); i=strlen(p); printf(“%d/n“,i)=; 则程序段的输出结果是 _ 。(分数:1.00)A.18B.19 C.20D.21解析:解析 字符串连接函数 strcat 的调用形式如下:strcat(s1,s2)。此函数将 s2 所指字符串的内容连接到 s1 所指的字符串后面,并自动覆盖 s1 串末尾的尾标,函数返回 s1 的地址值。二、填空题(总题数:15,分数:26.00)34.执行以下程序时输入 1234567CR,则输出结果是 1。 #include stdioh main() int a=1,b

    47、; scanf(“%2d%2d“, prinff(“%d %dhn“,a,b); 解析:12 34 解析本题考查的知识点是:Scanf()函数。 scanf()是标准输入函数;其第 1 个参数为格式控制字符串。其中“%2d”表示读入一个 2 个字符宽的整数。所以本题代码将连续读入 2 个 2 字符宽的整数分别存到变量 a 和 b 中。根据题目要求,输入数据 1234567CR,则 scanf()读入的两个整数分别为 12 和 34,故输出结果为 12 34。35.若有定义 int m=5,y=2,则执行表达式 y+=y-=m*=y 后,y 的值为 _ 1_ 。 (分数:1.00)解析:-16解析 将赋值运算符右侧的“表达式”的值赋给左侧的变量,并且赋值运算符按照“自右而左”的结合顺序,本题表达式应先算 m 的值为 10,再运算 y 的值为 8,最后计算 y=y+(-8)=-8+(-8)=-16。36.常用的黑箱测试有等价分类法、 1、因果图法和错误推测法 4 种。


    注意事项

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




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

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

    收起
    展开