[计算机类试卷]国家二级C语言(函数和数组)机试模拟试卷6及答案与解析.doc
《[计算机类试卷]国家二级C语言(函数和数组)机试模拟试卷6及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级C语言(函数和数组)机试模拟试卷6及答案与解析.doc(19页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级 C语言(函数和数组)机试模拟试卷 6及答案与解析 一、选择题 1 若各选项中所用变量己正确定义,函数 fun中通过 return语句返回一个函数值,以下选项中错误的程序是 ( A) main()x=fun(2 , 10); )float fun(int a , int b) ( B) float fun(int a, int b)main()x=fun(i , j); ( C) float fun(int, int); main()x=fun(2 , 10); )float fun (int a, int b) ( D) main()float fun(int i, int j);
2、x=fun(i , j); float fun(int a , int b) 2 有以下程序,程序中库函数 islower(ch)用以判断 ch中的字母是否为小写字母 #include stdio h #include ctype h void fun(char*p) int i=0; while(pi) if(pi=&islower(pi-1)pi-1=pi-l=pi-1-a+A; i+: main() char s1100=“ab cd EFG!“; fun(s1); printf(“ s n“, s1); 程序运行后的输出 ( A) Ab Cd EFg! ( B) ab cd EFG!
3、( C) ab cd EFg! ( D) aB cD EFG! 3 以下关于函数的叙述中正确的是 ( A)每个函数都可以被其他函数调用 (包括 main函数 ) ( B)每个函数都可以被单独编译 ( C)每个函数都可以单独运行 ( D)在一个函数内部可以定义另 一个函数 4 以下叙述中正确的是 ( A)函数既可以直接调用自己,也可以间接调用自己 ( B)任何情况下都不能用函数名作为实参 ( C)函数的递归调用不需要额外开销,所以效率很高 ( D)简单递归不需要明确的结束递归的条件 5 在函数调用过程中,如果函数如 funA调用函数 funB,函数 funB又调用了函数如 funA,则 ( A)
4、称为函数的直接递归调用 ( B)称为函数的间接递归调用 ( C)称为函数的循环调用 ( D) C语言中不允许这样的递归调用 6 以下叙述中正确的是 ( A)函数调用时,不必 区分函数名称的大小写 ( B)调用函数时,函数名必须与被调用的函数名完全一致 ( C)函数名允许用数字开头 ( D)在函数体中只能出现一次 return语句 7 有以下程序 #include stdio h main() int f(int x, int y) int a=3, b=4, c=5, d; return(y-x)*x); d=f(f(a, b), f(a, c); printf(“ d n“, d); 程序运
5、行后的输出结果是 ( A) 10 ( B) 8 ( C) 9 ( D) 7 8 若有以下程序 void f(int x) main()int z=123456; if(x =10) f(z); printf(“ d-“, x 10); f(x 10); else printf(“ d“, x); 则程序的输出结果是 ( 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- 9 有以下程序 #include stdio h int fun(int x)int p; if(x=0|x=1)return(3); p=x
6、-fun(x-2); return(p); main()printf(“ dkn“, fun(9); 程序运行后的输出结果是 ( A) 5 ( B) 9 ( C) 4 ( D) 7 10 有以下程序 #include stdio h int flint x) main() int y; int z; if(x=0|x=1)return(3); z=f(3); printf(“ d n“, z); y=x*x-f(x-2); return y; 程序的运行结果是 ( A) 9 ( B) 0 ( C) 6 ( D) 8 11 在一个 C源程序中所定义的全局变量,其作用域为 ( A)所在文件的全部范
7、围 ( B)所在程序的全部范围 ( C)所在函数的全部范围 ( D)由具体定义位置和 extern说明来决定范围 12 在一个 C源程序文件中所定义的全局变量,其作用域为 ( A)由具体定义位置和 extern说明来决定范围 ( B)所在程序的全部范围 ( C)所在函数的全部范围 ( D)所在文件的全部范围 13 在 C语言中,只有在使用时才占用内存单元的变量,其存储类型是 ( A) extern和 register ( B) auto和 static ( C) static和 register ( D) auto和 register 14 有以下程序 int f(int m) main()i
8、nt 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 15 若有定义语句: int m=5, 4, 3, 2, 1), i=4;,则下面对 m数组元素的引用中错误的是 ( A) m-i ( B) m2*2 ( C) mm0 ( D) mmi 16 下列定义数组的语句中,正确的是 ( A) int N=10; int xN; ( B) #define N10int xN; ( C)
9、 int x0 10; ( D) int x; 17 若要求定义具有 10个 int型元素的一维数组 a,则以下定义语句中错误的是 ( A) #define n 5 int a2*n; ( B) int a5+5; ( C) #define N 10 int aN; ( D) int n=10, an; 18 以下叙述中正确的是 ( A)一条语句只能定义一个数组 ( B)数组说明符的一对方括号中只能使用整型常量,而不能使用表达式 ( C)每个数组包含一组具有同一类型的变量,这些变量在内存中占有连续的存储单元 ( D)在引用数组元素时,下标表达式可以使用浮点数 19 若有以下程序 #includ
10、e stdio h main()int i, j=0; char a=“How are you!“, b10; for(i=0; ai; i+) if(ai=)bj+=ai+1; bj= 0; printf(“ s n“, b); 则程序的输出结果是 ( A) Howareyou ( B) Hay! ( C) Howareyou! ( D) ay 20 若有定义语句: int a36;,按在内存中的存放顺序, a数组的第 10个元素是 ( A) a04 ( B) a13 ( C) a03 ( D) a14 21 有以下程序 #include main()int b33=0, 1, 2, 0,
11、1, 2, 0, 1, 2), i, j, t=1; for(i=0; i =i; j+) t+=bibji; printf(“ d n“, t); 程序运行后的输出结果是 ( A) 3 ( B) 1 ( C) 9 ( D) 4 22 有下列程序: main() int i, t3=9, 8, 7, 6, 5, 4, 3, 2, 1; for(i=0; i 3; i+) printf(“ d“, t2-ii); 程序执行后的输出结果是 ( A) 7 5 3 ( B) 3 6 9 ( C) 7 5 1 ( D) 3 5 7 23 设有定义: int x23;则以下关于二维数组 x的叙述错误的是
12、( A)数组 x可以看作是由 x0和 x1两个元素组成的一维数组 ( B)可以用 x0=0;的形式为数组所有元素赋初值 0 ( C)元素 x0可看作是由 3个整型元素组成的一维数组 ( D) x0和 x1是数组名,分别代表一个地址常量 24 下列叙述中正确的是 ( A)两个连续的单引号 (“)是合法的字符常量 ( B)可以对字符串进行关系运算 ( C)两 个连续的双引号 (“)是合法的字符串常量 ( D)空字符串不占用内存,其内存空间大小是 0 25 以下叙述中正确的是 ( A) char ca35=“A“, “BB“, “CCC“;是不合语法的 ( B)字符串数组,是指数组中的每个元素都是一
13、个存放字符串的一维数组 ( C) char ca5=“A“, “BB“, “CCC“;是不合语法的 ( D) char*ca3=“A“, “BB“, “CCC“;是不合语法的 26 设有定义语句: char*aa2=“abcd“, “ABCD“; 则以下叙述正确的是 ( A) aa数组的两个元素只能存放含有 4个字符的一维数组的首地址 ( B) aa数组的值分别是字符串 “abcd“和 “ABCD“ ( C) aa是指针变量,它指向含有两个元素的字符型数组 ( D) aa0存放了字符串 “abcd“的首地址 27 有以下程序 #include stdio h #include string h
14、 void main() char str20=“One*World“, “One*Dream?“, *p=str1; printf(“ d, “, strlen(p); printf(“ s n“, p); 程序运行后的输出结果是 ( A) 9, One*Dream! ( B) 10, One*Dream! ( C) 9, One*World ( D) 10, One*World 28 有以下程序 #include stdio h void main() char s=“012xy“; int i, n=0; for(i=0; si!=0: i+) if(si =a&si =Z)n+; pr
15、intf(“ d n“, n); 程序运行后的 输出结果是 ( A) 0 ( B) 3 ( C) 5 ( D) 2 29 有下列程序,程序执行后的输出结果是 fun(char p10) int n=0, i; for(i=0; i 7; i+) if(pi0=T)n+; return n; main() char str10=“Mon“, “Tue“, “Wled“, “Thu“, “Fri“, “Sat“, “Sun“; printf(“ d n“, fun(str); ( A) 1 ( B) 3 ( C) 0 ( D) 2 国家二 级 C语言(函数和数组)机试模拟试卷 6答案与解析 一、选
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 语言 函数 数组 模拟 答案 解析 DOC
