[计算机类试卷]国家二级(C语言)笔试模拟试卷120及答案与解析.doc

上传人:eastlab115 文档编号:503283 上传时间:2018-11-29 格式:DOC 页数:24 大小:63.50KB
下载 相关 举报
[计算机类试卷]国家二级(C语言)笔试模拟试卷120及答案与解析.doc_第1页
第1页 / 共24页
[计算机类试卷]国家二级(C语言)笔试模拟试卷120及答案与解析.doc_第2页
第2页 / 共24页
[计算机类试卷]国家二级(C语言)笔试模拟试卷120及答案与解析.doc_第3页
第3页 / 共24页
[计算机类试卷]国家二级(C语言)笔试模拟试卷120及答案与解析.doc_第4页
第4页 / 共24页
[计算机类试卷]国家二级(C语言)笔试模拟试卷120及答案与解析.doc_第5页
第5页 / 共24页
点击查看更多>>
资源描述

1、国家二级( C语言)笔试模拟试卷 120及答案与解析 1 下列选项中,不是一个算法的基本特征的是 ( )。 ( A)完整性 ( B)可行性 ( C)有穷性 ( D)拥有足够的情报 2 结构化分析方法是面向 ( )的自顶向下、逐步求精进行需求分析的方法。 ( A)对象 ( B)数据结构 ( C)数据流 ( D)目标 3 下列工具中为需求分析常用工具的是 ( )。 ( A) PAD ( B) PFD ( C) N-S ( D) DFD 4 对线性表进行二分法检索,其前提条件是 ( )。 ( A)线性表以顺序方式存储,并按关键码值排好序 ( B)线性表以顺序方式存储,并按关键码的检索频率排好序 (

2、C)线性表以链式方式存储,并按关键码值排好序 ( D)线性表以链式方式存储,并按关键码的检索频率排好序 5 下列选项中不属于结构化程序设计方法的是 ( )。 ( A)自顶向下 ( B)逐步求精 ( C)模块化 ( D)可复用 6 关于结构化程序设计原则和方法描述错误的是 ( )。 ( A)选用的结构只准许有一个入口和一个出口 ( B)复杂结构应该用嵌套的基本控制结构进行组合嵌套来实现 ( C)不允许使用 GOTO语句 ( D)语言中所没有的控制结构,应该采用前后一致的方法来模拟 7 软件需求分析阶段的工作,可以分为 4个方面:需求获取、需求分析、编写需求规格说明书以及 ( )。 ( A)阶段性

3、报告 ( B)需求评审 ( C)总结 ( D)都不正确 8 下列对于软件测试的描述中正确的是 ( )。 ( A)软件测试的目的是证明程序是否正确 ( B)软件测试的目的是使程序运行结果正确 ( C)软件测试的目的是尽可能多地发现程序中的错误 ( D)软件测试的目的是使程序符合结构化原则 9 用链表表示线性表的优点是 ( )。 ( A)便于随机存取 ( B)花费的存储空间较顺序存储少 ( C)便于插入和删除操作 ( D)数据元素的物理顺序和逻辑顺序相同 10 在数据库设计中,将 E-R图转换为关系模式的过程属于 ( )。 ( A)需求分析阶段 ( B)逻辑设计阶段 ( C)概念设计阶段 ( D)

4、物理设计阶段 11 下列说法正确的是 ( )。 ( A)在 C程序中, main()函数必须位于程序的最前面 ( B)在 C程序中,一条语句只能写一行而不能写多行 ( C) C程序是以行 为基本单位的 ( D) C语言本身没有输入输出语句 12 设在 C语言中, float类型数据占 4个字节,则 double类型数据占 ( )个字节。 ( A) 1 ( B) 2 ( C) 8 ( D) 4 13 下列程序的运行结果是 ( )。 int y=5, x=14; y=(x=3* y,x+1), x-1); printf(“x=%d, y=%d“, x, y); ( A) x=27, y=27 (

5、B) x=12, y=13 ( C) x=15, y=14 ( D) x=y=27 14 设 int x=1, y=1;表达式 (!x|-y)的值是 ( )。 ( A) 0 ( B) 1 ( C) 2 ( D) -1 15 下列程序输出的结果是 ( )。 main() int a; a=-4+4*5-6;printf(“%d”, a); a=4+4%5-6; printf(“%d”, a); a=-3+4%6/5;printf(“%d”, a); a=(7+6)%5/2; printf(“%d”, a); ( A) 10 2-3 1 ( B) 10-2 2 1 ( C) 11-22 1 ( D

6、) 10 2 2 1 16 若有下列定义和语句: int u=011, v=Ox11,w=11; printf(“%o, %x, %dn”,u, v, w); 则输出结果是 ( )。 ( A) 9, 17, 11 ( B) 9, 11, 11 ( C) 11, 11, 11 ( D) 11, 17, 11 17 若有下列定义 (设 int类型变量占 2个字节 ): int i=8, j=9; 则下列语句: printf(“i=%d, j=%dn”, i, j); 输出的结果是 ( )。 ( A) i=8, j=9 ( B) i=%d, j=%d ( C) i=%8, j=%9 ( D) 8,

