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

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

1、国家二级 C语言机试( C语言程序设计)模拟试卷 16及答案与解析 一、选择题 1 若有以下程序 void f(int x) if(x 10) printf(“ d “, x 10); f(x 10); else printf(“ d“, x); main() int z 123456; f(z); 则程序的输出结果是 ( A) 6-5-4-3-2-1 ( B) 6-5-4-3-2-1- ( C) 1-2-3-4-5-6 ( D) 1-2-3-4-5-6- 2 以下与函数 fseek(fp, OL, SEEK_SET)有相同作用的是 ( A) feof(fp) ( B) ftell(fp) (

2、 C) fgetc(fp) ( D) rewind(fp) 3 以下程序的功能是:给 r输入数据后计算半径为 r的圆面积 s。程序在编译时出错 main() *Beginning* int r; float s; scanf(“ d“, r); s * *r*r; printf(“s f n“, s); 出错的原因是 ( A)注释语句书写位置错误 ( B)存放圆半径的变量 r不应该定义为整型 ( C)输出语句中格式描述非法 ( D)计算圆面积的赋值语句使用了非法变量 4 以下程序函数 f的功能是:当 flag为 1时,进行由小到大排序;当 flag为 0时,进行由大到小排序 void f(in

3、t b, int n, int flag) int i, j, t; for(i 0; i n 1; i ) for(j i 1 j n j ) if(flag?bi bj: bi bj) t bi; bi=bj; bj t; main() int a10 5, 4, 3, 2, 1, 6, 7, 8, 9, 10, i f( a2, 5, 0); f(a, 5, 1); for(i 0; i 10; i )printf(“ d, “, ai); 程序运行后的输出结果是 ( A) 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, ( B) 3,4, 5, 6, 7, 2, 1, 8

4、, 9, 10, ( C) 5, 4, 3, 2, 1, 6, 7, 8, 9, 10, ( D) 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 5 有以下程序,其中 k的初值为八进制数 #include main() int k 011; printf(“ d n“, k ); 程序运行后的输出结果是 ( A) 12 ( B) 11 ( C) 10 ( D) 9 6 有以下程序 #include int fun(int x) int p; if(x 0x 1)return(3); P x fun(x 2); return(p); main() printf(“ d n“, f

5、un(9); 程序运行后的输出结果是 ( A) 5 ( B) 9 ( C) 4 ( D) 7 7 有以下程序 #include int fun(int n) int a; if(n=1)return 1; a n fun(n 1); return(a); main() printf(“ d n“, fun(5); 程序的输出结果是 ( A) 14 ( B) 10 ( C) 15 ( D) 9 8 有以下程序 #include int fun(int a, int b) return a b; main() int x 6, y 7, z 8, r; r fun(fun(x, y), z );

6、printf(“ d n“, r); 程序运行后的输出结果是 ( A) 15 ( B) 21 ( C) 20 ( D) 31 9 以下选项中函数形参不是指针的是 ( A) fun(int &p) ( B) fun(int a10) ( C) fun(int *a) ( D) fun(int P) 10 设有如下函数定义 int fun(int k) if(k 1)return 0; else if(k=1)return 1; else return fun(k1) 1; 若执行调用语句: n fun(3);,则函数 fun总共被调用的次数是 ( A) 2 ( B) 4 ( C) 3 ( D)

7、5 11 有以下程序 #include int f(int x) int y; if(x=0x=1)return(3); y x*xf(x一 2); return y; main() int z; z f(3); printf(“ d n“, z); 程序的运行结果是 ( A) 9 ( B) 0 ( C) 6 ( D) 8 12 有以下程序 (strcat函数用以连接两个字符串 ) #include #include main() char a20 “ABCD 0EFG 0“, b “IJK“; strcat(a, b); printf(“ s n“, a); 程序运行后的输出结果是 ( A)

