【计算机类职业资格】二级C语言笔试-471及答案解析.doc
《【计算机类职业资格】二级C语言笔试-471及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试-471及答案解析.doc(29页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C语言笔试-471 及答案解析(总分:97.00,做题时间:90 分钟)一、选择题(总题数:40,分数:65.00)1.1. 下列叙述中正确的是( )。A一个逻辑数据结构只能有一种存储结构B逻辑结构属于线性结构,存储结构属于非线性结构C一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理的效率D一个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理的效率(分数:1.00)A.B.C.D.2.按照“先进先出”组织数据的数据结构是( )。A) 队列 B) 栈 C) 双向链表 D) 二叉树(分数:2.00)A.B.C.D.3.对于循环队列,下列叙述中正确的是A) 队头指针是
2、固定不变的B) 队头指针一定大于队尾指针C) 队头指针一定小于队尾指针D) 队头指针可以大于队尾指针,也可以小于队尾指针(分数:2.00)A.B.C.D.4.软件是指_。A) 程序 B) 程序和文档C) 算法加数据结构 D) 程序、数据与相关文档的完整集合(分数:2.00)A.B.C.D.5.栈通常采用的两种存储结构是A) 顺序存储结构和链式存储结构 B) 散列方式和索引方式C) 链表存储结构和数组 D) 线性存储结构和非线性存储结构(分数:2.00)A.B.C.D.6.下列工具中,不属于结构化分析的常用工具的是( )。 A) 数据流图 B) 数据字典 C) 判定树 D) N.S 图(分数:2
3、.00)A.B.C.D.7.设计程序时,应采纳的原则之一是( )。A) 程序的结构应有助于读者的理解 B) 限制 GOTO语句的使用C) 减少或取消注释行 D) 程序越短越好(分数:2.00)A.B.C.D.8.从工程管理角度,软件设计一般分为两步完成,它们是_。(A) 概要设计与详细设计(B) 数据设计与接口设计(C) 软件结构设计与数据设计(D) 过程设计与数据设计(分数:2.00)A.B.C.D.9.数据库技术的根本目标是要解决数据的A) 存储问题 B) 共享问题 C) 安全问题 D) 保护问题(分数:2.00)A.B.C.D.10.下列叙述中正确的是A) 程序设计的任务就是编写程序代码
4、并上机调试B) 程序设计的任务就是确定所用数据结构C) 程序设计的任务就是确定所用算法D) 以上 3种说法都不完整(分数:1.00)A.B.C.D.11.请选出以下程序的输出结果_。#includestdio.hsub(x,y,z)int x,y*z;*z=y-x;main()int a,b,c;sub(10,5,sub(7,a,sub(a,b,(B) double int_;(C) char for;(D) float US$(分数:1.00)A.B.C.D.13.若有说明:int *p,m=5,n;以下正确的程序段是( )。A) p= B) scanf(“%d%d%d“,C) scanf(
5、“%d%d%d“,x,y,z); D) read(“%d %d %d“,(分数:2.00)A.B.C.D.16.以下不能正确计算代数式 (分数:1.00)A.B.C.D.17.17. 有以下程序:#includestdio.hmain()int x=8;for(; x0; x-)if(x%3)printf(“%d,“,x-);continue;)printf(“%d,“,-x);程序的运行结果是_。A) 7,4,2 B) 8,7,5,2C) 9,7,6,4 D) 8,5,4,2(分数:1.00)A.B.C.D.18.有下列程序:main()int x=5;doprintf(“%d“,x-=4)
6、;while(!(-x);程序的输出结果是( )。A) 1 B) 20 C) 1 4 D) 死循环(分数:1.00)A.B.C.D.19.若变量已正确定义,下列正确的程序段是( )。A) while(ch=getchar()=/N)putchar(ch);B) while(ch=getchar()=/n)putchar(ch);C) while(ch=getchar()!=/N)putchar(ch);D) while(ch=getchar()!=/n)putchar(ch);(分数:2.00)A.B.C.D.20.以下叙述错误的是( )。 A) 变量的作用域取决于变量定义语句的位置 B) 全
7、局变量可以在函数以外的任何部位进行定义 C) 局部变量的作用域可用于其他函数的调用 D) 一个变量说明为 static存储类型是为了限制其他编译单元的引用(分数:2.00)A.B.C.D.21.有如下程序main()char ch25=“6937“,“8254“,*p2;int i,j,s=0;for(i=0;i2;i+)pi=chi;for(i=0;i2;i+)for(j=0;pij/0; j+=2)s=10*s+pij-0;printf(“%d/n“,s);该程序的输出结果是A) 69825 B) 63825 C) 6385 D) 693825(分数:2.00)A.B.C.D.22.C语言
8、规定,调用一个函数时,实参变量和形参变量之间的数据传递是( )。A) 地址传递B) 值传递C) 由实参传给形参,并由形参传回给实参D) 由用户指定传递方式(分数:1.00)A.B.C.D.23.阅读下列程序段,则程序的输出结果为#include“stdio.h“#defineM(X,Y)(X)*(Y)#defineN(X,Y)(X)/(Y)main()f int a=5,b=6,c=8,k;k=N(M(a,b),c);printf(“%d/n“,k);A) 3 B) 5 C) 6 D) 8(分数:2.00)A.B.C.D.24.下列说法中不正确的是( )。A) 指针是一个变量B) 指针中存放的
9、是数值C) 指针可以进行加、减等算术运算D) 指针变量占用存储空间(分数:2.00)A.B.C.D.25.若有定义语句:char *s1=“OK“,*s2=“ok“;,以下选项中,能够输出“OK“的语句是( )。A)if(strcmp(s1,s2)=0) puts(s1); B)if(strcmp(s1,s2)!=0) puts(s2);C)if(strcmp(s1,s2)=1) puts(s1,); D)if(strcmp(s1,s2)!=0)puts(s1);(分数:2.00)A.B.C.D.26.有以下程序:#includestring.hmain()char p20=a,b,c,d,q
10、=“abc“,r=“abcde“;strcpy(p+strlen(q),r);strcat(p,q);printf(“%d%d/n“,sizeof(p),strlen(p);程序运行后的输出结果是_。A) 20 9 B) 9 9C) 20 11 D) 11 11(分数:2.00)A.B.C.D.27.下列程序中函数 sort()的功能是对数组 a中的数据进行由大到小的排序。#include stdiohvoid sort(int a,int n)int i,j,t;for(i=0;in-1;i+)for(j=i+1;jn;j+)if(aiaj)t=ai;ai=aj;aj=t;main()int
11、 a10=1,2;3,4,5,6,7,8,9,10,i;sort( int num1; double num2; t1, t2;,若变量均已正确赋初值,则以下语句中错误的是_。A) t1=t2; B) t2.num1=t1.num1;C) t2.mark=t1.mark; D) t2.num2=t1.num2;(分数:1.00)A.B.C.D.31.31. 有以下程序:struct STUchar name10;int num;float TotalScore;void f(struct STU*P)struct STU s2=“SunDan“,20044,550,“Penghua“,2004
12、5,537,*q=s;+P;+q;*P=*q;main()struct STU s3=“YangSan“,20041,703),“LiSiGuo“,20042,580;f(s);printf(“%s%d%3.0f/n“,s1.name,s1.num,s1.TotalScore);程序运行后的输出结果是_。A) SunDan 20044 550 B) Penghua 20045 537C) LiSiGuo 20042 580 D) SunDan 20041 703(分数:2.00)A.B.C.D.32.下面结构体的定义语句中,错误的是A) struct ordint x; int y; int
13、z; struct ord a;B) struct ordint x; int y; int z; struct ord a;C) struct ordint x; int y; int z; a;D) structint x; int y; int z; a;(分数:2.00)A.B.C.D.33.有以下程序:#include stdio.hvoid f(int v, int w)int t;t=v; v=w; w=t;main()int x=1,y=3,z=2;if(xy) f(x,y);else if(yz) f(y,z);else f(x,z);printf(“%d,%d,%d/n“,
14、x,y,z);执行后的输出结果( )。A) 1,2,3 B) 3,1,2 C) 1,3,2 D) 2,3,1(分数:1.00)A.B.C.D.34.有以下结构体说明和变量定义,如图所示, 指针 p、q、r 分别指向此链表中的三个连续结点。Struct nodeint data; struct node *next;*p,*q,*r;现要将 q所指结点从链表中删除,同时要保持链表的连续,(分数:2.00)A.B.C.D.35.以下结构体类型说明和变量定义中正确的是_。A) typedef struct B) struct REC;int n;char c;REC; int n;char c;RE
15、C t1,t2; REC t1,t2;C) typedef struct REC; D) structint n=0;char c=A;t1,t2; int n;char c;REC;REC t1,t2;(分数:2.00)A.B.C.D.36.假定已建立以下链表结构,且指针 p和 q已指向如图所示的结点:(分数:2.00)A.B.C.D.37.在 C语言中,下列关于文件操作的叙述正确的是( )。A) 对文件操作必须先关闭文件 B) 对文件操作必须先打开文件C) 对文件操作顺序没有统一规定 D) 以上三种说法全错(分数:1.00)A.B.C.D.38.fgets(str,n,fp)函数从文件中读
16、入一个字符串,以下错误的叙述是( )。A) 字符串读入后会自动加入/0B) fp是指向该文件的文件型指针C) fgets函数将从文件中最多读入 n个字符D) fgets函数将从文件中最多读入 n-1个字符(分数:2.00)A.B.C.D.39.请选出以下程序的输出结果( )。#include stdio.hsub(int *s,int y)static int t=3;y=st;t-;main()int a=1,2,3,4,i,x=0;for(i=0;i4;i+)sub(a,x);printf(“%d“,x); printf(“/n“);A) 1234 B) 4321 C) 0000 D) 4
17、444(分数:2.00)A.B.C.D.40.若有下面的说明和定义,则 sizeof(struct aa)的值是( )。struct aaint r1; double r2; float r3;union uuchar u15;long u22;ua;mya;A) 30 B) 29 C) 24 D) 22(分数:2.00)A.B.C.D.二、填空题(总题数:15,分数:32.00)41.在数据的存储结构中,不仅需要存储各数据元素的信息,还要存放各元素之间 1 的信息。(分数:2.00)填空项 1:_42.数据库的逻辑模型设计阶段的任务是将 1 转换成关系模式。(分数:2.00)填空项 1:_4
18、3.下列软件系统结构图的宽度为_。(分数:2.00)填空项 1:_44.E-R图中,矩形表示 1。(分数:2.00)填空项 1:_45.若有以下程序: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/U。(分数:2.00)填空项 1:_46.若有以下程序:main()int a=4,b=3,c=5,t=0;if(ab)t=a;a=b;b=t;if(ac)t=a; a=c; c=t;printf(“%d %d %d/n“,a,b,c);执行后
19、的输出结果是U /U。(分数:2.00)填空项 1:_47.若有定义:int k;,以下程序段的输出结果是_。 for(k=2;k6;k+,k+) printf(“*%d“,k);(分数:2.00)填空项 1:_48.有以下函数void prt(char ch, int n)int i;for(i=1; i=n; i+)printf(i%6!=0? “%c“: “%c/n“, ch);执行调用语句 prt(*, 24) ;后,函数共输出了_行*号。(分数:2.00)填空项 1:_49.当执行以下程序时,输入 1234567890回车,则其中 while循环体将执行_次。# includemai
20、n()char ch;while(ch=getchar()=0) printf(“#“);(分数:2.00)填空项 1:_50.以下程序运行后的输出结果是_。#includestdio.hmain()int a=1, b=7;do b=b/2; a+=b;while(b1);printf(“%d/n“, a);(分数:2.00)填空项 1:_51.以下程序的输出结果是_。#include stdio.hvoid swap(int *a, int *b)int *tt=a; a=b; b=tmain()int i=3,j=5,*p=while(x15) y+,x+=+y;pfintf(“%d,%
21、d“,y,x);(分数:2.00)填空项 1:_53.以下程序运行后的输出结果是 1。int f(int a, int n)if (n = 1) return f(a, n-1)+an-1;else return 0;main2int aa5=1,2,3,4,5, s;s=f(aa, 5); printf(“%d/n“, s);(分数:2.00)填空项 1:_下面程序的功能是将一个字符串 str的内容倒序。请填空。#includestring.hmain( )int i,j,U /U;char str=“1234567“;for(i=0,j=strlen(str)U /U;ij;i+,j-)k
22、=stri;stri=strj;strj=k;printf(“%s/n“, str):(分数:4.00)填空项 1:_填空项 1:_54.下列程序运行后的输出的结果是_。#includestdio.hmain()char s20;scanf(“%s“,s);printf(“%s“,s);运行程序,输入 HOW ARE YOU。(分数:2.00)填空项 1:_二级 C语言笔试-471 答案解析(总分:97.00,做题时间:90 分钟)一、选择题(总题数:40,分数:65.00)1.1. 下列叙述中正确的是( )。A一个逻辑数据结构只能有一种存储结构B逻辑结构属于线性结构,存储结构属于非线性结构C
23、一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理的效率D一个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理的效率(分数:1.00)A.B.C.D. 解析:解析 数据的存储结构是指数据的逻辑结构在计算机存储空间中的存放形式,一种数据结构可以根据需要采用不同的存储结构,存储结构有顺序和链式结构。用不同的存储结构,其处理的效率是不同的。2.按照“先进先出”组织数据的数据结构是( )。A) 队列 B) 栈 C) 双向链表 D) 二叉树(分数:2.00)A. B.C.D.解析:解析 队列是一种特殊的线性表,只允许在表的一端插入元素,在表的另一端删除元素,插入元素的一端叫“队尾
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 471 答案 解析 DOC
