2021年安徽省安庆市全国计算机等级考试C语言程序设计测试卷一(含答案)_第1页
2021年安徽省安庆市全国计算机等级考试C语言程序设计测试卷一(含答案)_第2页
2021年安徽省安庆市全国计算机等级考试C语言程序设计测试卷一(含答案)_第3页
2021年安徽省安庆市全国计算机等级考试C语言程序设计测试卷一(含答案)_第4页
2021年安徽省安庆市全国计算机等级考试C语言程序设计测试卷一(含答案)_第5页
已阅读5页,还剩16页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2021年安徽省安庆市全国计算机等级考试C语言程序设计测试卷一(含答案)学校:________班级:________姓名:________考号:________

一、单选题(20题)1.若已包括头文件且已有定义charsl[18],s2={"ABCDE")和inti,现要将字符串”ABCDE”赋给sl,下列语句错误的是()。

A.strcpy(s1,s2)

B.strcpy(s1,"ABCDE");

C.sl="ABCDE";

D.for(i=0;i<6;i++)sl[i]=s2[i]

2.有以下程序:#include<stdio.h>main(){inti,t[][3]={9,8,7,6,5,4,3,2,1};for(i=0;i<3;i++)printf(“%d”,t[2-i][i]);}程序的运行结果是()。

A.357B.753C.369D.751

3.下列关于栈的描述中错误的是()。A.栈是先进后出的线性表B.栈只能顺序存储C.栈具有记忆作用D.对栈的插入与删除操作中,不需要改变栈底指针

4.

5.若有定义语句:inta[3][6];,按在内存中的存放顺序,a数组的第10个元素是A.a[0][4]B.a[1][3]C.a[0][3]D.a[1][4]

6.函数调用strcat(strcpy(str1,str2),str3)的功能是()。

A.将字符串str1复制到字符串str2中后再连接到字符串str3之后

B.将字符串str1连接到字符串str2之后再复制到字符串str3之后

C.将字符串str2复制到字符串str1之后再将字符串str3连接到字符串str1之后

D.将字符串str2连接到字符串str1之后再将字符串strl复制到字符串str3中

7.为非法的字符串常量()。A.“case”B.“”C.”056”D.‘123’

8.是哈希查找的冲突处理方法()。

A.求余法B.平均取中法C.二分法D.开放地址法

9.数据的存储结构是指()。

A.存储在外存中的数据B.数据所占的存储空间量C.数据在计算机中的顺序存储方式D.数据的逻辑结构在计算机中的表示

10.若有说明inta[][3]={1,2,3,4,5,6,7,8,9},则a数组第一维的大小是()。

A.2B.3C.4D.无确定值

11.以下与数学表达式“0<x<5且x≠2”不等价的C语言逻辑表达式是()。

A.(0<x<5)&&(x!=2)

B.0<x&&x<5&&x!=2

C.x>0&&x<5&&x!=2

D.(x>0&&x<2)||(x>2&&x<5)

12.

13.若有定义“doublea;floatb;shortc;”,若想把1.2赋给变量a,3.4赋给变量b,5678赋给变量c,程序运行时键盘输入:1.23.45678<回车>则以下正确的读入语句是()。A.scanf("%If%If%d",&a,&b,&c);

B.scanf("%If%If%hd",&a,&b,&c);

C.scanf("%If%f%hd",&a,&b,&c);

D.scanf("%f%f%d",&a,&b,&c);

14.下面关于哈希(Hash,杂凑)查找的说法正确的是()

A.哈希函数构造的越复杂越好,因为这样随机性好,冲突小

B.除留余数法是所有哈希函数中最好的

C.不存在特别好与坏的哈希函数,要视情况而定

D.若需在哈希表中删去一个元素,不管用任何方法解决冲突都只要简单地将该元素删去即可

15.一个栈的初始状态为空。现将元素1、2、3、4、5、A、B、C、D、E依次入栈,然后再依次出栈,则元素出棱的顺序是()。A.A.12345ABCDEB.EDCBA54321C.ABCDEl2345D.54321EDCBA

