二级C语言笔试-414_第1页
二级C语言笔试-414_第2页
二级C语言笔试-414_第3页
免费预览已结束,剩余15页可下载查看

下载本文档

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

文档简介

1、二级C语言笔试-414(总分:96.50,做题时间:90分钟)一、选择题(总题数:40,分数:65.00)1. 下列描述中,不是线性表顺序存储结构特征的是()。A)不便于插入和删除B)需要连续的存储空间C)可随机访问D)需另外开辟空间来保存元素之间的关系(分数:1.00)A.B.C.D. V解析:解析线性表的顺序存储是用一片连续的空间来存放数据元素,其特点是逻辑上相邻的元素在物理 位置上也相邻。数据元素之间逻辑上的先后关系自动隐含在物理位置的相邻元素之中,因此,不需要另外 开辟空间来保存元素之间的关系。2. 结构化分析方法是面向()的自顶向下、逐步求精进行需求分析的方法。A)对象B)数据结构C

2、)数据流D)目标(分数:2.00 )A.B.C. VD.解析:解析结构化分析方法是面向数据流进行需求分析的方法,采用自顶向下、逐层分解,建立系统的 处理流程,以数据流图和数据字典为主要工具,建立系统的逻辑模型。3. 已知、棵二叉树的后序遍历序列是dabec,中序遍历序列是 debac,则它的前序遍历序列是()A)acbed B) decab C) deabc D) cedba(分数:1.00 )A.B.C.D. Vdeba构成,右子树d,右子树由ba构解析:解析依据后序遍历序列可确定根结点为c,由中序遍历序列可知其左子树由为空;又由左子树的后序遍历序列可知其根结点为e,由中序遍历序列可知其左子

3、树为成,如图所示。由此可知该二叉树的前序遍历序列为选项D)。4. 按照“先进先岀”组织数据的数据结构是()A)队列B)栈C)双向链表D)二叉树(分数:2.00 )A. VB.C.D.解析:解析队列是一种特殊的线性表,只允许在表的一端插入元素,在表的另一端删除元素,插入元素 的一端叫“队尾”,删除元素的一端叫“队头”,先插入的元素先被删除,是按“先进先出”的原则组织 数据的。5. 在软件开发中,需求分析阶段产生的主要文档是()。A可行性分析报告B)软件需求规格说明书C)概要设计说明书D)集成设计计划(分数:2.00 )A.B. VC.D.解析:解析需求分析的最终结果是生成软件需要规格说明书,可以

4、为用户、分析人员和设计人员之间的 交流提供方便,可以直接支持目标确认,又可以作为控制软件开发进程的依据。6. 软件设计中划分模块的一个准则是A)低内聚低耦合B)高内聚低耦合C)低内聚高耦合D)高内聚高耦合(分数:2.00 )A.B. VC.D.解析:解析模块划分应考虑的因素包括模块之间的耦合和内聚。一般来说,要求模块之间的耦合尽可能 地低,即模块尽可能独立,要求模块的内聚程度尽可能地高,即遵循高内聚、低耦合的原则。7. 对于n个结点的单向链表(无表头结点),需要指针单元的个数至少为 。A)n-1 B) n C) n+1 D) 2n(分数:2.00 )A.B.C. VD.解析:评析在n个结点的单

5、向链表(无表头结点)中,每个结点都有一个指针单元(即指针域),加上头指针,至少需要n+1个指针单元。8. 设有如下三个关系表BC13ABCm1P 3n13下列操作中正确的是A) T=Rns B) T=R US C) T=RXS D) T=R/S(分数:2.00 )A.B.C. VD.解析:解析对于两个关系的合并操作可以用笛卡尔积表示。设有n元关系R和m元关系S,它们分别有p和q个元组,则R与S的笛卡尔积记为RXS,它是一个 m+n元关系,元组个数是 pXq,由题意可得,关 系T是由关系R与关系S进行笛卡尔积运算得到的。9. 下面各选项中,均是 C语言合法标识符的选项组是A)33 we auto

