当前位置: 考试资料网 > 学历 > 高中 >

c语言程序设计期末上机考试题库及答案(c语言程序设计教程期末考试)

时间:2023-03-19 10:42来源:考试资源网 考试资料网
c语言程序设计期末上机考试题库及答案(c语言程序设计教程期末考试)

c语言程序设计期末上机考试题库及答案(c语言程序设计教程期末考试)

admin3周前免费1

帮忙给个《C语言程序设计》 练习题 答案 这次考试题就在其中。。。。

1A(B 中第四个选项首行是数字,D选型有关键字) 2D 3A 4A 5C(我在TC上运行的) 6A 7D 8D(0147是8进制转换成十进制即103即‘g’) 9D(属自动类型转换) 10 D 11C 12A(条件运算符运算方式是从右向左的) 13B(算术运算符-的优先级高于关系运算符=,最后是逻辑判断 为真1,假0)14C

15 D(考察逗号运算符) 16D

求:C语言程序设计试卷及答案一份

一、选择题(1~40题每题1分,41~50题每题2分,共60分)下列各题A、B、C、D四个选项中,只有一个选项是正确的。请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。

1.微型计算机的运算器、控制器及内存储器组合在一起,称之为()(本题分值:1分)

【正确答案】D

A.ALU

B.CPU

C.MPU

D.主机

2.下列存储器中,存取速度最快的是()(本题分值:1分)

【正确答案】D

A.软盘

B.硬盘

C.光盘

D.内存

3.系统软件中最重要的是()(本题分值:1分)

【正确答案】A

A.操作系统

B.语言处理程序

C.工具软件

D.数据库管理系统

4、CPU处理的数据基本单位为字,一个字的字长()(本题分值:1分)

【正确答案】D

A.为8个二进制位

B.为16个二进制位

C.为32个二进制位

D.与CPU芯片的型号有关

5.打印当前屏幕内容应使用的控制键是()(本题分值:1分)

【正确答案】D

A.Scroll-Lock

B.Num-Lock

C.PgDn

D.PrtSc(Print Screen)

6.能将高级语言源程序转换成目标程序的是()(本题分值:1分)

【正确答案】C

A.调试程序

B.解释程序

C.编译程序

D.编辑程序

7.二进制数1110111.11转换成十进制数是()(本题分值:1分)

【正确答案】B

A.119.375

B.119.75

C.119.125

D.119.3

8.十六进制数FF.1转换成十进制数是()(本题分值:1分)

【正确答案】A

A.255.0625

B.255.125

C.127.0625

D.127.125

9.中国国家计算机网络设施是()(本题分值:1分)

【正确答案】A

A.NCFC

B.CERNET

C.ISDN

D.Internet

10.控制键^C的功能为()(本题分值:1分)

【正确答案】A

A.终止当前操作

B.系统复位

C.暂停标准输出设备的输出

D.结束命令行

11.COMMAND.COM为命令处理程序,DOS系统启动后,它()(本题分值:1分)

【正确答案】B

A.驻留在外存,需要时装入内存

B.常驻内存,包含所有内部命令

C.不能处理外部命令

D.不能处理后缀为.EXE的可执行文件

12.为了将所有扩展名为.PAS的文件改成扩展名为.P,应使用命令()(本题分值:1分)

【正确答案】C

A.REN *.PAS .?AS

B.REN PAS P

C.REN *.PAS *.P

D.REN *.PAS *.P??

13.设当前盘中文件XY.C的路径为ABXU,当前目录为AB。为了查看文件XY.C的内容,应使用命令()(本题分值:1分)

【正确答案】A

A.TYPE XUXY.C

B.TYPE XUXY.C

C.DIR XUXY.C

D.DIR ABXUXY.C

14.要将提示符改成当前盘当前目录后加一个大于号“>”,应使用命令()(本题分值:1分)

【正确答案】B

A.PROMPT

B.PROMPT $ p $ g

C.PROMPT $ $

D.PROMPT C>

15.在多媒体计算机系统中,CD-ROM属于()(本题分值:1分)

【正确答案】D

A.感觉媒体

B.表示媒体

C.表现媒体

D.存储媒体

16.设当前盘为C盘,将A盘根目录下的文件目录信息存放到当前盘当前目录下的文件AB中,应使用命令()(本题分值:1分)

【正确答案】C

A.TYPE A:>AB

B.DIR >AB

C.DIR A:>AB

D.DIR >AB

17.在位运算中,操作数每右移一位,其结果相当于()(本题分值:1分)

【正确答案】B

A.操作数乘以2

B.操作数除以2

C.操作数除以16

D.操作数乘以16

18.在当前盘当前目录下有一个文件A.BAT,其内容为

CD

MD XYZABBC

CD XYZABB