16.以下选项中,值为1的表达式是()。

A.1-‘0’B.1-‘\0’C.‘1’-0D.‘\0’-‘0’

17.算法的空间复杂度是指()。

A.算法程序的长度B.算法程序中的指令条数C.算法程序所占的存储空间D.执行算法需要的内存空间

18.若有定义“charc=“hello!”;”,则以下说法正确的是()。

A.c占用7字节内存B.c是一个字符串变量C.定义中有语法错误D.c的有效字符个数是6

19.以下选项中合法的C语言常量是()。

A.‘C-STR’B.2014.1C.”\1.0D.2EK

20.有以下程序

#include<stdio.h>

main()

{intx=1,y=2,z=3;

if(x>y)

if(y<z)printf("%d",++z);

elseprintf("%d",++y);

printf("%d\n",x++);

}

程序的运行结果是

A.A.331

B.41

C.2

D.1

二、2.填空题(20题)21.在一棵二叉树上第6层的结点个数最多是______个。

22.关系操作的特点是______操作。

23.下列程序的运行结果是______。

#include<stdio.h>

main()

{inta,b,c;

a=3;b=4;c=5;

if(a>b)

if(a>c)

printf("%d",a);

elseprintf("%d",b);

printf("%d\n",c);

}

24.定义inta=5,b;,则执行表达式b=++a*--a之后,变量b的值为【】。

25.队列是限定在表的一端进行插入和在另一端进行删除操作的线性表。允许插入的一端称作______。

26.二分法查找仅限于这样的表:表中的数据元素必须有序,其存储结构必须是______。

27.数据模型按不同的应用层次分为三种类型,它们是______数据模型、逻辑数据模型和物理数据模型。

28.软件工程研究的内容主要包括:【】技术和软件工程管理。

29.测试用例包括输入值集和【】值集。

30.设Y是int型变量,请写出判断Y为奇数的关系表达式【】。

31.下面程序的功能是:从输入的正整数中选3个数进行输出,要求这些数都是2的倍数,请填空。

main()

{inta,i=0;

scanf("%d",&A);

do

{if(a>0&&a%2==0)

{printf("%d\n",A);i++;}

if(i!=3)

{scanf("%d",&A);}

}while(());

}

32.一个项目具有一个项目主管,一个项目主管可管理多个项目,则实体“项目主管”与实体“项目”的联系属于______的联系。

33.关系数据库的关系演算语言是以【】为基础的DML语言。

34.若输入字符串:(图片),则以下while循环体将执行【】次。

while((ch=getchar())=='e')printf("*");

35.以下程序通过函数指针p调用函数fun,请在填空栏内写出定义变量p的语句。

voidfun(int*x,int*y)

{……}

main()

{inta=10,b=20;

【】:

p=fun;p(&a,&b);

……

}

36.以下程序运行后的输出结果是【】。

#defineS(x)4*x*x+1

main()

{inti=6,j=8;

printf("%d\n",S(i+j));

}

37.以下程序的输出结果是【】。

main()

{inty=9;

for(;y>0;y--)

if(y%3==0)

{printf("%d",--y);continue;}}

38.软件的可移植性是用来衡量软件【】的重要尺度之一。

39.以下程序运行后的输出结果是______。

fun(intx)

{if(x/2>0)fun(x/2);

printf("%d",x);

}

main()

{fun(6);}

40.在两种基本测试方法中,()测试的原则之一是保证所测模块中每一个独立路径至少执行一次。

三、1.选择题(20题)41.设有以下说明语句typedefstruct{intn;charch[8];}PER;则下面叙述中正确的是

A.PER是结构体变量名

B.PER是结构体类型名

C.typedefstruct是结构体类型

D.struct是结构体类型名

