C语言试卷A答案

发布 2021-04-23 11:54:28 阅读 5173

一、选择题(1)~(10)每小题2分,(11)-(50)每小题1分,共60分)

下列各题a)、b)、c)、d)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。

(1)算法能正确地实现预定功能的特性称为算法的。

a)确定性 b)易读性 c)健壮性 d)高效性。

答案:a评析:算法的确定性是指算法中的每一个步骤都必须是有明确定义的,不允许有摸棱两可的解释,也不允许有多义性,即每个步骤都是预先定义好的。

(2)数据在计算机存储器内表示时,物理地址与逻辑地址相同并且是连续的,称之为。

a)存储结构 b)逻辑结构。

c)顺序存储结构 d)链式存储结构。

答案:c评析:如果数据之间在逻辑上有相邻关系时,能够在物理位置上体现出来,则这种存储结构称为顺序存储结构。

如果数据之间的逻辑相邻关系在存储时是靠存储地址的指针来体现的,则称为链式存储结构。

(3)从未排序序列中依次取出一个元素与已排序序列中的元素依次进行比较,然后将其放在已排序序列的合适位置,该排序方法称为。

a)希尔排序 b)冒泡排序 c)插入排序 d)选择排序。

答案:c评析:最基本的排序方法有三大类,即选择排序、交换排序和插入排序。

(4)对线性表进行折半查找时,要求线性表必须。

a)以顺序方式存储。

b)以链接方式存储。

c)以顺序方式存储,且结点按关键字有序排列。

d)以链接方式存储,且结点按关键字有序排列。

答案:c评析:折半查找算法要求被查找的对象必须采用顺序的存储结构,并且关键字有序排列。

(5)链表不具备的特点是。

a)可随机访问任意一个结点。

b)插入和删除不需要移动任何元素。

c)不必事先估计存储空间。

d)所需空间与其长度成正比。

答案:a评析:顺序表可以随机访问任意一个结点,而链表必须从第一个数据结点出发,逐一查找每个结点。

(6)下列描述中正确的是。

a)软件是物理产品。

b)程序就是软件。

c)软件工程由方法、工具和过程三部分组成。

d)软件工程是一个机械工程。

答案:b评析:软件是与计算机系统操作有关的程序、规程、规则及任何与之有关的文档和数据。

计算机软件是一种逻辑产品,而不是物理产品。软件工程是用工程、科学和数学的原则与方法研制、维护计算机软件的有关技术及管理方法。软件工具可以自动或半自动的生成软件文档。

软件工程过程是管理者控制软件开发各环节的基本方法。

(7)软件测试是保证软件质量最关键的步骤,下列关于白盒测试技术描述中不正确的是___

a)保证模块中每一独立的路径至少执行一次。

b)保证所有判断的每一分支至少执行一次。

c)保证每一循环都在边界条件和一般条件下最多执行一次。

d)验证所有内部数据结构的有效性。

答案:c评析:软件测试技术中,白盒测试技术和黑盒测试技术是两种基本的软件测试手段。

白盒测试技术有四个原则:保证模块中每一个独立的路径至少执行一次;保证所有判断的每一分支至少执行一次;保证每一循环都在边界条件和一般条件下至少执行一次;验证所有内部数据结构的有效性。

(8)客观世界中任何一个事物都可以看成一个对象。但是从计算机的角度看,一个对象应该包含两个要素:一个是___另一个是需要进行的操作。

a)语句 b)命令 c)算法 d)数据。

答案:d评析:在面向对象的程序设计中,从计算机的角度看,一个对象应该包含两个元素:

数据,相当于家庭中的成员;操作,相当于家庭成员的活动。对象就是一个包含数据与这些数据有关的操作的集合。

9以下叙述中正确的是___

a)c语言中的全部数据类型都是基本类型。

b)c语言中的全部数据类型都是构造类型。

c)c语言中的数据类型只有两种,即基本类型和构造类型。

d)以上都不对。

答案:d评析:c语言中的数据类型有四种,即基本类型、构造类型、指针类型和空类型。

10下列可作为c语言赋值语句的是___

a)x=3,y=5 b)a=b=6 c)i--;d)y=6

答案:c评析:此题实际上是考查对c语言中"语句"概念的理解。

表达式后面只有加上分号才能成为语句,因此,a),b),d)均是表达式,只有c)为语句。且利用自减运算符使i值减l。

11以下可以定义为用户标识符的是___

a)printf b)net c)3com d)int

答案:b评析:c语言中的标识符分为两类。

一类是系统标识符,即系统定义使用的关键字标识符等。另一类是用户自定义标识符。两类标识符都只能用字母、数字和下划线三种字符组成。

且第一个字母必须为字母或下划线。并且用户自定义标识符不能使用系统关键字相同的标识符。

12以下选项中,不能作为合法常量的是___

a)0x2a b)015 c).2.8e9 d)123.6e0.4

答案:d评析:c程序中的基本数据类型有整型、实型和字符型。其中整型常量三种形式,即八进制、十进制和十六进制。而实型常量有十进制小数和指数形式两种。

13有以下程序。