在正确执行上述文件后,接着执行下列命令时,不会发生错误的是()(本题分值:1分)

【正确答案】C

A.MD C

B.RD XYZ

C.RD C

D.RD B

19.下列命令组中两个DOS命令互相等价的是()(本题分值:1分)

【正确答案】D

A.TYPE AB.TXT与DIR AB.TXT

B.DISKCOMP A:B:与COMP A:.* B:*.

C.TYPE AB.TXT>>XY.TXT与COPY AB.TXT XY.TXT

D.TYPE AB.TXT>XY.TXT与COPY AB.TXT XY.TXT

20.设A盘为启动盘,其目录结构为

根目录

DOS子目录 COMAND.COM

USER子目录 AUTOEXEC.BAT

其文件AUTOEXEC.BAT的内容如下:

MD XYZ

CD DOSUSER

则由A盘启动成功后,A盘的当前目录是()(本题分值:2分)

【正确答案】C

A.DOSUSER

B.XYZ

C.根目录

D.DOS

21.C语言提供的合法关键字是()(本题分值:1分)

【正确答案】C

A.switch

B.cher

C.case

D.default

22.在C语言中,合法的字符常量是()(本题分值:1分)

【正确答案】B

A.′\084′

B.′x43′

C.′ab′

D.′\0′

23.若已定义x和y为double类型,则表达式: x=1,y=x+3/2的值是()(本题分值:1分)

【正确答案】C

A.1

B.2

C.2.0

D.2.5

24.合法的数组定义是()(本题分值:1分)

【正确答案】D

A.int a[]=〃string〃;

B.int a[5]={0,1,2,3,4,5};

C.char a=〃string〃;

D.char a[]={0,1,2,3,4,5};

25.设a为整型变量,不能正确表达数学关系10<a<15的C语言表达式是()(本题分值:1分)

【正确答案】A

A.10<a<15

B.a==11||a==12||a==13||a==14

C.a>10&&a<15

D.!(a<=10)&&!(a>=15)

26.若t为double类型,表达式t=1,t+5,t++的值是()(本题分值:1分)

【正确答案】C

A.1

B.6.0

C.2.0

D.1.0

27.若有定义和语句:

char s[10];s=〃abcd〃;printf(〃%sn〃,s);

则结果是(以下μ代表空格)()(本题分值:1分)

【正确答案】D

A.输出abcd

B.输出a

C.输出abcdμμμμμ

D.编译不通过

28.若有定义和语句:

int **pp,*p,a=10,b=20;

pp=&p;p=&a;p=&b;printf(〃%d,%dn〃,*p,**pp);

则输出结果是()(本题分值:1分)

【正确答案】D

A.10,10

B.10,20

C.20,10

D.20,20

29.若有以下定义和语句:

int u=010,v=0x10,w=10;

printf(〃%d,%d,%dn〃,u,v,w);

则输出结果是()(本题分值:1分)

【正确答案】A

A.8,16,10

B.10,10,10

C.8,8,10

D.8,10,10

30.若有以下定义和语句:

char c1=′b′,c2=′e′;

printf(〃%d,%cn〃,c2-c1,c2-′a′+′A′);

则输出结果是()(本题分值:1分)

【正确答案】B

A.2,M

B.3,E

C.2,E

D.输出项与对应的格式控制不一致,输出结果不确定

31.若有定义:int a[3][4];,()不能表示数组元素a[1][1]。(本题分值:1分)

【正确答案】D

A.*(a[1]+1)

B.*(a[1][1])

C.(*(a+1))[1]

D.*(a+5)

32.若i、j已定义为int型,则以下程序段中内循环体的总的执行次数是()(本题分值:1分)

for(i=5;i>0;i--)

for(j=0;j<4;j++){…}

【正确答案】A

A.20

B.24

C.25

D.30

33.若有以下定义和语句:

char *s1=〃12345〃,*s2=〃1234〃;

printf(〃%dn〃,strlen(strcpy(s1,s2)));

则输出结果是()(本题分值:1分)

【正确答案】A

A.4

B.5

C.9

D.10

34.若有以下定义和语句:

int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;

则不能表示a数组元素的表达式是()(本题分值:1分)

【正确答案】B

A.*p

B.a[10]

C.*a

D.a[p-a]

35.下面程序的输出结果是()(本题分值:2分)

【正确答案】C

A.k=3 a=2 b=3

B.k=3 a=3 b=2

C.k=2 a=3 b=2

D.k=2 a=2 b=3

36.下面程序的输出结果是()(本题分值:1分)

main()

{unsigned a=32768;

printf(〃a=%dn〃,a);}

【正确答案】C

A.a=32768

B.a=32767

C.a=-32768

D.a=-1

37.执行下面语句后的输出结果为()(本题分值:1分)

int i=-1;

if(i<=0) printf(〃****n〃);

