1、国家二级( C语言)笔试模拟试卷 142及答案与解析 1 算法的空间复杂度是指 ( )。 ( A)算法程序的长度 ( B)算法程序中的指令条数 ( C)算法程序所占的存储空间 ( D)算法执行过程中所需要的存储空间 2 按照 “先进先出 ”组织数据的数据结构是 ( )。 ( A)队列 ( B)栈 ( C)双向链表 ( D)二叉树 3 下列叙述中正确的是 ( )。 ( A)线性链表的各元素在存储空间中的位置必须是连续的 ( B)线性链表的头元素一定存储在其他元素的前面 ( C)线性链表中的各元 素在存储空间中的位置不一定是连续的,但表头元素一定存储在其他元素的前面 ( D)线性链表中的各元素在存
2、储空间中的位置不一定是连续的,且各元素的存储顺序也是任意的 4 有下列二叉树,对此二叉树前序遍历的结果为 ( )。 ( A) XZCYAB ( B) XYZABC ( C) XYABCZ ( D) XYAZBC 5 结构化程序设计主要强调的是 ( )。 ( A)程序的规模 ( B)程序的效率 ( C)程序设计语言的先进性 ( D)程序的易读性 6 下列叙述中正确的是 ( )。 ( A)在面向对象的 程序设计中,各个对象之间具有密切的关系 ( B)在面向对象的程序设计中,各个对象都是公用的 ( C)在面向对象的程序设计中,各个对象之间相对独立,相互依赖性小 ( D)上述 3种说法都不对 7 结构
3、化分析方法是面向 ( )的自顶向下逐步求精进行需求分析的方法。 ( A)对象 ( B)数据结构 ( C)数据流 ( D)目标 8 下列所述中,是软件调试技术的是 ( )。 ( A)错误推断 ( B)集成测试 ( C)回溯法 ( D)边界值分析 9 数据库 DB、数据库系统 DBS、数据库管理系统 DBMS之间的关系是 ( )。 ( A) DB包括 DBS和 DBMS ( B) DBMS包括 DB和 DBS ( C) DBS包括 DB和 DBMS ( D)没有任何关系 10 简单的交换排序方法是 ( )。 ( A)快速排序 ( B)选择排序 ( C)堆排序 ( D)冒泡排序 11 下列叙述错误的
4、是 ( )。 ( A)在 C语言中的保留字必须小写 ( B)变量的存储类型决定了变量的存储位置及其生存期 ( C)宏定义以 #define开头,行末必须加分号 ( D)在 C语言中的注释行可以出现在程序的任何位置 12 若有运算符:、 =、 %、 sizeof,则它们按优先级 (由高至低 )的正确排列顺序为 ( )。 ( A) %、 sizeof、 = ( B) sizeof、 %、 =、 ( C) sizeof、 %、 = ( D) sizeof、 %、 = 13 已知 int a=2, b=3;则执行表达式 a=a b后,变量 a的值为 ( )。 ( A) 0 ( B) 1 ( C) 2
5、( D) 3 14 假定 w、 x、 y、 m均为血型变量,则执行下列的语句后, m的值是 ( )。 w=6,x=4,y=3; m=(w x)?w:x; m=(m y)?m:y; ( A) 3 ( B) 4 ( C) 5 ( D) 6 15 若变量 a,b已正确定义,且 b已正确赋值,则合法的语句是 ( )。 ( A) b=double(B) ; ( B) +b; ( C) a=a+=5; ( D) a=double(B); 16 执行下列程序中的输出语句后, a的值是 ( )。 main() int a; printf(“%dn“,(a=2*3,a*5,a+7) ); ( A) 17 ( B
6、) 37 ( C) 6 ( D) 13 17 若有下列定义 (设 int类型变量占 2个字节 ): int i=8; 则下列语句: printf(“i=%08d“,i); 输出的结果是 ( )。 ( A) i=8, ( B) i=00000008, ( C) i=08, ( D) 8 18 两次运行下列的程序,如果从键盘上分别输入 3和 1,则输出结果是 ( )。 main() int x; scanf(“%d“, if(x+ 2) printf(“%d“,x); elseprintf(“%dn“,x-); ( A) 4和 2 ( B) 4和 1 ( C) 4和 0 ( D) 3和 1 19
7、运行下列程序时,若输入的数据为 “1,2,3”,则输出结果是 ( )。 main() float a,b,C,t; scanf(“%f,%f,%of“, if(a B) t=a;a=b;b=t; if(a C) t=a;a=c;c=t; if(b C) t=b;b=c;c=t; printf(“%fn%fn%fn“,a,b,C) ; ( A) 1.00 2.00 3.00 ( B) 1.00 3.00 2.00 ( C) 1 3 2 ( D) 3.000000 2.000000 1.000000 20 下列能正确定义一维数组的选项是 ( )。 ( A) int a5=0,1,2,3,4,5;
8、( B) char a=0,1,2,3,4,5; ( C) char a=A,B,C; ( D) int a5=“0123“; 21 下列程序的输出结果是 ( )。 int f1(int x,inty)return x y?x:y; int f2(int x,inty)return x y?y:x; main() int a=4,b=3,c=5,d=2,e,f,g; e=f2(f1(a,B) ,f1(c,D) ); f=f1(f2(a,B) ,f2(c,D) ); g=a+b+C+d-e-f; phntf(“%d,%d,%dn“,e,f,g); ( A) 4,3,7 ( B) 3,4,7 (
9、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) printf(“%f,%fn”,h,h*h); 该函数的类型是 ( )。 ( A) int类型 ( B
10、) float类型 ( C) void类型 ( D)函数无类型说明,定义有错 25 下列程序中函数 reverse()的功能是将 a所指数组中的内容进行逆置。 #include stdio.h void reverse(int a,iht 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+)s+=bi; printf(“%dn“,s); 程序运行后的输出结果是 ( )。 ( A) 2
11、7 ( B) 6 ( C) 25 ( D) 30 26 语句 int(*ptr)()的含义是 ( )。 ( A) ptr是一个返回值是血的函数 ( B) ptr是指向 int型数据的指针变量 ( C) ptr是指向函数的指针,该函数返回一个血型数据 ( D) ptr是一个函数名,该函数的返回值是指向 int型数据的指针 27 设有定义: iht a=2,b=3,c=4;,则下列选项中 值为 0的表达式是 ( )。 ( A) (!a=1) scanf(“%d“, dos=s+t;t=t-2;while(t!=n); 为使此程序段不陷入死循环,从键盘输入的数据应该是 ( )。 ( A)任意正奇数
12、( 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 若有说明语句: doubleop,a;,则能通过 scanf语句正确给输入项读入数据的程序段是 ( )。 ( A) *p=scanf(“%1f“,p); ( B) *p=scanf(“%f“,p); ( C) p=sca
13、nf(“%1f“,*p); ( D) p=scanf(“%1f“,p); 31 下列程序的输出结果是 ( )。 #inClude stdio.h main() charch25=“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) 691357 32 下列程序的输出结果是 ( )。 #include stdio.h main() int a23=1
14、,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*str1=“abcdt“,str2 10,*str3=“hijklmn“,*str42,*str5=“aaaa“
15、; ( 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)有语法错误 ( D) lang 36 执行下列程序后,输出的结果是 ( )。 #include stdio.h #defin
16、e S(X)X*X void main() iht 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 iht a; float b; )data,*p; 若有 p= ( C) p- data.a ( D) p.data.a 38 设有下列说明语句: strcut str int x;float y;char z;st; 则下列的叙述中不正确的是 ( )。 ( A) struct是结构体类型的关键字 ( B) st是结构体类型名 ( C) x、 y、 z
17、都是结构体成员名 ( D) struct str是结构体类型名 39 设 x=015,则 X=X017的值是 ( )。 ( A) 00001111 ( B) 11111101 ( C) 00000010 ( D) 11000000 40 C语言结构体类型变量在程序执行期间 ( )。 ( A)所有成员一直驻留在内存中 ( B)没有成员驻留在内存中 ( C)部分成员驻留在内存中 ( D)只有一个成员驻留在内存中 41 数据库系统的 主要特点为数据集成性、数据的高 和低冗余性、数据独立性和数据统一管理和控制。 42 数据库的逻辑模型设计阶段的任务是将 _转换成关系模式。 43 在面向对象方法中, _
18、描述的是具有相似属性与操作的一组对象。 44 最简单的交换排序方法是 _。 45 在链表的运算过程中,能够使空表与非空表的运算统一的结构是 _。 46 C语言中用 _表示逻辑值为 “真 ”,用数字 “0”表示逻辑值为 “假 ”。 47 语句: x+;+x;x=1+x;执行后都使变量 x中的值 增 1,请写出一条同一功能的赋值语句 _。 48 下列程序的输出结果是 _。 main() int a=1,b=2,c=3,t=0; if(a B) t=a;a=b;b=t; if(a C) t=a;a=c;c=t; printf(“%d,%d,%dn“,a,b,c); 49 在 C语言中, while和
19、 dowhile 循环的主要区别是 _的循环至少被执行一次。 50 下列程序的输出结果是 _。 #include stdio.h main() intx=10,y=10,i; for(i=0;x 8;y=+) printf(“%d%d“,X-,y); 51 若有定义 doublea5;,则 a数组元素下标的上限为 _。 52 执行下列语句段后, x的值是 _。 int*p,X; x=100; p= x=*p+50; 53 设有下列宏定义: #define A 2 #define B (A+3) 则执行赋值语句 “k=B*20;”(k为 int型变量 )后, k的值是 _。 54 有下列程序:
20、#include stdio.h main() char c; while(c=getchar()!=,)putchar(+c); 程序运行时,如果从键盘输入: A,B, CR,则输出结果为 _。 55 下列程序执行输出的结果是 _。 #include stdio.h f(int a) int b=0; static c=7; a=c+;b+; return(a); main() int a=2,i,k; for(i=0;i 2;i+) k=f(a+); printf(“%dn“,k); 国家二级( C语言)笔试模拟试卷 142答案与解析 1 【正确答案】 D 【试题解析】 一个算法的空间复杂
21、度,一般是指执行这个算法所需的存储空间。一个算法所占用的存储空间包括算法程序所占用的空间、输入的初始数据所占用的存 储空间及算法执行过程中所需要的额外空间。 2 【正确答案】 A 【试题解析】 队列是一种特殊的线性表,只允许在表的一端插入元素,在表的另一端删除元素,插入元素的一端叫 “队尾 ”,删除元素的一端叫 “队头 ”,先插入的元素先被删除,是按 “先进先出 ”的原则组织数据的。 3 【正确答案】 D 【试题解析】 在线性链表中,各元素在存储空间中的位置是任意的,各元素的顺序也是任意的,依靠指针来实现数据元素的前后件关系。 4 【正确答案】 D 【试题解析】 对二叉树的前序遍历是指:先访问
22、根结点,然 后访问左子树,最后访问右子树,并且,在访问左、右子树时,先访问根结点,再依次访问其左、右子树。 5 【正确答案】 D 【试题解析】 程序不光是编写完就结束了,为了测试和维护程序,往往还有其他人阅读和跟踪程序,因此,程序设计的风格应该强调简单和清晰,即程序的易读性, “清晰第一,效率第二 ”。 6 【正确答案】 C 【试题解析】 面向对象的程序设计是用对象模拟问题领域中的实体,各对象之间相对独立,相互依赖性小,通过消息来实现对象之间的相互联系。 7 【正确答案】 C 【试题解析】 结 构化分析方法是面向数据流进行需求分析的方法,采用自顶向下、逐层分解,建立系统的处理流程,以数据流图和
23、数据字典为主要工具,建立系统的逻辑模型。 8 【正确答案】 C 【试题解析】 软件调试技术包括强行排错法、回溯法和原因排除法。边界值分析、错误推断都是黑盒测试的方法。 9 【正确答案】 C 【试题解析】 数据库系统 (DBS)由数据库 (DBS)、数据库管理系统 (DBMS)、数据库管理员、硬件平台和软件平台 5个部分组成,可见 DB和 DBMS都是 DBS的组成部分。 10 【正确答案】 D 【试题解析】 所谓的交换类排序方法是指借助数据元素之间的互相交换进行排序的一种方法,包括冒泡排序和快速排序,冒泡排序是一种最简单的交换排序方法,它通过相邻元素的交换,逐步将线性表变成有序。 11 【正确
24、答案】 C 【试题解析】 本题涉及 C语言最基本的 4个知识点: C语言的保留字必须小写: 变量的存储类型不同,其存储位置和生存期也不一样: C语言允许其注释部分出现在程序中的任何位置; 宏定义以 #define开头,行末不需要加分号。 12 【正确答案】 D 【试题解析】 主要考查运算符的优 先级。 sizeof的优先级最高,后面的顺序是: %、,优先级最低的是 “=”。 13 【正确答案】 B 【试题解析】 先计算关系表达式 a b=2 3为真 (表达式为真时,如果变量为 int型变量则真用 1表示,假用 0表示 ),即 a=1。 14 【正确答案】 A 【试题解析】 条件表达式 “a?b
25、:c”的含义是:当 a为真时,其值等于表达式 b的值,当 a为假时,其值等于表达式 c的值。第一个表达式: w=6 x=4为假,所以返回 x的值,即 m=x=4:第二个表达式: m=4 y=3为假,所以返回 y的值,即m=y=3。 15 【正确答案】 B 【试题解析】 要解答此题只要知道两个知识点: 在 C语言中规定进行强制类型转换的格式是: (double)变量名; 在 C语言中不允许给表达式赋值。 16 【正确答案】 C 【试题解析】 本题考查逗号表达式。本题的返回值是 a+7, a=2.3=6, a+7=13(注意:本题问的是 a的值,而不是程序的输出值 )。 17 【正确答案】 B 【
26、试题解析】 本题考查 printf函数的格式。 “%08”格式符中的 “0”表示在指定数据输出宽度的同时,在数据前面的多余 空格处加 “0”;“8”表示指定数据的输出宽度为 8位。 18 【正确答案】 A 【试题解析】 本题考查 ifelse语句。首先 scanf函数通过键盘读入 x的值。当 x=3时,第一个 if语句,先判断条件,取 x的值 3和 2比较,然后将 x的值加 1,发现条件成立,执行下列的 printf语句,输出 x的值 4。当 x=1时,第一个汀语句,先判断条件,取 x的值 1和 2比较,然后将 x的值加 1(x的值变为 2),发现条件不成立,执行下列的 else语句,先输出
27、x的值 2,再将 x的值减 1。 19 【正确答案】 D 【试题解析】 本题考查 if语句。第 1个 if语句,实现如果 a b,则交换 a、 b值的功能;第 2个 if语句,实现如果 a c,则交换 a、 c的值的功能;第 3个 if语句,实现如果 b c,则交换 b、 c的值的功能。 3个 if语句结合起来实现的功能就是将 a、 b、 c按从大到小排序。 20 【正确答案】 B 【试题解析】 在定义数组时,如果赋给的初始值个数大于数值的长度,这样就会越界,因此选项 A)错误;选项 C中定义的是一个字符变量 C;选项 D)中整型数组a中只能存储整型数据,而不能存储字符串常量 “0123”。
28、21 【正确答案】 A 【试题解析】 根据函数 int f1(int x,int y)return x y?x:y;和 int馒 (int x,int y)retum x y?y:x;的定义可知,如果 x y成立,则函数 n返回 x的值,函数 C返回 y的值。所以 n(a, B=4, n(c,d)=5, C(a, B=3, f2(c,d)=2,故 e=f2(4,5)=4, f=n(3,2)=3, g=4+3+5+2-4-3=7。 22 【正确答案】 C 【试题解析】 本题考查 while循环。 while循环的控制表达式 k=1是个 赋值表达式而不是逻辑表达式,所以循环体一次也不执行。 23
29、【正确答案】 B 【试题解析】 本题考查 C语言 3个知识点: 将一个字符赋给一个字符变量时,并不是将该字符本身存储到内存中,而是将该字符对应的 ASCII码存储到内存单元中: 大写字母的 ASCII码值小于其对应小写字母的 ASCII码值: 只要逻辑与运算符 scanf (“%1f“, p)表示用键盘输入的数赋给指针变量 p所指向的地址单元中。 scanf()函数要求在输入 double型数据,格式控制符必须用 %if (或 %le)。否则,数据不能正确输入。所以选项 D)为正确答案。 31 【正确答案】 C 【试题解析】 本题先将指针 p指向二维数组 ch25,相当于 p0=“1234“,
30、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 【试题解析】 本题涉及字符串最基本两个概念: 字符串的长度是指字符串中字符的个数,但不包括字符串结束符: 以反斜杠 “”开头的特殊字符序列,意思是把反斜杠后面的字符序列转换成特定的含义,而不是原
31、来的含义,不包含在字符串长度之内, “1”连同后面的字符为一个长度。 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循环, p=p+2,则
32、 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,也可以用等价的指针形式: (*p).
33、a和 p- a来访问结构体变量中的成员。 38 【正确答案】 B 【试题解析】 本题主要考查结构类型的定义 : struct是结构体类型的关键字;stmct str是结构体类型名; x、 y、 z都是结构体成员名; st是结构变量名。 39 【正确答案】 C 【试题解析】 本题主要考查按位异或运算, x=015(二进制 00001101),017的二进制为 000001111,两者异或结果为 00000010。 40 【正确答案】 A 【试题解析】 C语言结构体类型变量在程序执行期间所有成员一直驻留在内存中。 41 【正确答案】 共享性 【试题解析】 数据库系统中的数据能被不同的应用程序使用,
34、实现了数 据的高度共享,从而降低了数据的冗余,这也是数据库的主要目的。 42 【正确答案】 E-R图 【试题解析】 数据库逻辑设计的任务是将概念模型进一步转化成相应的数据模型。而 E-R图是主要的概念模型,因此数据库的逻辑设计的主要工作是将 E-R图转换成关系模式。 43 【正确答案】 类 【试题解析】 在面向对象方法中,把具有相同属性和方法的对象称为类,类是对象的抽象,对象是类的实例。 44 【正确答案】 冒泡排序 【试题解析】 交换排序是指借助数据元素之间的互相交换进行排序的一种方法。冒 泡排序是一种最简单的交换排序方法,它是通过相邻元素之间的相互交换逐步将线性表变成有序。 45 【正确答
35、案】 循环链表 【试题解析】 在循环链表中,由于设置了一个头结点,因此在任何情况下,循环链表中至少有一个结点存在,从而使空表与非空表的运算统一。 46 【正确答案】 非 0 【试题解析】 逻辑运算中,非 0表示逻辑 “真 ”,用 0表示逻辑 “假 ”。 47 【正确答案】 x+ 1 【试题解析】 本题考查 “+”、 “-”运算符; “+”、 “-”只能作用于变量,不能用于表达式或常量;前缀形 式是在使用变量之前先将其值增 1或减 1,后缀形式是先使用变量原来的值,使用完后再使其增 1或减 1。 48 【正确答案】 3,1,2 【试题解析】 分析程序,第一个汀语句, a=1, b=2,控制条件
36、a b成立,则交换 a、 b的值,此时 a=2, b=1。第二个 if语句, a=2, c=3,控制条件 a c成立,则交换 a、 c的值,此时 a=3, c=2。 49 【正确答案】 dowhile 【试题解析】 考查 while和 dowhile 循环的主要区别。 while循环的控制出现在循环体之前,只有当 while后面 的表达式的值为非零时,才可能执行循环体:在dowhile 构成的循环体中,总是先执行一次循环体,然后再求表达式的值,因此无论表达式的值是否为零,循环体至少要被执行一次。 50 【正确答案】 101091 【试题解析】 for(表达式 1;表达式 2;表达式 3) 语句
37、的功能是:首先计算表达式 1的值,然后检测表达式 2的值,若其值为真,则执行循环体语句,执行完毕后,再计算表达式 3的值。然后再检测表达式 2的值是否为真,若为真,继续执行循环体语句,若为假,则退出循环;第 1次循环 x 8成立,输出 x=10, y=10后, x的值减 1, i=1,执行 y=+i操作, y的值变为 1;判断条件还成立,输出x=9, y=1,然后 x的值减 1,循环条件不成立,则退出循环。 51 【正确答案】 4 【试题解析】 一维数组元素的定义形式为:数组名 N,则该数组中元素的下限是 0,上限是 N-1。 52 【正确答案】 150 【试题解析】 本题先给变量 x赋初始值
38、 100,然后将指针 p指向变量 x, *p是取指针 p所指地址的内容,即 100,所以 x=100+50=150。 53 【正确答案】 100 【试题解析】 本题考查 带参数的宏定义及相关运算。运算过程为:k=B*20=(A+3)*20=(2+3)*20=100。 54 【正确答案】 B 【试题解析】 因为 c是字符类型变量,它只能接收一个字符,所以 c=A,字符型变量在参与算术运算的时候是用其相应的 ASCII码参与运算的,这样 +c得到字母 B的 ASCII码,用 putchar函数输出是输出其相应的字符,所以是 B。 55 【正确答案】 8 【试题解析】 第 1次 for循环, i=0,调用函数 f(2),然后将 a的值加 1,在 f()函数中,变量 c为 static类型, 所以 c=8:第 2次 ,for循环, i=1,调用函数 f(3),然后将 a的值加 1,调用函数 f(3)时,萨 c+=8,所以 k=8。