2021-2022年黑龙江省伊春市全国计算机等级考试C语言程序设计真题二卷(含答案)_第1页
2021-2022年黑龙江省伊春市全国计算机等级考试C语言程序设计真题二卷(含答案)_第2页
2021-2022年黑龙江省伊春市全国计算机等级考试C语言程序设计真题二卷(含答案)_第3页
2021-2022年黑龙江省伊春市全国计算机等级考试C语言程序设计真题二卷(含答案)_第4页
2021-2022年黑龙江省伊春市全国计算机等级考试C语言程序设计真题二卷(含答案)_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

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

文档简介

2021-2022年黑龙江省伊春市全国计算机等级考试C语言程序设计真题二卷(含答案)学校:________班级:________姓名:________考号:________

一、单选题(20题)1.定义根节点深度为1,有n个元素的完全二叉树的深度是()

A.D(n)=log2(n)

B.D(n)=1+log2(n)

C.D(n)=n+log2(n)

D.D(n)=1+n*log2(n)

2.在C语言中,函数隐含的类型是()

A.autoB.staticC.intD.void

3.有以下函数:fun(char*p){returnp;}该函数的返回值是()。

A.无确切值B.形参p中存放的地址值C.一个临时存储单元的地址D.形参p自身的地址值

4.以下程序的输出结果是()。A.1010B.99C.910D.109

5.下面哪种排序算法是稳定的()

A.快速排序B.堆排序C.归并排序D.选择排序

6.

7.以下叙述中错误的是()。

A.函数的返回值类型不能是结构体类型,只能是简单类型

B.函数可以返回指向结构体变量的指针

C.可以通过指向结构体变量的指针访问所指结构体变量的任何成员

D.只要类型相同,结构体变量之间可以整体赋值

8.设数据结构A=(D,R),其中D={1,2,3,4},R={r},r={<1,2>,<2,3>,<3,4>,<4,1>},则数据结构A是()。

A.线性结构B.树形结构C.图状结构D.集合

9.若有以下定义,则能使值为3的表达式是intk=7,x=12;

A.x%=(k%=5)B.x%=(k-k%5)C.x%=k-k%5D.(x%=k)-(k%=5)

10.

11.设a,b,c,d,m和n均为int型变量,且a=5,b=6,c=7,d=m=2,n=2,则逻辑表达式(m=a>b)&&(n=c>d)运算后,n的值为()

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

12.以下叙述中正确的是()。

A.算法的时间复杂度是指算法在执行过程中基本运算的次数

B.算法的时间复杂度是指算法执行所需要的时间

C.算法的时间复杂度是指算法执行的速度

D.算法的复杂度是指算法控制结构的复杂程度

13.有以下程序:程序运行后的输出结果是()。A.20B.13C.10D.31

14.二叉树中第5层上的结点个数最多为________

A.8B.15C.16D.32

15.若已定义inta[]={0,1,2,3,4,5,6,7,8,9},*p=a,i;其中0≤i≤9,则对a数组元素不正确的引用是

A.a[p-A)B.*(&a[i])C.p[i]D.a[10]

16.若有定义:int*p[3];,则以下叙述中正确的是()。

A.定义了一个基类型为int的指针变量p,该变量具有三个指针

B.定义了一个指针数组p,该数组含有三个元素,每个元素都是基类型为int的指针

C.定义了一个名为*p的整型数组,该数组含有三个int类型元素

D.定义了一个可指向一维数组的指针变量p,所指一维数组应具有三个int类型元素

17.算法分析的两个主要方面是()。

A.空间复杂性和时间复杂性B.正确性和简明性C.可读性和文档性D.数据复杂性和程序复杂性

18.在c语言中,变量的隐含存储类别是()。

A.autoB.staticC.externD.无存储类别

19.有下列程序:main{inty=10;do{y--;}while(--y);printf("%d\n",--y);)当执行程序时,输出的结果是()。A.-1B.1C.4D.0