42.以下程序的输出结果是charcchar(charch){if(ch>='A'&&ch<='Z')ch=ch-'A'+'a';returnch;}main(){chars[]="ABC+abc=defDEF",*p=s;while(*p){*p=cchar(*p);p++;}printf{"%$\n",s);}

A.abc+ABC=DEFdef

B.abc+abc=defdef

C.abcABCDEFdef

D.abcabcdefdef

43.有如下程序main(){chars[][5]={"abc","de","fgh"};printf("%c",s[2][6]);}其输出为______。

A.不确定B.编译错误C.gD.输出null字符

44.下面各语句行中,能正确地给字符串赋值的语句行是()。

A.charst[4]={"ABCDE"};

B.chars[5]={'A','B','C','D','E'};

C.char*s="ABCDE";

D.char*s;scanf("%s",*s);

45.若k是int型变量,且有下面程序片段:k=-3;if(k<=0)printf("####")elseprintf("&&&&")上面程序片段的输出结果是()

A.####

B.&&&&

C.###&&&&

D.有语法错误,无输出结果

46.以下程序的输出结果是______。main(){inti,x[3][3]={9,8,7,6,5,4,3,2,1},*p=&x[1][1];for(i=0;i<4;i+=2)printf("%d",p[i]);}

A.52B.51C.53D.97

47.有以下程序#include〈string.h〉main(){charp[]={'a','b,'c'},q[10]={'a','b','c'};printf("%d%d\n",strlen(p),strlen(q));}以下叙述中正确的是

A.在给p和q数组置初值时,系统会自动添加字符串结束符,故输出的长度都为3

B.由于p数组中没有字符申结束符,长度不能确定;但q数组中字符串长度为3

C.由于q数组中没有字符串结束符,长度不能确定:但p数组中字符串长度为3

D.由于p和q数组中都没有字符串结束符,故长度都不能确定

48.下列程序的输出结果为______。main(){intp,y=0,x=0;p=x<<8|~y>>8;printf("%d",p);p+=(p+=2);printf("%d\n",p);}

A.-10B.00C.04D.-12

49.当执行下面的程序时,如果输入ABC,则输出结果是______。#include"stdio.h"#include"string.h"main(){charss[10]="12345";gets(ss);strcat(ss,"6789");printf("%s\n",ss);}

A.ABC6789B.ABC67C.12345ABC6D.ABC456789

50.设x为整型变量,n=14,n的地址为4000;m=6,m的地址为2000;执行语句x=&n后的结果为()。

A.14B.6C.2000D.4000

51.设x为int型变量,执行以下语句,x=10;x+=x-x;x;x的值为______。

A.10B.20C.30D.40

52.以下对枚举类型名的定义中正确的是______。

A.enuma={one,two,three};

B.enuma{one=9,two=-1,three};

C.enuma={one","two","three"};

D.enuma{"one","two","three"};

53.执行下面程序片段的结果是()intx=23;do{printf("%2d",x--);}while(!x);

A.打印出321B.打印出23C.不打印任何内容D.陷入死循环

54.某片软盘上已染有病毒,为防止该病毒传染计算机系统,正确的措施是______。

A.删除软盘上的所有文件即删除了病毒B.将该软盘进行写保护C.将软盘放一段时间后再用D.将该软盘重新格式化

55.下列程序段选择项,使i的运行结果为3的程序段是()。

A.inti=0,j=O;(i=2,(j++)+i);

B.inti=1,j=0;j=i=((i=3)*2);

C.inti=0,j=1;(j=1)?(i=1):(i=3);

D.inti=1,j=1;i+=j+=1;

56.数据库系统可分为三级模式,下列选项中不属于数据库三级模式的是

A.抽象模式B.外模式C.概念模式D.内模式

57.线性表若采用链式存储结构时,要求内存中可用存储单元的地址()

A.必须是连续的B.部分地址必须是连续的C.一定是不连续的D.连续不连续都可以

58.若有代数式

(其中P仅代表自然对数的底数,不是变量),则下列能够正确表示该代数式的C语言表达式是()。

A.sqrt(abs(n^x+e^x))

B.sqrt(fabs(pow(n,x)+pow(x,e)))

C.sqrt(fabs(pow(n,x)+exp(x)))

D.sqrt(fabs(pow(x,n)+exp(x)))

59.有以下程序:intfun(intn){if(n==1)return1;elsereturn(n+fun(n-1));}main(){intx;scanf("%if",&x);x=fun(x);printf("%d\n",x);}执行程序时,给变量X输入10,程序的输出结果是()。A.55B.54C.65D.45

60.请选出以下语句的输出结果()printf("%d\n,strlen("\t\"065\xff\n"));

