【计算机类职业资格】二级C语言笔试373及答案解析.doc
《【计算机类职业资格】二级C语言笔试373及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试373及答案解析.doc(15页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言笔试 373 及答案解析(总分:100.00,做题时间:90 分钟)一、B选择题/B(总题数:40,分数:70.00)1.在 C 语言程序中,下列说法正确的是( )。(分数:2.00)A.函数的定义和函数的调用均可以嵌套B.函数的定义不可以嵌套,但函数的调用可以嵌套C.函数的定义可以嵌套,但函数的调用不可以嵌套D.函数的定义和函数的调用均不可以嵌套2.在位运算中,操作数每右移两位,其结果相当于( )。(分数:2.00)A.操作数乘以 2B.操作数除以 2C.操作数除以 4D.操作数乘以 43.下列说法不正确的是( )。(分数:2.00)A.一个 C 语言源程序可以由一个函数组成也
2、可以由多个函数组成B.main()中的“()”是函数的参数部分,括号内可为空,但括号不能省略C.C 语言程序是以函数为基本单位的D.在 C 语言程序中,注释行只能位于一条语句的后面4.若 ch 为 char 型变量,k 为 int 型变量(已知字符 a 的 ASCII 码是 97),则执行下列语句后输出的结果为( )。 ch=b; k=10; printf(“%x,%o,“,ch,ch,k); printf(“k:%d/n“,k);(分数:2.00)A.因变量类型与格式描述符的类型不匹配,输出无定值B.输出项与格式描述符个数不符,输出为 0 值或不定值C.62,142,k=%dD.62,142
3、,k=%105.设计程序时,应采纳的原则之一是( )。(分数:2.00)A.程序的结构应有助于读者的理解B.限制 GOTO 语句的使用C.减少或取消注释行D.程序越短越好6.下列程序的输出结果是( )。 main() int i=1 j=2,k=3; if(i+=1 (分数:2.00)A.1 2 3B.2 3 4C.2 2 3D.2 3 37.若变量已正确定义,要求通过 scanf(“%c%d%c%d“, char sex; int age; a1,a2; 则下列语句中错误的是( )。(分数:2.00)A.printf(“%d%c,%d“,a1);B.a2.age=a1.age;C.a1.ag
4、e+;D.a1.num=5;9.在“文件包含”预处理语句的使用形式中,当#include 后面的文件名用“(双撇号)括起时,寻找被包含文件的方式是( )。(分数:2.00)A.直接按系统设定的标准方式搜索目录B.先在源程序所在的目录搜索,如没找到,再按系统设定的标准方式搜索C.仅仅搜索源程序所在目录D.仅仅搜索当前目录10.下列叙述中正确的是( )。(分数:2.00)A.在赋值表达式中,赋值号的左边既可以是变量,也可以是任意表达式B.实型变量中允许存放整型数C.若 a 和 b 类型相同,在执行了赋值 a=b 后,b 中的值将放入 a 中,但 b 中的值不变D.在 C 程序中,求余运算符“%”两
5、边的类型相同时才能进行运算11.简单的交换排序方法是( )。(分数:2.00)A.快速排序B.选择排序C.堆排序D.冒泡排序12.下列能正确进行字符串赋值的是( )。(分数:2.00)A.char s5=“ABCDE“;B.char s5=A,B,C,D,E;C.char*s;s=“ABCDE“;D.char*s;printf(“%s“,;13.在面向对象方法中,一个对象请求另一个对象为其服务的方式是通过发送( )。(分数:2.00)A.调用语句B.命令C.N 令D.消息14.下列叙述中正确的是( )。(分数:2.00)A.一个算法的空间复杂度大,则其时间复杂度必定大B.一个算法的空间复杂度大
6、,则其时间复杂度必定小C.一个算法的时间复杂度大,则其空间复杂度必定小D.上述三种说法都不对15.设 x、y 和 z 是 int 型变量,且 x=4,y=6,z=8,则下列表达式中值为 0 的是( )。(分数:2.00)A.x”则对 a 数组的第 i 行第 j 列元素的正确引用为( )。(分数:2.00)A.*(*(a+B.(a+C.*(a+i+D.*(a+j19.若有说明 char s130=“abc“,s2=“defghi“;,则在使用函数 strcat(s1,s2)后,结果是( )。(分数:2.00)A.s1 的内容更新为 abcdefghiB.s1 的内容更新为 defghi/0C.s
7、1 的内容更新为 defghiabc/0D.s1 的内容更新为 abcdefghi/020.下列程序的输出结果是( )。 #includestdio.h main() int a=0,i; for(i=1;i5;i+) switch(i) case 0: case 3:a+=1; case 1: case2:a+=2; default:a+=3; printf(“%d“,a); (分数:2.00)A.19B.18C.6D.821.下列说法中不正确的是( )。(分数:2.00)A.指针是一个变量B.指针中存放的是数值C.指针可以进行加、减等算术运算D.指针变量占用存储空间22.C 语言结构体类型
8、变量在程序执行期间( )。(分数:2.00)A.所有成员一直驻留在内存中B.没有成员驻留在内存中C.部分成员驻留在内存中D.只有一个成员驻留在内存中23.有下列程序: fun(int x,int y)return(x+y); main() inta=l1b=2,c=3,sum; sum=fun(a+,b+,a+b),C+); printf(“%d/n“,sum); 执行后的输出结果是( )。(分数:2.00)A.6B.7C.8D.924.下列能正确定义且赋初值的语句是( )。(分数:2.00)A.int n1=n2=10;B.char c=32;C.float f=f+1.1;D.double
9、 x=12.3E2.5;25.下列叙述中正确的是( )。(分数:2.00)A.一个逻辑数据结构只能有一种存储结构B.逻辑结构属于线性结构,存储结构属于非线性结构C.一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理的效率D.一个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理的效率26.若各选项中所用变量已正确定义,fun()函数中通过 return 语句返回一个函数值,下列选项中错误的程序是( )。(分数:2.00)A.main() x=fun(2,10); float fun(int a,int B.float fun(int a,int main() x=fun(
10、i,;C.float fun(int,in; main() x=fun(2,10); float fun(int a,int D.main() float fun(int I,int; x=fun(i,; float fun(int a,int 27.下列程序的输出结果是( )。 main() int a=4,b=5,c; if(ab) c=a*b;printf(“%d,%d,%d/n“,b,a,c); else c=b/a; printf(“%d,%d,%d/n“,b,a,c); (分数:2.00)A.4,5,12B.20C.5,4,20D.1228.下列合法的声明语句是( )。(分数:2.
11、00)A.int_abc=50;B.double int=3+5e2.5C.long do=1L;D.float 3_asd=3e-3;29.在 C 语言中,while 和 dowhile 循环的主要区别是( )。(分数:2.00)A.dowhile 的循环体不能是复合语句B.dowhile 允许从循环体外转到循环体内C.whil8 的循环体至少被执行一次D.dowhile 的循环体至少被执行一次30.sizeof(float)是( )。(分数:2.00)A.一种函数调用B.一种函数定义C.一个浮点表达式D.一个整型表达式31.下列叙述中正确的是( )。(分数:1.00)A.软件交付使用后还需
12、要进行维护B.软件一旦交付使用就不需要再进行维护C.软件交付使用后其生命周期就结束D.软件维护是指修复程序中被破坏的指令32.下列二维数组的说明中,不正确的是( )。(分数:1.00)A.float a4=0,1,8,5,9;B.int a34;C.#define N 5 float a 3;D.int a 29.5;33.若有定义和语句: int*pp,*p,a=20,b=10; pp=p=p=printf(“%d,%d/n“,*p,*pp); 则输出结果是( )。(分数:1.00)A.20,10B.20,20C.10,20D.10,1034.若函数调用时,参数为基本数据类型的变量,下列叙述
13、中正确的是( )。(分数:1.00)A.实参与其对应的形参共占存储单元B.只有当实参与其对应的形参同名时才共占存储单元C.实参与其对应的形参分别占用不同的存储单元D.实参将数据传递给形参后,立即释放原先占用的存储单元35.下列描述中正确的是( )。(分数:1.00)A.在 C 语言程序中预处理是指完成宏替换和文件包含指定的文件的调用B.预处理指令只能位于 C 源程序文件的首部C.预处理命令可以放在程序中的任何位置D.预处理命令结尾需要加分号36.有下列程序: main() int k=5; while(-k) printf(“%d“,k-=3); printf(“/n“); 执行后的输出结果是
14、( )。(分数:1.00)A.1B.2C.4D.死循环37.设有变量说明 int(*p)m,其中的标识符 p 是( )。(分数:1.00)A.m 个指向整型变量的指针B.指向 m 个整型变量的指针C.一个指向具有 m 个整型元素的一维数组的指针D.具有 m 个指针元素的一维指针数组,每个元素都指向整型变量38.判断 char 型变量 c1 是否为小写字母的正确表达式为( )。(分数:1.00)A.a=c1=zB.(c1=c1=C.(a=c1(z=c1)D.(c1=a) switch(x) case 1: switch(y) Case0:a+;break; case 1:b+;break; ca
15、se2: a+;b+;break; printf(“a=%d,b=%d/n“,a,b); (分数:2.00)填空项 1:_49.C 语言用于结构化程序设计的 3 种基本结构是 1、选择结构和循环结构。(分数:2.00)填空项 1:_50.下列循环的循环次数是_。 int k=2; while(k=0) printf(“%d“,k); k-; printf(“/n“);(分数:2.00)填空项 1:_51.若有定义 float b15,*p=b;,且数组 b 的首地址为 200H,则 p+13 所指向的数组元素的地址为 1。(分数:2.00)填空项 1:_52.“printf(“%d/n“,st
16、rlen(“/t/“/023/xABC/n“);”语句的输出结果是_。(分数:2.00)填空项 1:_53.设有下列宏定义:#define A 2 #define B A+3 则执行赋值语句:t=B*2;t 为 int 型变量后的值是_。(分数:2.00)填空项 1:_54.下列程序的功能是将字符串 s 中所有的字符 c 删除。请填空。 #includestdio.h main() char s80; int i,j; gets(s); for(i=j=0;si !=/0;i+) if(si !=c)_; sj=/0; puts(s); (分数:2.00)填空项 1:_55.下列程序的运行结果
17、是_。 #includestdio.h func(a,b) static int m=0,i=2; i+=m+1; m=i+a+b; return(m); main() int k=5,m=3,p; p=func(k,m); printf(“%d“,p); p=func(k,m); printf(“%d/n“,p); (分数:2.00)填空项 1:_二级 C 语言笔试 373 答案解析(总分:100.00,做题时间:90 分钟)一、B选择题/B(总题数:40,分数:70.00)1.在 C 语言程序中,下列说法正确的是( )。(分数:2.00)A.函数的定义和函数的调用均可以嵌套B.函数的定义不
18、可以嵌套,但函数的调用可以嵌套 C.函数的定义可以嵌套,但函数的调用不可以嵌套D.函数的定义和函数的调用均不可以嵌套解析:解析 本题考查函数调用的基本概念。因为函数的结果是个未知量,而函数定义时不能使用未知量,所以函数定义不可以嵌套,但函数的调用可以嵌套。2.在位运算中,操作数每右移两位,其结果相当于( )。(分数:2.00)A.操作数乘以 2B.操作数除以 2C.操作数除以 4 D.操作数乘以 4解析:解析 在位运算中,操作数每右移两位,相当于在操作数的左侧添 0,最右面的两位被移出,即操作数除以 4。3.下列说法不正确的是( )。(分数:2.00)A.一个 C 语言源程序可以由一个函数组成
19、也可以由多个函数组成B.main()中的“()”是函数的参数部分,括号内可为空,但括号不能省略C.C 语言程序是以函数为基本单位的D.在 C 语言程序中,注释行只能位于一条语句的后面 解析:解析 本题涉及 C 语言基本的 3 个知识点:C 语言是以函数为基本单位的,每一个函数完成相对独立的功能,一个程序可以包括多个函数,但有且仅有一个主函数;主函数 main()的圆括号内是填写参数的,可以没有参数,但括号不可以省略:程序的注释部分应该在“/*/”之间,它允许出现在程序的任何位置。4.若 ch 为 char 型变量,k 为 int 型变量(已知字符 a 的 ASCII 码是 97),则执行下列语
20、句后输出的结果为( )。 ch=b; k=10; printf(“%x,%o,“,ch,ch,k); printf(“k:%d/n“,k);(分数:2.00)A.因变量类型与格式描述符的类型不匹配,输出无定值B.输出项与格式描述符个数不符,输出为 0 值或不定值C.62,142,k=%d D.62,142,k=%10解析:解析 第 1 个 printf 函数,格式说明的个数是 2,而输出项的个数是 3,所以对于多余的输出项k 不予输出;第 2 个 printf 函数,有两个%说明,第 1 个%后面的字符要原样输出。 知识拓展 本题考查 printf 函数的格式。“%x”和“%o”分别表示以+六
21、进制和八进制无符号型输出整型数据(不带前导0x 或 0):printf 函数中格式说明符之前插入的任何字符都原样输出;格式说明与输出项的个数也要相等,如果格式说明的个数少于输出项的个数,则对于多余的输出项不予输出。5.设计程序时,应采纳的原则之一是( )。(分数:2.00)A.程序的结构应有助于读者的理解 B.限制 GOTO 语句的使用C.减少或取消注释行D.程序越短越好解析:解析 程序设计的风格主要强调程序的简单、清晰和可理解性,以便读者理解。程序滥用 GOTO 语句将使程序流程无规律,可读性差;添加注释行有利于对程序的理解,不应减少或取消,程序的长短要依据实际的需要而定,并不是越短越好。6
22、.下列程序的输出结果是( )。 main() int i=1 j=2,k=3; if(i+=1 (分数:2.00)A.1 2 3B.2 3 4C.2 2 3D.2 3 3 解析:解析 本题考查自增运算符“+”、逻辑与运算符“ char sex; int age; a1,a2; 则下列语句中错误的是( )。(分数:2.00)A.printf(“%d%c,%d“,a1); B.a2.age=a1.age;C.a1.age+;D.a1.num=5;解析:解析 题中 a1 和 a2 两个结构体变量名所对应的成员相同,可以与运算“+”相结合。结构体变量的输出格式为:printf(“要输出变量名:%d/t
23、“,结构变量名.要输出的成员变量名)。9.在“文件包含”预处理语句的使用形式中,当#include 后面的文件名用“(双撇号)括起时,寻找被包含文件的方式是( )。(分数:2.00)A.直接按系统设定的标准方式搜索目录B.先在源程序所在的目录搜索,如没找到,再按系统设定的标准方式搜索 C.仅仅搜索源程序所在目录D.仅仅搜索当前目录解析:解析 本题考查库函数调用的知识点。格式 1:#include 文件名,预处理程序在标准目录下查找指定的文件;格式 2:#include“文件名“,预处理程序首先在引用被包含文件的源文件所在的目录下搜索指定的文件,如没找到,再按系统指定的标准目录搜索。10.下列叙
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 373 答案 解析 DOC
