【计算机类职业资格】二级C语言笔试-351及答案解析.doc
《【计算机类职业资格】二级C语言笔试-351及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试-351及答案解析.doc(38页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C语言笔试-351 及答案解析(总分:99.00,做题时间:90 分钟)一、选择题(总题数:50,分数:64.00)1.有以下程序:#includestdio.hmain()int c;while(c=getchar()!=/n)switch(c-2)case 1:putchar(c+4);case 2:putchar(c+4);break;case 3:putchar(c+4);case 4:putchar(c+4);break;printf(“/n“);输入以下数据,CR代表一个回车符,2743CR程序的输出结果是( )。A) 877 B) 966 C) 778 D) 766(分数:
2、1.00)A.B.C.D.2.以下语句或语句组中,能正确进行字符串赋值的是( )。A) char *sp; *sp=“right!“; B) char s10; s=“right!“;C) char s10; *s=“right!“; D) char *sp=“right!“;(分数:1.00)A.B.C.D.3.有以下程序:void f(int b)int i;for(i=2;i6;i+)bi*=2;main()int a10=1,2,3,4,5,6,7,8,9,10,i;f(a);for(i=0;i10;i+)printf(“%d,“,ai);程序运行后的输出结果是_。A) 1,2,3,4
3、,5,6,7,8,9,10, B) 1,2,6,8,10,12,7,8,9,10C) 1,2,3,4,10,12,14,16,9,10, D) 1,2,6,8,10,12,14,16,9,10,(分数:2.00)A.B.C.D.4.若 a为 int类型,且其值为 3,则执行完表达式 a+=a-=a*a后,a 的值是_。A-3 B9 C-12 D6(分数:2.00)A.B.C.D.5.下列不属于软件调试技术的是_。A) 强行排错法 B) 集成测试法 C) 回溯法 D) 原因排除法(分数:1.00)A.B.C.D.6.软件生命周期中所花费用最多的阶段是( )。A) 详细设计 B) 软件编码 C)
4、软件测试 D) 软件维护(分数:1.00)A.B.C.D.7.结构化程序设计主要强调的是( )。A) 程序的规模 B) 程序的效率C) 程序设计语言的先进性 D) 程序的易读性(分数:1.00)A.B.C.D.8.下列程序的输出结果是#include“stdio.h“#define N3#define M3void fun(int aMN)printf(“%d/n“,*(a1+2);main()int aMN;int i,j;for(i=0;iM;i+)for(j=0;jN;j+)aij=i+j-(i-j);fun(a);A) 3 B) 4 C) 5 D) 6(分数:2.00)A.B.C.D.
5、9.设变量已正确定义,则以下能正确计算 f=n!的程序段是_。(A) f=0; for(i=1;i=n;i+)f*=i;(B) f=1; for(i=1;ispan(C) f=1; for(i=n;i1;i+)f*=i;(D) f=1; for(i=n;i=2;i-)f*=i;(分数:1.00)A.B.C.D.10.下列关于逻辑运算符两侧运算对象的叙述中正确的是( )。 A) 只能是整数 0或 1 B) 只能是整数 0或非 0整数 C) 可以是结构体类型的数据 D) 可以是任意合法的表达式(分数:1.00)A.B.C.D.11.C语言中各种基本数据类型的存储空间长度排列为 ( )A) char
6、longintfloatdouble B) doublefloatlongintcharC) charintlongfloatdouble D) floatintlongchardouble(分数:1.00)A.B.C.D.12.以下叙述中正确的是_。A) 局部变量说明为 static存储类,其生存期将得到延长B) 全局变量说明为 static存储类,其作用域将被扩大C) 任何存储类的变量在未赋初值时,其值都是不确定的D) 形参可以使用的存储类说明符与局部变量完全相同(分数:1.00)A.B.C.D.13.若以“a+”方式打开一个已存在的文件,则下列叙述正确的是( )A) 文件打开时,原有文件
7、内容不被删除,位置指针移到文件末尾,可以进行添加或读操作B) 文件打开时,原有文件内容不被删除,只能进行读操作C) 文件打开时,原有文件内容被删除,只能进行写操作D) 以上三种说法都不正确(分数:1.00)A.B.C.D.14.对两个数组 a和 b进行下列初始化:char m=“1234567“;char n= 1,2,3,4,5,6,7;则下列叙述正确的是( )。A) 数组 m与数组 n完全相同B) 数组 m与数组 n长度相同C) 数组 m比数组 n长 1D) 数组 m与数组 n中都存放字符串(分数:2.00)A.B.C.D.15.执行以下程序段时,输出结果为( )。double a;a=3
8、33.721568;printf(“%-62e/n“,a);A) 输出格式描述符的域宽不够,不能输出B) 33.721568e+01C) 3.3e+02D) -3.33e2(分数:1.00)A.B.C.D.16.下面程序main()int x=100,a=10,b=20,ok1=5,ok2=0;if(ab)if(b!=15)if(!ok1) x=1:else if(ok2)x=10;x=-1;printf(“%d/n“,x);的输出是_。A) -1 B) 0 C) 1 D) 不确定的值(分数:2.00)A.B.C.D.17.若有定义:int a23; ,以下选项中对 a数组元素正确引用的是(
9、)。A) a2!1 B) a23 C) a03 D) a11!1(分数:1.00)A.B.C.D.18.下列程序的输出结果是( )。main()char a7=“a0/0a0/0“;int i,j;i=sizeof(a);j=strlen(a);printf(“%d %d/n“,i,j);A) 2 2 B) 7 6 C) 7 2 D) 6 2(分数:1.00)A.B.C.D.19.下面程序的运行结果是( )。#include stdiohmain()int a=1,b=10;dob-=a;a+;while(b-0);printf(“a=%d,b=%d/n“,a,b);A) a=3,b=11 B
10、) a=2,b=8 C) a=1,b=-1 D) a=4,b=9(分数:2.00)A.B.C.D.20.以下关于逻辑运算符两侧运算对象的叙述中正确的是_。A) 只能是整数 0或 1 B) 只能是整数 0或非 0整数C) 可以是结构体类型的数据 D) 可以是任意合法的表达式(分数:2.00)A.B.C.D.21.C语言程序的基本单位是 ( )A) 函数 B) 过程 C) 字符 D) 语句(分数:1.00)A.B.C.D.22.下列函数定义中,会出现编译错误的是_。A) max(int x,int y,int *z) *z=xy?x:y; z=xy?x:y;return z;B) int max(
11、int x,y)int z;C) max(int x,int y) int z; z=xy?x:y;return(z);D) int max(int x,int y)return xy?x:y;(分数:1.00)A.B.C.D.23.下列程序的输出结果是( )。#includestdio.hmain()int a=0,i;for(i=1;i5;i+)switch(i)case 0:case 3:a+=1;case 1:case 2:a+=2;default:a+=3;printf(“%d“,A) ;A) 19 B) 18C) 6 D) 8(分数:2.00)A.B.C.D.24.有以下程序#in
12、clude stdio.hmain()int a=7;while(a-);pfintf(“%d/n“,a);程序运行后的输出结果是( )。A)-1 B)0 C)1 D)7(分数:2.00)A.B.C.D.25.有以下程序main()int a=0,b=0;a=10; /* 给 a赋值b=20; 给 b赋值 */printf(“ab=%d/n“,ab);/* 输出计算结果 */程序运行后的输出结果是_。A) ab=10 B) ab=30 C) 30 D) 出错(分数:1.00)A.B.C.D.26.数据处理的最小单位是( )。A) 数据 B) 数据元素 C) 数据项 D) 数据结构(分数:1.0
13、0)A.B.C.D.27.有以下程序main( )int i=10,j=1;printf(“%d,%d/n“,i-,+j);执行后输出的结果是A) 9,2 B) 10,2 C) 9,1 D) 10,1(分数:1.00)A.B.C.D.28.若有定义:int a= 7;float x=2.5,y=4.7;则表达式 x+a%3*(int)(x+y)%2/4的值是( )。 A) 2.500000 B) 2.750000 C) 3.500000 D) 0.000000(分数:1.00)A.B.C.D.29.若有程序片段:int a120,* p3,* *pp,ifor (i0;i3;i+)piwhil
14、e(iN)scanf(“%d“, );在下划线处应填入的是( )。A) x+i B) scanf(“%d%d“,while(m!=n)while(mn)m-=n;while(nm)n-=m;printf(“m=%d/n“,m);A) m=3 B) m=2 C) m=1 D) m=0(分数:2.00)A.B.C.D.33.有以下程序int f(int b 4)int i,j,s=0;for(j=0; j4; j+)i=j;if (i2) i=3-j;s+=bi j;return s;main ( )int a4 4 =1,2,3,4, 0,2,4,6, 3,6,9,12), 3,2,1,0;pr
15、int f ( “%d/n“ , f(a);执行后的输出结果是A) 12 B) 11 C) 18 D) 16(分数:1.00)A.B.C.D.34.有以下程序段char ch; int k;ch=a; k=12;pnntf(“%c,%d,“,ch,ch,k); printf(“k 二%d/n“,k);已知字符 a的 ASCII码值为 97,则执行上述程序段后输出结果是A) 因变量类型与格式描述符的类型不匹配输出无定值B) 输出项与格式描述符个数不符,输出为零值或不定值C) a,97,12k=12D) a,97,k=12(分数:1.00)A.B.C.D.35.对长度为 n的线性表进行顺序查找,在
16、最坏情况下需要比较的次数为( )。A) 125 B) n/2 C) n D) n+1(分数:2.00)A.B.C.D.36.下面程序的输出是_。typedef unionlong x2;int y4;char z8;MYTYPE;MYTYPE them;main()printf(“%d/n“,sizeof(them);A) 32 B) 16 C) 8 D) 24(分数:1.00)A.B.C.D.37.计算机能直接执行的程序是_。A) 源程序 B) 目标程序 C) 汇编程序 D) 可执行程序(分数:1.00)A.B.C.D.38.有 3个关系 R、S 和 T如下:(分数:2.00)A.B.C.D
17、.39.若程序中已包含头文件 stdio.h,以下选项中,正确运用指针变量的程序段是A. int *i = NULL;scanf(“%d“, i);B. float *f = NULL;*f = 10.5;C. char t = m, *c = *c = D. long *L;L = /0;(分数:1.00)A.B.C.D.40.数据库设计的四个阶段是:需求分析、概念设计、逻辑设计和_。A) 编码设计 B) 测试阶段C) 运行阶段 D) 物理设计(分数:1.00)A.B.C.D.41.已定义 c为字符型变量,则下列语句中正确的是A) c=97; B) c=“97“; C) c=97; D) c
18、=“a“;(分数:1.00)A.B.C.D.42.有以下程序:void fun(int *a,int i,int i)int t;if(ij)t=ai;ai=aj;ai=t;i+; j-;fun(a,i,j);main()int x=2,6,1,8),i;fun(x,0,3),for(i=0;i4;i+) printf(“%2d“,xi);printf(“/n“);程序运行后的输出结果是( )。A) 1268 B) 8621 C) 8162 D) 8612(分数:1.00)A.B.C.D.43.以下能正确定义且赋初值的语句是 _。A) int n1=n2=10; B) char c=32;C)
19、 float f=f+1.1; D) double x=12.3E2.5;(分数:1.00)A.B.C.D.44.以下程序段中与语句 k=ab?(bc?1:0):0;功能等价的是A) if(ab)else k=0;B) iff(ab)(bc) k=1;else k=0;C) iffa=b) k=0;else iffb=c) k=1;D) if(ab) k=1;else if(bc) k=1;else k=0;(分数:1.00)A.B.C.D.45.以下程序的运行结果是_。#includestdio.hmain()int a=1,2,3,4,5,6,7,8,9,10,11,12;int*p=a+
20、5,*q=NULL;*q=*(p+5);printf(“%d%d/n“,*p,*q);A) 运行后报错 B) 6 6C) 6 12 D) 5 5(分数:1.00)A.B.C.D.46.下列定义数组的语句,正确的是( )。 A) int N=10;int xN;B) #define N 10 int xN; C) int x010; D) int x;(分数:2.00)A.B.C.D.47.有以下程序:#include stdio. hint f(int a)return a% 2; main( )int s8 = 1,3,5,2,4,6 ,i,d =0;for (i=0;f(si);i+) d
21、+ =si;prinff( “% d /n“, d);程序运行后的输出的结果是( ).A) 9 B) 11 C) 19 D) 21(分数:1.00)A.B.C.D.48.有以下程序:#include stdio.hmain()printf(“%d/n“,NULL)“程序运行后的输出结果是( )。A) 0 B) 1 C) -1 D) NULL没定义,出错(分数:1.00)A.B.C.D.49.以下叙述中正确的是( )。A预处理命令行必须位于 C源程序的起始位置B在 C语言中,预处理命令行都以“#”开头C每个 C程序必须在开头包含预处理命令行:#includestdio.hDC 语言的预处理不能实
22、现宏定义和条件编译的功能(分数:1.00)A.B.C.D.50.C语言结构体类型变量在程序运行期间( )。A) TC环境在内存中仅仅开辟一个存放结构体变量地址的单元B) 所有的成员一直驻留在内存中C) 只有最开始的成员驻留在内存中D) 部分成员驻留在内存中(分数:2.00)A.B.C.D.二、填空题(总题数:19,分数:35.00)51.下面的 if语句与 y=(x=10)?3*x-11:(x1)?x:2*x-1;的功能相同,请补充完整。if(_)if(_)y=2*x-1;else y=x;else y=3*x-11;(分数:1.00)填空项 1:_52.一棵二叉树第六层(根结点为第一层)的结
23、点数最多为 1 个。(分数:3.00)填空项 1:_53.下面的程序用来统计文件中字符的个数。请填空。# includestdiohmain( )FILE *fP;long num0;if( (fp=fopen(“fnamedat“,“r“)NULL)printf(“Cant open file! /n“);sxit(0);while _ fgetc(fp);num;printr(“num%d/n“,num);fclose (fp);(分数:1.00)填空项 1:_以下程序段的定义语句中,x1的初值是_,程序运行后输出的内容是_。#includestdio.hmain( )int x=1,2,
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 351 答案 解析 DOC