A.5B.14C.8D.输出项不合法,无正常输出

四、选择题(20题)61.定义无符号整数类为UInt,下面可以作为类UInt实例化值的是()。

A.-369B.369C.0.369D.整数集合{1,2,3,4,5}

62.下列定义变量的语句中正确的是()。

A)int_int;B)double3int_;

C)charfor;D)floatUS&;

63.以下叙述中错误的是()。A.c程序在运行过程中所有计算都以十进制方式进行

B.c程序在运行过程中所有计算都以二进制方式进行

C.所有C程序都需要编译链接无误后才能运行

D.c程序中字符变量存放的是字符的ASCIl值

64.以下关于return语句的叙述中正确的是()。

A.一个自定义函数中必须有一条return语句

B.一个白定义函数中可以根据不同情况设置多条return语句

C.定义成void类型的函数中可以有带返回值的return语句

D.没有return语句的自定义函数在执行结束时不能返回到调用处

65.下面不属于软件工程三要素的是()。

A.方法B.环境C.工具D.过程

66.一间宿舍可住多个学生,则实体宿舍和学生之间的联系是()。

A.一对一B.一对多C.多对一D.多对多

67.

68.

有以下程序

#include<stdio.h>

#include<string.h>

typedefstrlIct{charname[9];charsex;floatscore[2];}STU;

STUf(STUa)

{STUb={"Zhao",m,85.0,90.0);inti;

strcpy(aname,b.name);

sex:b.sex;

for(i=0;i<2;i++)a.score[i]=b.score[i];

returna;

}

main

{STUc="Qian",f,95.0,92.0},d;

d=f(c).printf("%s,%c,%2.0f,%2.0f",d.Name,d.sex,d.score[0],d.score[1]);

}

程序的运行结果是()。

A.Qian,f,95,92

B.Qian,m,85,90

C.Zhao,m,85,90

D.Zhao,f,95,92

69.算法的空间复杂度是指()。

A.算法在执行过程中所需要的计算机存储空间

B.算法所处理的数据量

C.算法程序中的语句或指令条数

D.算法在执行过程中所需要的临时工作单元数

70.设有以下说明语句:

则下面的叙述中不正确的是()。

A.struct结构体类型的关键字

B.example是结构体类型名

C.x,y,z都是结构体成员名

D.struetex是结构体类型名

71.

72.

73.有下列程序段:intn,t=1,S=0;scanf("%d",&n);do{s=s+t;t=t-2;while(t!=n);为使此程序段不陷入循环,从键盘输入的数据应该是()。A.任意正奇数B.任意负偶数C.任意正偶数D.任意负奇数

74.若有定义语句:inta[3][6];,按在内存中的存放顺序,a数组的第10个元素是()。

A.a[o][4]B.a[1][3]C.a[o][3]D.a[1][4]

75.若有定义语句“inta,b;doubleX;”,则下列选项中没有错误的是()。

A.switch(X%2){case0:a++;break;casel:b++;break;default:a++;b++;}

B.switch((int)x/2.O){case0:a++;break;casel:b++;break;default:a++;b++;}

C.switch((int)X%2){case0:a++;break;casel:b++;break;default:a++;b++;}

D.switch((int)(x)%2){case0.0:a++;break;casel.0:b++;break;default:a++;b++;}

76.若fp是指向某文件的指针,且已读到文件末尾,则库函数feof(fp)的返回值是

A.EOFB.-1C.1D.NULL

77.有如下程序段

#include"stdio.h"

main()

{intk[10];

intj;

for(j=0;j<10;j++)

scanf("%d",&k[j]);

for(j=9;j>=0;j--)

printf("%d",k[j]);}

则程序段实现的功能是

A.输入10个数据的顺序输入并输出

B.输入10个数据的逆序存放

C.输入10个数据的逆序输出

D.以上叙述均错误

78.

定义结构体数组:

structstu

{intnum;

charnameE20];

}X[5]={1,"LI",2,"ZHAO",3,"WANG",4,"ZHANG",5,"LIU");

