2021-2022年辽宁省丹东市全国计算机等级考试C语言程序设计重点汇总测试卷(含答案)_第1页
2021-2022年辽宁省丹东市全国计算机等级考试C语言程序设计重点汇总测试卷(含答案)_第2页
2021-2022年辽宁省丹东市全国计算机等级考试C语言程序设计重点汇总测试卷(含答案)_第3页
2021-2022年辽宁省丹东市全国计算机等级考试C语言程序设计重点汇总测试卷(含答案)_第4页
2021-2022年辽宁省丹东市全国计算机等级考试C语言程序设计重点汇总测试卷(含答案)_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

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

文档简介

2021-2022年辽宁省丹东市全国计算机等级考试C语言程序设计重点汇总测试卷(含答案)学校:________班级:________姓名:________考号:________

一、单选题(20题)1.设x是一个int型的,y的值为10,则表达式x&&y的值为()。

A.1B.0C.与x值相同D.与x值相反

2.有下列程序段:intk=0,a=1,b=2,c=3;k=a<b?b:a;k=k>c?c=k;执行该程序段后,k的值是()。

A.3B.2C.1D.0

3.深度为5的二叉树至多有_____个结点。

A.16B.32C.31D.10

4.设x、y、t均为血型变量,则执行语句x=y=3;t=++x||++y;后,y的值为______。

A.不定值B.4C.3D.1

5.如果要求一个线性表既能较快地查找,又能适应动态变化的要求,可以采用下列哪一种查找方法()

A.分块B.顺序C.折半D.哈希

6.设一组初始记录关键字序列为(Q,H,C,Y,P,A,M,S,R,D,F,X),则按字母升序的第一趟冒泡排序结束后的结果是()

A.F,H,C,D,P,A,M,Q,R,S,Y,X

B.P,A,C,S,Q,D,F,X,R,H,M,Y

C.A,D,C,R,F,Q,M,S,Y,P,H,X

D.H,C,Q,P,A,M,S,R,D,F,X,Y

7.下面关于数据库系统中叙述正确的是()。

A.数据库系统减少了数据冗余

B.数据库系统避免了一切冗余

C.数据库系统中数据的一致性是指数据类型的一致

D.数据库系统比文件系统能管理更多的数据

8.数据库管理系统是()。

A.操作系统的一部分B.在操作系统支持下的系统软件C.一种编译系统D.一种操作系统

9.两个或两个以上模块之间联系的紧密程度称为()。

A.耦合性B.内聚性C.复杂性D.数据传输特性

10.以下叙述中,不正确的是()。

A.使用staticfloata定义的外部变量存放在内存中的静态存储区

B.使用floatb定义的外部变量存放在内存中的动态存储区

C.使用staticfloatc定义的内部变量存放在内存中的静态存储区

D.使用floatd定义的内部变量存放在内存中的动态存储区

11.下列叙述中错误的是()。A.在程序中凡是以“#”开始的语句行都是预处理命令行

B.预处理命令行的最后不能以分号表示结束

C.#defineMAX是合法的宏定义命令行

D.C程序对预处理命令行的处理是在程序执行的过程中进行的

12.有以下程序:#include<stdio.h>#definePT3.5;#defineS(x)PT*x*x;main(){inta=1,b=2;printf(“%4.1f\n”,S(a+b));}程序的运行结果是()。

A.7.5B.31.5C.程序有错,无输出结果D.14.0

13.某二叉树有5个度为2的结点,则该二叉树中的叶子结点数是A.10B.8C.6D.4

14.下列不属于软件工程的3个要素的是______。

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

15.能正确表示“当x的取值在[1,10]和[100,110]范围内为真,否则为假”的表达式是()。

A.(x>=1)&&(x<=10)&&(x>=100)&&(x<=110)

B.(x>=1)‖(x<=10)‖(x>=100)‖(x<=110)

C.(x>=1)&&(x<=10)‖(x>=100)&&(x<=110)

D.(x>=1)‖(x<=10)&&(x>=100)‖(x<=110)

16.在学生管理的关系数据库中,存取一个学生信息的数据单位是()。

A.文件B.数据库C.字段D.记录

