【计算机类职业资格】二级C语言笔试378及答案解析.doc

上传人:appealoxygen216 文档编号:1326380 上传时间:2019-10-17 格式:DOC 页数:15 大小:85.50KB
下载 相关 举报
【计算机类职业资格】二级C语言笔试378及答案解析.doc_第1页
第1页 / 共15页
【计算机类职业资格】二级C语言笔试378及答案解析.doc_第2页
第2页 / 共15页
【计算机类职业资格】二级C语言笔试378及答案解析.doc_第3页
第3页 / 共15页
【计算机类职业资格】二级C语言笔试378及答案解析.doc_第4页
第4页 / 共15页
【计算机类职业资格】二级C语言笔试378及答案解析.doc_第5页
第5页 / 共15页
点击查看更多>>
资源描述

1、二级 C语言笔试 378及答案解析(总分:100.00,做题时间:90 分钟)一、B选择题/B(总题数:40,分数:70.00)1.下列语句段中,正确的是( )。(分数:2.00)A.struct int x; float y; int a2; unsigned b3; char name10; ;B.structstu unsigneda3; unsigned b4; x; int*p=C.struc tsu int a; float x4; y=1,1.0; floatdat a=x;D.stmct nd int a,b; unsigned c2=5; ;2.当说明一个结构体变量时系统分配

2、给它的内存是( )。(分数:2.00)A.各成员所需要内存量的总和B.结构中第一个成员所需的内存量C.成员中占内存最大者所需的容量D.结构中最后一个成员所需要的内存量3.执行下列程序段后,变量 a,b,c的值分别是( )。 int x=5,y=4; int a,b,c; a=(-x=y+)?x:+y; b=+X; C=y;(分数:2.00)A.a=5,b=5,c=5B.a=4,b=5,c=5C.a=5,b=6,c=5D.a=1,b=5,c=64.若有定义 float a=25,b,*p=,则下列对赋值语句*p=a;和 p=的正确解释为( )。(分数:2.00)A.两个语句都是将变量 a的值赋予

3、变量 pB.*p=a是使 p指向变量 a,而 p=,下列叙述中正确的是( )。(分数:2.00)A.数组 a和 b的长度相同B.a数组长度小于 b数组长度C.a数组长度大于 b数组长度D.上述三种说法都不对8.若执行下列的程序时,从键盘上输入 1和 2,则输出结果是( )。 #includestdio.h main() int a,b,s; scanf(“%d%d“, S=a; if(aB) s=b; s=s*s; printtf(“%d/n“,s); (分数:2.00)A.1B.4C.2D.99.一个源文件中的外部变量的作用域为( )。(分数:2.00)A.本文件的全部范围B.本程序的全部范

4、围C.本函数的全部范围D.从定义该变量的位置开始到本文件结束10.若有下列定义(设 int类型变量占 2个字节): float x=123.4567; 则下列语句: printf(“x=%5.2f“,x); 输出的结果是( )。(分数:2.00)A.x=123.46B.123.4567C.x=123.4567D.123.4611.有下列二叉树,对此二叉树前序遍历的结果为( )。 (分数:2.00)A.XZCYABB.XYZABCC.XYABCZD.XYAZBC12.已知函数 fread.的调用形式为 fread(buffer,size,count,fp);,其中 buffer代表的是( )。(

5、分数:2.00)A.存放读入数据项的存储区B.一个指向所读文件的文件指针C.一个指针,是指向输入数据存放在内存中的起始地址D.一个整型变量,代表要读入的数据项总数13.下列变量声明合法的是( )。(分数:2.00)A.shora=1.4e-1;B.double b=l+3e2.8;C.long do=0xfdaL;D.float2_aaa=1e-3;14.下列所述中,是软件调试技术的是( )。(分数:2.00)A.错误推断B.集成测试C.回溯法D.边界值分析15.下列程序的输出结果是( )。 #includestdio.h main() int i; for(i=1;i=10;i+) if(i