for(i=1;i<5;i++)

printf("%d%c",x[i].num,x[i].name[2]);

以上程序段的输出结果为()。

A.2A3N4A5UB.112A3H4IC.1A2N3A4UD.2H3A4H5I

79.有以下程序:

程序运行后的输出结果是()。

80.在E—R图中,用来表示实体联系的图形是()。

A.椭圆形B.矩形C.菱形D.三角形

五、程序改错题(1题)81.下列给定的程序中,函数proc()的功能是:计算并输出k以内最大的10个能被15或18整除的自然数之和,k的值由主函数传人。若k的值为800,则函数的值为7605。

请改正程序中的错误,使它能得出正确的结果。

注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。

试题程序:

六、程序设计题(1题)82.请编写一个函数proc(),它的功能是:求出一个4×N整型二维数组中最大元素的值,并将此值返回调用函数。注意:部分源程序给出如下。请勿改动main()函数和其他函数中的任何内容,仅在函数proc的花括号中填入所编写的若干语句。试题程序:

参考答案

1.C数组名sl是代表sl数组首地址的地址常量,因为“=”左边不能出现常量,所以s1="ABCDE"的方法是错误的。

2.A二维数组t[][3]即t[3][3]={{9,8,7},{6,5,4},{3,2,1}}。执行循环for语句,当i=0时,t[2][0]=3;当i=1时,t[l][1]=5;当i=2时,t[0][2]=7;当i=3时,循环结束,即t[2][0]=3、t[1][1]=5、t[0][2]=7。故本题答案为A选项。

3.B栈是限定只能在表的一端进行插入和删除操作的线性表,入栈和出栈都是在栈顶进行,它们的操作特点是先进后出,因此具有记忆作用。栈可以采用顺序存储,也可以采用链式存储。

4.B

5.B解析:二维数组的元素在内存中是按行列顺序连续存放的。以本题的二维数组a[3][6]为例,它的元素在内存中的存放顺序是:a[0][0]、a[0][1]、a[0][2]…a[0][5]、a[1][0]、\u3000a[1][1]…a[1][5]、a[2][0]…a[2][5]。由此可见,第10个元素就是第2行第4个元素,即a[1][3]。故应该选择B。

6.Cstrcat(s1,s2)函数的功能是把s2字符串连接到s1字符串末尾,strcpy(s1,s2)是把s2字符串复制到s1字符串,要保证sl的容量。

7.D

8.D

9.D数据的逻辑结构是指数据元素之间的逻辑关系的数据结构。数据的存储结构则是数据的逻辑结构在计算机中的物理实现,有时也称作数据的物理结构。两者的区别是数据的逻辑结构只涉及到数据之间抽象的数学关系。存储结构则涉及到如何在计算机中通过对数据的物理存储进行组织来表达数据元素之间的逻辑关系。比如在线性表的顺序存储中是利用物理存储空间上的连续性来表达线性表中数据的前后件关系;在线性表的链式存储中是通过指针域构成的逻辑链条来表达数据的前后件关系。一般的,一种数据的逻辑结构对应的物理实现,即数据的存储结构不止一种。因此选项D正确。