17.有以下函数定义:voidfun(intn,doubx){……}若以下选项中的变量都已正确定义并赋值,则对函数fun的正确调用语句是()。

A.fun(inty,doublem);

B.k=fun(10,12.5);

C.fun(x,n);

D.voidfum(n,x);

18.若用一个大小为6的数值来实现循环队列,且当前rear和front的值分别为0和3,当从队列中删除一个元素,再加入两个元素后,rear和front的值分别为()。

A.1和5B.2和4C.4和2D.5和1

19.要求当A的值为奇数时,表达式的值为“真”,A的值为偶数时,表达式的值为“假”,以下不满足要求的表达式是()。A.A%2==1B.!(A%2==0)C.A%2D.!(A%2)

20.数组A[5][6]的每个元素占五个字节,将其按列优先次序存储在起始地址为1000的内存单元中,下标从1开始,则元素A[5][5]的地址是()。

A.1175B.1180C.1205D.1120

二、2.填空题(20题)21.在程序设计阶段应该采取【】和逐步求精的方法,把一个模块的功能逐步分解,细化为一系列具体的步骤,进而用某种程序设计语言写成程序。

22.在C语言中,while和do…while循环的主要区别是______的循环至少被执行一次。

23.设在主函数中有以下定义和函数调用语句,且fun函数为void类型;请写出fun函数的首部【】。要求形参名为b。

main()

{double[10][22];

intn;

......

fun(s);

}

24.下面程序的功能是:输出100以内能被4整除且个位数为8的所有整数,请填空。main(){inti,j;for(i=0=();i++){j=i*10+8;if(j%4!=0)continue;printf("%d",j);}}

25.解题方案的准确而完整的描述称为______。

26.以下程序的输出结果是______。

main()