7、9 18 为了避免在嵌套的条件语句 if else中产生二义性, C语言规定, else子句总是与( )配对。 ( A)缩排位置相同 if ( B)其前面最近的 if ( C)其后面最近的 if ( D)同一行上的 if 19 下列程序的输出结果是 ( )。 main() char a7=“a00a00“; int i, j; i=sizeof(a); j=strlen(a); printf(“%d %dn“,i, j); ( A) 2 2 ( B) 7 6 ( C) 7 2 ( D) 6 2 20 下列程序的运行结果是 ( )。 #include stdio h main() int a=0

8、,b=4, c=0, d=10, x; if(a) d=d-10; else if(!b) if(!c) x=15; else x=25; printf(“%dn“, d); ( A) 5 ( B) 3 ( C) 20 ( D) 10 21 下列程序的输出结果是 ( )。 int f1(int x,int y)return x y?x:y; int f2(int x,int y)return x y?y:x; main() int a=4,b=3,e=5,d=2,e,f,g; e=f2(f1(a,b),f1(e,d); f=f1(f2(a,b),f2(e,d); g=a+b+c+d-e-f;

9、printf(“%d,%d,%dn“,e,f,g); ( A) 4,3,7 ( B) 3,4,7 ( C) 5,2,7 ( D) 2,5,7 22 设有程序段: int k=12; while(k=1)k=k-1; 则下列描述中正确的是 ( )。 ( A) while循环执行 10次 ( B)循环是无限循环 ( C)循环体语句一次也不执行 ( D)循环体语句执行一次 23 在执行完下列的 C语句段之后,则 B的值是 ( )。 char a=A; int b; B=(34 ( A) 0 ( B) 1 ( C) TRUE ( D) FALSE 24 有下列函数定义: fun(float h) pr

10、intf(“%f,%fn“,h,h*h); 该函数的类型是( )。 ( A) int类型 ( B) float类型 ( C) void类型 ( D)函数无类型说明,定义有错 25 下列程序中函数 reverse()的功能是将 a所指数组中的内容进行逆置。 #include stdio.h void reverse(int a,int n) int i,t; for(i=0;i n/2;i+) t=ai;ai=an-1-i;an-1-i=t;) main() int b10=1,2,3,4,5,6,7,8,9,10;int i,s=0; reverse(b,10); for(i=0;i 3;i+

11、)s+=bi; printf(“%dn“,s); 程序运行后的输出结果是 ( )。 ( A) 27 ( B) 6 ( C) 25 ( D) 30 26 语句 int(*ptr)()的含义是 ( )。 ( A) ptr是一个返回值是 int的函数 ( B) ptr是指向 int型数据的指针变量 ( C) ptr是指向函数的指针,该函数返回一个 int型数据 ( D) ptr是一个函数名,该函数的返回值是指向 int型数据的指针 27 设有定义: int a=2,b=3,c=4;,则下列选项中值为 0的表达式是 ( )。 ( A) (!a=1) scanf(“%d“, dos=s+t;t=t-2;

12、while(t!=n); 为使此程序段不陷入死循环,从键盘输入的数据应该 是 ( )。 ( A)任意正奇数 ( B)任意负偶数 ( C)任意正偶数 ( D)任意负奇数 29 下列程序的输出结果是 ( )。 #include stdio.h void main() int b6=2,4,6,8,10,12; int *p=b,*q= printf(“%d“,*(p+); printf(“%d,“,*q); ( A) 4,4 ( B) 2,2 ( C) 4,5 ( D) 2,4 30 若有说明语句: double*p,a;则能通过 scanf语句正确给输入项读入数据的程序段是 ( )。 ( A)

13、*p=scanf(“%1f“,p); ( B) *p=scanf(“%f“,p); ( C) p=scanf(“%1f“,*p); ( D) p=scanf(“%1f“,p); 31 下列程序的输出结果是 ( )。 #include stdio.h main() char ch25=“1234“,“5678“,*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) 69135

14、7 32 下列程序的输 出结果是 ( )。 #include stdio.h main() int a23=1,2,3,4,5,6),(*p)3,i; p=a; for(i=0;i 3;i+) if(i 2) p1i=p1i-1; else p1i=1; printf(“%dn“,a01+a11+a12); ( A) 8 ( B) 7 ( C) 12 ( D) 9 33 字符串 “ABCDEF“的长度是 ( )。 ( A) 15 ( B) 10 ( C) 7 ( D) 8 34 若有下列说明,则 ( )不是对 strcpy库函数的正确的调用。 strcpy库函数用于复制一个字符串: char*

15、str1=“abed“,str210,*str3=“hijklmn“,*str42,*str5=“aaaa“; ( A) strcpy(str2,str1) ( B) strcpy(str3,str1) ( C) strcpy(str4,str1) ( D) strcpy(str5,str1) 35 下列程序段的输出结果为 ( )。 #include stdio.h main() static char a=“language“; char *p; p=a; for(p=a;p a+8;p+=2) putchar(*p); ( A) language ( B) lnug ( C)有语法错误 (

16、 D) lang 36 执行下列程序后,输出的结果是 ( )。 #include stdio.h #define S(X)X*X void main() int a=9,k=3,m=2; a/=S(k+m)/S(k+m); printf(“%d“,a); ( A) 1 ( B) 4 ( C) 9 ( D) 0 37 已知有结构体: struct sk int a; float b; data,*p; 若有 p= ( C) p- data.a ( D) p.data.a 38 设有下列说明语句: Strcut Str int x;float y;char z;st; 则下列的叙述中不正确的是 (

17、 )。 ( A) struct是结构体类型的关键字 ( B) st是结构体类型名 ( C) x、 y、 z都是结构体成员名 ( D) struct str是结构体类型名 39 设 x=015,则 x=x017的值是 ( )。 ( A) 1111 ( B) 11111101 ( C) 10 ( D) 11000000 40 若 fp是指向某文件的指针,且尚未读到文件末尾,则函数 feof(fp)的返回值是( )。 ( A) EOF ( B) -1 ( C)非零值 ( D) 0 41 在算法的 4个特性中,算法必须能在执行有限个步骤之后终止指的是算法的_特性。 42 按照逻辑结构分类,结构可以分为

18、线性结构和非线性 结构,栈属于 _。 43 栈中允许进行插入和删除的一端叫做 _。 44 在面向对象程序设计中,从外面看只能看到对象有外部特征,而不知道也无须知道数据的具体结构以及实现操作的算法,这称为对象的 _。 45 软件工程研究的内容主要包括: _技术和软件工程管理。 46 表示 “整数 x的绝对值大于 5”时值为 “假 ”的 C语言表达式是 _。 47 设 y为 int型变量,请写出描述 “y是偶数 ”的表达式 _。 48 下列程序的运行结果是 _。 main() int x=1,y=2,z=3; printf(“%d,“,x y?y:x); printf(“%d,“,z y?x+:y

19、+); printf(“%d,%d“,x,y); 49 下列程序段中循环体的执行次数是 _。 a=15; b=0; dob+=2;a-=2+b;while(a =0); 50 语句 “int(*ptr)();”的含义是 _是指向函数的指针,该函数返回一个 int型数据。 51 下列程序的输出结果是 _。 #include stdio.h int t(int x,int y,int cp,int dp) cp=x*x+y*y; dp=x*x-y*y; main() int a=1,b=8,c=7,d=9; t(a,b,c,d); printf(“%d %dn“,c,d); 52 13在内存中占

20、1个字节, “12“在内存中占 _个字节。 53 #define命令出现在程序中函数的外面,宏名的有效范围为 _。 54 下列程序段的运行结果是 _。 char str=“ABCD“,*p=str; printf(“%dn“,*(p+3); 55 下列程序中的数组 a包括 10个整数元素,分别将前项和后项之和存入数组 b,并按每行 4个元素输出数组 b。请填空。 #include stdio.h main() int a10,b10,i; for(i=0;i 10;i+) scanf(“%d“, for(i=0;i 9;i+) _; for(i=0;i 9;i+) if(i%4=0)print

21、f(“n“); printf(“%3d“,bi); 国家二级( C语言)笔试模拟试卷 120答案与解析 1 【正确答案】 A 【试题解析】 作为一个算法,一般应该具有下列 4个特征: 可行性,即考虑到实际的条件能够达到一个满意的结果; 确定性,算法中的第一个步骤都必须是有明确定义的; 有穷性,一个算法必须在有限的时间内做完; 拥有足够的情报。 2 【正确答案】 C 【试题解析】 结构化分析方法是面向数据流进行需求分析的方法,采用自顶向下、逐层分解,建立系统的处理流程,以数据流图和数据字典为主要工具,建立系统的逻辑模型。 3 【正确答案】 D 【试题解析】 需求分析常用的工具有数据流图 (DFD

22、) 、数据字典 (DD) 、判定树和判定表。 PAD(问题分析图 )、 PFD(程序流程图 )、 N-S(盒式图 )都是详细设计的常用工具,不是需求分析的工具。 4 【正确答案】 A 【试题解析】 对线性表进行二分法检索,要求线性表是按顺序方式存储的,并按关键码值的大小排好序,而不是按关键码的检索频率排序。 5 【正确答案】 D 【试题解析】 结构化程序设计的主要原则概括为自顶向下、逐步求精和限制使用GOTO语句。 6 【正确答案 】 C 【试题解析】 限制使用 GOTO语句是结构化程序设计的原则和方法之一,但不是绝对不允许使用 GOTO语句。其他 3项为结构化程序设计的原则。 7 【正确答案

23、】 B 【试题解析】 需求分析是软件定义时期的最后一个阶段。可以概括为 4个方面: 需求获取: 需求分析; 编写需求规格说明书; 需求评审。 8 【正确答案】 C 【试题解析】 软件测试是为了尽可能多地发现程序中的错误,尤其是发现至今尚未发现的错误。 9 【正确答案】 C 【试题解析】 在链表中因为除了存放数据元 素之外,还要存放指针,所以链表花费的存储空间要比顺序表还要多。在插入和删除数据元素时,只需要移动相应的记录指针即可。在链表中数据的物理结构与逻辑结构不一定相同,因为是靠指针来实现对数据的指定的,所以不能进行随机存取。 10 【正确答案】 B 【试题解析】 数据库设计阶段主要包括需求分

24、析、概念设计、逻辑设计和物理设计。其中,逻辑设计的主要工作是将 E-R图转换为关系模式。 11 【正确答案】 D 【试题解析】 本题涉及 C语言最基本的 4个知识点: C语言程序是由函数构成的, C程序的基本单位 是函数; 每个 C程序有且只有一个主函数 main(),且程序必须从 main()函数开始执行,但是 main()函数可以放在程序中的任意位置; C语言的书写格式是自由的,一行可以写多条语句,一条语句也可以写在不同的行上: C语言本身不提供输入输出语句,可以通过函数来实现输入和输出操作。 12 【正确答案】 C 【试题解析】 在 C语言中各种数据类型在内存中所占的字节数和机器的指令周

25、期有关,若 int类型占 2个字节,则 float类型数据占 4个字节, double类型数据占 8个字节。 13 【正确答案】 C 【试题解析】 逗号表达式的求解步骤是先求解表达式 1,然后依次求解表达式2,直到表达式 N的值。整个逗号表达式的值就是最后一个表达式 N的值。表达式 (x=3*y, x+1)中,第一个表达式 x=3*y=3*5=15:第二个表达式 x+1=16,但没有给 x或 y赋值,所以 x还是等于 15;第 3个表达式 x-1=15-1=14,所以 y的值为14。 14 【正确答案】 A 【试题解析】 当逻辑或运算符两边的运算对象至少有一个为 1时,整个逻辑表达式的值是 1

26、;如果两边的运算对象都为 0,则整个逻辑表达式的值为 0。题中 !x=0, -y=0,所以整个表达式的值是 0。 15 【正确答案】 A 【试题解析】 本题考查 %和 /运算符的使用。如果两个数不能整除,只取结果的整数部分,小数部分全部舍去。运算符 “%”要求两个运算对象都为整型,其结果是整数除法的余数。表达式: a=-4+4*5-6 4+20-6=10:表达式: a=4+4%5-6=4+4-6=2;表达式: a=-3+4%6/5=-3+0=-3:表达式: a=(7+6)%5/2=13%5/2=1。 16 【正确答案】 C 【试题解析】 在 C语言中, “%d”表 示输出带符号的十进制整型数;

27、 “%x”表示以十六进制无符号型输出整型数据 (即不带前导 0x或 0X); “%o”表示以八进制无符号型输出整型数据 (即不带前导 0)。 17 【正确答案】 B 【试题解析】 本题考查 printf函数的格式。在 printf函数中,如果格式说明符中有两个 %说明,则将第 1个 %后面的字符原样输出,并不输出其对应的变量值。 18 【正确答案】 B 【试题解析】 本题考查 if else语句。 C语言规定, else总是与它前面的最近的 if配对。 19 【正确答案】 C 【试题解析】 函数 slzeof(a)的功能是求出字符串 a中的字符占用存储空间的大小,由于字符数组 a有长度为 7,

28、所以 i=7;函数 strlen(a)的功能是:求出字符串a的长度。而每个字符串都以 0为字符串的结束标记,所以 j的值等于 2。 20 【正确答案】 D 【试题解析】 本题考查 if else语句。第 1个 if语句,先判断条件,发现 a=0条件不成立,则执行与其配对的 else语句;第 2个 if语句,先判断条件,发现 b=4,则 !b条件不成立,又没有与其配对的 else语句,所以执行 printf语句, 输出 d。 21 【正确答案】 A 【试题解析】 根据函数 int f1(int x,int y)return x y?x:y;)和 int f2(int x,int y)return