6、*i=20) printf(“%d/n“,i*i); (分数:2.00)A.49B.36C.25D.6416.下列程序的输出结果是( )。 main() int a=1,b=2; printf(“%d,%d/n“,-a,+B) ; (分数:2.00)A.1,2B.1,3C.0,2D.0,317.对两个数组 a和 b进行下列初始化: char m=“1234567“; char n=1,2,3,4,5,6,7; 则下列叙述正确的是( )。(分数:2.00)A.数组 m与数组 n完全相同B.数组 m与数组 n长度相同C.数组 m比数组 n长 1D.数组 m与数组 n中都存放字符串18.按照“先进先

7、出”组织数据的数据结构是( )。(分数:2.00)A.队列B.栈C.双向链表D.二叉树19.数据库 DB、数据库系统 DBS、数据库管理系统 DBMS之间的关系是( )。(分数:2.00)A.DB包括 DBS和 DBMSB.DBMS包括 DB和 DBSC.DBS包括 DB和 DBMSD.没有任何关系20.结构化程序设计主要强调的是( )。(分数:2.00)A.程序的规模B.程序的效率C.程序设计语言的先进性D.程序的易读性21.结构化分析方法是面向( )的自顶向下逐步求精进行需求分析的方法。(分数:2.00)A.对象B.数据结构C.数据流D.目标22.设 x=011050,则 x=x int