else printf(〃%%%%n〃)

【正确答案】D

A.****

B.%%%%

C.%%%%c

D.有语法错误,不能正确执行

38.对于条件表达式(M)?(a++):(a--),其中的表达式M等价于()(本题分值:1分)

【正确答案】C

A.M==0

B.M==1

C.M!=0

D.M!=1

39.下述程序段的输出结果是()(本题分值:1分)

int x=10;

int7nbspy=x++;

printf(〃%d,%d〃,(x++,y),y++);

【正确答案】A

A.11,10

B.11,11

C.10,10

D.10,11

40.若有以下的定义:

int a[]={1,2,3,4,5,6,7,8,9,10},*p=a

则值为3的表达式是()(本题分值:1分)

【正确答案】A

A.p+=2,*(p++)

B.p+=2,*++p

C.p+=3,*p++

D.p+=2,++*p

41.假定所有变量均已正确说明,下列是程序段运行后x的值是()(本题分值:2分)

a=b=c=0;x=35;

if(!a) x--;

else if(b);

if(c) x=3;

else x=4;

【正确答案】B

A.34

B.4

C.35

D.3

42.在以下一组运算中,优先级最高的运算符是()(本题分值:2分)

【正确答案】C

A.<=

B.=

C.%

D.&&

43.若有以下定义和语句:

int w[2][3],(*pw)[3];pw=w;

则对w数组元素的非法引用是()(本题分值:2分)

【正确答案】A

A.*(w[0]+2)

B.*(pw+1)[2]

C.pw[0][0]

D.*(pw[1]+2)

44.若有以下程序片段: char str[ ]=〃abn\012\\〃; printf(〃%d〃,strlen(str));

上面程序片段的输出结果是()(本题分值:2分)

【正确答案】C

A.3

B.4

C.6

D.12

45.函数调用:strcat(strcpy(str1,str2),str3)的功能是()(本题分值:2分)

【正确答案】C

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

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

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

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

46.以下对C语言函数的有关描述中,正确的是()(本题分值:2分)

【正确答案】A

A.在C中,调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参

B.C函数既可以嵌套定义又可以递归调用

C.函数必须有返回值,否则不能使用函数

D.C程序中有调用关系的所有函数必须放在同一个源程序文件中

47.以下叙述中不正确的是()(本题分值:2分)

【正确答案】C

A.在C中,函数中的自动变量可以赋初值,每调用一次,赋一次初值

B.在C中,在调用函数时,实参和对应形参在类型上只需赋值兼容

C.在C中,外部变量的隐含类别是自动存储类别

D.在C中,函数形参可以说明为register变量

48.设有以下定义或语句,则输出的结果是(用small模式编译,指针变量占2个字节)()(本题分值:2分)

struct date

{long *cat;

struct date *next;

double dog;

}too;

printf(〃%d〃,sizeof(too));

【正确答案】D

A.20

B.16

C.14

D.12

49.设有定义:struct sk

{int a;float b;}data,*p;

若有p=&data;,则对data中的a域的正确引用是()(本题分值:2分)

【正确答案】B

A.(*p).data.a

B.(*p).a

C.p->data.a

D.p.data.a

50.以下对枚举类型名的定义中正确的是()(本题分值:2分)

【正确答案】B

A.enum a={one,two,three};

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

C.enum a={〃one〃,〃two〃,〃three〃};

D.enum a{〃one〃,〃two〃,〃three〃};

二、填空题(每空2分,共40分)请将答案分别写在答题卡中序号【1】至【20】的横线上,答在试卷上不得分。

1、与十进制数101等值的二进制数为。(本题分值:2分)

【正确答案】

【1】1100101

2、DOS命令分为内部命令与外部命令,XCOPY命令属于命令。(本题分值:2分)

【正确答案】

【2】外部

3、设当前盘为A盘,当前系统提示符为“”,在不改变当前盘的情况下,显示C盘的当前目录路径,应使用命令。 (本题分值:2分)

【正确答案】

【3】CD C:

4、自动批处理文件名必须是。(本题分值:2分)

【正确答案】

【4】AUTOEXEC.BAT

5、设在当前盘当前目录下有两个文件W.TXT与P.TXT,现要将文件P.TXT连接到文件W.TXT的后面,若使用COPY命令,则完整的命令为。(本题分值:2分)

【正确答案】

【5】COPY W.TXT+P.TXT W.TXT

6、表示条件10<x<100或x<0的C语言表达式是。(本题分值:2分)

【正确答案】

【6】(x>10 x<100)||x<0

或(10<xx<100)||x<0

或x<0 ||(x>10x<100)

或0>x ||(10<xx<100)

7、以下程序中,主函数调用了LineMax函数,实现在N行M列的二维数组中,找出每一行上的最笾怠G胩羁铡?br #define N 3