main()

程序运行后的输出结果是___

a)1,65,1,6.5 b)1,a,1.5,6.5 c)1,65,1.5,6.5 d)2,65,1.5,6.5

答案:b评析:在赋值语句a=f/=c*=(x=6.5);中,可得x=6.5,将x的值乘以10赋予c,为65,再将f=100的值除以65,并按照四舍五入的原则,重新赋给f'得到f=-i.5。

最后将f的值赋给a,由于a是整型,所以得到a=l。

14以下语句序列中错误的是___

a)int x=l; b)int x=0; c)int x=2.3; d)int x=l,y=l;

x++;x+1)++x++)1; (x++)y一);

答案:b评析:c语言中的自加、自减运算只能用于变量,而不能用于常量或表达式。

15有以下程序。

main()

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

a)022111 b)021021 c)000122 d)012

16若x和y代表整型数,以下表达式中不能正确表示数学关系|x-y|<10的是 (c)

a)abs(x-y)<10 b)x-y>-10&& x-y<10

c)!(x-y)<-10||!y-x)>10 d)(x-y)*(x-y)<100

有以下程序。

main()

程序运行后的输出结果是 a

a)2 b)3 c)43 d)44

18下列条件语句中,功能与其他语句不同的是 d

a) if(a) printf(%d,x); else printf(%d,y);

b) if(a==0) printf(%d,y); else printf(%d,x);

c) if (a!=0) printf(%d,x); else printf(%d,y);

d) if(a==0) printf(%d,x); else printf(%d,y);

19有以下程序。

main()

printf(%d,s);

程序运行后的输出结果是 d a)10 b)13 c)21 d)程序进入死循环

20.若变量已正确定义,要求程序段完成求5!的计算,不能完成此操作的程序段是b

a)for(i=1,p=1;i<=5;i++)p*=i;

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

c)i=1;p=1;while(i<=5)

d)i=1;p=1;dowhile(i<=5);

21有以下程序。

main()

若运行时从键盘上输入:6,5,65,66。则输出结果是 a

a)6,5,a,b b)6,5,65,66 c)6,5,6,5 d)6,5,6,6

22以下能正确定义二维数组的是c

a)int a[3]; b)int a[3]=2;

c)int a[3]={d)int a[2][3]=,

23有以下程序

int f(int a)

main(),i,d=0;

for (i=0;f(s);i++)d+=s;

printf(%d,d);

程序运行后的输出结果是 a

a)9 b)11 c)19 d)21

24若有以下说明和语句,int c[4][5],(p)[5];p=c;能正确引用c数组元素的是 d a)p+1 b)*(p+3)

c)*(p+1)+3 d)*(p[0]+2])

25有以下程序

main()

程序运行后的输出结果是 c

a)8,7,8,7 b)7,8,7,8 c)8,7,7,8 d)7,8,8,7

二、填空题(每空4分,共20分)

1) 以下程序运行后的输出结果是 【1】 。gae

main ()

char a=language",b=programe";

char *p1,*p2; int k;

p1=a; p2=b;

for(k=0;k<=7;k++)

if(*p1+k)==p2+k)} printf("%c",*p1+k))_

2) 以下程序运行后的输出结果是 【2】 。2*4*6*8*

main()

char a=123456789",*p; int i=0;

p=a;while(*p)

puts(a);

3) 以下程序输出的是 【3】 ab

main( )

4) 函数fun的功能是:使一个字符串按逆序存放,请填空。

void fun (char str)

printf("%s",str);

4】 strlen(str )/2或strlen(str)/2.0或0.5*strlen(str)或j或j-1

5】 str[j-1]或*(str+j-1)

三、c语言程序设计(共30分)

编程,从终端读入数据到数组中,统计其中正数的个数,并计算它们之和。(15分)

main()

int i,a[20],sum,count;

sum=count=0;

for(i=0;i<20;i++)scanf("%d", a ]

fro(i=0;i<20;i++)

printf("sum=%d,count=%d",sum,count);

C语言试卷答案

程序设计语言 c 模拟试卷。一 试题一 40分,每小题4分 按题目要求解答下列各小题。1.定义一个大小为6的数组,并且使数组的值都为0。int a 6 2.写出执行如下程序段后的输出结果。char a hello p p a 2 printf s p llo 3.假设你有x是一个float变量,而不...

C语言试卷 答案

单选题答案。第1题答案 c评析 本题的考查点是格式输入函数scanf 的使用。scanf函数输入形式为 scanf 格式控制,地址表列 选项b中,p long malloc 8 是分配8个字节的long型存储单元,所以能通过scanf语句正确给输入项读入数据 选项c中,p a,求出变量a的内存地址并...

C语言试卷答案

华南农业大学考试试卷 b 卷 2005学年第1学期考试科目 程序设计 考试类型 闭卷 考试时间 10 分钟。考试须知。1 答案必须写在 纸 上,只写试题答案,不必操题。2 必须在答题纸上正确写上班级 学号 姓名等内容,否则没有考试成绩。一 单项选择题。1 下面标识符中,不合法的用户标识符为d a p...