8、i,j; i=sizeof(A) ; j=strlen(A) ; printf(“%d,%d“,i,j); (分数:2.00)A.7,7B.7,6C.6,6D.6,724.运行下列程序,若从键盘输入字母“a”,则输出结果是( )。 Char c; c=getchar(); if(c=a else if(c=g else printf(“input error!/n“); putchar(C) ;(分数:2.00)A.fB.tC.eD.d25.若有定义血 b8,*p=b;则 p+6表示( )。(分数:2.00)A.数组元素 b6的值B.数组元素 b6的地址C.数组元素 b7的地址D.数组元素 b

9、0的值加上 626.设有定义下列: inta=1,b=2,c=3,d=4,m=2,n=2; 则表达式(m=aB) int s=ADD(m+n)*k; printf(“s=%d“,s); (分数:2.00)A.sum=18B.sum=10C.sum=9D.sum=2528.设有定义:int nl=0,n2,*p=,下列赋值语句中与 n2=n1;语句等价的是( )。(分数:2.00)A.*p=*q;B.p=q;C.*p=D.p=*q;29.设已包含头文件string.h,下列程序段的运行结果是( )。 char s1=“ACDEF“; char s2=“ABC“; strcpy(s1,s2) ;

10、printf(“%d“,strlen(s1) );(分数:2.00)A.3B.4C.6D.530.下列叙述中正确的是( )。(分数:2.00)A.线性链表的各元素在存储空间中的位置必须是连续的B.线性链表的头元素一定存储在其他元素的前面C.线性链表中的各元素在存储空间中的位置不一定是连续的,但表头元素一定存储在其他元素的前面D.线性链表中的各元素在存储空间中的位置不一定是连续的,且各元素的存储顺序也是任意的31.简单的交换排序方法是( )。(分数:1.00)A.快速排序B.选择排序C.堆排序D.冒泡排序32.在函数 scanf的格式控制中,格式说明的类型与输入项的类型应该对应匹配。如果类型不匹

11、配,系统将( )。(分数:1.00)A.不予接收B.并不给出出错信息,但不能得到正确的数据C.能接收到正确输入D.给出出错信息,不予接收输入33.下列程序的输出结果是( )。 void f(int*x,int*y) int t; t=*x,*x=*y;*y=t; main() int a8=1,2,3,4,5,6,7,8,i,*p,*q; p=a;q= while(pq) f(p,q);p+;q-; for(i=0;i8;i+)printf(“%d,“,ai); (分数:1.00)A.8,2,3,4,5,6,7,1B.5,6,7,8,1,2,3,4C.1,2,3,4,5,6,7,8D.8,7,

12、6,5,4,3,2,134.有下列程序: main() int t,a=1,b=5,C=-2; while(abC) t=a;a=b;b=t;c+; printf(“%d,%d,%d“,a,b,C) ; 程序的输出结果是( )。(分数:1.00)A.1,5,0B.1,5,-2C.5,1,-1D.5,1,-235.在 C语言中,函数调用时( )。(分数:1.00)A.实参和形参各占独立的存储单元B.实参和形参共用存储单元C.由系统自动确定实参和形参是否共用存储单元D.由用户指定实参和形参是否共用存储单元36.下列叙述中正确的是( )。(分数:1.00)A.在面向对象的程序设计中,各个对象之间具有

13、密切的关系B.在面向对象的程序设计中,各个对象都是公用的C.在面向对象的程序设计中,各个对象之间相对独立,相互依赖性小D.上述 3种说法都不对37.下列叙述中正确的是( )。(分数:1.00)A.C程序由函数组成B.C程序由主函数构成C.C程序由函数和过程构成D.在 C程序中无论是整数还是实数,都可以正确无误的表示出来38.下列程序的输出结果是( )。 #includestdio.h int b=2; int func(int*A) b+=*a;retum b; main() int a=1,t=2; t+=func( printf(“%d/n“,t); (分数:1.00)A.4B.5C.6D

14、.839.下列程序执行的输出结果是( )。 #inCludestdio.h main() char a24; strcpy(a,“are“);strcpy(a1,“you“); a03= printf(“%s/n“,A) ; (分数:1.00)A.are 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;二、B填空题/B(总题数:15,分数:30.00)41.数据的独立性分为逻辑独立性与物理独立性。当数据的存储结构改变时,其逻辑结构可以不变,因此

15、,基于逻辑结构的应用程序不必修改,这称为 1。(分数:2.00)填空项 1:_42.在关系模型中,二维表的行称为 1。(分数:2.00)填空项 1:_43.数据库系统其内部分为三级模式,即概念模式、内模式和外模式。其中, 1 是用户的数据视图,也就是用户所见到的数据模式。(分数:2.00)填空项 1:_44.排序是计算机程序设计中的一种重要操作,常见的排序方法有插入排序、 1 和选择排序。(分数:2.00)填空项 1:_45.栈的 3种基本运算是:入栈、退栈和 1。(分数:2.00)填空项 1:_46.若 a的值为 1,则表达式!a+a 的值是 1。(分数:2.00)填空项 1:_47.若 a

16、是血型变量,且 a的初值为 4,则计算 a+=a-=a*a表达式后 a的值为 1。(分数:2.00)填空项 1:_48.下列程序的输出结果是_。 #includestdio.h main() int a=2,b=-1,C=2; if(aB) if(bO)c=0; else c+; printf(“%d/n“,C) ; (分数:2.00)填空项 1:_49.下列程序的循环次数是_。 x=2; do x=x*x; while(!x);(分数:2.00)填空项 1:_50.下列程序段的运行结果是_。 int x=0,y=0; while(x15) y+,x+=+y; printf(“%d,%d“,y

17、,x);(分数:2.00)填空项 1:_51.下列程序的运行结果是_。 main() int s=0,i=1; while(s=10) S=S+i*i; i+; b printf(“%d“,-i); (分数:2.00)填空项 1:_52.下列程序的输出结果是_。 10ng fun5(int n) long s; if(n=1) (n=2) s=2; else s=n+fun5(n-1) ; return(s); main() long x; x=fun5(4); printf(“%1d/n“,x);(分数:2.00)填空项 1:_53.下列程序的输出结果是_。 main() int a=2,b

18、=4,c=6; int*p1= *(p= printf(“%d/n“,c); (分数:2.00)填空项 1:_54.下列程序运行后的输出结果是_。 #includestdio.h main() char s20; scanf(“%S“,S); printf(“%s“,s); 运行程序,输入 HOW ARE YOU。(分数:2.00)填空项 1:_55.下列程序的运行结果是_。 #define POW(r)(r)*(r) main() int x=3,y=2,t; t=POW(x+y); printf(“%d/n“,t); (分数:2.00)填空项 1:_二级 C语言笔试 378答案解析(总分:

19、100.00,做题时间:90 分钟)一、B选择题/B(总题数:40,分数:70.00)1.下列语句段中,正确的是( )。(分数:2.00)A.struct int x; float y; int a2; unsigned b3; char name10; ; B.structstu unsigneda3; unsigned b4; x; int*p=C.struc tsu int a; float x4; y=1,1.0; floatdat a=x;D.stmct nd int a,b; unsigned c2=5; ;解析:解析 本题主要考查的知识点是结构类型的概念和定义,结构定义的一般形式

20、是: struct 结构类型名称 数据类型 成员名 1; 数据类型 成员名 2; 数据类型 成员名 n; ; struct为关键字,是结构的标识符;中包围的是组成该结构的成员项;每个成员的数据类型既可以是简单的数据类型,也可以是复杂的数据类型。整个定义作为一个完整的语句,用分号结束。结构类型名称是可以省略的,此时定义的结构称为无名结构。2.当说明一个结构体变量时系统分配给它的内存是( )。(分数:2.00)A.各成员所需要内存量的总和 B.结构中第一个成员所需的内存量C.成员中占内存最大者所需的容量D.结构中最后一个成员所需要的内存量解析:解析 本题主要考查结构体的内存使用:对结构体而言,结构

21、中不同的成员分别使用不同的内存空间,一个结构所占内存空间的大小是结构中每个成员所占内存空间大小的总和,结构中每个成员相互独立。3.执行下列程序段后,变量 a,b,c的值分别是( )。 int x=5,y=4; int a,b,c; a=(-x=y+)?x:+y; b=+X; C=y;(分数:2.00)A.a=5,b=5,c=5B.a=4,b=5,c=5 C.a=5,b=6,c=5D.a=1,b=5,c=6解析:解析 本题考查自加(+)、自减(-)运算符的使用。“+i,-i”,在使用 i之前,先使 i的值加1或者减 1,再使用此时的表达式的值参与运算:“i+,i-”,先使用此时的 i的值参与运算

22、,在使用i之后,再使 i的值加 1 或者减 1。 对于第 1个表达式-x=4,y+=4。两者相等,-x=y+为真,所以a=x=4,执行完此语句后 y的值是 5。 第 2个表达式 b=+x,x 的值先加 1,然后赋给 b,即 b=x+1=5 第一个表达式 c=y=5。4.若有定义 float a=25,b,*p=,则下列对赋值语句*p=a;和 p=的正确解释为( )。(分数:2.00)A.两个语句都是将变量 a的值赋予变量 pB.*p=a是使 p指向变量 a,而 p=,下列叙述中正确的是( )。(分数:2.00)A.数组 a和 b的长度相同 B.a数组长度小于 b数组长度C.a数组长度大于 b数

23、组长度D.上述三种说法都不对解析:解析 字符数组 a中用字符串常量“xyz”进行初始化,字符数组 a的长度为字符的个数,所以其值为 3,并不包括字符串结束标记/0;字符串数组 b用 3个字符 x、y、z来初始化,所以其字符串的长度等于 3。8.若执行下列的程序时,从键盘上输入 1和 2,则输出结果是( )。 #includestdio.h main() int a,b,s; scanf(“%d%d“, S=a; if(aB) s=b; s=s*s; printtf(“%d/n“,s); (分数:2.00)A.1B.4 C.2D.9解析:解析 本题考查 if语句。scanf 函数通过键盘读入 a

24、、b 的值,a=1,b=2。第一个 if语句,先判断条件,发现 ab 条件成立,则 s=b=2,s=s*s=4。9.一个源文件中的外部变量的作用域为( )。(分数:2.00)A.本文件的全部范围B.本程序的全部范围C.本函数的全部范围D.从定义该变量的位置开始到本文件结束 解析:解析 一个源文件中的外部变量的作用域是从定义该变量的位置开始到本文件结束。10.若有下列定义(设 int类型变量占 2个字节): float x=123.4567; 则下列语句: printf(“x=%5.2f“,x); 输出的结果是( )。(分数:2.00)A.x=123.46 B.123.4567C.x=123.4

25、567D.123.46解析:解析 本题考查 printf函数的格式。“%5.2f”格式符中的“f”表示以带小数点的形式输出单精度或者双精度数;“5”表示指定数据输出宽度为 5;“.2”表示指定输出数据小数位占 2位数,并对截去的第一位小数做四舍五入处理。11.有下列二叉树,对此二叉树前序遍历的结果为( )。 (分数:2.00)A.XZCYABB.XYZABCC.XYABCZD.XYAZBC 解析:解析 对二叉树的前序遍历是指:先访问根结点,然后访问左子树,最后访问右子树,并且,在访问左、右子树时,先访问根结点,再依次访问其左、右子树。12.已知函数 fread.的调用形式为 fread(buf

26、fer,size,count,fp);,其中 buffer代表的是( )。(分数:2.00)A.存放读入数据项的存储区B.一个指向所读文件的文件指针C.一个指针,是指向输入数据存放在内存中的起始地址 D.一个整型变量,代表要读入的数据项总数解析:解析 数据块读取函数调用形式:fread(buffer,size,count,fp)。 fread 函数参数说明:“buffer”是一个指针,对 fread来说,它是读入数据的存放地址。对 fwrite来说,是要输出数据的地址。“size”是要读写的字节数:“count”是要进行读写多少个 size字节的数据项;“fp”是指文件型指针。13.下列变量声

27、明合法的是( )。(分数:2.00)A.shora=1.4e-1; B.double b=l+3e2.8;C.long do=0xfdaL;D.float2_aaa=1e-3;解析:解析 解答本题需了解 3个知识点:标识符是由字母、数字或下画线组成,并且它的第一个字符必须是字母或者下画线;do 是 C语言中的一个关键字,不能再用做变量名和函数名:C 语言规定指数形式的实型常量 e或 E后面的指数必须是整数。14.下列所述中,是软件调试技术的是( )。(分数:2.00)A.错误推断B.集成测试C.回溯法 D.边界值分析解析:解析 软件调试技术包括强行排错法、回溯法和原因排除法。边界值分析、错误推

28、断都是黑盒测试的方法。15.下列程序的输出结果是( )。 #includestdio.h main() int i; for(i=1;i=10;i+) if(i*i=20) printf(“%d/n“,i*i); (分数:2.00)A.49B.36C.25 D.64解析:解析 本题考查汀语句。当执行到第一个满足 (i*i=20) printf(“%d,%d/n“,-a,+B) ; (分数:2.00)A.1,2B.1,3C.0,2D.0,3 解析:解析 本题主要考查自加(+)、自减(-)运算符的使用。“+i,-i”在使用 i之前,先使 i的值加 1或者减 1,然后再使用 i此时的值参与运算:“i

29、+,i-”是在使用 i参与表达式运算之后,再使 i的值加 1或者减 1。本题中-a 和料 b是先执行 a减 1和 b加 1操作,再输出表达式的值。17.对两个数组 a和 b进行下列初始化: char m=“1234567“; char n=1,2,3,4,5,6,7; 则下列叙述正确的是( )。(分数:2.00)A.数组 m与数组 n完全相同B.数组 m与数组 n长度相同C.数组 m比数组 n长 1 D.数组 m与数组 n中都存放字符串解析:解析 本题考查字符数组和字符串赋值给数组的一些区别。 .语句“char m=“1234567“;”定义了一个字符型数组并进行了初始化,C 语言规定,在字符

30、串的末尾自动加上串结束标记/0,因此数组 m的长度是 8;而数组 n是按照字符方式对数组进行初始化,系统不会自动加上串结束标记/0,因此数组n的长度是 7。18.按照“先进先出”组织数据的数据结构是( )。(分数:2.00)A.队列 B.栈C.双向链表D.二叉树解析:解析 队列是一种特殊的线性表,只允许在表的一端插入元素,在表的另一端删除元素,插入元素的一端叫“队尾”,删除元素的一端叫“队头”,先插入的元素先被删除,是按“先进先出”的原则组织数据的。19.数据库 DB、数据库系统 DBS、数据库管理系统 DBMS之间的关系是( )。(分数:2.00)A.DB包括 DBS和 DBMSB.DBMS

31、包括 DB和 DBSC.DBS包括 DB和 DBMS D.没有任何关系解析:解析 数据库系统(DBS)由数据库(DBS)、数据库管理系统(DBMS)、数据库管理员、硬件平台和软件平台 5个部分组成,可见 DB和 DBMS都是 DBS的组成部分。20.结构化程序设计主要强调的是( )。(分数:2.00)A.程序的规模B.程序的效率C.程序设计语言的先进性D.程序的易读性 解析:解析 程序不光是编写完就结束了,为了测试和维护程序,往往还有其他人阅读和跟踪程序,因此,程序设计的风格应该强调简单和清晰,即程序的易读性,“清晰第一,效率第二”。21.结构化分析方法是面向( )的自顶向下逐步求精进行需求分

32、析的方法。(分数:2.00)A.对象B.数据结构C.数据流 D.目标解析:解析 结构化分析方法是面向数据流进行需求分析的方法,采用自顶向下、逐层分解,建立系统的处理流程,以数据流图和数据字典为主要工具,建立系统的逻辑模型。22.设 x=011050,则 x=x int i,j; i=sizeof(A) ; j=strlen(A) ; printf(“%d,%d“,i,j); (分数:2.00)A.7,7B.7,6 C.6,6D.6,7解析:解析 sizeof()函数的功能是返回字符串所占的字节数,strlen()函数的功能是返回字符串的长度,其中/0是一个转义字符,它占存储空间,但不计入串的长

33、度。24.运行下列程序,若从键盘输入字母“a”,则输出结果是( )。 Char c; c=getchar(); if(c=a else if(c=g else printf(“input error!/n“); putchar(C) ;(分数:2.00)A.fB.tC.e D.d解析:解析 首先,getchar 函数通过键盘读入字符a,即 c=a(其实 c得到的是字符 a的 ASCII码值),然后判断 if 语句的控制条件,发现a=a 则表达式(m=aB) int s=ADD(m+n)*k; printf(“s=%d“,s); (分数:2.00)A.sum=18B.sum=10 C.sum=9

34、D.sum=25解析:解析 本题考查带参数的宏的定义及相关运算: S=m+n+m+n*k=1+2+1+2*3=10。28.设有定义:int nl=0,n2,*p=,下列赋值语句中与 n2=n1;语句等价的是( )。(分数:2.00)A.*p=*q; B.p=q;C.*p=D.p=*q;解析:解析 在定义指针变量 p和 q时,分别把变量 n2和 n1的地址赋给了指针变量 p和 q,所以*p 和*q中内容就分别是变量 n2和 n1的值,所以语句*p=*q 与语句 n2=n1 等价。因此选项 A 正确。29.设已包含头文件string.h,下列程序段的运行结果是( )。 char s1=“ACDEF

35、“; char s2=“ABC“; strcpy(s1,s2) ; printf(“%d“,strlen(s1) );(分数:2.00)A.3 B.4C.6D.5解析:解析 头文件string.h是字符串处理函数对应的头文件,要想调用 C语言的库函数时,都要在程序中嵌入该函数对应的头文件,否则无法使用库函数。 strcpy(s1,s2)把 s2中的字符串复制到 s1中,所以结果就为 s2的长度。30.下列叙述中正确的是( )。(分数:2.00)A.线性链表的各元素在存储空间中的位置必须是连续的B.线性链表的头元素一定存储在其他元素的前面C.线性链表中的各元素在存储空间中的位置不一定是连续的,但

36、表头元素一定存储在其他元素的前面D.线性链表中的各元素在存储空间中的位置不一定是连续的,且各元素的存储顺序也是任意的 解析:解析 在线性链表中,各元素在存储空间中的位置是任意的,各元素的顺序也是任意的,依靠指针来实现数据元素的前后件关系。31.简单的交换排序方法是( )。(分数:1.00)A.快速排序B.选择排序C.堆排序D.冒泡排序 解析:解析 所谓的交换类排序方法是指借助数据元素之间的互相交换进行排序的一种方法,包括冒泡排序和快速排序,冒泡排序是一种最简单的交换排序方法,它通过相邻元素的交换,逐步将线性表变成有序。32.在函数 scanf的格式控制中,格式说明的类型与输入项的类型应该对应匹

37、配。如果类型不匹配,系统将( )。(分数:1.00)A.不予接收B.并不给出出错信息,但不能得到正确的数据 C.能接收到正确输入D.给出出错信息,不予接收输入解析:解析 在 scanf函数的格式控制中,格式说明的类型与输入项的类型必须一一对应匹配,如不匹配将导致数据输入出现错误,但是系统并不报错。33.下列程序的输出结果是( )。 void f(int*x,int*y) int t; t=*x,*x=*y;*y=t; main() int a8=1,2,3,4,5,6,7,8,i,*p,*q; p=a;q= while(pq) f(p,q);p+;q-; for(i=0;i8;i+)print

38、f(“%d,“,ai); (分数:1.00)A.8,2,3,4,5,6,7,1B.5,6,7,8,1,2,3,4C.1,2,3,4,5,6,7,8D.8,7,6,5,4,3,2,1 解析:解析 函数 f()的功能是对两个数据互换。在主函数中指针变量 p和 q分别指向数组 a8的首和尾,在 while循环中实现从首尾开始数组元素的互换操作。34.有下列程序: main() int t,a=1,b=5,C=-2; while(abC) t=a;a=b;b=t;c+; printf(“%d,%d,%d“,a,b,C) ; 程序的输出结果是( )。(分数:1.00)A.1,5,0 B.1,5,-2C.

39、5,1,-1D.5,1,-2解析:解析 本题考查 while循环。先判断 while循环的控制表达式是否成立,发现 abc 不成立,所以不执行循环。直接输出 a、b、c 的值。35.在 C语言中,函数调用时( )。(分数:1.00)A.实参和形参各占独立的存储单元 B.实参和形参共用存储单元C.由系统自动确定实参和形参是否共用存储单元D.由用户指定实参和形参是否共用存储单元解析:解析 本题考查函数调用时的参数传递。函数的形参是函数定义时由用户定义的形式上的变量,实参是函数调用时,主调函数为被调函数提供的原始数据。 在函数调用时,实参和其所对应的形参分别占用不同的存储单元,彼此之间不影响。36.

40、下列叙述中正确的是( )。(分数:1.00)A.在面向对象的程序设计中,各个对象之间具有密切的关系B.在面向对象的程序设计中,各个对象都是公用的C.在面向对象的程序设计中,各个对象之间相对独立,相互依赖性小 D.上述 3种说法都不对解析:解析 面向对象的程序设计是用对象模拟问题领域中的实体,各对象之间相对独立,相互依赖性小,通过消息来实现对象之间的相互联系。37.下列叙述中正确的是( )。(分数:1.00)A.C程序由函数组成 B.C程序由主函数构成C.C程序由函数和过程构成D.在 C程序中无论是整数还是实数,都可以正确无误的表示出来解析:解析 本题涉及 C语言最基本的两个知识点:C 程序是由

41、函数构成的,有且仅有一个主函数,也可以有其他的函数;整数在允许的范围内可以准确无误的表示出来,但计算机的存储能力有限,不能表示无限精度的实数。38.下列程序的输出结果是( )。 #includestdio.h int b=2; int func(int*A) b+=*a;retum b; main() int a=1,t=2; t+=func( printf(“%d/n“,t); (分数:1.00)A.4B.5 C.6D.8解析:解析 本题考查函数调用时的参数传递。在执行函数 func时,由于全局定义了一个变量 b,所以在函数体中执行时 b=2+1=3,最终 t=2+3=5。39.下列程序执行

42、的输出结果是( )。 #inCludestdio.h main() char a24; strcpy(a,“are“);strcpy(a1,“you“); a03= printf(“%s/n“,A) ; (分数:1.00)A.are 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; 解析:解析 要正确计算函数 f=n!,由 n!的数学定义可知 n!=n*(n-1)*(n-2)*1。在选项 A 中,由于 f的初值为 0,在 for循环语句中,f

43、依次乘以 1,2,3, n。最后计算 f=n!=0,所以选项 A 不正确。在选项 B中,f 的初值为 1,在 for循环语句中,f 依次乘以 1,2, 3,(n-1)。最后计算得到 f=(n-1)!,所以选项 B不正确。在选项 C)中,f 的初值为 1,在 for循环语句中, f 依次乘以 n,n+1,n+2,,所以选项 C)不正确。在选项 D)中,f 的初值为 1,在 for循环语句中,f 依次乘以 n,n-1,n-2,2。最后计算 f=n!,所以选项 D)正确。二、B填空题/B(总题数:15,分数:30.00)41.数据的独立性分为逻辑独立性与物理独立性。当数据的存储结构改变时,其逻辑结构

