【计算机类职业资格】二级C语言笔试-366及答案解析.doc
《【计算机类职业资格】二级C语言笔试-366及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试-366及答案解析.doc(38页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言笔试-366 及答案解析(总分:99.00,做题时间:90 分钟)一、选择题(总题数:50,分数:66.00)1.以下程序运行后的输出结果是#includestdio.hmain()int c=0, k;for(k=1; k3; k+)switch(k)default: c+=k;case 2: c+; break; case 4: c+=2; break;printf(“%d/n“, c);A) 3 B) 5 C) 7 D) 9(分数:1.00)A.B.C.D.2.有以下计算公式:(分数:1.00)A.B.C.D.3.与“for(i=0;i10;i+)putchar(a+i);
2、”功能不同的语句是_。A) for(i=0;i10;)putchar(a+(+i);B) for(i=0;i10;)putchar(a+(i+);C) for(i=0;i10;putchar(a+i),i+);D) for(i=0;i=9;i+)putchar(a+i);(分数:2.00)A.B.C.D.4.在顺序表(3,6,8,10,12,15,16,18,21,25,30)中,用二分法查找关键码值 11,所需的关键码比铰次数为 _。A) 2 B) 3 C) 4 D) 5(分数:2.00)A.B.C.D.5.下面程序的输出是( )。main()int t=1;fun(fun(t);fun(i
3、nt h)static int a3=1,2,3;int k;for(k=0;k3;k+)ak+=ak-h;for(k=0;k3;k+)printf(“%d“,ak);printf(“/n“);return(ah);A) 1,2,3,1,5,9,B) 1,3,5,1,3,5,C) 1,3,5,0,4,8,D) 1,3,5,-1,3,7,(分数:1.00)A.B.C.D.6.若要用下面的程序片段使指针变量 p 指向一个存储整型变量的动态存储单元,则应填入 ( )int * p p_malloc(sizeof(int);A) intB) intC) (* int)D) (into*)(分数:1.0
4、0)A.B.C.D.7.若有语句 int * point,a=4;和 point=,则以下叙述中正确的是_。A) 定义了一个基类型为 int 的指针变量 p,该变量有三个指针B) 定义了一个指针数组 p,该数组含有三个元素,每个元素都是基类型为 int 的指针C) 定义了一个名为*p 的整型数组,该数组含有三个 int 类型元素D) 定义了一个可指向二维数组的指针变量 p,所指一维数组应具有三个 int 类型元素(分数:1.00)A.B.C.D.10.下列叙述中错误的是_。A) 一个 C 语言程序只能实现一种算法 B) C 程序可以由多个程序文件组成C) C 程序可以由一个或多个函数组成 D)
5、 一个 C 函数可以单独作为一个 C 程序文件存在(分数:1.00)A.B.C.D.11.在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是( )。A) 概要设计 B) 详细设计 C) 可行性分析 D) 需求分析(分数:1.00)A.B.C.D.12.请读程序:#includestdio.hmain()int a;float b,c;scanf(“%2d%3f%4f“,for(i=1;i5; i+)switch (i)case 0case 3:a+ =2;case 1;case 2;a+=3;default, a+=5;printf(“%d/n“,a) ;A) 31 B
6、) 13 C) 10 D) 20(分数:1.00)A.B.C.D.14.定义如下变量和数组:int i;int x33=1,2,3,4,5,6,7,8,9;则下面语句的输出结果是for(i=0;i3;i+)printf(“%d“,x2-11);A) 9 5 1 B) 7 4 1 C) 7 5 3 D) 9 6 3(分数:1.00)A.B.C.D.15.将 E-R 图转换到关系模式时,实体与联系都可以表示成( )。A) 属性 B) 关系 C) 键 D) 域(分数:1.00)A.B.C.D.16.将 E-R 图转换到关系模式时,实体与联系都可以表示成_。A) 属性 B) 关系 C) 键 D) 域(
7、分数:2.00)A.B.C.D.17.若有定义:int a23;,以下选项中对 a 数组元素正确引用的是( )。A) a21 B) a23 C) a03 D) a12!1(分数:2.00)A.B.C.D.18.阅读下列程序,则执行后的结果为#include“stdio.h“main()int c4=1,2,3,4,5,6,7,34,213,56,62,3,23,12,34,56;printf(“%x,%x/n“,c22,*(*(c+1)+1);A) 3e,6 B) 62,5 C) 56,5 D) 3E,6(分数:2.00)A.B.C.D.19.下列说法不正确的是( )。A) C 语言程序是以函
8、数为基本单位的,整个程序由函数组成B) C 语言程序的一条语句可以写在不同的行上C) C 语言程序的注释行对程序的运行功能不起任何作用,所以注释应该尽可能少写D) C 语言程序的每个语句都以分号结束(分数:2.00)A.B.C.D.20.开发软件时对提高开发人员工作效率至关重要的是A) 操作系统的资源管理功能 B) 先进的软件开发工具和环境C) 程序人员的数量 D) 计算机的并行处理能力(分数:1.00)A.B.C.D.21.有以下程序struct s int x,y; data2=10,100,20,200;main( )struct s *p=data;printf(“%d/n“,+(p-
9、x);程序运行后的输出结果是 A)10B)11C)20D)21(分数:1.00)A.B.C.D.22.先用以下语句定义字符型变量:char c;然后要将字符 a 赋给变量 c,则下列语句中正确的是_。Ac=a; Bc=“a“; Cc=“97“; Dc=97;(分数:2.00)A.B.C.D.23.以下选项中非法的表达式是( )。A) 0=x100 B) i=j= =0 C) (char)(65+3) D) x+1=x+1(分数:1.00)A.B.C.D.24.若有运算符: 、*=、%、sizeof,则它们按优先级(由低至高)的正确排列次序为( )。A) *= % sizeof B) *= %
10、sizeofC) %= sizeof % D) *= % sizeof(分数:2.00)A.B.C.D.25.为了避免嵌套的 if-else 的二义性,C 语言规定:else 与_配对。A) 缩排位置相同的 if B) 其之前最近的 ifC) 其之后最近的 if D) 同一行上的 if(分数:1.00)A.B.C.D.26.有以下程序main()char ch=“uvwxyz“,*pc;pc=ch;printf(“%c/n“,*(pc+5);程序运行后的输出结果是A) z B) 0 C) 元素 ch5的地址 D) 字符 y 的地址(分数:1.00)A.B.C.D.27.若指针 p 已正确定义,
11、要使 p 指向两个连续的整型动态存储单元,则正确的语句是( )。A) p=2*(int*)malloc (sixeof(int) B) p=(int*)calloc (2*sixeof(int)C) p=(int*)malloc (2*sizeof(int) D) p=2*(int*)calloc (sizeof(int)(分数:1.00)A.B.C.D.28.若输入 12345、abc,程序的输出结果为_。main()int a;char ch;scanf(“%3d,%3c“,printf(“%d,%c“,a,ch);A) 123,abc B) 123,4 C) 123,a D) 12345
12、,abc(分数:1.00)A.B.C.D.29.有以下程序:#include stdio.hmain()FILE *fp;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);程序运行后的输出结果是( )。A) 0 0 B) 123 45 C) 1 4 D) 1 2(分数:1.00)A.B.C.D.30.下面是对宏定义的描述,不正确的是_
13、。A) 宏不存在类型问题,宏名无类型,它的参数也无类型B) 宏替换不占用运行时间C) 宏替换时先求出实参表达式的值,然后代入形参运算求值D) 宏替换只不过是字符替代而已(分数:1.00)A.B.C.D.31.有以下程序:main() int c=35; printf(“%d/n“, cc); 程序运行后的输出结果是( )。A) 0 B) 70 C) 35 D) 1(分数:1.00)A.B.C.D.32.若有定义语句:int x=10;则表达式 x-=x+x 的值为A) -20 B) -10 C) 0 D) 10(分数:1.00)A.B.C.D.33.设有 int x=11:表达式(x+*1/3
14、)的值是( )。A) 3 B) 4 C) 11 D) 12(分数:1.00)A.B.C.D.34.若有以下程序:#includestdiohint a=2,4,6,8;main()int i;int *p=a;for(i=0;i4;i+) ai=*p;printf(“%d/n“,a2);上面程序的输出结果是( )。A) 6 B) 8 C) 4 D) 2(分数:1.00)A.B.C.D.35.当 a=1、b=2、c=3、d=4 时,执行下面程序段后,x 的值是( )。 if(ab) if(cd)x=1; else if(ac) if(bd)x=2: else x=3: else x=6: els
15、e x=7: A) 1 B) 6 C) 3 D) 2(分数:1.00)A.B.C.D.36.采用链接方式存储线性表的优点是_。A) 便于随机存取B) 花费的存储空间较顺序存储少C) 便于插入和删除操作D) 数据元素的物理顺序和逻辑顺序相同(分数:1.00)A.B.C.D.37.现有如下定义语句int*p,s20,i;p=s;表示数组元素 si的表达式不正确的是A) *(s+i) B) *(p+i) C) *(s=s+i) D) *(p=p+i)(分数:1.00)A.B.C.D.38.有以下程序#include stdio.hmain()FILE *fp; int a10=1,2,3,i,n;f
16、p=fopen(“d1.daf“,“w“);for(i=0;i3;i+) fprintf(fp,“%d“,ai);fprintf(fp,“/n“);fclose(fp);fp=fopen(“d1.dat“,“r“);fscanf(fp,“%d“,int a20;void f(int *a, int n)int i;for(i=0;in-1;i+)ai+=i;main()int i;struct S s=10,12,3,1,6,8,7,5,4 ,10,9;f(sa,sn);for(i=0;is.n;i+)printf(“%d,“,s.ai);程序运行后的输出结果是A) 2,4,3,9,12,12
17、,11,11,18,9, B) 3,4,2,7,9,8,6,5,11,10,C) 2,3,1,6,8,7,5,4,10,9, D) 1,2,3,6,8,7,5,4,10,9,(分数:1.00)A.B.C.D.40.下列程序的输出结果是_。main()int x=0,a=0,b=2;if(x=a+b) printf(“*/n“);else printf(“#/n“);A) 有语法错,不能通过编译 B) 通过编译,但不能连接C) * D) #(分数:1.00)A.B.C.D.41.下列叙述中错误的是( )。A) 线性表是由 n 个元素组成的一个有限序列B) 线性表是一种线性结构C) 线性表的所有结
18、点有且仅有一个前件和后件D) 线性表可以是空表(分数:2.00)A.B.C.D.42.下列程序执行后的输出结果是main()int a33, *p,i;p=int i;for(i=3;i=0;i-,i-)prinf(“%c“,*pi);print(“/n“)A) SO B) SP C) SPOPK D) SHOB(分数:2.00)A.B.C.D.44.下面能正确进行字符串赋值操作的是( )。A) char s5=“ABCDE“; B) char s5=A,b,C,D,E;C) char *s;s=“ABCDE“; D) char *s;scanf(“%s“,s);(分数:2.00)A.B.C.
19、D.45.A) *s B) S C) *s+ D) (*s)+(分数:1.00)A.B.C.D.46.设有以下定义和语句:int a32=1,2,3,4,5,6,*p3;p0=a1;则*(p0+1)所代表的数组元素是( )。A) a01 B) a10 C) a11 D) a12(分数:2.00)A.B.C.D.47.有以下程序main()char a,b,c,*d;a=/;b=/xbc;c=/0xab;d=“/0127“;pfintf(“%c%c%c%c/n“,a,b,c,*d) ;编译时出现错误,以下叙述中正确的是A) 程序中只有 a=/;语句不正确 B) b=/xbc;语句不正确C) d=
20、“/0127“;语句不正确 D) a=/;和 c=,0xab;语句都不正确(分数:1.00)A.B.C.D.48.有下列程序:main()char s=“abcde“;s+=2;printf(“%d/n“, s0;执行后的结果是( )。A) 输出字符 a 的 ASCII 码 B) 输出字符 c 的 ASCII 码C) 输出字符 c D) 程序出错(分数:1.00)A.B.C.D.49.若 x,i,j 和 k 都是 int 型变量,则计算表达式 x=(i=4,j=16,k=32)后 x 的值为( )。A) 4 B) 16 C) 32 D) 52(分数:1.00)A.B.C.D.50.下列选项中非
21、法的字符常量是( )。A) /t B) /039 C) , D) /n(分数:2.00)A.B.C.D.二、填空题(总题数:19,分数:33.00)51.有以下程序main( )int n=0,m=1,x=2;if(!n) x-=1; if(m) x-=2; if(x) x-=3; printf(“%d/n”,x);执行后输出结果是_。(分数:1.00)填空项 1:_52.顺序存储方法是把逻辑上相邻的结点存储在物理位置 1 的存储单元中。(分数:1.00)填空项 1:_53.下面程序的输出是_。main()int arr10,i,k=0;for(i=0;i10;i+)arri=i;for(i=
22、1;i4;i+)k+=arri+i;printf(“%d/n“k);(分数:2.00)填空项 1:_54.设有定义语句:int a3=0,12;,则数组元素 a12的值是 1。(分数:1.00)填空项 1:_55.按照逻辑结构分类,结构可以分为线性结构和非线性结构,栈属于 1。(分数:2.00)填空项 1:_56.设有下列宏定义:#define A 2#define B (A+3) 则执行赋值语句“k=B*20;”(k 为 int 型变量)后,k 的值是_。(分数:2.00)填空项 1:_57.在对文件进行操作的过程中,若要使文件位置的指针回到文件的开头,应使用的函数是 1。(分数:1.00)
23、填空项 1:_58.在面向对象方法中,属性与操作相似的一组对象称为 1。(分数:1.00)填空项 1:_59.设有定义:int n,*k=n;以下语句将利用指针变量 k 读写变量 n 中的内容,请将语句补充家整。seanf(“%d“,_);printf(“%d/n“,_);(分数:2.00)填空项 1:_60.以下定义的结构体类型拟包含两个成员,其中成员变量 info 用来存入整型数据;成员变量 link 是指向自身结构体的指针,请将定义补充完整。struct nodeint info; _link; ;(分数:2.00)填空项 1:_61.以下程序从名为 filea.dat 的文本文件中逐个
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 366 答案 解析 DOC