10.B解析:本题考查二维数组第一维的大小如何确定。二维数组第一维的大小由下列规则确定:①当初值的个数能被第二维的常量表达式的值除尽时,所得商数就是第一维的大小:②当初值的个数不能被第二维的常量表达式的值除尽时,第一维的大小等于所得商数加1。

11.A在C语言里不能直接表达“0<x<5”,需要分步骤来实现,即使用“x>0&&x<5”来描述。在C语言里,“0<x<5”属于一个逻辑运算表达式,可以理解为“(0<x)<5”,因此选项A错误。故本题答案为A选项。

12.A

\r\n

13.Cscanf函数用于输入数据。第1个参数表示输入格式控制。本题变量a是double类型,使用格式控制符%If;变量b是float类型,使用%If;变量c是short类型,使用%hd,选项C正确。本题答案为C选项。

14.C

15.B栈是先进后出的原则组织数据,所以人栈最早的最后出栈,所以选择B。

16.B字符‘\\0’为空值,其ASCII值为0,所以B选项的值为1。字符‘0’的ASCII值为48,所以A、C、D选项的值均不为1。故本题答案为B选项。

17.D解析:算法的复杂度主要包括算法的时间复杂度和算法的空间复杂度。所谓算法的时间复杂度是指执行算法所需要的计算工作量;算法的空间复杂度一般是指执行这个算法所需要的内存空间。

18.Cc是字符变量,“hello!”是字符串。字符串不能赋给字符变量,定义中有语法错误。本题答案为C选项。

19.B所谓常量,是指在程序运行的过程中,其值不能被改变的量。在C语言中,有整型常量、实型常量、字符常量和字符串常量等类型。选项A是字符串,需要使用双引号;选项C不是合法的常量形式;选项D为实型常量中的指数形式,但指数形式e(E)之前必须是数字,之后必须为整数。故本题答案为B选项。

20.D本题考查if-else语句的使用。if-else语句可以在条件为“真”或为“假”时执行指定的动作,由if引导条件为“真”时执行的操作;由else引导条件为“假”时执行的操作。else语句要与上面最近的if语句进行匹配,如果要嵌套调用if-else语句,需要将嵌套部分用{}括起来,避免程序报错。题目中给出了一个if语句和一个if-else语句,if-else语句为第一个if语句的子语句。首先执行外层if语句,执行条件为x>y,由于x=1,y=2,故该条件为假,不执行if的子语句,直接执行语句printf("%d\\n",x++);,该语句先输出x的值,然后进行x++操作。x的初始值为1,输出结果为1。

21.3232解析:根据二叉树的性质,在二叉树的第K层上,最多有2k-1个结点。所以,第6层的结点数最多为32。

22.集合集合

23.55解析:分析程序,当a=3;b=4;c=5时,判断语句a>b不成立,所以不执行后面的语句,直接执行“printf('%d\\n',c);”语句,输出c的值,输出结果为5。

24.2525解析:#NAME?

25.队尾队尾解析:在队列中,允许插入的一端叫做“队尾”,允许删除的一端叫做“队头”。

26.顺序存储(顺序方式存储)顺序存储(顺序方式存储)解析:二分法查找对表的要求是有序的顺序表,即第一要求是数据元素有序,第二要求是按顺序方式存储。

27.概念概念

28.软件开发

29.输出输出解析:测试用例曲测试输入数据(输入值集)和与之对应的预期输出结果(输出值集)两部分组成。

30.Y%2=1或Y%2!=0Y%2=1或Y%2!=0解析:判断变量是否为奇数可以用变量与2取模,判断结果是为1或下为0。本题具体做法如下:Y%2=1或Y%2!=0。

31.i<3

32.1对多(或1:N)1对多(或1:N)

33.谓词演算谓词演算

34.00解析:函数getchar()是从键盘得到用户输入的一个字符。用户输入的第1个字符是a,不管后面输入的是什么ch的值都是'a',因此条件(ch=getchar())=='e'为假,这个循环不会被执行。