44、可以不变,因此,基于逻辑结构的应用程序不必修改,这称为 1。(分数:2.00)填空项 1:_ (正确答案:物理独立性)解析:解析 数据的独立性是指数据和应用程序相互独立,分为物理独立性和逻辑独立性。其中物理独立性是指数据的物理结构(包括存储结构、存取方式)改变时,不需要修改应用程序。而逻辑独立性是指当逻辑结构改变时,不需要修改应用程序。42.在关系模型中,二维表的行称为 1。(分数:2.00)填空项 1:_ (正确答案:元组)解析:解析 在关系型数据库中,用二维表来表示关系,二维表的表名即关系名,二维表的行称为关系的元组,二维表的列,称为关系的属性。43.数据库系统其内部分为三级模式,即概念模

45、式、内模式和外模式。其中, 1 是用户的数据视图,也就是用户所见到的数据模式。(分数:2.00)填空项 1:_ (正确答案:外模式)解析:解析 数据库系统的三级模式分别是内模式、概念模式和外模式。其中,物理模式给出了数据库的物理存储结构和存取方法;概念模式是数据库系统中全局数据逻辑结构的描述;外模式是用户的数据视图,也就是用户所见到的数据模式。44.排序是计算机程序设计中的一种重要操作,常见的排序方法有插入排序、 1 和选择排序。(分数:2.00)填空项 1:_ (正确答案:交换排序)解析:解析 所谓排序是指将一个无序序列整理成按值非递减顺序排列成的有序序列,常用的排序方法有:交换排序、插入排