8、 ABCDE 0FG 0IJK ( B) ABCDIJK ( C) IJK ( D) EFGIJK 13 有以下程序 int fun(int n) if(n=1)retum 1; else retum(n fun(n 1); main() int x; scanf(“ d“, &x); x fun(x); printf(“ d n“, x); 执行程序时,给变量 x输入 10,程序的输出结果是 ( A) 54 ( B) 65 ( C) 45 ( D) 55 14 有以下程序 fun(int x) int p; if(x=0x=1)retum(3); p x fun(x 2); retum p;

9、 main() printf(“ d n“, fun(7); 执行后的输出结果是 ( A) 3 ( B) 7 ( C) 0 ( D) 2 15 若有以下程序 int f(int a, int n) if(n1) int t; t f(a, n-1); retum t an-1?t: an 1; else retum a0; main() int a 8, 2, 9, 1, 3, 6, 4, 7, 5; printf(“ d n“, f(a, 9); 则程序的输出结果是 ( A) 9 ( B) 1 ( C) 8 ( D) 5 16 在一个 C源程序中所定义的全局变量,其作用域为 ( A)所在文件

10、的全部范围 ( B)所在程序的全部范围 ( C)所在函数的全部范围 ( D)由具体定义位置和 extern说明来决定范围 17 以下叙述中正确的是 ( A)只有全局变量才有自己的作用域,函数中的局部变量没有作用域 ( B)只要是用户定义的标识符,都有一个有效的作用域 ( C)只有在函数内部定义的变量才是局部变量 ( D)局部变量不能被说明为 static 18 以下叙述中正确的是 ( A)对于变量而言, “定义 ”和 “说明 ”这两 个词实际上是同一个意思 ( B)在复合语句中不能定义变量 ( C)全局变量的存储类别可以是静态类 ( D)函数的形式参数不属于局部变量 19 有以下程序 int

11、d 1; void fun(int P) int d 5; d p; printf(“ d“, d); main() int a 3; fun(a); d a; printf(“ d n“, d); 程序的输出结果是 ( A) 9 6 ( B) 9 4 ( C) 8 4 ( D) 8 5 20 有以下程序 #include int a 1, b 2; void fun1(int a, intb) printf(“ d d“, a, b); void fun2() a 3; b 4; main() fun1(5, 6); fun2(); printf(“ d d n“, a, b); 程序运行后

12、的输出结果是 ( A) 3 4 5 6 ( B) 1 2 5 6 ( C) 5 6 1 2 ( D) 5 6 3 4 21 在一个 C源程序文件中所定义的全局变量,其作用域为 ( A)由具体定义位置和 extern说明来决定范围 ( B)所在程序的全部范围 ( C)所在函数的全部范围 ( D)所在文件的全部范围 22 有以下程序 void fun2(char a, char b) printf(“ c c”, a, b); char a A, b B; void fun1() a C; b D; main() fun1(); printf(“ c c“ a, b); fun2(E, F); 程

13、序的运行结果是 ( A) A B E F ( B) C D E F ( C) A B C D ( D) C D A B 23 有以下程序 #include fun(int a, int b) int static m 0, i 2; i i m 1; m i a b; return m; main() int k 4, m 1, p; P fun(k, m); printf(“ d, “, p); p fun(k, m); printfl(“ d n“, p); 程序运行后的输出结果是 ( A) 8, 17 ( B) 7, 16 ( C) 8, 8 ( D) 7, 17 24 有以下程序 #i

14、nclude func(int n) static int num 1; num num n; printf(“ d“, num); void main() func(3); func(4); printf(“ n“); 程序运行后的输出是 ( A) 4 5 ( B) 3 5 ( C) 4 8 ( D) 3 4 25 有以下程序 fun(int x,int y) static int m 0, i 2; i m 1; m i x y; return m; main() int j 1, m 1, k; k fun(j, m); printf(“ d, “, k); k fun(j, m); p

15、rintf(“ d n“, k); 执行后的输出结果是 ( A) 5, 5 ( B) 5, 11 ( C) 11, 11 ( D) 11, 5 26 在 C语言中,只有在使用时才占用内存单元的变量,其存储类型是 ( A) extern和 register ( B) auto和 static ( C) static和 register ( D) auto和 register 27 有以下程序 #include int fun() static int x 1; x* 2; return x; main() int i, s 1; for(i 1; i 3; i ) s* fun(); print

16、f(“ d n“, s); 程序运行后的输出结果是 ( A) 0 ( B) 10 ( C) 30 ( D) 64 28 有以下程序 #include int f(int n); main() int a 3, s; s f(a); s s f(a); printf(“ d n“, s); int f(int n) static int a 1; n a; return n; 程序运行后的输出结果是 ( A) 9 ( B) 8 ( C) 7 ( D) 10 29 有以下程序 #include int fun() static int x 1; x 1; return x; main() int

17、i,s 1; for(i 1; i 5; i )s fun(); printf(“ d n“, s); 程序运行后的输出结果是 ( A) 11 ( B) 21 ( C) 6 ( D) 120 30 有以下程序 int fun(int x, int n) static int sum 0, i; for(i 0; i n; i )sum xi; return sum; main() int a 1, 2, 3, 4, 5, b 6, 7, 8, 9, s 0; s fun(a, 5) fun(b, 4); printf(“ d n“, s); ( A) 50 ( B) 45 ( C) 60 (

18、D) 55 31 有以下程序 int f(int m) static int n 0; n m; return n; ) main() int n 0; printf(“ d, “, f( n); printf(“ d n“, f(n ); 程序运行后的输出结果是 ( A) 1, 1 ( B) 1, 2 ( C) 2, 3 ( D) 3, 3 32 有以下程序 #include int fun() static int x 1; x* 2; return x; main() int i,s 1; for(i 1; i 2; i ) s fun(); printf(“ d n“, s); 程序运

19、行后的输出结果是 ( A) 4 ( B) 1 ( C) 0 ( D) 8 33 有下列程序: int a 4; int f(int n) int t 0; static int a 5; if(n 2)int a 6; t a; elseint a 7; t a; return t a; main() int s a, i 0; for(; i 2; i )s f(i); printf(“ d n“, s); 程序运行后的输出结果是 ( A) 28 ( B) 24 ( C) 32 ( D) 36 34 已有定义: char a “xyz“,b x, y, z);,以下叙述中正确的是 ( A)数

20、组 a和 b长度相同 ( B) a数组长度小于 b数组长度 ( C) a数组长度大于 b数组长度 ( D)上述说法 都不对 35 若有语句: char *line5;,以下叙述中正确的是 ( A)定义 line是一个数组,每个数组元素是一个基类型为 char的指针变量 ( B)定义 line是一个指针变量,该变量可以指向一个长度为 5的字符型数组 ( C)定义 line是一个指针数组,语句中的 *号称为间址运算符 ( D)定义 line是一个指向字符型函数的指针 国家二级 C语言机试( C语言程序设计)模拟试卷 16答案与解析 一、选择题 1 【正确答案】 A 【试题解析】 函数 f的主要功能

21、为逆置输出整数 x的每一位数据, 如果 z的值为123456,逆置输出的结果为 6 5 4 3 2 1。 【知识模块】 C语言程序设计 2 【正确答案】 D 【试题解析】 本题主要考查文件系 IO函数的使用, fscck函数用于设置文件指针的位置, feof函数用于判断是否已经到了文件结束, itell函数返回文件指针的当前位置, fgetc从文件读取一个字符, rewind函数将文件指针重新指向文件开始。题目当中 fseek (fp,OL,SEEK_SET)表示把文件指针移动到文件的开始位置 0,和rewind函数功能一致。 【知识模块】 C语言程序设计 3 【正确答案】 D 【试题解析】

22、本题考查了 C语言的基本输入输出函数。选项 A错误,代码里面的注释是正确的, “ *”和 “* ”配对;选项 B错误, r变量定义为整型是可以的;选项 C输出语句格式正确;选项 D正确,计算 s的时候 s *r*r使用了未定义变量 。 【知识模块】 C语言程序设计 4 【正确答案】 B 【试题解析】 本题主要考查函数的调用。在 main函数中,两次调用 f函数进行排序, f函数有三个参数,第一个参数是数组地址,第二个参数是需要排序的数 据个数,第三个参数指定排序依据。第一次调用 f函数的时候,从第三个元素开始对5个元素进行从大到小的排序,因此调用 f函数转换数组 a的值分别为: 5, 4,7,

23、 6, 3, 2, 1, 8, 9, 10:第二次调用 f函数对数组 a的前 5个元素进行从小到大的排序,因此排序完成后数组 a的值变成: 3, 4, 5, 6, 7, 2, 1, 8, 9, 10。 【知识模块】 C语言程序设计 5 【正确答案】 D 【试题解析】 本题主要考查基本数据类型和格式化输出函数 printf。变量 k的初值为 011,表示 8进制的 11,十进制值为 9, printf输出 k的值,在 k的后面表示先使用后自增,因此输出的值为 9。 【知识模块】 C语言程序设计 6 【正确答案】 D 【试题解析】 函数 fun的主要功能是: 初值 x的值为 9,因此 fun(9)

24、 9 fun(7) 9 (7 (5 (3 3),因此答案为 7。 【知识模块】 C语言程序设计 7 【正确答案】 C 【试题解析】 函数 fun为递归定义的函数, 当调用 fun(5)5 fun(4)5 4fun(3)5 4 3 fun(2)5 4 3 2 fun(1),因此最后 的结果为 15。 【知识模块】 C语言程序设计 8 【正确答案】 B 【试题解析】 本题考查了函数的调用,函数 fun功能为求两个数据的和。主函数中表达式 r fun(fun(x,y), z-),首先计算内层调用 fun(x,y),计算结果为 13,然后外层调用 fun(13, 8),结果为 21。 【知识模块】 C

25、语言程序设计 9 【正确答案】 A 【试题解析】 C语言中形参数组是指针变量,其数组中元素的个数由传递的实参数组决定,因此可以在定义的时候,不给出元素个数的说明,因此选项 B和 D形参均为指针变量,选项 A的定义在 C语言中不存在的。 【知识模块】 C语言程序设计 10 【正确答案】 C 【试题解析】 这道题目考查了函数的递归调用,当执行调用语句 n fun(3)时,返回 n fun(2) 1,再执行 fun(2),返回 n fun(1) 1 1,而 fun(1)等于 1,所以最后 n的值等于 3。而函数 fun总共被调用了 3次。即 fun(3), fun(2), fun(1)。 【知识模块

26、】 C语言程序设计 11 【正确答案】 C 【试题解析】 主函数调用 f()函数,将实参 3传递 给 x,进行 if条件语句的判断不成立,接着执行 y 3*3 f(1),再执行 f(1),而 f(1)满足 if条件语句,所以 f1)的值为 3,代入 y 3*3 f(1) 9 3 6。 【知识模块】 C语言程序设计 12 【正确答案】 B 【试题解析】 在字符串中字符 0表示字符串的结束标志,所以字符串 a和 b相连接的结果为 ABCDIJK。 【知识模块】 C语言程序设计 13 【正确答案】 D 【试题解析】 在 C语言中函数可以递归调用,即直接或间接地自己调用自己。本题在函数 int fun

27、(int n)的定义中又出现了对函数 fun的调用,所以函数 fun是递归函数。因而在主函数中调用 x fun(x)时,当输入 10赋给变量 x时,递归调用的过程为: fun(10) 10 fun(9) 10 9 fun(8) 10 9 8 fun(7) 10 9 8 7fun(6) 10 9 8 7 6 fun(6) 10 9 8 7 6 5 fun(4) 10 9 8 7 6 5 4 fun(3) 10 9 8 7 6 5 4 3 fun(2) 10 9 8 7 6 5 4 3 2 fun(1) 10 9 8 7 6 5 4 3 2 1 55 【知识模块】 C语言程序设计 14 【正确答案

28、】 D 【试题解析】 因为在函数 fun(int x)中,如果参数 x等于 0或 1时,返回值 3。否则 p x fun(x 2)这是一个递归函数,所以在主函数调用 fun(7)时,其过程为:“fun(7) 7 fun(5) 7 (5 fun(3) 7 (5 (3 fun(1) 7 (5 (3 3) 7 5 2”,所以最后的输出结果为 2。 【知识模块】 C语言程序设计 15 【正确答案】 A 【试题解析】 主函数中调用 f(a, 9),递归函数的调用过程如下: f(a, 9)f(a ,8)f(a , 7)f(a , 6)f(a , 5)f(a , 4)f(a , 3)f(a , 2)f(a

29、, 1), f(a, 1)得到返回值为 a0,值为 8,递归过程开始回归,回归过程描述如下: 8 a1,返回88 a2不成立,返回 a2的值为 9 因此函数 f的主要功能为计算数组中的最大值。主函数中输出最大值为 9。 【知识模块】 C语言程序设计 16 【正确答案】 D 【试题解析】 本题考查 C语言 的作用域规则。在 C语言中,全局变量的有效范围从定义变量的位置开始到本源文件结束。如果需要在其他源文件中使用该全局变量,则可以在其他源文件中使用 extem关键字来声明该全局变量,这样该全局变量的作用域就被扩展到以 extem声明了该全局变量的位置开始到此源文件结束。 【知识模块】 C语言程序

30、设计 17 【正确答案】 B 【试题解析】 在函数内定义的变量是局部变量,而在函数之外定义的变量称为外部变量,也是全局变量。全局变量可以为源文件中其他函数所共用,其作用域为从定义变量的位置开始到源文件结束。因 此只要用户定义的标识符,全部都有作用域。局部变量可以说明为 auto、 register以及 static。 【知识模块】 C语言程序设计 18 【正确答案】 C 【试题解析】 用 static说明符说明全局变量时,此变量可称作静态全局变量。静态全局变量只限于本编译单位使用,不能被其他编译单位所引用。在一个函数内部定义的变量 (包括形参 )是局部变量,它只在本函数范围内有效。不同函数中可

31、以使用相同名字的局部变量,它们代表不同的对象,互不影响。在函数内部复合语句中也可以定义变量,这些变量都是局部变量,只在 本复合语句中有效。 【知识模块】 C语言程序设计 19 【正确答案】 C 【试题解析】 代码考查点为全局变量和局部变量的同名问题,若全局变量和某个函数中的局部变量同名,则在该函数中,此全局变量被屏蔽,在该函数内,访问的是局部变量,与同名的全局变量不发生任何关系。主函数执行 fun(3)时候,执行调用函数 fun,使用局部变量 d 5,执行 d p,相当于 d d (p ),得到 d的值为 8,输出。函数调用结束,转到主函数,继续执行 d a,此时 d为全局变量,执行语句以后,

32、 d值为 4。 【 知识模块】 C语言程序设计 20 【正确答案】 D 【试题解析】 函数 fun1()的作用是输出局部变量 a和 b的值,在主函数中执行fun1(5, 6)的结果是输出 5, 6;函数 fun2()的作用是给变量 a和 b分别赋值 3,4;执行 fun2()的作用是输出 3, 4。 【知识模块】 C语言程序设计 21 【正确答案】 A 【试题解析】 全局变量是在函数外部任意位置上定义的变量,它的作用域是从变量定义的位置开始,到整个源文件结束止。在同一编译单位内用 extern说明符扩展全局变量的作用域 (当全局变 量定义在后,引用它的函数在前时,应该在引用它的函数中用 ext

33、ern对此全局变量进行说明,以便通知编译程序:该变量是一个已在外部定义了的全局变量,已经分配了存储单元,不需要再为它分配存储单元。这时全局变量的作用域从 extern说明处起,延伸到该函数末尾 )。当一个程序由多个编译单位构成,并且在每个文件中均需要引用同一个全局变量,这时只在其中一个文件中定义所有的全局变量,而在其他用到这些全局变量的文件中用 extern对这些变量进行说明。 【知识模块】 C语言程序设计 22 【正确答案】 B 【试题 解析】 在 fun1()函数之前定义了全局字符变量 a和 b。这两个变量的作用域是从其定义处到整个程序结束。在 fun1()函数之内定义了两个变量 a和 b

34、,并且分别初始化为字符 C和 D。在 C语言中,若全局变量和某个函数中的局部变量同名,则在该函数中此全局变量被屏蔽,在该函数内访问的是局部变量,与同名的全局变量不发生任何关系。所以在主函数中,执行 fun1()后,变量 a、 b的值分别等于 C、 D,打印输出 CD,接着执行 fun2(E, F)语句,变量 a、 b的值变为E、 F并输出。 【知识模块】 C语言程序设计 23 【正确答案】 A 【试题解析】 本题考查了静态变量以及局部变量的同名问题。主函数中调用 fun函数两次,第一次调用 fun(4, 1),形参 a和 b接收以后, i值为 3, m的值为 8,调用结束返回 8存放到 P中并

35、且输出 P的值为 8,除了静态变量 m和 i,变量 a,b撤销。第二次调用 fun(4, 1),接收实参值以后, i为 3 8 1,而 m为 12 41,即输出函数值 17。 【知识模块】 C语言程序设计 24 【正确答案】 C 【试题解析】 在函数 func(int n)中定义了局部静态 变量 num,其初始值等于1,所以在主函数中执行 func(3),输出 4,此时静态变量 num的值等于 4,当退出函数 func(3)时,其值不会丢失,所以当在执行 func(4)时,输出 8。 【知识模块】 C语言程序设计 25 【正确答案】 B 【试题解析】 子函数 fun(int x,int y),

36、将变量 m和 i声明为局部静态变量,因此第 1次调用主函数后,局部静态变量 m和 i的值为 5和 3,第 1次函数调用结束时,它们的值不释放保持不变,所以第 2次调用时,局部静态变量 m和 i的初始值分别为 5和 3,即在执行 “i m 1”时, i的值为 9,因此最终 m的值为 11。 【知识模块】 C语言程序设计 26 【正确答案】 D 【试题解析】 在 C语言中,动态变量 (auto)存储在内存中的动态存储区,在程序运行中,只有当调用变量所在的函数时,系统才临时给变量分配内存单元;全局变量 (extem)一经定义,系统为其分配固定的内存单元;静态变量 (static),编译系统为其分配固

37、定的存储空间;寄存器变量 (register)不保存在内存上,而是直接存储在 CPU的寄存器中。 【知识模块】 C语言程序设计 27 【 正确答案】 D 【试题解析】 本题考查了静态局部变量,该局部变量的值在函数调用结束后如果不消失而保留原值。函数 fun的功能返回 2的乘方,主函数 fun函数调用 3次,因此第一次 s累乘 2,第二次累乘 4,第三次累乘 8,即为 2*4*8,值为 64。 【知识模块】 C语言程序设计 28 【正确答案】 A 【试题解析】 在主函数中第一次调用 f(a)时,得到变量 s的值等于 4,在第二次调用 f(a)时,在子函数 f中由于变量 a是一个局部静态变量,所以

38、这次其值等于2,因而在主函数中第二次调用 f(a)后,其返回值 等于 5,最后变量 s的值等于 9。 【知识模块】 C语言程序设计 29 【正确答案】 B 【试题解析】 这道试题主要考查了局部静态变量的应用。在函数 fun()中定义了局部静态变量整型 x,其初值等于 1,在主函数中循环执行 5次,第一次变量 s的值等于 3,变量 x的值等于 2,第二次变量 s的值等于 6,变量 x的值等于 3,第三次变量 s的值等于 10,变量 x的值等于 4,第四次变量 s的值等于 15,变量 x的值等于 5,第五次变量 s的值等于 21,变量 x的值等于 6。 【知识模块】 C语言程序设计 30 【正确答

39、案】 C 【试题解析】 在函数 int fun(int x, int n)的定义中,变量 sum使用了 static修饰符,这说明了变量 sum为一个静态局部变量。由于在整个程序运行期间,静态局部变量在内存中的静态存储区中占据着永久的存储单元。即使退出函数之后,下次再进入该函数时,静态局部变量继续使用原来存储单元中原来的值。函数 int fun(int x, int n)的功能是求出数组 x各个元素的和。所以在主函数中,调用函数 Fun(a, 5)后,变量 sum 1 2 3 4 5 15,当再次调用 Fun(b, 4)后,变量sum 15 6 7 8 9 45,所以 s 15 45 60。

40、【知识模块】 C语言程序设计 31 【正确答案】 B 【试题解析】 由于在函数 f中,变量 n为静态局部变量,所以在主函数中第一次调用函数 f后,变量 n的值等于 1,当第二调用函数 f时,在函数 f的内部静态局部变量 n的值仍然保留等于 1,所以返回函数值等于 2。 【知识模块】 C语言程序设计 32 【正确答案】 A 【试题解析】 在子函数 fun()中定义局部静态变量 x,其初值等于 1,然后再把其值扩大 1倍后返回。在主函 数中执行 for循环语句 2次,调用函数 fun()两次,所以变量 s的值等于 4。这里要强调的一点是当函数 fun()执行完毕后,局部静态变量 x的值不会丢失,仍

41、然有效。 【知识模块】 C语言程序设计 33 【正确答案】 A 【试题解析】 程序中定义了全局整型变量 a 4。在 int f(int n)函数中定义了局部静态整型变量并进行了初始化即 static int a 5。在 int f(int n)函数中对 n是否是偶数进行判断,如果 n是奇数,则函数的返回值为 11,局部静态整型变量 a 6;如果 n是偶数,则函数 的返回值为 12,局部静态整型变量 a 6。所以在 main()函数中循环首先执行 s f(0)语句,而 f(0)返回值 12,所以第一次循环结束 s的值等于 4 12 16:第二次开始执行 f(1)时,在 f(1)中执行 if(n

42、2)int a 6; t a; 和 return t a;这两条语句,这时 t 6, a 6(静态局部变量第一次循环后其值加 1值不释放,执行第二次循环量,其值仍有效 ),所以 f(1)的返回值等于 12。再在主函数中执行 s f(1)语句,即 16 12 28。 【知识模块】 C语言程序设计 34 【正确答案】 C 【试题解析】 本题考查字符数组的定义。 char a “xyz“, b x, y, z:定义了两个字符数组 a和 b, a数组存放的是一个字符串,字符串以 “ 0”作为结束标志,数组 a的长度必须加上结束符长度 1,因此数组 a的长度为 4。数组 b中有三个元素,长度为 3。 【知识模块】 C语言程序设计 35 【正确答案】 A 【试题解析】 本题考查指针数组的定义。本题中 line是一个指针数组,有 5个元素,每个元素都是一个指针变量。 【知识模块】 C语言 程序设计

展开阅读全文
相关资源
猜你喜欢
  • AECMA PREN 2712-004-1995 Aerospace Series Cables Electrical Single and Multicore for General Purpose Operating Temperatures between - 55 Degrees C and 150 Degrees C Part 004 Screen.pdf AECMA PREN 2712-004-1995 Aerospace Series Cables Electrical Single and Multicore for General Purpose Operating Temperatures between - 55 Degrees C and 150 Degrees C Part 004 Screen.pdf
  • AECMA PREN 2712-005-1995 Aerospace Series Cables Electrical Single and Multicore for General Purpose Operating Temperatures between - 55 Degrees C and 150 Degrees C Part 005 Screen.pdf AECMA PREN 2712-005-1995 Aerospace Series Cables Electrical Single and Multicore for General Purpose Operating Temperatures between - 55 Degrees C and 150 Degrees C Part 005 Screen.pdf
  • AECMA PREN 2712-006-1995 Aerospace Series Cables Electrical Single and Multicore for General Purpose Operating Temperatures between - 55 Degrees C and 150 Degrees C Part 006 Screen.pdf AECMA PREN 2712-006-1995 Aerospace Series Cables Electrical Single and Multicore for General Purpose Operating Temperatures between - 55 Degrees C and 150 Degrees C Part 006 Screen.pdf
  • AECMA PREN 2712-007-1995 Aerospace Series Cables Electrical Single and Multicore for General Purpose Operating Temperatures Between - 55 Degrees C and 150 Degrees C Part 007 Screen.pdf AECMA PREN 2712-007-1995 Aerospace Series Cables Electrical Single and Multicore for General Purpose Operating Temperatures Between - 55 Degrees C and 150 Degrees C Part 007 Screen.pdf
  • AECMA PREN 2712-008-1995 Aerospace Series Cables Electrical Single and Multicore for General Purpose Operating Temperatures Between - 55 Degrees C aand 150 Degrees C Part 008 Scree.pdf AECMA PREN 2712-008-1995 Aerospace Series Cables Electrical Single and Multicore for General Purpose Operating Temperatures Between - 55 Degrees C aand 150 Degrees C Part 008 Scree.pdf
  • AECMA PREN 2712-009-1995 Aerospace Series Cables Electrical Single and Multicore for General Purpose Operating Temperatures Between - 55 Degrees C aand 150 Degrees C Part 009 Scree.pdf AECMA PREN 2712-009-1995 Aerospace Series Cables Electrical Single and Multicore for General Purpose Operating Temperatures Between - 55 Degrees C aand 150 Degrees C Part 009 Scree.pdf
  • AECMA PREN 2712-010-1995 Aerospace Series Cables Electrical Single and Multicore for General Purpose Operating Temperatures Between - 55 Degrees C and 150 Degrees C Part 010 Screen.pdf AECMA PREN 2712-010-1995 Aerospace Series Cables Electrical Single and Multicore for General Purpose Operating Temperatures Between - 55 Degrees C and 150 Degrees C Part 010 Screen.pdf
  • AECMA PREN 2713-002-2000 Aerospace Series Cables Electrical Single and Multicore for General Purpose Operating Temperatures Between -55 Degrees C and 200 Degrees C Part 002 Screene.pdf AECMA PREN 2713-002-2000 Aerospace Series Cables Electrical Single and Multicore for General Purpose Operating Temperatures Between -55 Degrees C and 200 Degrees C Part 002 Screene.pdf
  • AECMA PREN 2713-003-1995 Aerospace Series Cables Electrical Single and Multicore for General Purpose Operating Temperatures between - 55 Degrees C and 200 Degrees C Part 003  Scree.pdf AECMA PREN 2713-003-1995 Aerospace Series Cables Electrical Single and Multicore for General Purpose Operating Temperatures between - 55 Degrees C and 200 Degrees C Part 003 Scree.pdf
  • 相关搜索
    资源标签

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

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