6、 B) _23 me _3ewC) _43 3e_ else D) ER-DF 32(分数:1.00 )A.B. VC.D.解析:解析合法的标识符是由字母、数字和下划线组成,并且第一个字符必须为字母或下划线,用户定义的标识符不能与关键字相同。选项A),数字不能为第一个字母,auto为关键字;选项C)中,也是数字不能为第一个字母,else为关键字;选项D)中负号不合法。10. 若函数中有定义语句:int k ;,则。A)系统将自动绐K赋初值0 B)这时K中的值无定义C)系统将自动绐K赋初值-1 D)这时K中无任何值(分数:2.00 )A.B. VC.D.解析:评析基本型的整型变量用类型名关键字i

7、nt进行定义,当定义时,编译程序仅为K开辟存储单元,而没有在存储单元中存放任何初值,此时变量中的值是无意义的,称变量值“无定义”。11. 以下C语言用户标识符中,不合法的是()A_1 B AaBcCa_b Da-b(分数: 1.00 )A.B.C.D. V解析: 解析 标识符主要由英文字母、数字和下画线构成,但开头字符一定是字母或下画线。12. 有以下程序:#include < stdio.h >main()int x=1, y=0, a=0, b=0;switch(x)case 1 :switch(y)case 0 :a+;breakcase 1 :b+;breakcase 2

8、:a+; b+; breakcase 3 :a+; b+;printf("a=%d , b=%d/n", a, b);程序的运行结果是 。A) a=1 , b=0 B) a=2 , b=2C) a=1 , b=1 D) a=2 , b=1(分数: 1.00 )A.B.C.D. V解析:解析本题考查switch语句。x=1,因此第一个switch语句是执行case 1 :后面的语句,进入嵌 入的switch 语句;y=0,执行case 0 :后面的语句,得 a=1,遇到break语句退出嵌入的switch语句。 由于第一个 switch 语句的 case 1 :后面没有 br

9、eak 语句,因此继续执行 case 2 :后面的语句,得 a=2, b=1,遇到break语句退出第一个 switch语句。结果为 a=2, b=1。13. 若运行以下程序时,从键盘输入ADescriptor < CR>( <。9表示回车),则其运行结果是#include < stdio.h >main( )char c ;int v0=1, v1=0, v2=0;do switch(c=getchar( )case'a':case'A':case'e':case'E':case'i'

10、;: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=8C) v0=11 ,v1=4, v2=11 D) v0=13 , v1=4,v2=12(分数: 1.00 )A.B.C.D. V解析: 解析 由于只有

11、 4 个元音字符,所以 v1=4,v0 和 v2 在循环 11 次中都要加 1,共循环 12次,由于 v0 的初值为 1,所以 v0=13, v2=12。14. 有以下程序fun(int x)int p ;if(x=O II x=1) return(3);p=x-fun(x-2) ;return p ;main()printf("%d/n",fun(7) ;执行后的输出结果是A) 7 B) 3 C) 2 D) O(分数: 1.OO )A.B.C. VD.解析: 解析 因为 fun(int x) 是一个递归函数,所以主函数中 fun(7) 经过三次递归调用,其过程可以描述为&