29、 x y?y:x;的定义可知,如果 x y成立,则函数 f1返回 x的值,函数 f2返回 y的值。所以 f1(a,b)=4,f1(c,d)=5,f2(a,b)=3,f2(c,d)=2故e=f2(4,5)=4,f=f1(3,2)=3,g=4+3+5+2-4-3=7。 22 【正确答案】 C 【试题解析】 本题考查 while循环。 while循环的控制表达式 k=1是个赋值表达式而不是逻辑表达式,所以循环体一次也不执行。 23 【正确答案】 B 【试题解析】 本题考查 C语言 3个知识点: 将一个字符赋给一个字符变量时,并不是将该字符本身存储到内存中,而是将该字符对应的 ASCII码存储到内存单

30、元中; 大写字母的 ASCII码值小于其对应小写字母的 ASCII码值; 只要逻辑与运算符 &的两个运算对象都为非零,返回值就是 1。 24 【正确答案】 A 【试题解析】 本题考查默认函数的函数值的类型。在函数定义时,由 于函数没有说明其类型,系统默认一律自动按整型处理,因此,函数的类型为 int类型。 25 【正确答案】 A 【试题解析】 本题考查函数调用时的参数传递。函数 reverse将数组 b进行了逆置,此时的 b10=10,9,8,7,6,5,4,3,2,1,后面 for语句的功能是将 b中的前 3个数累加,将结果放在 s中,最后将 s输出,结果 s=10+9+8=27。 26 【