{inta=177;

printf("%o\n",a);

27.若有定义:inta=4,b=5,c=6;然后顺序执行下列语句后,变量b中的值是()。c=(a-=(b-5));c=(a%3)+(b=1);

28.函数viodfun(float*sn,intn)的功能是:根据以下公式计算S,计算结果通过形参指针sn传回;n通过形参传入,n的值大于等于0。请填空。

s=1-1/3+1/5-1/7+…1/(2n+1)

voidfun(float*sn,intn)

{floats=0.0,w,f=-1.0;

inti=0;

for(i=0;i<=n;i++)

{f=【】*f;

w=f/(2i+1);

s++=w;

}

【】=s;

}

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

#include<string.h>

char*ss(char*s)

{char*p;t;

p=s+1;t=*s;

while(*p){*(p-1)=*p;p++;}

*(p-1)=t;

returns;

}

main()

{char*p,str[10]="abcdergh";

p=ss(str);

printf("%s\n",p);

}

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

main()

{inti,a[10];

a[0]=a[1]=1;

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

a[i]=a[i-2]+a[i-1];

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

{if(i%2==0)printf("\n");

printf("%d",a[i]);

}

}

31.阅读程序:

#include<string.h>

#include<strdio.h>

strle(chara[],charb[])

{intnum=0,n=0;

while(*(a+num)!='0')num++;

while(b[n])

{*(a+num)=b[n];num++;n++;}

return(num);

}

main()

{charstrl[81],str2[81],*p1=strl,*p2=str2;

gets(p1);gets(p2);

prinf("%d\n",strle(p1,p2));

}

运行上面的程序,如果从键盘上输入字符串qwerty和字符串abcd,则程序的输出结果是【】。

32.数据库系统的主要特点为数据集成性、数据的高______和低冗余性、数据独立性和数据统一管理和控制。

33.下列程序执行输出的结果是______。

#include<stdio.h>

f(intA)

{intb=0;

staticc=7;

a=c++;b++;

return(A);

}

main()

{inta=2,i,k;

for(i=0;i<2;i++)

k=f(a++);

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

}

34.软件危机出现于60年代末,为了解决软件危机,人们提出了【】的原理来设计软件,这就是软件工程诞生的基础。

35.设有定义:intn,*k=&n;以下语句将利用指针变量k读写变量n中的内容,请将语句补充家整。

seanf("%d",【】);

printf("%d\n",【】);

36.软件工程的出现是由于【】。

37.在长度为n的有序线性表中进行二分查找。最坏的情况下,需要的比较次数为【】。

38.数据模型按不同应用层次分成三种类型,它们是概念数据模型、【】和物理数据模型。

39.下列程序的输出结果是______。

main()

{imti,sum;

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

sum+=i;

printf("%d",sum);

}

40.______是数据库应用的核心。

三、1.选择题(20题)41.以下叙述正确的是A.C语言比其他语言高级

B.C语言可以不用编译就能被计算机识别执行

C.C语言以接近英语国家的自然语言和数学语言作为语言的表达形式

D.C语言出现的最晚、具有其他语言的一切优点

42.有以下程序:main(){inta=1,b=2,m=0,n=0,k;k=(n=b>A)||(m=a<B);printf("%d,%d\n",k,m);}程序运行后的输出结果是

A.0,0B.0,1C.1,0D.1,1

43.X、Y、2被定义为int型变量,若从键盘给X、Y、Z输入数据,正确的输入语句是______。

A.INPUTX,Y,Z;

B.scanf("%d%d%d",&X,&Y,&Z);

C.scanf("%d%d%d",X,Y,Z);

D.read("%d%d%d",&X,&Y,&Z);

44.设函数fun的定义形式为voidfun(charch,floatx){…}则以下对函九fun的调节器用语句中,正确是

A.fun("abc",3.0);

B.t=fun('D',16.5);

C.fun('65',2.8):

D.fun(32,32);

45.若运行以下程序时,从键盘输入ADescriptor<CR>(<CR>表示回车),则下面程序的运行结果是

#include<stdio.h>

main()

{charc;

intv0=1,v1=0,v2=0;

do{switch(c=getchar())

{case′a′:case′A′:

case′e′:case′E′:

case′i′:case′I′:

case′o′:case′O′:

case′u′:case′U′:v1+=1;

default:v0+=1;v2+=1;}}while(c!='\n');

printf("v0=%d,v1=%d,v2=%d\n",v0,v1,v2);}

A.v0=7,v1=4,v2=7

B.v0=8,v1=4,v2=8

C.v0=11,v1=4,v2=11

D.v0=13,v1=4,v2=12

46.在数据库管理系统提供的数据语言中,负责数据的查询及增、删、改等操作的是

A.数据定义语言B.数据转换语言C.数据操纵语言D.数据控制语言

47.以下说法中,不正确的是

A.C程序中必须有一个main()函数,从main()函数的第一条语句开始执行

B.非主函数都是在执行主函数时,通过函数调用或嵌套调用而执行

C.C程序中的main()函数必须放在程序的开始位置

D.C程序中的main()函数位置可以任意指定

48.已有定义:charc;,程序前面已在命令行中包含ctype.h文件。不能用于判断c中的字符是否为大写字母的表达式是()。

A.isupper(c)

B.'A'<=c<='Z'

C.'A'<=c&&c<='Z'

D.c<=('z'-32)&&('a'-32)<=c

49.以下程序的运行结果为______。char*c[]={"ENTER","NEW","POINT","FIRST"};char**cp[]={c+3,c+2,c+1,c};char***cpp=cp;main(){printf("%s\n",**++cpp);}

A.ENTERB.NEWC.POINTD.FIRST

50.软件调试的目的是A.发现错误B.改正错误C.改善软件的性能D.验证软件的正确性

51.以下不能正确计算代数式的值的C语言表达式是()。

A.1/3*sin(1/2)*sin(1/2)

B.SlH(0.5)*sin(0.5)/3

C.pow(sin(0.5),2)/3

D.1/3.0*pow(sin(1.0/2),2)

52.有以下程序:#include<string.h>main(){charstr[][20]={"Hello","Beijing"},*p=str;printf("%d\n",strlen(p+20));}程序运行后的输出结果是______。

A.0B.5C.7D.20

53.软件工程的结构化生命周期方法,通常是将软件生命周期划分为计划、开发和运行3个时期,下列选项中的______工作应属于软件开发期的内容。

①需求分析

②可行性研究

③总体设计

④问题定义

A.①和②B.①和③C.①、②和④D.全部

54.有以下程序:#include<stdio.h>#defineF(X,Y)(X)*(Y)main(){inta=3,b=4;printf("%d\n",F(a++,b++));}程序运行后的输出结果是()。

A.12B.15C.16D.20

55.判断char型变量c1是否为大写字母的正确表达式是

A.'A'<=c1<='Z'

B.(c1>=A)&&(c1<=Z)

C.('A'>=c1)||('Z'<=c1)

D.(c1>='A')&&(c1<='Z')

56.若有语句:char*line[5];,以下叙述中正确的是

A.定义line是一个数组,每个数组元素是一个基类型为char为指针变量

B.定义line是一个指针变量,该变量可以指向一个长度为5的字符型数组

C.定义line是一个指针数组,语句中的。号称为间址运算符

D.定义line是一个指向字符型函数的指针

57.下面程序的运行结果是

#include<stdio.h>

main()

{inta=28,b;

chars[10],*p;

p=s;

do{b=a%16;

if(b<10)*p=b+48;

else*p=b+55;

p++;a=a/5;}while(a>0);

*p=′\0′;puts(s);}

A.10B.C2C.C51D.\0

58.对关系S和R进行集合运算,结果中既包含S中的所有元组也包含R中的所有元组,这样的集合运算称为()

A.并运算B.交运算C.差运算D.积运算

59.有以下程序:voidf(inta[],inti,intj){intt;if(i<j){t=a[i];a[i]=a[j];a[j]=t;f(a,i+1,j-1);}}main(){inti,aa[5]={1,2,3,4,5};f(aa,0,4);for(i=0;i<5;i++)printf("%d,",aa[i]);printf("\n");}执行后输出结果是()。

A.5,4,3,2,1,B.5,2,3,4,1,C.1,2,3,4,5,D.1,5,4,3,2,

60.下列程序的输出结果是______。main(){char*s="1221";intk=0,a=0,b=0;do{if(k%2==0){a=a+s[k]-'0';continue;}b=b+s[k]-'0';}while(s[++k]);printf("k=%da=%db=%d\n",k,a,b);}

A.k=3a=4b=3B.k=3a=3b=3C.k=4a=3b=3D.k=4a=2b=3

四、选择题(20题)61.下列关于C语言文件的叙述中正确的是()。A.文件睦数据序列组成,可以构成二进制文件或文本文件

B.文件由结构序列组成,可以构成二进制文件或文本文件

C.文件由一系列数据依次排列组成,只能构成二进制文件

D.文件由字符序列组成,其类型只能是文本文件

62.(61)数据结构中,与所使用的计算机无关的是数据的()

A.存储结构

B.物理结构

C.逻辑结构

D.物理和存储结构

63.以下程序段中,与语句:k=a>;b?(b>;c?1:O):0;功能相同的是()。

64.以下不正确的叙述是

A.在C程序中,逗号运算符的优先级最低

B.在C程序中,APH和aph是两个不同的变量

C.若a和b类型相同,在计算了赋值表达式a=b后,b中的值将放入a中,而b中的值不变

D.从键盘输入数据时,对于整型变量,只能输入整型数值;对于实型变量,只能输入实型数值

65.已知intx=(1,2,3,4);变量x的值是()。

A.1B.2C.3D.4

66.下列叙述中正确的是()。

A.数据库系统是一个独立的系统,不需要操作系统的支持

B.数据库技术的根本目标是要解决数据的共享问题

C.数据库管理系统就是数据库系统

D.以上三种说法都不对

67.以下能正确定义赋初值的语句是()。

A.intnl=n2=10:

B.Chare=32;

C.floatf=f+1.1;

D.doublex=12.3E2.5;

68.

69.

70.若变量c为char类型,能正确判断出c为小写字母的表达式是_______。A.′a′<=c<=′z′

B.(c>=′a′)||(c<=′z′)

C.(′a′=C)

D.(c>=′a′)&&(c<=′z′)

71.执行语句X=(a=10,b=a--.后,x、a、b的值依次为()。

A.10,10,9

B.10,9,9

C.9,10,9

D.10,9,10

72.有以下程序:

从第一列开始输入以下数据(<CR>代表一个回车符.:

2743<CR>

程序的输出结果是()。

A.66877B.668966C.6677877D.6688766

73.定义无符号整数类为UInt,下面可以作为类UInt实例化值的是()。

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

74.以下程序的输出结果是()。

main

{intx=0.5;charz='a';

printf("%d\n",(x&1)&&(z<'2'));}A.A.0B.1C.2D.3

75.

有以下程序:

#include<stdio.h>

main

{inti=0,a=0;

while(i<20)

{for(;;)

{if((i%10)==0)break:

else

i--;

}

i+=11:

a+=i:

}

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

}

程序的输出结果是()。

A.62B.63C.33D.32

76.

77.

78.有以下程序:

#include<stdio.h>

intf(intm)

{staticintn=0;

n+=m;

returnn;

}

main()

{intn=0;

printf("%d,"f(++n));

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

}

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

A.1,2

B.1,1

C.2,3

D.3,3

79.

80.

五、程序改错题(1题)81.下列给定程序中,函数fun的功能是:求两个非零正整数的最大公约数,并作为函数值返回。例如,若nmnl和num2分别为49和21,则输出的最大公约数为7;若num1和num2分别为27和81,则输也的最大公约数为27。请改正程序中的错误,使它能得出正确结果。注意:不要改动main函数,不得增行或硼行,也不得更改程序的结构!试题程序:

六、程序设计题(1题)82.请编写函数proc(),它的功能是计算:s=(1n(1)4-1n(2)+In(3)4-…+1n(m))0.5在C语言中可调用log(n)函数求1n(n)。例如,若n1的值为30,则proc()函数值为8.640500。注意:部分源程序给出如下。请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填入所编写的若干语句。试题程序:

参考答案

1.C

2.B解析:因为a<b成立,所以条件表达式a<b?b:a的值等于b的值等于2,因此变量k的值等于2。又因为k=2>c=3不成立,所以条件表达式k>c?c:k的值等于k的值等于2。把条件表达式k>c?c:k的值赋给变量k,因而变量k的值等于2。因此,选项B)为正确答案。

3.C

4.C解析:C语言中在做逻辑或运算时,自左向右判断各个参加或运算的表达式,一旦运算到某式的值为非零时,表明整个表达式一定为真,余下的语句则不再进行运算。本题中,++x的值为真,则++y并没有进行运算,所以y值不变。

5.D

6.D

7.A\n数据的共享自身又可极大地减少数据冗余性,不仅减少了不必要的存储空间,更为重要的是可以避免数据的不一致性。所谓数据的一致性是指在系统中同一数据在不同位置出现时应保持相同的值。

\n

8.B数据库管理系统是数据库的机构,它是一种系统软件,负责数据库中的数据组织、数据操纵、数据维护、控制及保护和数据服务等,是一种在操作系统支持下的系统软件,因此本题答案为B)。

9.A解析:耦合性是模块间互相连接的紧密程度的度量,取决于各个模块之间接口的复杂度、调用方式以及哪些信息通过接口。

[知识拓展]模块的独立程序是评价设计好坏的一个重要标准,衡量软件的模块独立性有两个定性的度量标准。其中内聚性是指一个模块内部各个元素间彼此结合的紧密程度的度最,内聚性是从功能角度来度量模块内的联系;耦合性是模块间互相连接的紧密程度的度量,耦合性从整体的角度来度量模块间的联系。

10.B

11.C解析:预处理命令行是以“#”开始的语句,预处理命令行的最后不能以分号表示结束,预处理命令行。其中宏定义的字符替换的定义格式为:#define标识符字符串,预处理命令行是在系统对源程序进行编译之前进行处理的,不是在程序执行的过程中。

12.C宏定义不是C语句,末尾不需要有分号。语句“printf(“%4.1f\\n”,S(a+b));”展开后为“printf(“%4.1f\\n”,3.5;*a+b*a+b;);”,所以程序会出现语法错误。故本题答案为C选项。

13.C根据二叉树的性质,在任意二叉树中,度为0的结点(即叶子结点)总是比度为2的结点多一个。

14.D解析:本题考查了软件工程的基本概念。软件工程包括3个要素,即方法、工具和过程。方法是完成软件工程项目的技术手段;工具支持软件的开发、管理和文档生成;过程支持软件开发的各个环节的控制和管理。

15.C本题考查逻辑与(&&)和逻辑或(||)运算符的使用。x值在[1,10]之间,C语言中可以写成x值在[100,11O]之间,C语言表达式应写成“(x>=100)&&(x>=110)”;[1,1O]和[100,110]满足任意条件就可以,所以是逻辑或的关系,因此只要将前两个表达式用逻辑或运算符连接起来即可,所以最后的表达式:(x>=1)&&(x<=10)&&(x<=110)。

16.D解析:在关系数据表中,行称为元组,对应存储文件中的记录,列称为属性,对应存储文件中的字段,所以本题答案为D。

17.C解析:选项A中应将y和m前面的函数的类型说明符去掉,故选项A不正确;选项B中函数传了2个参数,其中一个为整型—个为浮点型,而fun()函数在定义时声明的2个参数,一个为整型一个为双精度型,其参数类型不一致,故选项B不正确;选项D在调用函数时,不应该再声明其返回类型,故选项D不正确。所以,4个选项中选项C符合题意.

18.B

19.D

20.D

21.自顶而下自顶而下

22.do…whiledo…while解析:考查while和do…while循环的主要区别。while循环的控制出现在循环体之前,只有当while后面的表达式的值为非零时,才可能执行循环体;在do…while构成的循环体中,总是先执行一次循环体,然后再求表达式的值,因此无论表达式的值是否为零,循环体至少要被执行一次。

23.voidfun(doubleb[10][22])voidfun(doubleb[10][22])解析:本题答案:voidfun(doubleb[10][22])。

24.i<10i<10解析:分析程序:当(i=0,1,2,…)时,“j=i*10+8”语句的运行结果是(8,18,28,…)个位数字为8的所有整数;题中要求是100以内的整数,所以i<10;“if(j%4!=0)continue;”语句的功能是当条件不能被4整除时,继续循环不执行操作,直到能被4整除时输出该数,所以输出的数满足条件100以内能被4整除且个位数为8。

25.算法算法解析:算法是指对解题方案的准确而完整的描述。

26.261261解析:在控制格式符中“O”代表的是将数据按八进制输出,十进制数的177代表的八进制数是261,所以该空格处应该填写261。

27.11解析:本题考查的是基本赋值运算符和赋值表达式。a-=(b-5)等价于a=a-(b-5)=4,c=a=4;a%3=1,c=(a%3)+(b=1)=2,其中b的值被b=1确定为1。

28.-1或-1.0或-1*sn-1或-1.0或-1\r\n*sn

29.bcdefghabcdefgha解析:在本题定义的ss()函数中首先定义了一个指针p和一个字符变量t,然后让p指向参数指针s的下一个位置s+1,并让t保存s位置的字符。然后使用一个while循环将p指向的内容赋给它前面一个位置,即将参数s所指的字符串从第2个字符开始整体往前移动一位。循环结束时,p指向原s串的结束标志处,所以让*(p-1)=t;即是将原s串的第1个字符复制到s串的最后一个位置。整个函数实现的是让一个字符串循环左移一位。故主函数中最后输出的字符串是'bcdefgha'。

30.11<CR>23<CR>5(<CR代表换行)11<CR>23<CR>5(<CR,代表换行)解析:本题通过语句“for(i=2;i<5;i++)a[i]=a[i-2]+a[i-];”将数组中前面两项的和赋值给数组当前元素,得到a的值应为(1,1,2,3,5)。语句if(i%2==0)pfintf('\\n')是要将数组中的元素以每行2个的形式输出。

31.10

32.共享性共享性解析:数据库系统中的数据能被不同的应用程序使用,实现了数据的高度共享,从而降低了数据的冗余,这也是数据库的主要目的。

33.88解析:第1次for循环,i=0,调用函数f(2),然后将a的值加1,在f()函数中,变量c为static类型,所以c=8:第2次for循环,i=1,调用函数f(3),然后将a的值加1,调用函数f(3)时,a=c++=8,所以k=8。

34.软件工程学软件工程学

35.k[7]*kk[7]*k解析:scanf()函数有两个参数,第—个参数是格式控制部分(格式控制部分是字符串,主要由“%”号和格式字符组成)第二个参数是一地址列表(地址列表是由多个地址组成,可以是变量的地址,也可以是字符串的首地址)。而第一个空格处位于scanf()函数的第二个参数处,所以,第一个空应该填地址k。printf()函数有两个参数,第一个参数是输出格式字符串(输出格式字符串是由控制输出格式的字符和非格式字符组成的,通常是字符常量。非格式字符作为输出数据的间隔,输出时原样输出)第二个参数为一输出表达式表(输出表达式表是由若干个需要计算和输出的表达式组成的,表达式之间用逗号分隔开)。而第二个空位于printf()函数的第二个参数处,所以应该填*K。

36.软件危机的出现软件危机的出现

37.log2n

38.逻辑数据模型逻辑数据模型解析:数据模型按不同的应用层次分成三种类型,它们是概念数据模型、逻辑数据模型、物理数据模型。

39.无定值无定值解析:for(i=1;i<7;i++)决定了循环次数为6次,每次执行的操作是Sum+=i,但由于sum没有初始化,并不知道sum的初值是多少,所以结果无定值.

40.数据库设计数据库设计

41.C解析:目前,在社会上使用的程序设计语言有上百种,它们都被称为计算机“高级语言”,如BASIC,C语言等。但是对于计算机本身来说,它并不能直接识别由高级语言编写的程序,只能接受并处理由0,1代码组成的数据,即所谓的机器语言代码。目前,一些程序设计语言(如Visual\u3000Basic\u3000Visual\u3000C++和Visual\u3000FoxPro等)所具有的面向对象技术,C语言则没有。

42.C解析:本题考查“逻辑或”运算的特例。本题中执行语句k=(n=b>a)||(m=a<b)时,首先计算表达式(n=b>a)||(m=a<b)的值,因b=2,a=1,所以b>a成立,即得n=1,故表达式(n=b>a)||(m=a<b)的值为真,不再执行表达式m=a<b,故执行完表达式k=(n=b2>a)||(m=a<b)后,n=1、m=0、k=1。

43.B解析:C语言中没有输入输出语句,它是通过C语言提供的函数来实现的,本题C中,应为变量地址。

44.D解析:本题考查了函数的定义。题目中定义的函数fun()有两个参数,一个是字符型变量ch,另一个是浮点型变量x,函数类型是void即无返回值。选项A调用fun的第1个参数是字符串常量与字符变量不匹配,所以不正确。选项B是有返回值函数的调用形式,不正确。选项C的第1个参数是错误的字符常量,字符常量是用单引号括起来的一个字符(是转义字符可能有多个字符),故也不正确。选项D使用两个整型常量调用fun这在C语言中是允许的。因为整型到字符型可以自动转换,整型到浮点型也可以自动转换。故应该选择D。

45.D解析:本题考查switch语句的掌握。必须撑握以下内容:首先应该明白switch语句的语法格式:

switch语句的语法格式为:

switch(表达式)

{

case常量表达式1:语句组1;

case常量表达式2:语句组2;

case常量表达式n:语句组n;

default:语句组n+1;

}

另外,以下几点关于switch语句的重点:

①系统在执行时计算开关表达式的值;②根据所得的值在各个case标号表达式中寻找匹配,直到发现与表达式匹配的标号(本例中匹配的是case\'B\':);\ue008③找\ue009到匹配后执行后面相应的语句表,顺序往下执行;④如果无相匹配的标号,若存在default标号,则执行该语句标号后面的语句表n+1;当不存在default标号时,不执行switch中的任何一个语句表。

一般而言,在多分支结构中总会出现'意外'的情况,这时均可归入default程序段,作统一的处理。default标号是可选性的,不必每次都有,视需要而定。switch语句中还可以包含switch语句,形成switch的嵌套。

46.C【解析】在数据库管理系统提供的数据语言中,数据操纵语言负责数据的查询及增、删、改等操作。故答案为C。

47.C解析:main()函数的作用,以及main()函数在程序中出现的位置。一个完整的C语言程序有且仅有一个主函数(main()函数)。程序总从main()函数的第一条语句开始执行,到main()函数的最后—条语句结束,其他函数都是在执行main()函数时,通过函数调用或嵌套调用而得以执行的。C语言规定,main()函数在程序中的位置是任意的。

48.B解析:大写字母从'A'~'Z'的ASCII码是连续的,所以如果当—个字符大于等于'A'且小于等于'z'时,那这个字符就一定是一个大写字母,故选项C正确。C语言中的库函数isupper()的作用也正是判断一个字符是否为大写字母的,故选项A正确。在ASCII码中,小写字母的编码也是连续的,对应的小写字符比大写字符的ASCII码值大32,所以选项D经过小写字符-32后,换算成了对应的大写字母'Z'和'A',所得到结果和选项C是一致的,故也是正确的。选项B中,C语言的逻辑表达式不能直接连写,而应该写成选项C那样,故是错误的,应该选择B。

49.C

50.B本题考查软件工程调试。调试与测试是两个不同的过程,有着根本的区别:调试是一个随机的、不可重复的过程,它用于隔离和确认问题发生的原因,然后修改软件来纠正问题;测试是一个有计划的,可以重复的过程,它的目的是为了发现软件中的问题。因此,软件调试的目的是为了改正软什中的错误。本题的正确答案是选项\u3000B。

51.A解析:在有“/”运算符的表达式中,要避免两个操作数都是整数的情况。本题选项A)中的'1/3'和'1/2'的值都为0,使选项A)的表达式值为0,但事实上代数式的值并不为0,所以选项A)错误。