12、quot;fun(7)=7-fun(5)=7-(5-fun(3)=7-(5-(3-fun(1)=7-(5-(3-3)=7-5=2',所以最后的输出结果为2。15. 若整型变量a、b、c、d中的值依次为:1、4、3、2。则条件表达式a< B?A:Cv D?C:D的值是(A) 1(B) 2(C) 3(D) 4(分数: 1.OO )A. VB.C.D.解析:16. 下面程序的功能是把 316 表示为两个加数的和,使两个加数分别能被 13 和 11 整除,请选择填空。#include < stdio . h>main()int i=0,j ,k;doi+ ;k=316-13*

13、iwhile();j=k/11 ; printf("316=13*%d+11,%d ”, i ,j) ;A) k/11 B) k%11 C) k/11=0 D) k%11=0(分数: 1.00 )A.B. VC.D.解析:解析本题的关键是两个加数分别能被13和11整除。当k%11的值为0时,则退出循环,将执行j=k/11 ;语句,输出结果,所以该表达式合理的条件是k%11。17. 下列程序的功能是给r输入数据后计算半径为r的圆面积s。程序在编译时出错。main ()/*Beginning*/int r ; float s ;scanf("%d" , & r

14、) ;s=* n *r*r ;printf ("s=%f/n" , s );出错的原因是 ( ) 。A) 注释语句书写位置错误B) 存放圆半径的变量 r 不应该定义为整型C) 输出语句中格式描述符非法D) 计算圆面积的赋值语句中使用了非法变量(分数: 2.00 )A.B.C.D. V解析:解析在C语言程序中,可以用一个符号名来代表一个常量,称为符号常量。这个符号名必须在程序中进行特别的“指定”,并符合标识符的命令规则。在本题中圆周率n是一个符号常量,但在程序中并没有指定其值,所以编译器找不到其值就会报错。所以选项D)正确。18. 设变量x为float型且已赋值,则以下语句中

15、能将x中的数值保留到小数点后两位,并将第三位四舍五入的是 ( ) 。A) x=x*100+0.5/100.0; B) x=(x*100+0.5)/100.0C) x=(int)(x*100+0.5)/100.0; D) x=(x/100+0.5)/100.0;(分数: 1.00 )A.B.C. VD.解析:解析本题考查实型数据。题目要求保留到小数点后两位,选项A)、B)、D)都不合要求。在选项C)中,x*100+0.5的作用是将第三位四舍五入,取整后再除以100.0,即可得符合要求的数据。19. 定义下列结构体 ( 联合 ) 数组:struct stchar name15 ;int age ;

16、a10="ZHAO" , 14, "WANG",15, "LIU",16 , "ZHANG",17;执行语句 printf("%d , %c", a2.age , *(+2) 的输出结果为 ( ) 。A) 15 , A B) 16 , H C) 16 , A D) 17 , H(分数: 2.00 )A.B.C. VD.解析: 解析 本题主要考查结构体数组。 a2.age 为结构体 a2 的 age 成员,即 16。 为指向 结构体a3的name成员的第一个元素的指针

17、,即指向"Z ,(+2)将指针后移两位指向第三个元素“ A,*(+2)是取指针所指向地址的内容。20. 有以下程序:void change(int k)k0=k5;)main()int x10=1,2,3,4,5,6,7,8,9,10,n=0;while(n < =4)(change( & xn) ; n+; for(n=0;n < 5;n+)printf("%d",xn);printf("/n") ;程序运行后的输出结果是 。A) 6 7 8 9 10 B) 1 3 5 7 9 C) 1 2 3

18、 4 5 D) 6 2 3 4 5(分数: 2.00 )A. VB.C.D.解析:解析本题主要考查数组元素的地址作为实参,当n=0时,把x0的地址传递给被调函数 change(),即把形参 k 和实参 x 指向同一个存储单元,执行被调函数后 k0=6 ,即 x0=6 ;当 n=1 时,执行被调函数 后x1=7,以此类推,最后得到 x数组的值为6,7,8,9,10。21. 对两个数组 a 和 b 进行下列初始化:char m="1234567"char n='1','2','3','4','5',

19、'6','7'则下列叙述正确的是 ( ) 。A)数组m与数组n完全相同B)数组m与数组n长度相同C)数组m比数组n长1 D)数组m与数组n中都存放字符串(分数: 2.00 )A.B.C. VD.解析: 解析 本题考查字符数组和字符串赋值给数组的一些区别。.语句“ char m="1234567" ”定义了一个字符型数组并进行了初始化,C语言规定,在字符串的末尾自动加上串结束标记70',因此数组m的长度是8;而数组n是按照字符方式对数组进行初始化,系统不会 自动加上串结束标记70',因此数组n的长度是7。22. 下列叙述错误的是