#define M 4

void LineMax(int x[N][M])

{ int i,j,p;

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

{p=0;

for(j=1;j<M;j++)

if(x[i][p]<x[i][j]) ;

printf(〃The max value in line is %dn〃,);

}

}

main()

{ int x[N][M]={1,5,7,4,2,6,4,3,8,2,3,1};

;

}

(本题分值:6分)

【正确答案】

【7】p=j

【8】x[i][p]

【9】LineMax(x)

8、以下程序的功能是:从键盘上输入若干个学生的成绩,统计计算出平均成绩,并输出低于平均分的学生成绩,用输入负数结束输入。请填空。

main()

{float x[1000],sum=0.0,ave,a;

int n=0,i;

printf(〃Enter mark:n〃);scanf(〃%f〃,a);

while(a>= 0.0 n<1000)

{sum+=;x[n]=;

n++; scanf(〃%f〃,a);

}

ave= ;

printf(〃Output:n〃);

printf(〃ave=%fn〃,ave);

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

if() printf(〃%fn〃,x[i]);

}

(本题分值:8分)

【正确答案】

【10】a

【11】a

【12】sum/n或sum/(float)n或sum/(double)n

【13】x[i]<ave或!(x[i]>=ave)或ave>x[i]

9、执行以下程序,输入-10的结果是,输入5的结果是,输入10的结果是,输入30的结果是。

(本题分值:8分)

【正确答案】

【14】0

【15】5

【16】10

【17】5

10、以下程序的功能是。

main()

{int num[10]={10,1,-20,-203,-21,2,-2,-2,11,-21};

int sum=0,i;

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

if(num[i]>0)

sum=num[i]+sum;

printf(〃sum=%6d〃,sum);

}

(本题分值:2分)

【正确答案】

【18】计算数组num中大于零的数据之和

11、以下程序可以把从键盘上输入十进制数(long型)以二到十六进制数的形式输出,请填空。

#include

main()

{char

b[16]={′0′,′1′,′2′,′3′,′4′,′5′,′6′,′7′,′8′,′9′,′A′,′B′,′C′,′D′,′E′,′F′};

int c[64],d,i=0,base;

long n;

printf(〃Enter a number:n〃); scanf(〃%1d〃,n);

printf(〃Enter new base:n〃); scanf(〃%1d〃,base);

do

{c[i]=;

i++;

n=n/base;

}while(n!=0);

printf(〃The result is:n〃);

for(--i;i>=0;--i)

{?d=c[i];

printf(〃%c〃,b);

}

}

(本题分值:4分)

【正确答案】

【19】n%base

【20】 [d]

求2011年九月以及以前的计算机二级考试C语言试题及答案、以及考试内容分析和解题技巧。记住只要C的。

(1)下面叙述正确的是________。

A)算法的执行效率与数据的存储结构无关

B)算法的空间复杂度是指算法程序中指令(或语句)的条数

C)算法的有穷性是指算法必须能在执行有限个步骤之后终止

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

(1)C

知识点:算法的基本概念;算法复杂度的概念和意义(时间复杂度与空间复杂度)

评 析:算法的设计可以避开具体的计算机程序设计语言,但算法的实现必须借助程序设计语言中提供的数据类型及其算法。数据结构和算法是计算机科学的两个重要支柱。它们是一个不可分割的整体。算法在运行过程中需辅助存储空间的大小称为算法的空间复杂度。算法的有穷性是指一个算法必须在执行有限的步骤以后结束。算法的时间复杂度是指执行算法所需要的计算工作量,即算法执行过程中所需要的基本运算次数。

(2)以下数据结构属于非线性数据结构的是________。

A)队列 B)线性表 C)二叉树 D)栈

(2)C

知识点:栈和队列的定义;栈和队列的顺序存储结构及其基本运算

评 析:线性表、栈和队列等数据结构所表达和处理的数据以线性结构为组织形式。栈是一种特殊的线性表,这种线性表只能在固定的一端进行插入和删除操作,允许插入和删除的一端称为栈顶,另一端称为栈底。一个新元素只能从栈顶一端进入,删除时,只能删除栈顶的元素,即刚刚被插入的元素。所以栈又称后进先出表(Last In First Out)。队列可看作是插入在一端进行,删除在另一端进行的线性表,允许插入的一端称为队尾,允许删除的一端称为队头。在队列中,只能删除队头元素,队列的最后一个元素一定是最新入队的元素。因此队列又称先进先出表(First In First Out)。二叉树的数据结构是树型结构,结构中数据元素之间存在着一对多的关系,因此它是一种非线性数据结构。

(3)在一棵二叉树上第8层的结点数最多是________。

A)8 B)16 C)128 D)256

(3)C

知识点:二叉树的定义及其存储结构

