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

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

1、二级 C 语言笔试 83 及答案解析(总分:94.00,做题时间:90 分钟)一、B选择题/B(总题数:50,分数:60.00)1.在 C 语言中,引用数组元素时,其数组下标的数据类型允许是_。(分数:2.00)A.整型常量B.整型表达式C.整型常量或整型表达式D.任何类型的表达式2.在具有 n(n1)个结点的完全二叉树中,结点 i(2in)的左孩子结点是_。(分数:2.00)A.2iB.2i+1C.不存在D.2i-13.以下程序段的输出结果是_。 int x=5; do ptintf(“%2d/n“,x-); while(!x);(分数:2.00)A.5B.无任何输出C.4D.陷入死循环4.

2、在宏定义#define PI 3.14159 中,用宏名 PI 代替一个_。(分数:2.00)A.单精度数B.双精度数C.常量D.字符串5.以下程序的输出结果是_。 int d=1; fun(int p) static int d=5; d+=p; printf(“%d “,d); return(d); main() int a=3; printf(“%d/n“,fun(a+fun(d); (分数:2.00)A.699B.669C.6 15 15D.66156.C 语言中 while 循环和 do-while 循环的主要区别是_。(分数:2.00)A.do-while 的循环体至少无条件执行一

3、次B.while 的循环控制条件比 do-while 的循环控制条件严格C.do-while 允许从外部转到循环体内D.do-while 的循环体不能是复合语句7.若已定义 x 和 y 为 double 类型,则表达式 x=1,y=x+5/2 的值是_。(分数:2.00)A.3B.4C.3.0D.3.58.若有以下定义,则正确的 swish 语句是_。 float x;int a,b;(分数:2.00)A.switch( case 1.0:printf(“*/n“); case 2.0:printf(“*/n“); B.switch( case 1,2:printf(“*/n“); case

4、3:printf(“*/n“); C.switch(a+ case 1:printf(“/n“); case 1+2:printf(“*/n“); D.switch(a+; case 1:printf(“*/n“); case 2:printf(“*/n“); 9.下列程序的输出结果是_。 main() char a10=9,8,7,6,5,4,3,2,1,0,*p=a+5; printf(“%d“,*-p); (分数:2.00)A.非法B.a4的地址C.5D.310.设有如下的函数_。 f(x) float x; printf(“/n%d“,x*x); 则函数类型(分数:2.00)A.与参数

5、 x 类型相同B.是 voidC.是 intD.无法确定11.有如下说明: int a10=1,2,3,4,5,6,7,8,9,10,*p=a;则数值为 9 的表达式是_。(分数:1.00)A.*p+9B.*(p+8)C.*p+=9D.p+812.当 a=1,b=3,c=5,d=4 时,执行下面一段程序后,x 的值为_。 if(ab) if(cd) x=1; else if(ac) if(bd) x=2; elsex=3; elsex=6; elsex=7;(分数:1.00)A.1B.2C.3D.613.计算机中,能够用来与外存交换信息的是_。(分数:1.00)A.键盘B.RAMC.显示器D.

6、ROM14.当执行下面程序且输入 a boy 时,输出的结果是_。 #includestdio.h #includestring.h main() char ss81=“A BOY“,hh81,*pt; scanf(“%s“,hh); pt=strcat(ss,hh); puts(pt); printf(“%s/n“,hh); (分数:1.00)A.A BOY a aB.A BOY a boy a boyC.A BOY a boy aD.A BOY a boy a boy15.若有说明:int s23=0;,则下面正确的叙述是_。(分数:1.00)A.只有元素 s00可得到初值 0B.此说明语

7、句不正确C.数组 s 中各元素都可得到初值,但其值不一定为 0D.数组 s 中每个元素均可得到初值 016.以下的 for 循环_。 for(x=0,y=0;(y!=123)|(x4);x+)(分数:1.00)A.是无限循环B.循环次数不定C.执行 4 次D.执行 3 次17.瀑布模型适合于_。(分数:1.00)A.大型软件系统开发B.中型软件系统开发C.小型软件系统开发D.大、中、小型软件系统开发18.C 语言中,运算对象必须是整型数的运算符是_。(分数:1.00)A.%B./C.%和/D.*19.已知字母 A 的 ASC码为十进制数的 65,下面程序的输出是_。 main() char c

8、h1,ch2; ch1=A+5-3; ch2=A+6-3; printf(“%d,%c/n“,ch1,ch2); (分数:1.00)A.67,DB.B,CC.C,DD.不确定的值20.以下正确的叙述是_。(分数:1.00)A.C 语言允许 main 函数带形参,且形参个数和形参名均可由用户指定B.C 语言允许 main 函数带形参,形参名只能是 argc 和 argvC.当 main 函数带有形参时,传给形参的值只能从命令行中得到D.若有说明:main(int argc,char *arg,则形参 argc 的值必须大于 121.若有以下定义和语句: char*s1=“12345“,*s2=“

9、1234“; printf(“%d/n“,strlen(strcpy(s1,s2);则输出结果是_。(分数:1.00)A.4B.5C.9D.1022.若运行时输入 12,则以下程序的输出结果是_。 main() intx,y; scanf(“%d“, y=x12? x+1:x-1; printf(“%d/n“,y); (分数:1.00)A.10B.11C.12D.1323.以下程序的输出是_。 struct st int x;int*y; *p; int dt4=10,20,30,40; struct st aa4=50, main() p=aa; printf(“%d/n“,+(p-X);

10、(分数:1.00)A.51B.11C.50D.6024.以下所列的 c 语言常量中,错误的是_。(分数:1.00)A.0xFFB.1.2e0.5C.2LD./7225.在下列叙述中,正确的一条是_。(分数:1.00)A.对 while 循环、do-while 循环和 for 循环,可以用 continue 语句跳出循环B.表达式 1+23 和 sizeof(3.8)的结果分别为 24 和 8C.函数 fputc(c, stdou 与 putchar(的结果相同D.在有参函数中,定义函数中指定的形参变量在程序一开始执行时便分配内存单元26.在 C 语言中,函数的隐含存储类别是_。(分数:1.00

11、)A.autoB.staticC.externD.无存储类别27.字符0的 ASC码的十进制数为 48,且数组的第 0 个元素在低位,则以下程序的输出结果是_。 #includestdio.h main() unionint i2;long k;char c4;r,*s= s-i0=0x39; s-i1=0x38; printf(“%c/n“,s-c0); (分数:1.00)A.39B.9C.38D.828.以下程序的输出结果是_。 main() int a=-1,b=1,k; if(+a0) else printf(“%d %d/n“,b,a); (分数:1.00)A.-1 1B.0 1C.

12、1 0D.0 029.若 a 为 int 类型,且其值为 3,则执行完表达式 a+=a-=a*a 后,a 的值是_。(分数:1.00)A.-3B.9C.-12D.630.下列关于“数据库系统(DBS)”的叙述中,正确的一条是_。(分数:1.00)A.DBS 是指在计算机系统中引入数据库后的系统构成B.DBS 是帮助用户建立、使用和管理数据库的一种计算机软件C.DBS 是用户建立的若干数据库文件的集合D.DBS 是一种新颖的关系数据库管理系统31.以下程序的输出结果是_。 main() int a33=1,2,3,4,5,6,i,j,s=0; for(i=1;i3;i+) for(j=0;j=i

13、;j+) s+=aij; printf(“%d/n“,s); (分数:1.00)A.18B.19C.20D.2132.设有以下语句: char a=3,b=6,c; c=ab2;则 c 的二进制值是_。(分数:1.00)A.00011011B.00010100C.00011100D.0001100033.以下程序的输出结果是_。 main() int i,k,a10,p3; k=5; for(i=0;i10;i+) ai=i; for(i=0;i3;i+) pi=ai*(i+1); for(i=0;i3;i+) k+=pi*2; printf(“%d/n“,k); (分数:1.00)A.20B

14、.21C.22D.2334.计算机的存储器完整的应包括_。(分数:1.00)A.内存储器与外存储器B.磁盘、磁带与光盘C.RAM 与 ROMD.软盘与硬盘35.设 x、y、t 均为血型变量,则执行语句 x=y=3;t=+x|+y;后,y 的值为_。(分数:1.00)A.不定值B.4C.3D.136.以下对 C 语言中共用体类型数据的正确叙述是_。(分数:1.00)A.可以对共用体变量名直接赋值B.一个共用体变量中可以同时存放其所有成员C.一个共用体变量中不能同时存放其所有成员D.共用体类型定义中不能出现结构体类型的成员37.在多媒体计算机系统中,不能存储多媒体信息的是_。(分数:1.00)A.

15、光盘B.磁盘C.磁带D.光缆38.堆排序是一种_排序。(分数:1.00)A.插入B.选择C.交换D.归并39.若有以下定义: int a=1,2,3,4,5,6,7; char c1=b,c2=1;则数值不为 1 的表达式是_。(分数:1.00)A.a0B.c-c1C.a1-c2D.c1-040.执行下面的语句后,表达式*(p0+1)+*(q+2)的值为_。 int a=5,4,3,2,1,*p=a+3,a+2,a+1,a,*q=p;(分数:1.00)A.8B.7C.6D.541.若有宏定义如下: #define X 5 #define Y X+1 #define Z Y*X/2 以下程序段的

16、输出结果是_。 int a;a=Y; printf(“%d/n“,Z); printf(“%d/n“,-a);(分数:1.00)A.7 6B.12 6C.12 5D.7 542.以下所列的各函数首部中,正确的是_。(分数:1.00)A.void play(Var:Integer,var b:IntegeB.void play(int a,C.void play(int a,intD.Sub play(a as integer,b as intege43.下列程序的输出结果是_。 #includestdio.h main() char *p1,*p2,str50=“xyz“; p1=“abcd“

17、; p2=“ABCD“; strcpy(str+2,strcat(p1+2,p2+1); ptintf(“%s“,str); (分数:1.00)A.xyabcABB.abcABzC.ABabczD.xycdBCD44.设有如下定义,则以下叙述中正确的是_。 int(*ptr)();(分数:1.00)A.ptr 是指向一维数组的指针变量B.ptr 是指向 int 型数据的指针变量C.ptr 是指向函数的指针,该函数返回一个 int 型数据D.ptr 是一个函数名,该函数的返回值是指向 int 型数据的指针45.结构化程序流程图中一般包含 3 种基本结构。下述结构中,_不属于其基本结构。(分数:1

18、.00)A.顺序结构B.嵌套结构C.循环结构D.条件结构46.对一个关系投影操作以后,新关系的元组个数_原来关系的元组个数。(分数:1.00)A.小于B.小于或等于C.等于D.大于47.十进制数 555 的十六进制数表示形式为_。(分数:1.00)A.220B.22AC.22BD.22C48.以下正确的说法是_。(分数:1.00)A.实参和与其对应的形参各占用独立的存储单元B.实参和与其对应的形参共用一个存储单元C.只有当实参和与其对应的形参同名时才共用存储单元D.型参是虚拟的,函数在没有被调用时,不占用存储单元49.下面程序的输出结果是_。 main() int a=1,2,3,4,5,6,

19、7,8,9,0,*p; p=a;ptintf(“%d/n“,*p+9); (分数:1.00)A.0B.1C.10D.950.设下面程序的可执行文件名为 prg.exe,在该程序所在子目录下输入以下命令行: prg hello good回车则程序的输出结果是_。 main()(int argc,char*argv) int i; if(argc=0)return; for(i=1;iargc;i+) printf(“%c“,*argvi); (分数:1.00)A.hello goodB.hgC.helD.hellogood二、B填空题/B(总题数:17,分数:34.00)51.十进制数 111

20、用八位二进制数表示为U 【1】 /U。(分数:2.00)填空项 1:_52.对于一棵具有 n 个结点的树,该树中所有结点的度为U 【2】 /U。(分数:2.00)填空项 1:_53.瀑布模型将软件生存周期划分为U 【3】 /U、开发和运行 3 个阶段。(分数:2.00)填空项 1:_54.关系可以有 3 种类型,即基本关系(又称基本表或基表)、查询表和U 【4】 /U。(分数:2.00)填空项 1:_55.存储 300 个 1616 点阵的汉字信息需要U 【5】 /U字节。(分数:2.00)填空项 1:_56.表示条件 10x100 或 x0 的 C 语言表达式是U 【6】 /U。(分数:2.

21、00)填空项 1:_57.下面程序的输出结果是U 【7】 /U。 struct aa int x,*y; *p; int a8=10,20,30,40,50,60,70,80; struct aa b4=100, main() p=b; printf(%d“,*+p-y); printf(“%d/n“,+(p-x); (分数:2.00)填空项 1:_58.以下程序的输出结果是U 【8】 /U。 main() int arr=30,25,20,15,10,5,*p=arr; p+; printf(“%d/n“,*(p+3); (分数:2.00)填空项 1:_59.以下函数用来求出两整数之和,并通

22、过形参将结果传回,请填充完整。 void func(int x,int y, U【9】 /Uz) *z=x+y; (分数:2.00)填空项 1:_60.以下程序的运行结果是U 【10】 /U。 #define MAX(a,b)(ab? a:b)+1 main() int i=6,j=8,k; printf(“%d/n“,MAX(i,j); (分数:2.00)填空项 1:_61.如果有以下定义,则不移动指针 p,且通过指针 p 引用值为 98 的数组元素的表达式是U 【11】 /U。 int w10=23,54,10,33,47,98,72,80,61),*p=w;(分数:2.00)填空项 1:

23、_62.若 i、j 为 int 类型,则以下程序段内循环体的总执行次数是U 【12】 /U。 for(i=5;i;i-) for(j=0;j3;j+) (分数:2.00)填空项 1:_63.以下程序的运行结果为U 【13】 /U。 main() int i,j,a34=1,2,3,4,5,6,7,8,9,10,11,12,b43; for(i=0;i3;i+) for(j=0;j4;j+) bji=aij; for(i=0;i4;i+) for(j=0;j3;j+) printf(“%-3d“,bij); printf(“/n“); (分数:2.00)填空项 1:_64.以下程序用来输出结构体

24、变量 ex 所占存储单元的字节数: struct st char name20;double score;main() struct st ex; printf(“ex size:%d/n“,sizeof(U 【14】 /U); (分数:2.00)填空项 1:_65.以下 fun 函数的功能是:累加数组元素中的值。n 为数组中元素的个数。累加的和放入 x 所指的存储单元中。 fun(int b,int n,int *x) int k,r=0; for(k=0;kn;k+) r=U 【15】 /U; U【16】 /U=r; (分数:2.00)填空项 1:_66.下面 invert 函数的功能是将

25、一个字符串 str 的内容颠倒过来,请填空。 #includestring.h void invert(char str) int i,j,U 【17】 /U; for(i=0,j=strlen(str) U【18】 /U;ij;i+,j-) k=stri;stri=strj;strj=k; (分数:2.00)填空项 1:_67.程序的功能是将文件 filel.c 的内容输出到屏幕上并复制到文件 file2.c 中,请填空。 #includestdio.h main() FILE U【19】 /U; fp1=fopen(“filel.c“,“r“); fp2=fopen(“file2.c“,“

26、w“); while(!feof(fp1) putchar(getc(fp1); rewind(fp1); while(!feof(fp1) putc(U 【20】 /U); fclose(fp1); fclose(fp2); (分数:2.00)填空项 1:_二级 C 语言笔试 83 答案解析(总分:94.00,做题时间:90 分钟)一、B选择题/B(总题数:50,分数:60.00)1.在 C 语言中,引用数组元素时,其数组下标的数据类型允许是_。(分数:2.00)A.整型常量B.整型表达式C.整型常量或整型表达式 D.任何类型的表达式解析:解析 在引用数组元素时,下标表达式(包括常量)的值必

27、须为整数。2.在具有 n(n1)个结点的完全二叉树中,结点 i(2in)的左孩子结点是_。(分数:2.00)A.2iB.2i+1C.不存在 D.2i-1解析:解析 完全二叉树中叶子结点一定在最后一层或两层。n 个结点的完全二叉树中,其层数最多为log2n+1。结点 i 与双亲的关系是 i1 时,i 的双亲是 trunc(i/2)。结点 i 与子女的关系是:若 2in,则 i 的左孩子是标号 2i 的结点,若 2in,则不存在左孩子;若 2i+1n,则 i 的右孩子是标号 2i+1 的结点,若 2i+1n,则该结点不存在右孩子。3.以下程序段的输出结果是_。 int x=5; do ptintf

28、(“%2d/n“,x-); while(!x);(分数:2.00)A.5 B.无任何输出C.4D.陷入死循环解析:解析 本题考查循环语句 do-while 语句的执行情况。首先五条件执行循环体,表达式 x-的值为5,然后检查条件。4.在宏定义#define PI 3.14159 中,用宏名 PI 代替一个_。(分数:2.00)A.单精度数B.双精度数C.常量D.字符串 解析:解析 程序中用#define 定义后,PI 代表一串字符。5.以下程序的输出结果是_。 int d=1; fun(int p) static int d=5; d+=p; printf(“%d “,d); return(d

29、); main() int a=3; printf(“%d/n“,fun(a+fun(d); (分数:2.00)A.699B.669C.6 15 15 D.6615解析:解析 本题要注意静态变量 d。第 1 次执行 fun(d),即 fun(1),在函数 fun 里对静态变量赋初值5,得到 d=d+p=5+1=6 并输出,返回 6;第 2 次执行 fun(a+fun(d),即 fun(3+6)=fun(9),在函数 fun 中直接执行 d=d+p=6+9=15 并输出,然后返回 15 再一次输出。6.C 语言中 while 循环和 do-while 循环的主要区别是_。(分数:2.00)A.d

30、o-while 的循环体至少无条件执行一次 B.while 的循环控制条件比 do-while 的循环控制条件严格C.do-while 允许从外部转到循环体内D.do-while 的循环体不能是复合语句解析:7.若已定义 x 和 y 为 double 类型,则表达式 x=1,y=x+5/2 的值是_。(分数:2.00)A.3B.4C.3.0 D.3.5解析:解析 本题注意数据类型的转换以及“/”的使用方法。8.若有以下定义,则正确的 swish 语句是_。 float x;int a,b;(分数:2.00)A.switch( case 1.0:printf(“*/n“); case 2.0:p

31、rintf(“*/n“); B.switch( case 1,2:printf(“*/n“); case 3:printf(“*/n“); C.switch(a+ case 1:printf(“/n“); case 1+2:printf(“*/n“); D.switch(a+; case 1:printf(“*/n“); case 2:printf(“*/n“); 解析:解析 switch 后必须是整型或字符型的表达式,因此选项 A、B 错误;表达式的括号外没有分号,因此选项 D 错误。9.下列程序的输出结果是_。 main() char a10=9,8,7,6,5,4,3,2,1,0,*p=

32、a+5; printf(“%d“,*-p); (分数:2.00)A.非法B.a4的地址C.5 D.3解析:解析 p 是一个指向字符的指针,在定义时,指向 a5。执行-p 时,p 就指向了 a4,那么*-p 就是5。10.设有如下的函数_。 f(x) float x; printf(“/n%d“,x*x); 则函数类型(分数:2.00)A.与参数 x 类型相同B.是 voidC.是 int D.无法确定解析:解析 在函数名前没有说明函数返回值类型时,隐含为 int 类型。11.有如下说明: int a10=1,2,3,4,5,6,7,8,9,10,*p=a;则数值为 9 的表达式是_。(分数:1

33、.00)A.*p+9B.*(p+8) C.*p+=9D.p+8解析:解析 p 是指向整型变量的指针,并赋初值指向了数组 a 的首地址,*p=1,选项 A 中 *p+9=10,选项 C 的“*p+=9”的值为 10。而 p+8 是指向数组 a 的第 9 个元素的地址,只有*(p+8)才是数组 a 的第 9个元素。12.当 a=1,b=3,c=5,d=4 时,执行下面一段程序后,x 的值为_。 if(ab) if(cd) x=1; else if(ac) if(bd) x=2; elsex=3; elsex=6; elsex=7;(分数:1.00)A.1B.2 C.3D.6解析:解析 此题主要考察

34、 if 语句的嵌套,注意 if 与 else 的对应关系。ab 成立继续执行;cd 不成立,执行 else 语句;ac 成立继续执行;bd 成立,x=2,然后退出嵌套的 4 层 if 语句。13.计算机中,能够用来与外存交换信息的是_。(分数:1.00)A.键盘B.RAM C.显示器D.ROM解析:解析 RAM 中存储着当前使用的程序、数据、中间结果和与外存交换的数据,CPU 根据需要可以直接读/写 RAM 中的内容。14.当执行下面程序且输入 a boy 时,输出的结果是_。 #includestdio.h #includestring.h main() char ss81=“A BOY“,

35、hh81,*pt; scanf(“%s“,hh); pt=strcat(ss,hh); puts(pt); printf(“%s/n“,hh); (分数:1.00)A.A BOY a a B.A BOY a boy a boyC.A BOY a boy aD.A BOY a boy a boy解析:解析 对于函数 strcat(ss,hh),把字符串 hh(若遇空格,舍去后面的部分,并重新赋给 hh)连至字符串 ss 的后面。15.若有说明:int s23=0;,则下面正确的叙述是_。(分数:1.00)A.只有元素 s00可得到初值 0B.此说明语句不正确C.数组 s 中各元素都可得到初值,但

36、其值不一定为 0D.数组 s 中每个元素均可得到初值 0 解析:解析 给二维数组赋初值时,若所赋初值不足,则给后面的元素自动补初值 0。16.以下的 for 循环_。 for(x=0,y=0;(y!=123)|(x4);x+)(分数:1.00)A.是无限循环 B.循环次数不定C.执行 4 次D.执行 3 次解析:解析 本题考查 for 循环的结束条件。注意虽然 x 的值在增加,但 y 的值不增加,表达式 (y!=123)|(x4)的值永远是 1,所以会成为无限循环。17.瀑布模型适合于_。(分数:1.00)A.大型软件系统开发B.中型软件系统开发C.小型软件系统开发 D.大、中、小型软件系统开

37、发解析:解析 根据瀑布模型的特点(连续无反馈)是对于每一个阶段来说,前一个阶段工作的正确无误是至关重要的。因此,瀑布模型不能很好地适应那些需求不易确定和多变的软件项目的开发。由于大项目在软件开发的前期阶段,人们很难详细地了解系统的许多细节,从而在项目进行过程中常会出现需求变化。因此,瀑布模型适用于小系统开发项目,而不适用于大、中型软件系统开发。18.C 语言中,运算对象必须是整型数的运算符是_。(分数:1.00)A.% B./C.%和/D.*解析:解析 本题考查运算符的运算对象,“%”为双目运算符,且操作数只能为整型。19.已知字母 A 的 ASC码为十进制数的 65,下面程序的输出是_。 m

38、ain() char ch1,ch2; ch1=A+5-3; ch2=A+6-3; printf(“%d,%c/n“,ch1,ch2); (分数:1.00)A.67,D B.B,CC.C,DD.不确定的值解析:解析 本题考查 ASC码值的相关知识及格式控制字符%d,%c,注意显示时整型和字符型格式的区别。20.以下正确的叙述是_。(分数:1.00)A.C 语言允许 main 函数带形参,且形参个数和形参名均可由用户指定B.C 语言允许 main 函数带形参,形参名只能是 argc 和 argvC.当 main 函数带有形参时,传给形参的值只能从命令行中得到 D.若有说明:main(int ar

39、gc,char *arg,则形参 argc 的值必须大于 1解析:解析 C 语言通常允许 main()函数带有两个参数,可由用户自己命令,但类型是固定的。第一个参数是整型,第二个参数是一个指向字符型指针数组的指针或一个基本类型为字符型的指针数组,此时传给形参的值只能从命令行中得到。21.若有以下定义和语句: char*s1=“12345“,*s2=“1234“; printf(“%d/n“,strlen(strcpy(s1,s2);则输出结果是_。(分数:1.00)A.4 B.5C.9D.10解析:解析 函数 strcpy(s1,s2)的返回结果是指针 s1 的新值“1234“,因此求串长函数

40、的结果为 4。22.若运行时输入 12,则以下程序的输出结果是_。 main() intx,y; scanf(“%d“, y=x12? x+1:x-1; printf(“%d/n“,y); (分数:1.00)A.10B.11 C.12D.13解析:解析 本题考查“?:”运算的规则:若条件成立,取“:”前的值;否则,取“:”后面的值。23.以下程序的输出是_。 struct st int x;int*y; *p; int dt4=10,20,30,40; struct st aa4=50, main() p=aa; printf(“%d/n“,+(p-X); (分数:1.00)A.51 B.11

41、C.50D.60解析:解析 p 是指向结构 aa 的结构指针,+(p-x)是对 p 的 x 成员的值进行加 1。p=aa 使得 p 指向aa 的首地址,p-x 的值为 50,那么+(p-X)就等于 51。24.以下所列的 c 语言常量中,错误的是_。(分数:1.00)A.0xFFB.1.2e0.5 C.2LD./72解析:解析 B 项中形式在数学上是正确的,但在 C 语言中,e 或 E 后面的数必须为整数。25.在下列叙述中,正确的一条是_。(分数:1.00)A.对 while 循环、do-while 循环和 for 循环,可以用 continue 语句跳出循环B.表达式 1+23 和 siz

42、eof(3.8)的结果分别为 24 和 8C.函数 fputc(c, stdou 与 putchar(的结果相同 D.在有参函数中,定义函数中指定的形参变量在程序一开始执行时便分配内存单元解析:解析 选项 A 错误,continue 语句只能结束本次循环,不能结束整个循环。要跳出循环可用break 语句。选项 B 错误,表达式 1+23 等价于(1+2)3,即 0000000000000011 向右移 3 位,移后变为 0000000000000000,即 0。选项 C 正确,函数 fputc 的操作对象是文件,而 putchar 是直接向标准输出设备输出字符。标准输出设备是一个特殊文件,即设

43、备文件,文件型指针指向标准输出设备,因而功能相同。选项 D 错误,在定义函数中指定的形参变量,在未出现函数调用时,它们并不占内存中的存储单元。26.在 C 语言中,函数的隐含存储类别是_。(分数:1.00)A.autoB.staticC.extern D.无存储类别解析:解析 C 语言中如无特别说明,函数的隐含存储类别为外部 extern 类别。27.字符0的 ASC码的十进制数为 48,且数组的第 0 个元素在低位,则以下程序的输出结果是_。 #includestdio.h main() unionint i2;long k;char c4;r,*s= s-i0=0x39; s-i1=0x3

44、8; printf(“%c/n“,s-c0); (分数:1.00)A.39B.9 C.38D.8解析:解析 本题考查的是共用体变量的引用。28.以下程序的输出结果是_。 main() int a=-1,b=1,k; if(+a0) else printf(“%d %d/n“,b,a); (分数:1.00)A.-1 1B.0 1C.1 0 D.0 0解析:解析 C 语言中如果逻辑与运算符左边的表达式为假,右边的表达式就不再运算了,(+a0)=(00)=0,所以逻辑与右边的表达式就不参与运算,没有改变 b 的值。因此输出 b=1,a=0。29.若 a 为 int 类型,且其值为 3,则执行完表达式 a+=a-=a*a 后,a 的值是_。(分数:1.00)A.-3B.9C.-12 D.6解析:解析 本题考查的是运算符的优先级和结合性。注意复合赋值运算符的优先级比较低,并且是右结合性。30.下列关于“数据库系统(DBS)”的叙述中,正确的一条是_。(分数:1.00)A.DBS 是指在计算机系统中引入数据库后的系统构成 B.DBS 是帮助用户建立、使用和管理数据库的一种计算机软件C.DBS 是用户建立的若干数据库文件的集合D.DBS 是一种新颖的关系数据库管理系统解析:解析 数据库系统 DBS 是指在计算机系统中引入数据库后的系统构成。数据库系统是一种带有数据库的综合

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

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

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