20.以下程序的输出结果是()main(){union{chari[2];intk;}r;r.i[0]=2,r.i[1]=0;printf("%d\n",r,k);}

A.2B.1C.0D.不确定

二、2.填空题(20题)21.数据结构包括数据的逻辑结构、数据的【】以及对数据的操作运算。

22.下列程序的输出结果是【】。

voidfun(int*n)

{while((*n)--);

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

}

main()

{inta=1000;

fun(&a);

}

23.关系表达式x<y<z,用C语言的表达式为【】。

24.数据库系统中实现各种数据管理功能的核心软件称为【】。

25.在关系数据库中,用来表示实体之间联系的是【】。

26.下面程序的输出是【】。

main()

{enumem{em1=3,em2=1,em3};

char*aa[]={"AA"m,"BB","CC:,"DD"};

printf("%s%s%s\n,aa[em1],aa[em2],aa[em3]);

}

27.栈的3种基本运算是:入栈、退栈和______。

28.用以下程序把从键盘输入的字符存放到一个文件中,用字符#作为结束符,请按题意要求填空完善程序。

#include<stdio.h>

main()

{FILE*fp;

charch,fname[10];

printf("Inputthenameoffile\n");

gets(fname);

if(fp=fopen(【】))==NULL)

{printf("can'topen\n");

【】;

}

while((ch=getchar())!='#')

fputc(【】);

fclose(fp);

}

29.关系代数是关系操作语言的一种传统表示方式,它以集合代数为基础,它的运算对象和运算结果均为()。

30.执行下面程序段后,k的值是【】。

r=1;n=203;k=1

do{k*=n%10*r;n/=10;r++;}while(n);

31.C语言程序的注释可以出现在程序中的任何地方,一个注释以【】分别作为开始和结束。

32.已定义charch=′$′;inti=1,j;,执行j!=ch&&i++以后,i的值为【】。

33.以下程序用于判断a,b,c能否构成三角形,若能,输出YES,否则输出NO。当给a,b,c输入三角形三条边长时,确定a,b,c能构成三角形的条件是需同时满足三个条件:a+b>c,a+c>b,b+c>a。请填空。

#include<stdio.h>

main()

{floata,b,c;

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

if(【】)printf("YES\n");/*a.b.c能构成三角形*/

elseprinff("NO\n");/*a.b.c不能构成三解形*/

}

34.\13'在内存中占1个字节,"\12"在内存中占______个字节。

35.若有以下程序

main()

{inta=4,b=3,c=5,t=0;

if(a<b)t=a;a=b;b=t;

if(a<c)t=a;a=c;c=t;

printf("%d%d%dln",a,b,c);

}

执行后输出结果为______。

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

main()

{inta=0;

a+=(a=8);

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

}

37.下面程序的输出结果是()。#include<stdio.h>main(){staticchara[]="china";char*ptr=a;while(*ptr){printf("%c",*ptr-32);ptr++;}}

38.下列语句的输出结果是【】。

chara=3;printf("%d,%o,%x,%u\n",a,a,a,a);

39.若有定义inta=10,b=9,c=8;,接着顺序执行下列语句,变量b中的值是【】。

c=(a-=(b-5));

c=(a%11)+(b=3);

40.数据库设计分为以下6个设计阶段:需求分析阶段、______、逻辑设计阶段、物理设计阶段、实施阶段、运行和维护阶段。

三、1.选择题(20题)41.C语言运算对象必须是整型的运算符是______。

A.%=B./C.=D.<=

42.数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。下列图符名标识的图符不属于数据流图合法图符的是()

A.控制流B.加工C.数据存储D.源和潭

43.下列关于栈的叙述正确的是()。

A.栈按“先进先出”组织数据,B.栈按“先进后出”组织数据C.只能在栈底插入数据D.不能删除数据

44.若下列选项中的各变量均为整型且已有值,其中不正确的赋值语句是()。

A.++i;B.n1=(n2/(n3=2));C.k=i=j;D.a=b+c=2;

45.下列叙述中正确的是A.线性表是线性结构B.栈与队列是非线性结构C.线性链表是非线性结构D.二叉树是线性结构

46.下列叙述中正确的是()。A.一个逻辑数据结构只能有一种存储结构

B.逻辑结构属于线性结构,存储结构属于非线性结构

C.一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理的效率

D.一个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理的效率

47.设intx=7,则~x的值是()。

A.-8B.-7C.-1D.1

48.树是结点的集合,它的根结点的数目是()。

A.有且只有1个B.1或多于1C.0或1D.至少有2个

49.若有以下定义和语句:inta[]={1,2,3,4,5,6,7,8,9,10},*p=a;则值为3的表达式是______。

A.p+=2,*(p++)B.P+=2,*++pC.P+=3,*p++D.P+=2,++*p

50.下列关于算法的时间复杂度陈述正确的是

A.算法的时间复杂度是指执行算法程序所需要的时间

B.算法的时间复杂度是指算法程序的长度

C.算法的时间复杂度是指算法执行过程中所需要的基本运算次数

D.算法的时间复杂度是指算法程序中的指令条数

51.运行下列程序时,若输入的数据为“1,2,3”,则输出结果是()。main(){floata,b,c,t;scanf("%f,%f,%f",&a,&b,&c);if(a<b){t=a;a=b;b=t;}if(a<c){t=a;a=c;c=t;}if(b<c){t=-b;b=c;c=t;}printf("%f\n%f\n%f/n",a,b,c);}

A.1.002.003.00

B.1.003.002.00

C.132

D.3.0000002.0000001.000000

52.微型机系统中,对输入设备赶进行管理的基本程序模块(BIOS)存放在()

A.RAM中B.ROM中C.硬盘中D.寄存器中

53.若要求定义具有10个血型元素的一维数组a,则以下定义语句中错误的是()。

A.#definmeN10inta[N];

B.#definen5inta[2*n];

C.inta[5+5];

D.intn=10,a[n];

54.现有如下程序段

#include"stdio.h"

#include"string.h"

main()

{chara[]="acfijk";/*这里是有序的字符序列*/

charb[]="befijklqswz";/*这里是有序的字符序列*/

charc[80],*p;

inti=0,j=0,k=0;

while(a[i]!=′\0′&&b[j]!=′\0′)

{if(a[i]<b[j])c[k++]=a[i++];

elseif(a[i]>b[j])c[k++]=b[j++];

else{c[k++]=b[j++];

i++;}}

while(a[i]==′\0′&&b[j]!=′\0′)

c[k++]=b[j++];

while(a[i]!=′\0′&&b[j]==′\0′)

c[k++]=a[i++];

c[k]=′\0′;

puts(c);}

则输出结果是

A.acfijkbefijklqswz

B.abceffiijjkklqswz

C.befijklqswzacfijk

D.abcefijklqswz

55.若进栈序列为1,2,3,4,进栈过程中可以出栈,则下列不可能的一个出栈序列是______。

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

56.下列关于线性链表的描述中,正确的是()。Ⅰ、只含有一个指针域来存放下一个元素地址Ⅱ、指针域中的指针用于指向该结点的前一个或后一个结点(即前件或后件)Ⅲ、结点由两部分组成:数据域和指针域。

A.仅Ⅰ、ⅡB.仅Ⅰ、ⅢC.仅Ⅱ、ⅢD.全部

57.下列程序的输出结果是______。main(){inti=3;switch(i){case1:case2:printf("%d",i);case3:case4:break;default:printh("OK";}}

A.0B.3C.OKD.没有任何输出

58.已知在ASCII字符集中,数字0的序号为48,下列程序的输出结果为______。main()}chara='0',b='9';printf("%d,%c\n",a,b);}