评 析:根据二叉树的性质:二叉树第i(I1)层上至多有2i-1个结点。得到第8层的结点数最多是128。

(4)下面描述中,不符合结构化程序设计风格的是________。

A)使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑

B)自顶向下

C)注重提高程序的执行效率

D)限制使用goto语句

(4)C

知识点:结构化程序设计

评 析:结构化程序设计方法的四条原则是:1.自顶向下:2.逐步求精;3.模块化;4.限制使用goto语句。“自顶向下”是说,程序设计时,应先考虑总体,后考虑细节,先考虑全局目标,后考虑局部目标;“逐步求精’’是说,对复杂问题,应设计一些子目标作过渡,逐步细节化;“模块化”是说,一个复杂问题肯定是由若干稍简单的问题构成,解决这个复杂问题的程序,也应对应若干稍简单的问题,分解成若干稍小的部分。

(5)下面概念中,不属于面向对象方法的是________。

A)对象、消息 B)继承、多态 C)类、封装 D)过程调用

(5)D

知识点:面向对象的程序设计方法、对象、方法、属性及继承与多态性

评 析:面向对象方法是一种运用对象、类、封装、继承、多态和消息等概念来构造、测试、重构软件的方法。面向对象方法从对象出发,发展出对象、类、消息、继承等概念。

(6)在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是________。

A)可行性分析 B)需求分析 C)详细设计 D)程序编码

(6)B

知识点:结构化设计方法

评 析:软件开发阶段包括需求分析、总体设计、详细设计、编码和测试五个阶段。其中需求分析阶段常用的工具是数据流程图和数据字典。

(7)软件生命周期中所花费用最多的阶段是________。

A)详细设计 B)软件编码 C)软件测试 D)软件维护

(7)D

知识点:软件工程基本概念,软件生命周期概念,软件工具与软件开发环境

评 析:软件生命周期分为软件定义、软件开发及软件运行维护3个阶段。本题中详细设计、软件编码和软件测试都属于软件开发阶段;维护是软件生命周期的最后一个阶段,也是持续时间最长,花费代价最大的一个阶段,软件工程学的一个目的就是提高软件的可维护性,降低维护的代价。

(8)数据库系统的核心是________。

A)数据模型 B)DBMS C)软件工具 D)数据库

(8)B

知识点:数据库的基本概念:数据库,数据库管理系统,数据库系统

评 析:数据库管理系统DBMS是数据库系统的核心。DBMS是负责数据库的建立、使用和维护的软件。DBMS建立在操作系统之上,实施对数据库的统一管理和控制。用户使用的各种数据库命令以及应用程序的执行,最终都必须通过DBMS。另外,DBMS还承担着数据库的安全保护工作,按照DBA所规定的要求,保证数据库的完整性和安全性。

(9)下列叙述中正确的是________。

A)数据处理是将信息转化为数据的过程

B)数据库设计是指设计数据库管理系统

C)如果一个关系中的属性或属性组并非该关系的关键字,但它是另一个关系的关键

字,则称其为本关系的外关键字

D)关系中的每列称为元组,一个元组就是一个字段

(9)C

知识点:数据模型,实体联系模型及E-R图,从E-R图导出关系数据模型

评 析:数据处理是指将数据转换成信息的过程,故选项A叙述错误;设计数据库的目的实质上是设计出满足实际应用需求的实际关系模型,故选项B叙述错误;关系中的行称为元组,对应存储文件中的记录,关系中的列称为属性。对应存储文件中的字段,故D选项叙述错误。

(10)下列模式中,_______是用户模式。

A)内模式 B)外模式 C)概念模式 D)逻辑模式

(10)B

知识点:数据库的基本概念:数据库,数据库管理系统,数据库系统

评 析:数据库管理系统的三级模式结构由外模式、模式和内模式组成。外模式,或称子模式,或称用户模式,是指数据库用户所看到的数据结构,是用户看到的数据视图。模式,或称逻辑模式,是数据库中对全体数据的逻辑结构和特性的描述,是所有用户所见到的数据视图的总和。外模式是模式的一部分。内模式,或称存储模式,或称物理模式,是指数据在数据库系统内的存储介质上的表示。即对数据的物理结构和存取方式的描述。

36)算法的时间复杂度是指_______。

A)执行算法程序所需要的时间

B)算法程序的长度

C)算法执行过程中所需要的基本运算次数

D)算法程序中的指令条数

(36)C

知识点:算法复杂度的概念和意义(时问复杂度与空间复杂度)

评析:所谓算法的时间复杂度,是指执行算法所需要的计算工作量。为了能够比较客观地反映出一个算法的效率,在度量一个算法的工作量时,不仅应该与所使用的计算机、程序设计语言以及程序编制者无关,而且还应该与算法实现过程中的许多细节无关。为此,可以用算法在执行过程中所需基本运算的执行次数来度量算法的工作量。