31、正确答案】 C 【试题解析】 本题考查的是指向函数的指针。函数指针定义的基本格式为:类型标识符 (*指针变量名 )( )。 “类型标识符 ”为函数返回值的类型。 27 【正确答案】 A 【试题解析】 在选项 A)中,因为 !a=0,所以关系表达式 !a=1的值为 0,又因为逻辑与运算符 “&”两边的表达式只要一个等于零,则整个表达式为零,所以选项A)正确。在选项 B)中,关系表达式 a b为真,表达式 (a b)&!c为假,而表达式 (a b)&!c1为真,所以整个表达式的值为真。选项 C)中, a&b的结果为真。在选项 D)中, a(b+b)&(c-a)的结果为真。 28 【正确答案】 D

32、【试题解析】 因为变量 t的 初始值等于 1,经过第一次 do while循环中,执行t=t-2这条语句一次,所以变量 t的值为 -1,判断关系表达式 t!=n是否成立,如果关系表达式成立,则执行第二次循环,再执行 t=t-2这条语句一次,所以变量 t的值为 -3,接着再判断关系表达式 t!=n是否成立,如果关系表达式成立,执行第三次循环,否则退出循环。由此可知,所以只要输入变量 n的值为负奇数,则一定会使 t=n成立,则退出 do while循环。 29 【正确答案】 D 【试题解析】 首先定义了一个指向一维数组 b的指针 p,一个指向指针 p的指针变量 q,输出 *(p+)是先输出 *p即