20、 ( ) 。A) 函数名是属于用户标识符,需符合C语言对标识符的规定B) 形参只能是变量C) 为保证程序的正常运行,函数中定义的变量不能与其他函数中的变量同名D) 函数中定义的变量可以与其他函数中的变量同名(分数: 2.00 )A.B.C. VD.解析: 解析 本题考查函数调用时参数的作用域。在函数调用时,函数体内定义的变量的作用域在函数体 内,因而在不同函数体内定义的变量可以相同,不影响各个变量的使用。23. 下列程序的输出结果是 ( ) 。#include < stdio.h >main()char ch25="1234","5678",

21、*p2;int i,j,s=0;for(i=0;i < 2;i+)pi=chi;for(i=0;i < 2;i+)for(j=0;pij>'/0',j+=2)s=pij-'0'printf("%d",s);)A) 6357 B) 6135 C) 1357 D) 691357(分数: 2.00 )A.B.C. VD.解析:解析本题先将指针p指向二维数组ch25,相当于p0="1234",p1="5678",通过双重for循环,是要将 p 中的字符隔一个输出一个,通过 s=pij-'

22、;0' 这条语句是将所要输出的字符转换成相应 的十进制数。24. 若有以下结构体定义,则是正确的引用或定义。struct exampleint x ;int y ;v1;A) example.x=10 B) examplev2.x=10C) struct v2 ;v2.x=10 D) struct example v2=10;(分数: 2.00 )A.B.C.D. V解析: 评析 在定义结构体变量时,不能只用结构体名 example 或关键字 struct 进行定义,必需要用结 构体类型名 struct example 定义,在引用结构体成员变量时,需要用结构体变量名进行引用,所以选D

23、。25. 表达式0x11的值是()。A0xFFEE B0x71 C0x0071 D0xFFE1分数: 1.00 )A. VB.C.D.解析:解析本题主要考查按位求反运算:十六进制整型常量的形式是以数字0x开头的十六进制字符串;按位求反运算的规则是:将二进制表示的运算对象按位取反,即将1 变0,将 0变 1。26. 以下不正确的定义语句是 ( ) 。A) double x5=2.0, 4.0, 6.0, 8.0 , 10.0; B) int y5=0, 1, 3, 5, 7, 9;C) char c1='1', '2' , '3' , '4

24、' , '5' ; D) char c2='/x10', '/xa', '/x8'(分数: 1.00 )A.B. VC.D.解析:解析选项B)中定义的y数组的长度为5,但赋初值时有6个元素,所以是错误的27. 有以下程序#include< stdio . h >#include<string . h>void fun(char , *s , int n)char *t; int i , j ;for(i=0 ; i < n-1 ; i+)for(j=i+1 ; j < n; j+)if(

25、strlen(si)> strlen(sj) t=si;si : sj ;sj=tmain()"aaaacc" , "aabcc" ;ss0 ,ss4) ;char *ss="bcc" ,"bbcc" ,"xy" , fun(ss ,5); printf("%s ,%s/n", 程序的运行结果是A) xy ,aaaacc B) aaaacc ,xy C) bcc , aabcc D) aabcc ,bcc分数: 2.00 )A. VB.C.D.解析: 解析 函数 fun

26、(char ,s ,int n) 的功能是对字符串数组的元素按照字符串的长度从小到大排序。在主函数中执行 fun(ss , 5)语句后,*ss = "xy" , "bcc" , "bbcc" , "aabcc" , "aaaacc" , ss0 , ss4 的输出结果为 xy, aaaacc。28. 以下程序运行后的输出结果是#include < stdio.h >struct stint x , y; data2=1, 10, 2, 20;main( )struet st *p=d

27、ata;printf("%d , ", p->y);printf("%d/n", (+p)- >x);A) 10 , 1 B) 20 , 1 C) 10 , 2 D) 20 , 2(分数: 2.00 )A.B.C. VD.解析: 解析 正确地给结构体数组赋初值, data0.x=1 、 data0.y=10 、data1 .x=2 、data1 .y=20 首先,p指向data0,第一条打印语句输出p- >y,即data0.y 的值10;什+p)- >x含义是先+p,此时p指向data1,第二条打印语句输出 什+p)- >x