(37)下列叙述中正确的是_______。

A)线性表是线性结构 B)栈与队列是非线性结构

C)线性链表是非线性结构 D)二叉树是线性结构

(37)A

知识点:线性结构与非线性结构的概念

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

(38)下面关于完全二叉树的叙述中,错误的是_______。

A)除了最后一层外,每一层上的结点数均达到最大值

B)可能缺少若干个左右叶子结点

C)完全二叉树一般不是满二叉树

D)具有结点的完全二叉树的深度为[log2n]+l

(38)B

知识点:二叉树的定义及其存储结构

评析:这里考察完全二又树与满二叉树的定义及二叉树的性质。满二叉树指除最后一层外每一层上所有结点都有两个子结点的二叉树。完全二叉树指除最后一层外,每一层上的结点数均达到最大值,在最后一层上只缺少右边的若干子结点(叶子结点)的二叉树。因此选项A是正确的,而选项B是错误的。由定义可知,满二叉树肯定是完全二又树,而完全二又树一般不是满二叉树,因此选项c是正确的叙述。选项D即二又树性质(5),也是正确的。

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

A)程序的规模 B)程序的易读性

C)程序的执行效率 D)程序的可移植性

(39)B

知识点:结构化程序设计

评析:结构化程序设计主要强调的足结构化程序清晰易读,可理解性好,程序员能够进行逐步求精、程序证明和测试.以保证程序的正确性。

(40)在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是_______。

A)概要设计 B)详细设计 C)可行性分析 D)需求分析

(40)D

知识点:软件工程基本概念,软件生命周期概念,软件工具与软件开发环境

评析:通常,将软件产品从提出、实现、使用维护到停止使用退役的过程称为软件生命周期。也就是说,软件产品从考虑其概念开始,到该软件产品不能使用为止的整个时期都属于软件生命周期。软件生命周期的主要活动阶段为:

① 可行性研究和计划制定。确定待开发软件系统的开发目标和总的要求,给出它的功能、性能、可靠性以及接口等方面的可行方案,制定完成开发任务的实施计划。

②需求分析。对待开发软件提出的需求进行分析并给出详细定义,即准确地确定软件系统的功能。编写软件规格说明书及初步的用户手册,提交评审。

③软件设计。系统设计人员和程序设计人员应该在反复理解软件需求的基础上,给出软件的结构、模块的划分、功能的分配以及处理流程。

④软件实现。把软件设计转换成计算机可以接受的程序代码。即完成源程序的编码,编写用户手册、操作手册等面向用户的文档,编写单元测试计划。

⑤软件测试。在设计测试用例的基础上,检验软件的各个组成部分。编写测试分析报告。

⑥运行和维护。将已交付的软件投入运行,并存运行使用中不断地维护,根据新提出的需求进行必要而且可能的扩充和删改。

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

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

(41)A

知识点:结构化分析方法,数据流图,数据字典,软件需求规格说明书

评析:数据流图从数据传递和加工的角度,来刻画数据流从输入到输出的移动变换过程。数据流图中的主要图形元素有:加工(转换)、数据流、存储文件(数据源)、源和潭。

(42)软件需求分析一般应确定的是用户对软件的_______。

A)功能需求 B)非功能需求 C)性能需求 D)功能需求和非功能需求

(42)D

知识点:结构化设计方法

评析:软件需求分析中需要构造一个完全的系统逻辑模型,理解用户提出的每一功能与性能要求,是用户明确自己的任务。因此,需求分析应确定用户对软件的功能需求和非功能需求。

(43)下述关于数据库系统的叙述中正确的是_______。

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

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

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

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

(43)A

知识点:数据库的基本概念:数据库,数据库管理系统,数据库系统

评析:由于数据的集成性使得数据可为多个应JH=j所共享,特别是在网络发达的今天,数据库与网络的结合扩大了数据关系的应用范围。数据的共享自身义可极大地减少数据冗余性,不仅减少了不必要的存储空间,更为重要的是可以避免数据的不一致性。所谓数据的一致性是指在系统中同一数据的不同出现应保持相同的值,而数据的不一致性指的是同一个数据在系统的不同拷贝处有不同的值。

(44)关系表中的每一横行称为一个_______。

A)元组 B)字段 C)属性 D)码

(44)A

知识点:数据库的基本概念:数据库.数据库管理系统,数据库系统

评析:在关系数据库中,关系模型采用二维表来表示,简称“表”。二维表是由表框架及表元组组成。在表框架中,按行可以存放数据,每行数据称为元组。

(45)数据库设计包括两个方面的设计内容,它们是_______。

A)概念设计和逻辑设计 B)模式设计和内模式设计

C)内模式设计和物理设计 D)结构特性设计和行为特性设计