35.void(*p)();void(*p)();解析:要定义p为指向函数的指针变量,需写成void(*p)();,注意*p两侧的括弧不可以省略,表示P先与*结合,是指针变量,再与后面的()结合,表示此指针变量指向函数,这个函数无返回值(同fun()函数)。

36.8181解析:将S(i+j)展开来有:S(i+j)=S(6+8)=4×6+8×6+8+1=81。

37.852852解析:循环前,变量y的值为9,其中,循环语句在y大于0情况下循环,每次循环后y的值都减1。循环体是当y能被3整除时输出表达式--y,输出的是减1后的y值。这样,第一次循环因y为9,能被3整除,输出8,y也变成8。又经两次循环,y的值变为6,又让y减1变成5,并输出5;又经两次循环,y的值变成3,让y减1变成2,输出2;再经两次循环后,y的值变成0,结束循环,所以程序输出852。

38.质量质量

39.136136解析:本题考核的知识点是函数递归。主函数调用函数fun(6),由于6/2>0为真递归调用fun(3),接着递归调用fun(1),输出1,返回上一层输出3,在返回上一层输出6。故空格处应该填136。

40.白盒白盒解析:按功能划分测试可分为白盒测试和黑盒测试。白盒测试的原则是保证所测试模块中每一独立路径至少执行一次;保证所测试模块所有判断的每一分支至少执行一次:保证所测试模块每一循环都在边界条件和一般条件下至少各执行一次;验证所有内部数据结构的有效性。

41.B解析:本题中,typedef声明新的类型名PER来代替已有的类型名,PER代表上面指定的一个结构体类型,此时,也可以用PER来定义变量。

42.B解析:本题考核的知识点是字符型指针变量与函数的综合应用。本题首先定义了一个函数cchar(),有一个字符型参数ch。在函数中首先判断该字符是否为大写字母,如果是则把它转换成小写字符再赋值给cb,把ch作为函数值返回。在主函数中定义了一个字符数组s并初始化,然后定义了一个指针变量并使它指向数组s。接着通过一个while循环利用指针变量p,依次取出字符数组的字符(直到遇到字符串结束标志['\\0'为止),并调用cchar()函数,把大写字母转换成小写字母,其他字符不变。最后输出字符数组为s中的内容,结果为“abc+abc=defdeF”。所以,4个选项中B为所选。

43.A解析:由于s[2][6]表示字符串已超出了数组s的表示范围,在C中不会刘数组越界进行检查,当数组越界时,会得到一个不确定的值。

44.C解析:选项A)字符串的赋值产生越界错误,不正确;选项B)是字符数组的赋值,而不是字符串的赋值;选项D)中scanf的列表项必须为变量的地址。

45.D

46.C解析:题中*p=&x[1][1];是指将数组x的数组元素x[1][1]的地址赋值给指针变量p,使p指向x[1][1]这个数组元素,那么p[0]即为指针变量p当前所指向的数组元素x[1][1]的值。

47.B解析:本题考查了对字符数组赋初值.使用初始化列表对字符数组赋初值,系统不会自动为其添加字符串结束符,使用字符串初始化时才会自动添加,所以选项A是错的。数组长度在未指定的情况下由初始化列表项中数据的个数决定,若已指定且初始化项数不足时,多出部分会自动初始化为0,0等价于字符串结束符'\\0'。所以选项B是正确的,C和D都是错误的。本题应该选B。

48.D

49.A解析:sdtrcat(str1,str2)合并字符串函数的作用是把str2所指字符串的内容连接到str1字符串的后面,自动删去str1原来串中的'\\0'。为了进行这项操作,要求str1所指的字符串后面有足够的空间来容纳str2所指字符串中的内容。函数值为str1所指第一个字符的地址。

50.D解析:&是取地址运算符,表达式x=&a是表示将a的地址赋给变量x。

