【计算机类职业资格】二级C语言笔试-431及答案解析.doc
《【计算机类职业资格】二级C语言笔试-431及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试-431及答案解析.doc(33页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C语言笔试-431 及答案解析(总分:99.00,做题时间:90 分钟)一、选择题(总题数:40,分数:65.00)1.下列二叉树描述中,正确的是( )。 A) 任何一棵二叉树必须有一个度为 2的结点 B) 二叉树的度可以小于 2 C) 非空二叉树有 0个或 1个根结点 D) 至少有 2个根结点(分数:2.00)A.B.C.D.2.结构化分析方法是面向( )的自顶向下、逐步求精进行需求分析的方法。A) 对象 B) 数据结构 C) 数据流 D) 目标(分数:2.00)A.B.C.D.3.在单链表中,增加头结点的目的是( )。A) 方便运算的实现B) 使单链表至少有一个结点C) 标识表结点中
2、首结点的位置D) 说明单键表是线性表的链式存储实现(分数:1.00)A.B.C.D.4.软件设计中模块划分应遵循的准则是( )。A低内聚、低耦合 B高内聚、低耦合C低内聚、高耦合 D高内聚、高耦合(分数:1.00)A.B.C.D.5.在计算机中,算法是指( )。A) 查询方法 B) 加工方法C) 解题方案的准确而完整的描述 D) 排序方法(分数:1.00)A.B.C.D.6.检查软件产品是否符合需求定义的过程称为( )。 A) 确认测试 B) 需求测试 C) 验证测试 D) 路径测试(分数:2.00)A.B.C.D.7.某二叉树共有 60个叶子结点与 50个度为 1的结点,则该二叉树中的总结点
3、数为( )。A) 148 B) 169 C) 182 D) 198(分数:2.00)A.B.C.D.8.数据厍系统的核心是( )。 A) 数据模型 B) 软件开发 C) 数据库设计 D) 数据库管理系统(分数:2.00)A.B.C.D.9.在 16位 C编译系统上,若定义 long a;,则能给变量 a赋值 40000的正确语句是 _。A) a=20000+20000; B) a=4000*10;C) a=30000+10000; D) a=4000L*1OL;(分数:2.00)A.B.C.D.10.下述关于数据库系统的叙述中正确的是_。A) 数据库系统减少了数据冗余 B) 数据库系统避免了切
4、冗余C) 数据库系统中数据的致性是指数据类型的致D) 数据库系统比文件系统能管理更多的数据(分数:2.00)A.B.C.D.11.以下叙述中错误的是( )。A)C语言编写的函数源程序,其文件名后缀可以是.CB)C语言编写的函数都可以作为一个独立的源程序文件C)C语言编写的每个函数都可以进行独立的编译并执行D)一个 C语言程序只能有一个主函数(分数:2.00)A.B.C.D.12.以下程序段中与语句 k=ab? (bc? 1:0):0;功能等价的是( )。A) if(ab)else k=0;B)if(ab)|(bc) k=1;else k=0;C) if(a=b) k=0;else if(b=c
5、) k=1;D) if(ab) k=1;else if(bc) k=1;else k=0;(分数:1.00)A.B.C.D.13.以下叙述中错误的是( )。A) C语句必须以分号结束B) 复合语句在语法上被看做一条语句C) 空语句出现在任何位置都不会影响程序运行D) 赋值表达式末尾加分号就构成赋值语句(分数:1.00)A.B.C.D.14.设在 C语言中,float 类型数据占 4个字节,则 double类型数据占( )个字节。A) 1 B) 2 C) 8 D) 4(分数:2.00)A.B.C.D.15.下列是合法的用户自定义标识符的是( )。A) _w1 B) 3_xy C) int D)
6、LINE-3(分数:1.00)A.B.C.D.16.下列关于逻辑运算符两侧运算对象的叙述中正确的是( )。 A) 只能是整数 0或 1 B) 只能是整数 0或非 0整数 C) 可以是结构体类型的数据 D) 可以是任意合法的表达式(分数:1.00)A.B.C.D.17.假设下面四个选项中所有的数都是 8进制数或 16进制数,均是不正确的选项是 ( )。A) 016 0x8f 018 B) 0abc 017 0xaC) 010 -0x11 0x16 D) 0al2 7ff -123(分数:1.00)A.B.C.D.18.语句“printf(“a/bhow/are/y/bou/n“);”的输出结果是
7、( )。A) a/bhow/are/y/bou B) a/bhow/are/y/bouC) howareyou D) ahowarey/bou(分数:2.00)A.B.C.D.19.运行下列程序时,若输入的数据为“1,2,3”,则输出结果是( )。main()float a,b,C,t;scanf(“%f,%f,%of“,if(aB) t=a;a=b;b=t;if(aC) t=a;a=c;c=t;if(bC) t=b;b=c;c=t;printf(“%f/n%f/n%f/n“,a,b,C) ;A) 1.002.003.00B) 1.003.002.00C) 132D) 3.0000002.00
8、00001.000000(分数:2.00)A.B.C.D.20.若有定义:int *p3;则以下叙述中正确的是( )。A) 定义了一个基类型为 int的指针变量 p,该变量具有三个指针B) 定义了一个指针数组 p,该数组含有三个元素,每个元素都是基类型为 int的指针C) 定义了一个名为*p 的整型数组,该数组含有三个 int类型元素D) 定义了一个可指向一维数组的指针变量 p,所指一维数组应具有三个 int类型元素(分数:1.00)A.B.C.D.21.已定义下列函数:int fun(int *p)return *p;)fun函数返回值是( )。A) 不确定的值 B) 一个整数C) 形参 p
9、中存放的值 D) 形参 p的地址值(分数:1.00)A.B.C.D.22.若各选项中所用变量已正确定义,函数 fun中通过 return语句返回一个函数值,以下选项中错误的程序是_。A) main()x=fun(2,10);float fun(int a,int b)B) float fun(int a,int b)main()x=fun(i,j);C) float fun(int,int);main()x=fun(2,10);float fun(int a,int b)D) main()float fun(int i,int j);x=fun(i,j);float fun(int a,int
10、 b)(分数:2.00)A.B.C.D.23.有以下程序(说明:字母 A的 ASCII码值是 65) #includestdio.hvoid fun(char *s)while(*s)if(*s%2) printf (“%c“, *s);s+;main()char a=“BYTE“;fun(a); printf(“/n“);程序运行后的输出结果是_。A) BY B) BT C) YT D) YE(分数:1.00)A.B.C.D.24.下列函数值的类型是( )。fun(double x)float y;y=3*x-4;return y;A) int B) 不确定 C) void D) float
11、(分数:2.00)A.B.C.D.25.以下对枚举类型名的定义中正确的是_。A) enum a=one,two,three; B) enum aone=9,two=-1,three);C) enum a=“one“two“three“; D) enum a“one“two“three“;(分数:2.00)A.B.C.D.26.有以下程序main()int i,s=0,t=1,2,3,4,5,6,7,8,9;for(i=0;i9;i+=2)s+=*(t+i);printf(“%d/n“,s);程序执行后的输出结果是A) 45 B) 20 C) 25 D) 36(分数:2.00)A.B.C.D.2
12、7.以下程序运行后的输出结果是_。int d=1;fun(int p)static int d=5;d+=pprintf(“%d,d“);retum d;main()int a=3;printf(“%d/n“,fun(a+fun(d) );A) 699 B) 9 C) 61515 D) 6615(分数:2.00)A.B.C.D.28.以下结构体类型说明和变量定义中正确的是A) typedef structint n;char c;REC;REC t1,t2;B) struct REC;int n;char c;REC t1,t2;C) typedef struct REC;int n=0;ch
13、ar c=A;t1,t2;D) structint n;char c;REC;REC t1,t2;(分数:2.00)A.B.C.D.29.设变量已正确定义,则下列能正确计算 f=n!的程序段是( )。A) f=0;for(i=1 ;i=n;i+ +) f*=i;B) f=1;for(i=1;in;i+ +) f*=i;C) f=1;for(i=n;i1;i+ +)f*=i;D) f=1;for(i=n;i=2;i-)f*=i;(分数:2.00)A.B.C.D.30.若已包括头文件string.h且已有定义 char s118,s2=“ABCDE“和 int i,现要将字符串 “ABCDE“赋给
14、 s1,下列语句错误的是( )A) strcpy(s1,s2)B) strcpy(s1,“ABCDE“);C) s1=“ABCDE“;D) for(i=0;i6;i+)s1i=s2i;(分数:1.00)A.B.C.D.31.有下列函数:int fun(char*S)char*t=s;while(*t+ +);return(t-s);该函数的功能是( )。A) 比较两个字符串的大小 B) 计算 s所指字符串占用内存字节的个数C) 计算 s所指字符串的长度 D) 将 s所指字符串复制到字符串 t中(分数:1.00)A.B.C.D.32.下列程序的输出结果是#include“stdio.h“#def
15、ine 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.33.下列程序段的输出结果为( )。#includestdio.hmain()static char a=“language“;char*p;p=a;for(p=a;pa+8;p+=2)putchar(*p);A) language B) lnug C) 有语法错误 D) l
16、ang(分数:2.00)A.B.C.D.34.以下程序的输出结果是char cchar(char ch)if(ch=A strcpy(str,strcat(p1,p2);printf(%s,str);A) xyzabcABC B) abcABC C) xyzabc D) xyzABC(分数:2.00)A.B.C.D.36.有以下程序:#include stdio.hmain( )int m,n,p;seanf( “m = % dn = % dp = % d“, 若想从键盘上输入数据,使变量 m中的值为 123,n中的值为 456, p中的值为 789,则下列选项中正确的输入是( )。 A) m
17、 = 123n =456p =789 B) m = 123 n =456 p =789C) m= 123,n =456,p =789 D) 123 456 789(分数:1.00)A.B.C.D.37.以下程序的功能是进行位运算:main()unsigned char a,b;a=73;b=43;printf(“%d%d/n“,a,b);程序运行后的输出结果是_。A) 4 3 B) 7 3C) 7 0 D) 4 0(分数:2.00)A.B.C.D.38.下面程序的运行结果是( )。#include stdiohmain()int a=1,b=10;dob-=a;a+;while(b-0);pr
18、intf(“a=%d,b=%d/n“,a,b);A) a=3,b=11 B) a=2,b=8 C) a=1,b=-1 D) a=4,b=9(分数:2.00)A.B.C.D.39.有以下程序#includestdio.hint a=1:int f(int c)static int a=2;c=c+1:return(a+)+c;main()int i,k=0;for(i=0;i2;i+)(int a=3;k+=f(a);k+=a;printf(“%d/n“,k);程序运行结果是( )。A14 B15 C16 D17(分数:1.00)A.B.C.D.40.若有下面的说明和定义,则 sizeof(st
19、ruct 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,分数:34.00)41.结构化分析方法是面向_进行分析的方法。(分数:2.00)填空项 1:_42.数据字典是各类数据描述的集合,它通常包括 5个部分,即数据项、数据结构、数据流;U /U和处理过程。(分数:2.00)填空项 1:_43.执行以下程序后的输出结果是_。main( )int a=10;a=(3*5,a+4);
20、printf(“a=%d/n“,a);(分数:2.00)填空项 1:_44.在以下程序运行时若从键盘输入:10 20 30回车。输出结果是_。#includestdio.hmain()int i=0,j=0,k=0;scanf(“%d%*d%d“, int y;,当执行 y=(int)(x/5)%2;之后 y的值为 1。(分数:2.00)填空项 1:_46.下列程序段是从键盘输入的字符中统计小写字母的个数,用换行符结束循环。请填空。int n=0,c;c=getchar();while(c!=/n)if(_)n+;(分数:2.00)填空项 1:_47.已定义 char ch=$;int i=1
21、,j;,执行 j!=ch,则 a数组元素下标的上限为 1。(分数:2.00)填空项 1:_50.以下程序的输出结果是_。#includestdlibhmain()char*s1,*s2,m;s1=s2=(char*)malloc(sizeof(char);*s1=15;*s2=20;m=*s1+*s2;printf(“%d/n“,m);(分数:2.00)填空项 1:_51.下列程序的输出结果是_。long fun5(int n)long s;if(n=1)(n=2)s=2;elses=n+fun5(n-1);return(s);main()long x;x=fun5(4);printf(“%1
22、d/n“,x);(分数:2.00)填空项 1:_52.下面程序的运行结果是_。 #includestdio.h #define SIZE 12 main() char sSIZE;int i; for(i=0;iSIZE;i+)si=A+i+32; sub(s,5,SIZE-1); for(i=0;iSIZE;i+)printf(“%c“,si); printf(“/n“); sub(char*a,int t1,int t2) char ch; while(t1t2) ch=*(a+t1); *(a+t1)=*(a+t2); *(a+t2)=ch; t1+;t2-; (分数:2.00)填空项
23、1:_53.下列程序的输出结果是_。main()inta=31,27,20,12,6,1,*p=a;p+;printf(“%d/n“,*(p+2);(分数:2.00)填空项 1:_54.有以下程序#include stdio.hmain()char a20= “How are you? “,b20;scanf(“%s“,b);printf(“%s%s/n“,a,b);程序运行时从键盘输入:How are you?回车则输出结果为_。(分数:2.00)填空项 1:_55.阅读下列程序,则程序的输出结果为_。#include “stdio.h“struet tyint data;char c;ma
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 431 答案 解析 DOC