A.因输出格式不合法B.48,57C.0,9D.48,9

59.结构化程序设计主要强调的是()。

A.程序的规模B.程序的效率C.程序设计语言的先进性D.程序的易读性

60.下列数据结构中,能用二分法进行查找的是()

A.无序线性表B.线性链表C.二叉链表D.顺序存储的有序表

四、选择题(20题)61.

62.

63.

64.

65.有以下程序:

voidmain()

{intk=0,n=0;

while(k<5)

{switch(k)

{default:break;

case1:n+=k;

case2:

case3:n+=k;

}

k++;

}

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

}

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

A)0B)4

C)6D)7

66.有以下程序:

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

A.3B.6C.9D.2

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

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

68.

69.

70.有下列程序:main{inty=10;do{y--;}while(--y);printf("%d\n",--y);)当执行程序时,输出的结果是()。A.-1B.1C.4D.0

71.

72.有以下程序程序的运行结果是()。

A.CDEFB.ABEFC.ABCDD.CDAB

73.有以下程序:

#include<stdi0.h>

#include<string.h>

structA

{inta;charb[10];doubleC;);

voidf(structAt);

main()

{structAa={"1001,"ZhangDa",l098,0};

f(a);printf("%d,%S,%6.1f\n",a.a,a.b,a.c);}

voidf(structAt)

{t.a=1002;strcpy(t.b,"ChangRon9");t.c=1202.0;}

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

A.1001,ZhangDa,1098.0

B.1002,ChangRong,1202.0

C.1001,ChangRong,1098.0

D.1002,ZhangDa,1202.0

74.

75.一个栈中初始元素依次为A、B、C、D、E。现将元素1、2、3、4、5依次入栈,然后将所有的元素依次出栈,则元素出栈的顺序是

A.12345ABCDEB.EDCBA54321C.ABCDE12345D.54321EDCBA

76.以下叙述中正确的是

A.自定义的函数中一定要有return语句

B.自定义的函数中不可以有多个return语句

C.自定义的函数中可以没有return语句,此时函数应被定义为void类型

D.函数的return语句一定要带有表达式

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

A.break语句只能用于switch语句体中

B.continue语句的作用是使程序的执行流程跳出包含它的所有循环

C.break语句只能用在循环体内和switch语句体内

D.在循环体内使用break语句和continue语句的作用相同

78.

79.以下选项中有语法错误的是()。A.char*str[]={"guest"};

B.charstr[][lO]={"guest"};

C.char*str[3];str[t]={"9uest"};

D.charstr[3][lO];str[1]={"guest"};

80.以下程序的主函数中调用了在其面前定义的fun函数#include<stdio.h>...main(){doublea[15],k;k=fun(a);...}则以下选项中错误的fun函数首部是()。、A.doublefun(doublea[l5])

B.doublefun(double*a)

C.doublefun(doublea[])

D.doublefun(doublea)

五、程序改错题(1题)81.下列给定的程序中,函数proc()的功能是:用选择法对数组中的m个元素按从小到大的顺序进行排序。

例如,排序前的数据为:1132-5214

则排序后的数据为:-52111432

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

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

试题程序:

六、程序设计题(1题)82.请编写函数proc,该函数的功能是:将放在字符串数组中的M个字符串(每串的长度不超过N),按顺序合并组成一个新的字符串。

例如,若字符串数组中的M个字符串为:

ABCD

BCDEFG

CDEFGHI

则合并后的字符串内容应该是ABCDBCDEFGCDEF—GHl。

注意:部分源程序给出如下。

请勿改动main函数和其他函数中的任何内容,仅在函数proc的花括号中填人所编写的若干语句。

试题程序:

#include<stdio.h>

#include<conio.h>

#defineM3

#defineN20

voidproc(chararr[M][N],char*b)

{}

voidmain

{

charstr[M][N]={"ABCD","BCDEFG","

CDEFGHI"},i;

chararr[100]={"#############

#####");

printf("Thestring:\n");

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

puts(str[i]);

printf("\n");

proc(str,arr);

printf("TheAstring:\n");

printf("%s",arr);

printf("\n\n");

}

参考答案

1.B

2.C

3.B解析:return中返回的是指针p的值,也就是形参p中存放的地址值。

4.D

5.C

6.B

7.A函数返回值类型可以是简单类型和结构体类型。

8.A

9.D解析:运算符“%”的两侧都应该是整型数。另外,本题需要掌握的知识点是:x%=k,等价于x=x%k。注意:强制类型转换表达式。

10.B

11.C

12.A算法的时间复杂度是指执行算法所需要的计算工作量,其计算工作量是用算法所执行的基本运算次数来度量的。本题答案为A选项。

13.D程序首先定义整型变量s和i,s的初值为0。for循环中i的取值为1,2,3,4,另外在switch语句中,执行各个分支后,若没有break语句,会继续执行后续分支。当i=1时,switch语句执行case1、case2和default,将s自增3后再自增5,此时s的值为8;当i=2时,switch语句执行case2、default,将s自增3后再自增5,此时s的值为16;当i=3时,switch语句执行case3、case1、case2、default,将s逐步自增2,自增3,自增5,此时s的值为26;当i=4时,switch语句执行default语句,将s自增5,此时s的值为31。本题答案为D选项。

14.C

15.D解析:通常,引用一个数组元素可以用下标法,如a[P-a]形式,或指针法,如*(&a[i])的形式。本题中a[9]=9,a[10]显然超出了数组范围,注意,数组的下标是从0开始的。

16.B解析:当一个数组中的元素均为指针类型数据时,该数组就称为指针数组。int*p[3]表示此数组是指针类型的,每个数组元素(指针变量)都是指向一个整型的指针变量。

17.A

18.A解析:auto变量:无static声明的局部变量。用auto作存储类别的声明时,可以不写auto,存储类别隐含确定为auto(自动存储类别),是动态存储方式。大多数变量是自动变量。用static声明的局部变量是静态局部变量。函数调用结束后静态局部变量占据的内存存储单元空间不释放,局部变量保留原值,下次调用时可以继续使用该值。用extern声明外部变量,外部变量即全局变量,可以用extern声明来改变全局变量的作用域,实际上,关键字'auto'可以省略,auto不写则隐含确定为'自动存储类别',属于动态存储方式。

19.A本题考查do-while循环。当--y是0(即y是o)时结束循环,输出--y,先将y的值减1再输出Y的值。

20.A解析:根据共用体的定义可知:共用体r的成员k和成员i[2]是共用同—段内存空间,所以,当程序给r.i[0]赋值后,实际上,共用体成员k的值也确定了,为2。所以打印输出的结果应当为2。

21.存储结构数据结构包括3个方面,即数据的逻辑结构、数据的存储结构及对数据的操作运算。

22.00解析:while循环的条件为即当*n非零时执行循环,(*n)一是先使用*n的值再对*n减1,结束while循环后*n的值为-1。++(*n)是先对*n加1再使用*n的值,-1+1=0,输出*n的值即输出0。

23.(x<y)&&(y<z)(x<y)&&(y<z)解析:x<y<z的意思是y大于x并且y小于z。在C语言中,表达“并且”用逻辑与运算符“&&”。

24.数据库管理系统数据库管理系统(DBMS)

25.关系关系解析:在关系数据库中,用关系也就是二维表来表示实体之间的联系。

26.DDBBCCDDBBCC解析:C语言对枚举的定义规定:在枚举中声明的各个枚举元素,如果没有明确指出某个枚举元素的值,它的上一个元素存在并有明确值的情况下,这个枚举元素的值为其上一个元素的值+1。在本题中,没有明确说明枚举元素em3的值,则em3=em2+1=1+1=2,进而可知,在printf()打印函数中,要打印的数组元素是aa[3]、aa[1]、aa[2],因此最后的打印结果应当为“DDBBCC”。

27.读栈顶元素读栈顶元素解析:栈的基本运算有3种:入栈、退栈和读取栈顶元素。其中,入栈是指在栈顶插入一个新的元素;退栈是指取出栈顶元素并赋值给一个变量;读栈顶元素是将栈顶元素赋值给一个指定的变量,不删除栈顶元素。

28.fname"#"exit(0)chfp

29.关系关系

30.00解析:本题考查的是do厀hile循环。第一次执行循环体,因为k=1,r=1,n=20,所以k=1*20%10*1=0,n=20/10=2,r=2;第二次执行循环体,k=0*2%10*2=0,n=10/10=1,r=3;第三次执行循环体,k=0*1%10*3=0,n=1/10=0,r=4,所以k的值为0。

31./**//**/解析:C语言程序的注释可以出现在程序基本单词之间的任何地方,C语言程序的注释以“/*”作为开始标记,并以“*/”作为结束标记。

32.11解析:在执行逻辑表达式'j=!ch&&i++'时,首先判断j=!ch的值,因为'ch=\'$\''不为0,所以'j=!ch=0',编译系统便不再计算表达式'i++'的值,i的值不变,仍为1。

33.(a+b>c)&&(a+c>b)&&(b+c>a)(a+b>c)&&(a+c>b)&&(b+c>a)解析:根据构成三角形的条件:两边之和大于第三边,得出空格应该填(a+b>c)&&(a+c>b)&&(b+c>a)或与其等价的形式。

34.22解析:'\\13':表示八进制数13表示的ASCII字符,是一个字符,占一个字节;而”\\12”是个字符串,除了八进制数12表示的ASCII字符占一个字节外,还有在字符串的末尾加上串结束标志“'\\0'”,所以共有2个字节。

35.503503解析:此处需注意的是:如果if后面的条件为真,只执行其后的一条语句或一条复合语句,如果if后面的条件为假,只执行else后面的一条语句或一条复合语句。先判断表达式“a<b”为假,不执行“t=a”,但执行“a=b;b=t;”,s的值为3,b的值为0。在判断表达式“a<c”,值为真,所以执行后面的3条语句“t=a;a=c;c=t”,结果a的值为5,c的值为3,所以最后输出的结果为5、0和3。

36.1616解析:在程序中首先将8赋值给变量a,然后在进行复合赋值运算。即a=a+a=8+8=16,所以该空格处应该填16。

37.CHINA

38.31371f3131,37,1f,31解析:此题考查了printf函数的格式字符,题中d是以十进制形式输出,o是以八进制形式输出,x是以十六进制形式输出,u以不带符号的十进制数输出。

39.33解析:这里:b-5=4,a-=4之后a的值为6,并把它赋给c。此时b的值并未被改变。在第2个表达式中,也只有赋值表达式b=3改变了b的值。所以两行语句执行完毕,b的值应该为3。

40.概念设计阶段(数据库概念设计阶段)概念设计阶段(数据库概念设计阶段)

41.A解析:在C语言中,模运算(即取余运算%)的运算对象必须是整型数据(常量、变量或表达式)。

42.A解析:数据流图包括4个方面,即加工(转换)(输入数据经加工变换产生输出)、数据流(沿箭头方向传送数据的通道,一般在旁边标注数据流名)、存储文件(数据源)(表示处理过程中存放各种数据的文件)、源和潭(表示系统和环境的接口,属系统之外的实体)。不包括选项中的控制流。

43.B栈是按“先进后出”的原则组织数据的,数据的插入和删除都在栈顶进行操作。

44.D解析:本题考查赋值表达式。赋值表达式的一般形式是:变量名=表达式。C语言规定,不能给变量表达式赋值。

45.A根据数据结构中各数据元素之间前后件关系的复杂程度,一般将数据结构分为两大类型:线性结构与非线性结构。如果一个非空的数据结构满足下列两个条件:1,有且只有一根节结点,2,每一个结点最多有一个前件,也最多有一个后件,则称该数据结构为线性结构,又称线性表。所以线性表、栈与队列、线性链表都是线性结构,而二叉树是非线性结构。

46.DD)【解析】数据的存储结构是指数据的逻辑结构在计算机存储空间中的存放形式,一种数据结构可以根据需要采用不同的存储结构,常用的存储结构有顺序和链式结构。采用不同的存储结构,其处理的效率是不同的。

47.A解析:本题主要考查按位求反运算和C语言中正负数的表示,“0”代表正数,“1”代表负数;x=7的二进制为00111,第一个0代表正数,~x为11000,第一个1代表负数,值为8。

48.CC。【解析】树具有明显的层次关系,即树是一种层次结构。在树结构中,根结点在第一层上。当树为非空时,树中有且只有一个根结点,当树为空时,树中根结点的数目为0。

49.A解析:引用一个数组元素,可以用:(1)下标法,如a[i]形式;(2)指针法,如*(a+i)或*(p+i)。数组的下标从0开始,值为3的数组元素是a[2]。B、C的内容为a[3],D将a[2]前自加,结果为4。

50.C解析:算法的时间复杂度是指执行算法所需要的计算工作量,也就是算法在执行过程中所执行的基本运算的次数,而不是指程序运行需要的时间或是程序的长度。

51.D解析:本题考查if语句。第1个if语句,实现如果a<b,则交换a、b值的功能;第2个if语句,实现如果a<c,则交换a、c的值的功能:第3个if语句,实现如果b<c,则交换b,c的值的功能。3个if语句结合起来实现的功能就是将a、b、c按从大到小排序。

52.B

53.D解析:C语言规定,在定义数组时数组名后的方括号中必须是常量表达式,不能包含变量。因此,选项D中用变量n来定义数组的大小是错误的。故应该选择D。

54.D解析:这个题目的功能是实现两个有序字符串,合并成一个新的有序的字符串。

55.C解析:栈是一种后进先出表,选项C中,先出栈的是3,说明此时栈内必然有1,2,由于1先于2进浅,所以1不可能在2之前出栈,故选项C这种出栈序列是不可能的。

56.D解析:在定义的链表中,若只含育一个指针域来存放下一个元素地址,称这样的链表为单链表或线性链表。在链式存储方式中,要求每个结点由两部分组成:一部分用于存放数据元素值,称为数据域:另一部分用于存放指针,称为指针域。其中指针用于指向该结点的前一个或后一个结点(即前件或后件)。

57.D解析:在题中,i的值为3,由于“case3:”后面没有break语句,所以继续向下执行“case4:”后面的语句,由于“case4:”后面的语句为break强行退出switch语句,所以,本题没有任何输出。

58.D解析:注意输出控制符%d,%c,分别表示以十进制形式输出字符的ASCII码值和字符。

59.D解析:程序不仅是编写完就结束了,为了测试和维护程序,往往还有其他人阅读和跟踪程序,因此程序设计的风格应该强调简单和清晰,即程序的易读性,“清晰第一,效率第二”。

60.DD)【解析】二分法查找只适用于顺序存储的有序表,表中的元素按值从小到大排列。

61.A

62.D

63.B

64.B

65.D首先k=0,执行default,退出switch,k++,执行case1,2,3后,n=2,k++,执行case2,3,n=4,k++,执行case3,n=7.执行k++,执行default,k++,退出循环。

66.B本题的考查点是指向数组元素的指针变量的定义和赋值。所谓数组的指针是指数组的起始地址,数组元素的指针是数组元素的地址。P=&a[0][O]是把该数组的第一个元素的地址赋给指针变量P,而且此时指针变量P也是int型。a[1][2]刚好是数组中的第6个元素,此时也就是P所指的地址,所以输出结果是6。

67.AA。【解析】在E—R图中,矩形表示实体;菱形表示联系名;椭圆形表示实体的属性。

68.B

69.C

70.A本题考查do-while循环。当--y是0(即y是o)时结束循环,输出--y,先将y的值减1再输出Y的值。

71.A本题考查的是C语言表达式。如果算术运算符”/”中参与运算的变量都是整型变量,则”/”表示整除运算,

温馨提示

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

最新文档

评论

0/150

提交评论