(45)A

知识点:数据库设计方法和步骤:需求分析、概念设计、逻辑设计和物理设计的相关策略

评析:数据库设计可分为概念设计与逻辑设计。数据库概念设计的目的是分析数据问内存语义关联,在此基础上建立一个数据的抽象模型。数据库逻辑设计的主要工作是将E-R图转换为指定的RDBMS中的关系模型。

(61)字符(char)型数据在微机内存中的存储形式是________。

A)反码 B)补码

C)EBCDIC码 D)ASCII码

(61)D

知识点:字符数据在内存中的存储形式

评析:将一个字符常量放到一个字符变量中,实际上并不是把该字符本身放到内存单元中去,而是将该字符的ASCII码值放到存储单元中。

71)算法的空间复杂度是指_______。

A)算法程序的长度 B)算法程序中的指令条数

C)算法程序所占的存储空间 D)算法执行过程中所需要的存储空间

(71)D

知识点:算法的复杂度

评析:一个算法的空间复杂度,一般是指执行这个算法所需的内存空间。

一个算法所占用的存储空间包括算法程序所占的空间、输入的初始数据所占的存储空间以及算法执行过程中所需要的额外空间。

(72)下列关于栈的叙述中正确的是_______。

A)在栈中只能插入数据 B)在栈中只能删除数据

C)栈是先进先出的线性表 D)栈是先进后出的线性表

(72)D

知识点:栈的输入输出操作

评析:栈是限定在一端进行插入与删除的线性表。

栈是按照“先进后出”的或“后进先出”的原则组织数据的,因此,栈也被称为“先进后出”表或“后进先出”表。

(73)在深度为5的满二叉树中,叶子结点的个数为_______。

A)32 B)31 C)16 D)15

(73)C

知识点:二叉树的概念

评析:所谓满二叉树是指除最后一层外,每层上的所有结点都有两个子结点。也就是说,在满二又树中,每一层上的结点数都达到最大值,即在满二叉树的第K层上有2k-1个结点,且深度为m的满二叉树有2m个结点。

在满二叉树中,最后一层的结点个数就是叶子结点的个数,本题中深度为5,故叶子结点数为25-1=24==16。

(74)对建立良好的程序设计风格,下面描述正确的是_______。

A)程序应简单、清晰、可读性好 B)符号名的命名要符合语法

C)充分考虑程序的执行效率 D)程序的注释可有可无

(74)A

知识点:程序设计风格

评析:要形成良好的程序设计风格,主要应注重和考虑下述一些因素:符号名的命名应具有一定的实际含义,以便于对程序功能的理解;正确的注释能够帮助读者理解程序;程序编写应优先考虑清晰性,除非对效率有特殊要求,程序编写要做到清晰第一,效率第二。

(75)下面对对象概念描述错误的是_______。

A)任何对象都必须有继承性 B)对象是属性和方法的封装体

C)对象问的通讯靠消息传递 D)操作是对象的动态性属性

(75)A

知识点:对象的概念

评析:对象是由数据和容许的操作组成的封装体,与客观实体有直接的对应关系。对象之间通过传递消息互相联系,以模拟现实世界中不同事物彼此之间的联系。

(76)下面不属于软件工程的3个要素的是_______。

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

(76)D

知识点:软件:[程的要素

评析:软件工程包括3个要素,即方法、工具和过程。

(77)程序流程图(PFD)中的箭头代表的是_______。

A)数据流 B)控制流 C)调用关系 D)组成关系

(77)B

知识点:软件设计工具

评析:程序流程图(PFD)是一种传统的、应用广泛的软件过程设计表示工具,通常也称为程序框图,其箭头代表的是控制流。

(78)在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。其中数据独立性最高的阶段是_______。

A)数据库系统 B)文件系统 C)人工管理 D)数据项管理

(78)A

知识点:数据管理技术的发展

评析:在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。其中数据独立性最高的阶段是数据库系统。

C语言程序设计考试题

main函数

scanf函数,printf函数

-60

6 ,4, 2

?, || , !

B?? 66

2? ?1

6

main

5

大一C语言期末考试求题库

一、单项选择题(共10题,每题2分,共20分。在备选答案中选择一个最佳答案。多选、错选、不选不得分)

1、不是C语言基本数据类型的是( )。

A、指针类型 B、整型

C、字符型 D、实型

2、设有:int a=3, b= 4, c= 5,x , y; 表达式0 (x=a)(y=b)的值为( )。

A、1 B、0 C、3 D、4

3、设有语句 int a=3 ; 则执行了语句 a+=6;后,变量a 的值为( )。

A、18 B、-3 C、9 D、12

4、执行以下程序段后,输出的y值为( )

void main()

{ int a[]={2,4,6,8,10};

int y, *p;

p=a[0];

y=*p; printf(“%d”,y);

}