28、,即dala1.x 的值2。29. 若程序有宏定义: #define N 100 则以下叙述中正确的是 。A) 宏定义中定义了标识符N的值为整数100B) 在编译程序对C源程序进行预处理时用100替换标识符NC) 对C源程序进行编译时用100替换标识符ND) 在运行时用 100替换标识符 N分数: 2.00 )A.B. VC.D.解析:解析本题考查的重点是宏定义。#define指令定义一个标识符和一个串,编译程序在对C源程序处理时,发现该标识符就都用该串替换,因此选项B是正确的。30. 以下叙述中正确的是 。A) 预处理命令行必须位于 C 源程序的起始位置B) 在C语言中,预处理命令行都以“

29、#”开头C) 每个C程序必须在开头包含预处理命令行:#include < stdio.h >D) C 语言的预处理不能实现宏定义和条件编译的功能(分数: 2.00 )A.B. VC.D.解析:解析在C程序中,以#开头的行都称为“编译预处理”行;预处理功能主要包括宏定义、文件包 含和条件编译等。预处理命令行可放在C源程序的任何位置,“ #include ”实现文件包含的功能,不是每个 C 程序都必须具备。31. 设有如下定义:struct complexint real, unreal; data1=1, 8. data2;则以下赋值语句中错误的是A) data2=data1; B)

30、 data2=(2, 6);C) data2.real=data1.real; D) data2.real=data1.unreal;(分数: 2.00 )A.B. VC.D.解析: 解析 同类型的结构体变量之间可以相互赋值;同类型的成员间也可相互赋值。32. 以下结构体类型说明和变量定义中正确的是 。A) typedef structint n ; char c ; ) ;REC t1 , t2 ;B) struct REC ;int n ; char c ; )REC;REC t1 , t2 ;C) typedef struct REC ;int n ; char c ; REC;D) s

31、tructint n=0 ; char c='A'; t1 , t2 ;REC t1 , t2 ;(分数: 2.00 )A. VB.C.D.解析:解析选项A中用typedef定义结构体类型名REC后, REC能够唯一地标识这种结构体类型,可以用REC定义变量,这是正确的结构体类型变量的定义,选项C是错误的。选项 B中“structREC; ”后面不应该加分号。选项 D中的结构体是一个无名结构体类型,REC是结构体变量,不是结构体类型,因此不能用来定义结构体变量。33. 以下结构体类型说明和变量定义中正确的是 。A) typedef struct B) struct REC;in

32、t n ;char c ;REC; int n ; char c ;REC t1, t2; REC t1 , t2 ;C) typedef struct REC; D) structint n=0 ;char c='A' ;t1 , t2 ; int n ; char c ; REC;REC t1,t2 ;(分数: 2.00 )A. VB.C.D.解析:解析选项A中用typedef定义结构体类型名REC后, REC能够唯一地标识这种结构体类型,可以用REC定义变量,这是正确的结构体类型变量的定义,选项C是错误的。选项 B中“struct REC ; ”后面不应该加分号。选项 D

33、中的结构体是一个无名结构体类型,REC是结构体变量,不是结构体类型,因此不能用来定义结构体变量。34. 以下与函数 fseek (fp, OL, SEEK_SET) 有相同作用的是 ( ) 。A) feof(fp) B) ftell(fp) C) fgetc(fp) D) rewind(fp)(分数: 1.00 )A.B.C.D. V解析: 解析 feof 函数的功能是判断文件指针是否已指到了文件末尾,是则返回非零值,否则返回零;ftell 函数的功能是得到流式文件中文件指针的当前位置, 用相对于文件开头的位移量来表示; fgetc 函数 的功能是从指定文件读人一个字符; rewind 函数的

34、功能是使文件指针重新返回文件的开头。fseek 函数用于改变文件的位置指针,调用形式为: fseek( 文件类型指针,位移量,起始点 ) ,“起始点” 取值O(SEEK_SET) 1(SEEK_CUR、2(SEEK_END分别表示文件开始、 文件当前位置、文件末尾。“位移量” 是以“起始点”为基点,向前移动的字节数。函数fseek(fp ,OL,SEEK_SET的作用是将位置指针移到文件头,所以选项D)正确。35. 若已经定义的函数有返回值,则以下关于该函数调用的叙述中错误的是 。A) 函数调用可以作为独立的语句存在B) 函数调用可以作为一个函数的实参C) 函数调用可以出现在表达式中D) 函数