51.B解析:本题x=10,表达式“x+=x-=x-x;”的求解步骤如下:先进行x=x-x的运算,相当于x=x-(x-x)=x=10;再进行x+=x的运算,即x=x+x=200

52.B解析:声明枚举类型用enum开头。例如:enumweekday(sun,mon,tue,wed,thu,fri,sat);说明:1、在C编译中,对枚举元素按常量处理,同时可以改变他们的值。2、枚举值可以用来做判断比较。3、一个整数不能直接赋给一个枚举变量。

53.B

54.D解析:软盘中有病毒,有可能打开软盘就会感染机器,因此最好的办法是直接格式化。

55.D

56.A解析:数据库的三级模式是指概念模式、内模式和外模式,其中外模式又叫子模式,内模式又叫物理模式.所以本题答案为A。

57.D解析:在链式存储结构中,存储数据结构的存储空间可以不连续,各数据接点的存储顺序与数据元素之间的逻辑关系可以不一致,而数据元素之间的逻辑关系是由指针域来确定的。

58.C解析:n和e的x幂次方,要分别调用C语言的数学库函数doublepow(n,x)和doubleexp(x),因为这两个函数的返回值都为double型,对两者的和计算绝对值,调用库函数doublefabs(pow(n,x)+exp(x)),求出和的绝对值,再调用开平方函数doublesqrt(fabs(pow(n,x)+exp(x))),这样计算出的结果就是题干中表达式的值。

59.A函数fun()通过递归调用实现的功能为n+(n-1)+…+1,故程序的输出结果为55。

60.A

61.BB【解析】只有B选项369可以用无符号整数来表示和存储。A选项一369有负号,选项C0.369是小数都不能用无符号整数类存储。选项D是一个整数集合得用数组来存储。

62.A用户标识符不能为关键字,只能由数字,字母和下划线组成,而且第一个必须为字母或下划线。

63.AC程序在运行过程中所有计算都以二进制方式进行,所以本题答案为A)。

64.Breturn语句又称为返回语句。该语句的格式如下:“return;”和“return(<表达式>);”。其中,return是关键字。该语句有两种格式:不带返回值格式和带返回值格式。该语句用在被调用函数中,在被调用函数中执行到该语句时,将结束对被调用函数的执行,并把控制权返回给调用函数,继续执行调用函数后边的语句。在带有返回值的情况下,将return语句所带的表达武的值返回给调用函数,作为被调用函数的值。在被调用函数中,可以用return语句,也可以不用return语句。如果要求被调用函数有返回值,则一定要用return语句,采用return(<表达式>);格式。如果被调用函数不需要返回值,并且当被调用函数的所有语句执行完后进行返回,则被调用函数可以不用return语句。

65.B\n软件工程包括三个要素:方法、工具和过程。软件工程方法为软件开发提供了”如何做”的技术。工具支付软件的开发、管理、文档生成;过程支持软件开发的各个环节的控制、管理。

\n

66.B解析:两个实体间的联系可以归纳为3种类型:一对一联系:一对一的联系表现为主表中的每一条记录只与相关表中的一条记录相关联。一对多联系或多对一:一对多的联系表现为主表中的每一条记录与相关表中的多条记录相关联。多对多联系:多对多的联系表现为一个表中的多个记录在相关表中同样有多个记录与其匹配。一间宿舍可以住多个学生,但每个学生只能住一个宿舍,所以实体宿舍和学生之间的联系为一对多的联系。

67.B

68.Cf函数的功能是对形参a的各个成员用结构体变量b的各个成员进行赋值后,然后返回变量a。

69.A算法的空间复杂度是指算法在执行过程中所需要的内存空间。所以选择A项。

70.B本题中,structex是结构体类型名,exam-Ple是结构体变量名。

71.C

72.A

73.D本题主要考查do—while循环,因为变量t的初始值等于1,经过第一次do-while循环后,执行t=t-1这条语句一次,所以变量t的值为-1,判断关系表达式t!=n是否成立,如果关系表达式成立,则执

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论