A、2 B、4 C、6 D、8

5、有定义语句:float a[4];则分配给数组a的内存空间为( )字节。

A、 20 B、 12 C、 16 C、10

6、以下描述错误的是( )。

A、break语句可用于while语句。

B、break语句和continue语句的作用是一样的。

C、在循环语句中使用break语句是为了跳出循环,提前结束循环。

D、在循环语句中使用continue语句是为了结束本次循环,而不终止整个循环。

7、C语言中规定,if语句的嵌套结构中,else总是( )。

A、与最近的if 配对 B、与第一个if 配对

C、按缩进位置相同的if配对 D、与最近的且尚未配对的if 配对

8、说明语句“int (*p)( ); ”的含义是( ) 。

A、p是一个指向一维数组的指针变量。

B、p是指针变量,指向一个整型数据。

C、p是一个指向函数的指针,该函数返回一个int型数据。

D、以上都不对。

9、以下对二维数组c的正确声明是 ( ) 。

A、int c[3][ ]; B、int c(3,4);

C、int c(2)(2); D、int c[3][2];

10、下述程序段执行后输出结果为( )。

int x=100, y=200;

printf ("% d", (x, y));

A、100 B、200 C、100,200 D、编译出错

二、填空题(共7题,共10空,每空1分,共10分。将答案填在题中横线上)

1、C语言提供的三种逻辑运算符是 、 || 和!;

2、函数的返回值是通过函数中的 return 语句获得的。

3、在"int a[ ][3]={{1},{3,2},{4,5,6},{0}};"定义后,a[2][2]的值为_6__ _;

4、对于"int *pa[5];" pa是一个具有5个元素的_数组指针_,每个元素是一个指向int型变量的__指针__;

5、单向链表的尾节点next指针应赋值__ NULL___;

6、在语句for(x=1,y=3;xy;y++)中循环体执行的次数为 0 。

7、int a[5];数组a的首地址为2000,则元素a[1]的地址为 2002 ,元素a[2]的地址为 2004 。

三、程序填空题(共2题,共5空,每空4分,共20分)

1、以下程序完成计算1-1/2+1/3-1/4+1/5+……前n 项和,请填空。

#include stdio.h

int main( )

{ int i, n, flag;

float sum;

scanf("%d", n);

flag= 1 ;

sum=0;

for(i=1;i=n; i++ )

{ sum+=(float)flag/i;

flag=-flag ;

}

printf("%.3fn", sum);

}

2、以下程序的功能是从键盘输入n个整数,统计其中正数、0、负数的个数,请填空。

#include stdio.h

void main( )

{int a, i, count1,count2,count3;

count1=count2=count3=0 ;

for(i=1;i=n;i++)

{ scanf(“%d”, a);

if(a0) count1++;

else if(a==0) count2++ ;

else count3++;

}

printf(“正数:d个,零:%d个,负数:%d个n”, count1,count2,count3 );

}

四、运行程序结果题(共4题,每题6分,共24分)

1、写出程序运行结果。

void main( )

{ int x=1,y=2,t;

int *p1,*p2;

p1=x; p2=y;

t=*p1;*p1=*p2;*p2=t;

printf("x=%d,y=%dn",x,y);

}

运行结果为:

程序有错,不能运行!或写:

x=2,y=1

2、写出程序运行结果。

#includestdio.h

int max(int a,int b)

{ int c;

c=ab?a:b;

return(c);

}

int min(int a,int b)

{int c;

c=ab?a:b;

return(c);

}

void main()

{ int a=2,b=6;

printf("max=%dn",max(a,b));

printf(“min=%dn”,min(a,b));

}

运行结果为:

程序有错,不能运行!或写:

max=6

min=2

3、写出程序运行结果。

#include stdio.h

void main()

{ int a[3][3]={1,2,3,4,5,6,7,8,9};

int i,j,sum=0;

for (i=0;i3;i++)

for(j=0;j3;j++)

if(i==j) sum=sum+a[i][j];

printf(“sum=%dn”,sum);

}

运行结果为:

程序有错,不能运行!或写:

sum=15

4、写出程序运行结果。

void main( )

{ int n,f;

n=1;

while(n=10)

{ f=f*n;

n+=2;

}

printf(“f=%dn”,f);

}

运行结果为:

程序有错,不能运行!或写:

f=不确定

五、程序设计题(共2题,每题13分,共26分)

1、将一个数组按逆序存放,如元素1、2、3、4、5,按逆序存放后为5、4、3、2、1。


    “c语言程序设计期末上机考试题库及答案(c语言程序设计教程期末考试)”由考试资料网(www.kszl.net)整理!仅供学习参考!具体以权威部门公布的内容为准!

------分隔线----------------------------


------分隔线----------------------------