33、 b0的值,再将指针 p指向数组的下一个元素b1,输出 *q是输出指针 p所指单元的内容,即 b1的值。 30 【正确答案】 D 【试题解析】 double *p,a;语句表示定义了一个指向双精度型的指针变量 p和双精度型变量 a,而语句 p=&a表示将变量 a的地址赋给指针变量 p;scanf“(“%1f“,p)表示用键盘输入的数赋给指针变量 p 所指向的地址单元中。 scanf()函数要求在输入 double型数据,格式控制符必须用 %1f(或 %1e)。否则,数据不能正 确输入。所以选项 D)为正确答案。 31 【正确答案】 C 【试题解析】 本题先将指针 p指向二维数组 ch25,相当

34、于p0=“1234“,p1=“5678“,通过双重 for循环,是要将 p中的字符隔一个输出一个,通过 s=pij-0这条语句是将所要输出的字符转换成相应的十进制数。 32 【正确答案】 B 【试题解析】 第 1次执行 for循环, p10=p10-1=3:第 2次执行 for循环,p11=p11-1=4;第 3次执行 for循环, p12=1,最后输出的是a01+a11+a12=2+4+1=7。 33 【正确答案】 B 【试题解析】 本题涉及字符串最基本的 2个概念: 字符串的长度是指字符串中字符的个数,但不包括字符串结束符; 以反斜杠 “”开头的特殊字符序列,意思是把反斜杠后面的字符序列转