35、调用可以作为一个函数的形参分数: 2.OO )A.B.C.D. V解析:解析swapl(a , a+1)是将a, a+1的地址进行传递,运行swapl以后,a0 , a1的值不发生改变, 而swap2(&b0 ,&b1)是将两个指针所指的元素进行传递,运行swap2后,b0与b1的值互换。36. 以下程序的输出结果是main( )int c=35;printf("%d/n",cc);A)0 B)70 C)35 D)1(分数: 2.00 )A.B.C. VD.解析: 解析 本题考查按位与“”。因为 1&1=1, 00=0,所以任何数与自身按位与,结果仍

36、为此数, 不发生变化。37. 在位运算中,操作数每右移两位,其结果相当于 ( ) 。A) 操作数乘以 2 B) 操作数除以 2C) 操作数除以 4 D) 操作数乘以 4(分数: 2.00 )A.B.C. VD.解析: 解析 在位运算中,操作数每右移两位,相当于在操作数的左侧添 0,最右面的两位被移出,即操 作数除以 4038. 设有如下说明typedef struct STlong a; int b;char c2; NEW; 则下面叙述中正确的是 。A) 以上的说明形式非法 B) ST 是一个结构体类型C) NEW是一个结构体类型 D) NEW是一个结构体变量(分数: 1.00 )A.B.C

37、. VD.解析:解析本题考查结构体的定义。将题中的定义语句去掉前面的typedef和后面的NE0就是一条完整的结构体定义语句。此时要声明该结构体变量时需用struct加结构体名一起来声明,即 struct ST 一起构成一个结构体类型。若保留NEW就是一条结构体定义的同时声明一个结构体变量NEW勺语句。C语言中允许用 typedef 说明一种新类型名,语法格式为:typedef 类型名 标识符;以后就可以用该标识符代替被说明的类型了。所以当前面存在typedef时,NEW就成了 struct ST 的新名称,即NEW成了一个结构体类型,而 ST只是一个结构体名。所以,选项C正确。39. 以下叙

38、述中错误的是 ( ) 。A) C 程序必须由一个或一个以上的函数组成B) 函数调用可以作为一个独立的语句存在C) 若函数有返回值,必须通过 return 语句返回D) 函数形参的值也可以传回给对应的实参(分数: 1.00 )A.B.C.D. V解析: 解析 C 程序的函数调用是单向的值传递,即实参的值传给形参, 形参的值是不传回给对应的实参。形参是局部变量,在调用函数时,给形参分配存储单元,调用结束后,形参单元被释放。40. 有以下程序:#include < stdio.h >main()int c;while(c=getchar() )! ='/n')switch

39、(c-'2')case 0: case 1: putchar(c+4);case 2:putehar(c+4);break;case 3:putchar(c+3);default:putchar(c+2);break;运行程序,从第一列开始输入以下数据:2473<回车>则程序的输出结果是 ( ) 。A) 668977 B) 668966 C) 66778777 D) 6688766(分数: 2.00 )A. VB.C.D.解析: 解析 本题考查 switch 语句。 while 中的表达式判断用 getchar 函数从键盘接收的字符是否是回 车符,若不是,则执行 s

40、witch 多分支选择语句,根据表达式 c-'2' 的值进行分支选择;函数 putchar 是在 屏幕上输出一个字符,最后的结果应当为668977。二、填空题 (总题数: 15,分数: 31.50)41. 算法复杂度主要包括时间复杂度和 1 复杂度。(分数: 2.00 )填空项 1: (正确答案:空间)解析:42. 在程序设计阶段应该采取 1 和逐步求精的方法,把一个模块的功能逐步分解,细化为一系列具体的步 骤,继而用某种程序设计语言写成程序。(分数: 1.50 )填空项 1: (正确答案:自顶向下)解析: 解析 在程序设计时,应先考虑总体,后考虑细节,逐步使问题具体化,对复杂

