[计算机类试卷]国家二级C语言机试(函数和数组)模拟试卷9及答案与解析.doc
《[计算机类试卷]国家二级C语言机试(函数和数组)模拟试卷9及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级C语言机试(函数和数组)模拟试卷9及答案与解析.doc(20页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级 C语言机试(函数和数组)模拟试卷 9及答案与解析 一、选择题 1 有以下程序 #include stdio h func(int n) void main() static int num=1; func(3); func(4); printf(“ n“); num=num+n; printf(“ d“, num); 程序运行后的输出是 ( A) 4 5 ( B) 3 5 ( C) 4 8 ( D) 3 4 2 有以下程序 fun(int x, int y) main() static int m=0, i=2; intj=1, m=1, k; i+=m+1; m=i+x+y; re
2、turn m; k=fun(j, m); printf(“ d, “, k); k=fun(j, m); printf(“ d n“, k); 执行后 的输出结果是 ( A) 5, 5 ( B) 5, 11 ( C) 11, 11 ( D) 11, 5 3 在 C语言中,只有在使用时才占用内存单元的变量,其存储类型是 ( A) extern和 register ( B) auto和 static ( C) static和 register ( D) auto和 register 4 有以下程序 #include stdio h main()int i, s=1; int fun()static
3、 int x=1; for(i=1; i =3; i+) x*=2; s*=fun(); return x; printf(“ d n“, s); 程序运行后的输出结果是 ( A) 0 ( B) 10 ( C) 30 ( D) 64 5 有以下程序 #include stdio h int f(int n); main()int a=3, s; int f(int n)static int a=1; s=f(a); n+=a+: s=s+f(a); return n; printf(“ d n“, s); 程序运行后的输出结果是 ( A) 9 ( B) 8 ( C) 7 ( D) 10 6 有
4、以下程序 #include stdio h int fun()static int x=1; main()int i, s=l; x+=1; for(i=1; i =5; i+)s+=fun(); return x; printf(“ d n“, s); 程序运行后的输出结果是 ( A) 11 ( B) 21 ( C) 6 ( D) 120 7 有以下程序 int fun(int x, int n) main() static int sum=0, i; int a=1, 2, 3, 4, 5, b=6, 7, 8, 9,s=O; for(i=0; i n; i+) sum+=xi; s=fu
5、n(a, 5)+fun(b, 4); printf(“ d n“, s); return sum; ( A) 50 ( B) 45 ( C) 60 ( D) 55 8 有以下程序 int f(int m) main()int n=0; static int n=0; printf(“ d, “, f(+n); n+=m; return n; printf(“ d n“, f(n+); 程序运行后的输出结果是 ( A) 1, 1 ( B) 1, 2 ( C) 2, 3 ( D) 3, 3 9 有以下程序 #include stdio h main() int fun() int i, s=1;
6、static int x=1; for(i=1; i =2; i+)s=fun(); x*=2; return x; printf(“ d n“, s); 程序运行后的输出结果是 ( A) 4 ( B) 1 ( C) 0 ( D) 8 10 有下列程序: int a=4: int f(int n) main() int t=0; static int a=5; int s=a, i=0; if(n 2)int a=6; t+=a+; for(; i 2; i+)s+=f(i); elseint a=7; t+=a+; printf(“ d n“, s); return t+a+; 程序运行后的
7、输出结果是 ( A) 28 ( B) 24 ( C) 32 ( D) 36 11 已有定义: char a=“xyz“,b=x, y, z;,以下叙述中正确的是 ( A)数组 a和 b长度相同 ( B) a数组长度小于 b数组长度 ( C) a数组长度大于 b数组长度 ( D)上述说法都不对 12 若有语句: char*line5;,以下叙述中正确的是 ( A)定义 line是一个数组,每个数组元素是一个基类型为 char的指针变量 ( B)定义 line是一个指针变量,该变量可以指向一个长度为 5的字符型数组 ( C)定义 line是一个指针数组,语句中的 *号称为间址运算符 ( D)定义
8、line是一个指向字符型函数的指针 13 若有定义语句: int m=5, 4, 3, 2, 1), i=4;,则下面对 m数组元素的引用中错误的是 ( A) m-i ( B) m2*2 ( C) mm0 ( D) mmi 14 若有定义语句: double x5=1 0, 2 0, 3 0,4 0, 5 0, *p=x;则错误引用 x数组元素的是 ( A) *P ( B) x5 ( C) *(p+1) ( D) *x 15 若要定义一个具有 5个元素的整型数组,以 下错误的定义语句是 ( A) int a5=0; ( B) int b=0, 0, 0, 0, 0; ( C) int c2+3
9、 ( D) int i=5, di; 16 以下能正确定义一维数组的选项是 ( A) int a5=0, 1, 2, 3, 4, 5; ( B) char a=0, 1, 2, 3, 4, 5; ( C) char a=A, B, C; ( D) int a5=“0123“; 17 有以下程序 void fun(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 k10=1, 2, 3, 4, 5, 6, 7, 8, 9, 10, i; fun(k, 5); for(i=2; i 8;
10、 i+)printf(“ d“, ki); printf(“ n“); 程序的运行结果 是 ( A) 876543 ( B) 321678 ( C) 1098765 ( D) 345678 18 下列定义数组的语句中,正确的是 ( A) int N=10; int xN; ( B) #define N 10 int xN; ( C) int x0 10; ( D) int x; 19 有以下程序 #include stdio h void main() int a=2, 3, 5, 4, i; for(i=0; i 4; i+) switch(i 2) case 0: switch(ai 2)
11、 case 0: ai+; break; case 1: ai-; break; case 1: ai=0; for(i=0; i 4; i+) printf(“ d“, ai); printf(“ n“); 程序运行后的输出结果是 ( A) 2 0 5 0 ( B) 3 3 4 4 ( C) 3 0 4 0 ( D) 0 3 0 4 20 有以下程序 #include stdio h main() void fun(int a, int b) int c10=1, 2, 3, 4, 5, 6, 7, 8, 9, 0), i; int t: for(i=0; i 10; i+=2) t=a;
12、a=b; b=t; fun(ci, ci+1); for(i=0; i 10; i+)printf(“ d, “, ci); printf(“ n“); 程序的运行结果是 ( A) 2, 1, 4, 3, 6, 5, 8, 7, 0, 9, ( B) 0, 9, 8, 7, 6, 5, 4, 3, 2, 1, ( C) 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, ( D) 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 21 有下列程序: main() int i, s=0, t=1, 2, 3, 4, 5, 6, 7, 8, 9; for(i=0; i 9; i+
13、=2)s+=*(t+i); printf(“ d n“, s); 程序执行后的输出结果是 ( A) 20 ( B) 45 ( C) 36 ( D) 25 22 下列选项中,能正确定义数组的语句是 ( A) int num; ( B) int N=2008; int numN; ( C) int num0 2008; ( D) #define N 2008 int numN; 23 若要求定义具有 10个 int型元素的 一维数组 a,则以下定义语句中错误的是 ( A) #define n 5 int a2*n; ( B) int a5+5; ( C) #define N 10 int aN;
14、( D) int n=10, an; 24 下列程序中函数 f的功能是:当 flag为 1时,进行由小到大排序;当 flag为 0时,进行由大到小排序 void f(int b, int n, int flag) main() int i, j, t; int a10=5, 4, 3, 2, 1, 6, 7, 8, 9, 10,i; for(i=0; i n 1; i+) f&a2, 5, 0); for(j=i+1; j n; j+) f(a, 5, 1); if(flag?bi bj: bi bj) for(i=0; i 10; i+) t=bi; bi=bj; bj=t; printf(
15、“ d, “, ai); 程序运行后的输出结果是 ( A) 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, ( B) 3, 4, 5, 6, 7, 2, 1, 8, 9, 10, ( C) 5,4, 3, 2, 1, 6, 7, 8, 9, 10, ( D) 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 25 有以下程序 #include stdio h main() int s12=1, 2, 3, 4, 4, 3, 2, 1, 1, 1, 2, 3), c5=0, i; for(i=0; i 12; i+)csi+; for(i=1; i 5; i+)prin
16、tf(“ d“, ci); printf(“ n“); ( A) 4 3 3 2 ( B) 2 3 4 4 ( C) 1 2 3 4 ( D) 1 1 2 3 26 有下列程序: #include stdio h *fun函数的功能是将 a所指数组元素从大到小排序 * void fun(int*a, int n) main() int t, i, j; int c10=1, 2, 3, 4, 5, 6, 7, 8, 9, 0),i; for(i=0; i n 1; j+) fun(c+4, 6); for(j=i+1; j n; j+) for(i=0; i 10; i+)printf(“ d
17、, “,ci); if(ai aj)t=ai; ai=aj; aj=t; p printf(“ n“); 程序的运行结果是 ( A) 1, 2, 3, 4, 9, 8, 7, 6, 5, 0, ( B) 0, 9, 8, 7, 6, 5, 1, 2, 3, 4, ( C) 0, 9, 8, 7, 6, 5, 4, 3, 2, 1, ( D) 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 27 有以下程序 #include stdio h main() int c6=10, 20, 30, 40, 50, 60, *p, *s; p=c; s=&c5; printf(“ d n“,
18、 s-P); 程序运行后的输出结果是 ( A) 50 ( B) 6 ( C) 5 ( D) 60 28 以下叙述中正确的是 ( A)一条语句只能定义一个数组 ( B)数组说明符的一对方括号中只能使用整型常量,而不能使用表达式 ( C)每个数组包含一组具有同一类型的变量,这些变量在内存中占有连续的存储单元 ( D)在引用数组元素时,下标表达式可以使用浮点数 29 以下叙述中正确的是 ( A)语句 int a=0;是不合法的,遗漏了数组的大小 ( B)语句 char a2=“A“, “B“;是合法的,定义了一个包含两个字符的数组 ( C)语句 int a8=0;是合法的 ( D)语句 char a
19、3; a=“AB“;是合法的,因为数组有三个字符空间的容量,可以保存两个字符 30 如果定义 float a10, x;则以下叙述中正确的是 ( A)表达式 a+1是非法的 ( B)语句 a=&x;是非法的 ( C)三个表达式 a1、 *(a+1)、 *&a1表示的意思完全不同 ( D)表达式 *&a1是非法的,应该写成 *(&(a1) 国家二级 C语言机试(函数和数组)模拟试卷 9答案与解析 一、选择题 1 【正确答案】 C 【试题解析】 在函数 func(int n)中定义了局部静态变量 num,其初始值等 于 1,所以在主函数中执行 func(3),输出 4,此时静态变量 num的值等于
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 语言 函数 数组 模拟 答案 解析 DOC