35、换成特定的含义,而不是原来的含义,不包含在字符串长度之内, “”连同后面的字符为一个长度。 34 【正确答案】 C 【试题解析】 strcpy(s1,s2)函数的功能是将字符串 s2复制到字符串 s1中 (注意:要保证 s1存储区能容纳下 s2字符串 )。 35 【正确答案】 B 【试题解析】 本程序首先定义了静态字符数组 a,然后将指针 p指向数组 a的首地址。第 1次 for循环, p=a, p指向数组的第 1个元素, *p是取指针 p所指地址的内容,输出 1;第 2次 for循环, p=p+2,则 p指向数组的第 3个元素, *p是取指针 p所指地址的内容,输出 n;第 3次 for循环

36、, p=p+2,则 p指向数组的第 5个元素, *p是取指针 p所指地址的内容,输出 u;第 4次 for循环, p=p+2,则 p指向数组的第 7个元素, *p是取指针 p所指 地址的内容,输出 g,结束循环。 36 【正确答案】 D 【试题解析】 本题主要是考查带参数的宏定义及其相关运算。本题中宏运算过程如下: a=a/(S(k+m)/S(k+m)=a/(k+m*k+m/k+m*k+m)=9/(3+2*3+2/3+2*3+2)=0。 37 【正确答案】 B 【试题解析】 本题主要考查结构指针: p=&data,访问结构体的成员,可以通过结构变量访问,即 data.a,也可以用等价的指针形式

37、: (*p).a和 p- a来访问结构体变量中的成员。 38 【正确答案 】 B 【试题解析】 本题主要考查结构类型的定义: struct是结构体类型的关键字;struct str是结构体类型名; x、 y、 z都是结构体成员名; st是结构变量名。 39 【正确答案】 C 【试题解析】 本题主要考查按位异或运算, x=015(二进制 00001101), 017的二进制为 000001111,两者异或结果为 00000010。 40 【正确答案】 D 【试题解析】 文件状态检测函数 feof(fp)的功能是:测试所指的文件的位置指针是否已达到文件尾,如果已到达文件尾,则 函数返回非 0值:否

38、则返回 0,表示文件尚未结束。 41 【正确答案】 有穷性 【试题解析】 算法的 4个基本特性包括:可靠性、确定性、有穷性和拥有足够的情报,其中,算法的有穷性指的是算法必须在有限的时间内完成,即算法必须在执行有限个步骤之后终止。 42 【正确答案】 线性结构 【试题解析】 数据的逻辑结构,是指数据元素之间的逻辑关系,分为线性结构和非线性结构,常见的线性结构有线性表、栈和队列等,常见的非线性结构有树、二叉树等。 43 【正确答案】 栈顶 【试题解析】 栈是限定 在表的一端进行插入和删除操作的线性表。在表中,允许插入和删除的一端叫做 “栈顶 ”,不允许插入和删除的一端叫做 “栈底 ”。 44 【正

39、确答案】 封装性 【试题解析】 对象具有下列 5个基本特点: 标识惟一性; 分类性: 多态性; 封装性; 模块独立性好。其中,封装性是指从外面看只能看到对象的外部特征,对象的内部特征即处理能力的实行和内部状态,对外是不可见的,对象的内部状态只能由其自身改变。 45 【正确答案】 软件开发 【试题解析】 软件工程包括软件开发技术和软件工程管理。其中软件开发技术包括:软件开发方法学、开发过程、开发工具和软件工具环境,其主体内容是软件开发方法学;软件工程管理包括:软件管理学、软件工程经济学、软件心理学等内容。 46 【正确答案】 (x -5)&(x 5) 【试题解析】 本题考查基本逻辑表达, “整数

40、 x的绝对值大于 5”时值为 “假 ”,即整数 x的绝对值小于等于 5,也就是整数 x要大于等于 -5且要小于等于 5。这里“且 ”用 “与 (&)”表示,所以 C语言表达式为: (x -5)&(x 5)。 47 【正确答案】 (y%2)=0 【试题解析】 因符合偶数的条 件是对 2取余为 0,所以要描述 y是偶数的表达式是 (y%2)=0。 48 【正确答案】 2,2,1,3 【试题解析】 本题考查 +, -运算符和条件运算符的使用。 “表达式 1?表达式 2:表达式 3”的功能是:表达式 1的值若非 0,则计算表达式2的值,且表达式 2的值为最终结果;若表达式 1的值为 0,则计算表达式

41、3的值,且为最终结果。 本题中, x=1, y=2时, x y成立,输出 y的值 2; y=2, z=3时, z y不成立,执行 y+,输出 2后 y值增 1,所以最后一个输出 x的值不变为 1, y的值为增加后的 3。 49 【正确答案】 3 【试题解析】 本题考查 dowhile 语句形式: do循环体 while表达式 首先执行循环体语句,然后检测循环控制条件表达式的值,若为真,则重复执行循环体语句,否则退出循环。第 1次循环: b+=2, b=2, a-=2+b, a=11;第 2次循环: b=4, a=5;第 3次循环: b=6, a=-3,此时再判断循环条件不满足,退出循环。 50

42、 【正确答案】 ptr 【试题解析】 本题考查函数指针的概念。函数指针的定义格式是:类型标识符 (*指针变量名 )()。注: “类型标识符 ”为函数返回值的类型。 51 【正确答案】 7 9 【试题解析】 因为在调用子函数时进行的是数值传递,调用子函数并不能改变实参的值,所以经过调用子函数, c、 d的值并没有发生变化还是原来的值。 52 【正确答案】 2 【试题解析】 13:表示八进制数 13表示的 ASCII字符,是一个字符,占一个字节;而 ”12”是个字符串,除了八进制数 12表示的 ASCII字符占一个字节外,还有在字符串的末尾加上串结束标志 “0”,所以共有 2个字节。 53 【正确答案】 从定义到本源文件结束 【试题解析】 C语言规定,宏名的有效范围为从定义宏到本源程序结束。 54 【正确答案】 68 【试题解析】 本题考查如何用指针引用数组元素。本题先定义了一个指向字符型数组 str的指针 p,指针 p指向数组 str的首地址, p+3将指针指向 str3, *(p+3)指的是字符 “D”,输出时是以 “%d”格式输出的,即输出其相应 ASCII码值 68。 55 【正确答案】 bi=ai+ai+1 【试题解析】 将数组 a中元素 ai与 aj+1值相加后的值赋予 数组 b中元素bi,即可实现将一个数组的前项和后项之和存入另一数组。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试资料 > 职业资格

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1