41、的问题,应该设计 一些子目标作为过渡,上述方法概括为:自顶向下,逐步细化。43. 对软件设计的最小单位 ( 模块或程序单元 ) 进行的测试通常称为 测试。(分数: 2.00 )填空项 1: (正确答案:单元)解析: 解析 本题考查的知识点是软件测试的过程。软件测试的过程一般分以下 4 个步骤。 单元测试:是对软件设计的最小单位模块进行正确性检验的测试。集成测试: 是测试和组装软件的过程, 主要目的是发现与接口有关的错误, 其测试依据是概要设计说明书。 集成测试的内容包括软件单元的接口测试、全局数据结构测试、边界条件和非法输入的测试。确认测试:它的任务是用户根据合同确定系统功能和性能的可接受性。

42、对软件进行有效性测试,验证软件 是否满足需求规格说明确认的标准。系统测试:是将软件系统与硬件、外设或其他元素结合在一起,对整个软件系统进行测试。具体实施一般 包括功能测试、性能测试、操作测试、配置测试、外部接口测试、安全测试等。44. 数据模型按不同应用层次分成三种类型,它们是概念数据模型、U /U 和物理数据模型。(分数: 2.00 )填空项 1: (正确答案:逻辑数据模型)解析: 解析 数据模型按不同的应用层次分成三种类型,它们是概念数据模型、逻辑数据模型、物理数据模型。45. 阅读下面程序,则执行后的输出结果是 。#include"stdio.h"main()int

43、x ,y,z ;x=1;y=2;z=3;if(x > y)if(x > z)printf("%d" , x);else printf("%d" , y) ;printf("%d/n" , z) ;(分数: 2.00 )填空项 1: (正确答案: 3)解析:解析C语言的语法规定:else子句总是与前面最近的不带else的if相结合。因为x不大于y,所以执行 printf("%d/ n" , z) ;语句。46. 表示“整数x的绝对值大于5”时值为“真”的 C语言表达式是U /U。(分数: 2.00 )填空

44、项1: (正确答案:x >5|x v -5或abs(x) > 5)解析:解析要使整数x的绝对值大于5,则x大于5或x小于-5,用C语言表示即为:x>5| xv -5或 者 abs(x) > 5。47. 设y为血型变量,请写出描述“y 是偶数”的表达式1(分数:2.00)填空项1: (正确答案:(y%2)=0)解析:解析因符合偶数的条件是对 2取余为0,所以要描述y是偶数的表达式是(y%2)=048. 设 int a=5 ,b=6,表达式什+a=b-)?+a:-b的值是 1。(分数:2.00)填空项1: (正确答案:7)解析:解析此表达式由三目运算符连接,进行(+a=b-

45、)中的“= "运算时,+a的值为6,b-的值为6,则整个表达式的值为+a的值,+a的值为7。这里要注意前缀+、-和后缀+、-的区别。49. 以下函数用来求岀数组的最大元素在数组中的下标并存放在k所指的存储单元中。请填空。#include < conio.h >#include < stdio.h >int fun(int *s , int t , int *k)int i ;*k=0 ;8_if(s*k < si)*k=i;return 9;main()int a10: 876,675,896,101,301,401,980,431,451,777,k;

46、fun(a , 10,&k);pfintf("%d ,%d/n",k,ak);(分数:2.00 )填空项 1: (正确答案:8 for(i=0 ; i < t ; i+)9 0 )解析:解析本题中直接使用指针变量k,但在使用时要注意对k的指针运算,此外,一开始应使*k的值为数组中的某一下标值,即*k=0。50. 当执行以下程序时,输入1234567890<回车>,则其中 while循环体将执行 次。#include < stdio.h >main()char ch ;while(ch=getchar()='0')printf("#");(分数:2.00 )填空项1: (正确答案:0)解析:解析“ch=getchat() ”的功能是从终端读入一个字符赋给变量ch,由于getchar()只能

温馨提示

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

评论

0/150

提交评论