46、序和选择排序。其中交换排序包括冒泡排序和快速排序,插入排序包括简单插入排序和希尔排序,选择排序包括直接选择排序和堆排序。45.栈的 3种基本运算是:入栈、退栈和 1。(分数:2.00)填空项 1:_ (正确答案:读栈顶元素)解析:解析 栈的基本运算有 3种:入栈、退栈和读取栈顶元素。其中,入栈是指在栈顶插入一个新的元素;退栈是指取出栈顶元素并赋值给一个变量;读栈顶元素是将栈顶元素赋值给一个指定的变量,不删除栈顶元素。46.若 a的值为 1,则表达式!a+a 的值是 1。(分数:2.00)填空项 1:_ (正确答案:1)解析:解析 逻辑运算中,非 1即 0,非 0即 1,!a=0, +a 为逻辑 1,所以 0和 1相或结果为 1。47.若 a是血型变量,且 a的初值为 4,则计算 a+=a-=a*a表达式后 a的值为 1。(分数:2.00)填空项 1:_ (正确答案:-24)解析:解析 本题考查赋值运算符 a+=b等价于 a=a+b;a-=a*a等价于 a=a-a*a=4-4*4=-12;a+=a,即a=a+a=-24。48.下列程序的输出结果是_。 #include

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试资料 > 职业资格

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1