52.C解析:二维数组的初始化及库函数strlen()的应用,主函数中定义了一个二维字符数组并初始化,初始化后的结果为str[0]=“Hello”、str[1]=“Beijing”,然后定义一个字符指针变量p并让它指向数组的首地址,即指向str[0],而在C语言中无论是一维还是多维数组,其元素在内存中都是顺序存放的,故p+20后指针指向str[1],所以strlen(p+20);返回的是str[1]中的字符串的长度,即Beijing的长度为7,所以最后输出的值为7。

53.B

54.A解析:本题考查带参数的宏定义,参数只是简单的替换而不是求出其值后再替换形式参数。本题中用a++替换X,用b++替换Y,再求(a++)*(b++)的值,即3*4的值,其结果为12。

55.D解析:字符型数据在计算机内部是以ASCII码存储的,英文大写字母和小写字母在ASCII码表中都是连续的。大写字母A到Z是从65到90,所以只要变量c1大于A并且小于Z就能保证其为大写字母。注意:逻辑运算符的功能与作用。

56.A解析:C语言中[]比:优先级高,因此line先与[5]结合,形成line[5]形式,这是数组形式,它有5个元素,然后再与line前面的“*”结合,表示此数组是一个指针数组,每个数组元素都是一个基类型为char的指针变量。

57.C解析:考查用字符指针处理字符串的方法。语句'p=s;'是使指针p指向字符数组s。*p则引用了p所指位置的数组元素。通过指针来引用一维数组元素。

58.AA)【解析】关系的并运算是指由结构相同的两个关系合并,形成一个新的关系,新关系中包含两个关系中的所有元组。

59.A解析:在C语言中所谓函数的递归是指在调用一个函数的过程中,又出现了直接或间接调用该函数本身,直接调用该函数本身的称为函数递归,而间接调用该函数称为函数的间接递归调用。由程序可以看出函数f(a,i,j)为一递归函数,其功能是当i<j时,将数组中的元素a[i]和a[j]交换,然后再调用函数f(a,i+1,j-1),将数组中a[i+1]和a[j--]交换,这样一直递归到数组下标i=j,可见该递归函数的作用是使数组中首尾元素依次互换。主函数中定义了一个长度为5的数组aa并初始化,然后调用f(a,0,4),将数组a中的元素依次互换,故最后for循环输出的数组aa中各元素的值为5、4、3、2、1,所以,4个选项中选

温馨提示

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

评论

0/150

提交评论