[计算机类试卷]国家二级C语言(函数和数组)机试模拟试卷7及答案与解析.doc
《[计算机类试卷]国家二级C语言(函数和数组)机试模拟试卷7及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级C语言(函数和数组)机试模拟试卷7及答案与解析.doc(18页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级 C语言(函数和数组)机试模拟试卷 7及答案与解析 一、选择题 1 以下叙述中正确的是 ( A)用户自己定义的函数只能调用库函数 ( B)不同函数的形式参数不能使用相同名称的标识符 ( C)在 C语言的函数内部,可以定义局部嵌套函数 ( D)实用的 C语言源程序总是由一个或多个函数组成 2 若有以下定义和语句 char s110=“abcd!“, *s2=“ n123 “; printf(“ d d n“, strlen(s1), strlen(s2); 则输出结果是 ( A) 10 5 ( B) 10 7 ( C) 5 5 ( D) 5 8 3 在 C语言中,函数返回值的类型最终取决
2、于 ( A)函数定义时在函数首部所说明的函数类型 ( B) retum语句中表达式值的类型 ( C)调用函数时主调函数所传递的实参类型 ( D)函数定义时形参的类型 4 以下关于 return语句的叙述中正确的是 ( A)一个自定义函数中必须有一条 return语句 ( B)一个自定义函数中可以根据不同情况设置多条 return语句 ( C)定义成 void类型的函数中可以有带返回值的 retum语句 ( D)没有 return语句 的自定义函数在执行结束时不能返回到调用处 5 程序中对 fun函数有如下说明 void fun(); 此说明的含义是 ( A) fun函数无返回值 ( B) fu
3、n函数的返同值可以是任意的数据类型 ( C) fun函数的返回值是无值型的指针类型 ( D)指针 fun指向一个函数,该函数无返回值 6 若有以下函数首部 int fun(double x10, int*n)则下面针对此函数的函数声明语句中正确的是 ( A) int fun(double, int); ( B) int fun(double*x, int n): ( C) int fun(double*, int*); ( D) int fun(double x, int*n); 7 有以下程序 #include stdio h double f(double x); main() doubl
4、e f(double x) double a=0; int i; return x*x+1; for(i=0; i 30; i+=10)a+=f(double)i); printf(“ 5 0f n“, a); 程序运行后的输出结果是 ( A) 401 ( B) 500 ( C) 503 ( D) 1404 8 以下与函数 fseek(fp, OL, SEEK_SET)有相同作用的是 ( A) feof(fp) ( B) ftell(fp) ( C) fgetc(fp) ( D) rewind(fp) 9 有以下程序 #include stdio h int fun(int n)int a;
5、main() if(n=1)return1; a=n+fun(n-1); printf(“ d n“, fun(5); return(a); 程序的输出结果是 ( A) 14 ( B) 10 ( C) 15 ( D) 9 10 有以下程序 (strcat函数用以连接两个字符串 ) #include stdio h #include string h main() char a20=“ABCD OEFG 0“, b=“IJK“; strcat(a, b); printf(“ s n“, a); 程序运行后的输出结果是 ( A) ABCDE 0FG 0IJK ( B) ABCDIJK ( C) I
6、JK ( D) EFGIJK 11 以下叙述中正确的是 ( A)只有全局变量才有自己的 作用域,函数中的局部变量没有作用域 ( B)只要是用户定义的标识符,都有一个有效的作用域 ( C)只有在函数内部定义的变量才是局部变量 ( D)局部变量不能被说明为 static 12 有以下程序 void fun2(char a, char b) main() printf(“ c c“, a, b); fun1(); char a=A, b=B; printf(“ c c“, a, b); void fun1() fun2(E, F); a=C; b=D; 程序的运行结果 是 ( A) A B E F
7、( B) C D E F ( C) A B C D ( D) C D A B 13 有以下程序 #include stdio h main()int i, s=1; int fun()static 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 14 有以下程序 #include stdio h main() int fun() int i, s=1; static int x=1; for(i=1; i =2;
8、 i+)s=fun(); x*=2; return x; printf(“ d n“, s); 程序运行后的输出结果是 ( A) 4 ( B) 1 ( C) 0 ( D) 8 15 若有定义语句: double x5=1 0, 2 0, 3 0, 4 0, 5 0, *p=x;则错误引用 x数组元素的是 ( A) *p ( B) x5 ( C) *(p+1) ( D) *x 16 有以下 程序 #include stdioh void main() Int a=2, 3, 5, 4), i; for(i=0; i 4; i+) switch(i 2) case0: switch(ai 2) c
9、ase0: ai+; break; case1: ai-; break; case1: 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 17 下列程序中函数 f的功能是:当 flag为 1时,进行由小到大排序;当 flag为 0时,进行由大到小排序 void flint b, int n, int flag) main() int i, j, t; int a10=5, 4, 3, 2, 1, 6, 7,
10、 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(“ 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
11、, 5, 4, 3, 2, 1, 18 以下叙述中正确的是 ( A)语句 int a=0;是不合法的,遗漏了数组的大小 ( B)语句 char a2t=“A“, “B“;是合法的,定义了一个包含两个字符的数组 ( C)语句 int a8=0;是合法的 ( D)语句 char a3; a=“AB“;是合法的,因为数组有三个字符空间的容量,可以保存两个字符 19 若有以下程序 #include char*a=“you“, b=“welcome#you#to#China!“; main()int i, j=0; char*p; for(i=0; bi!= 0; i+) if(*a=bi) p=&bi
12、; for(j=0; aj!= 0; j+) if(aj!=*p)break; p+; if(aj= 0)break; printf(“ s n“, p); 则程序的输出结果是 ( A) #you#to#China! ( B) me#you#to#China! ( C) #China! ( D) #to#China! 20 若有定义语句: int a23, *p3;,则以下语句中正确的是 ( A) p=a; ( B) p0=a; ( C) p0=a12; ( D) p1=a; 21 以下定义数组的语 句中错误的是 ( A) int=num3=1, 2, 3, 4, 5, 6; ( B) int
13、 num=1, 2, 3, 4, 5, 6; ( C) int num4=1, 2, 3, 4, 5, 6; ( D) int num24=1, 2, 3, 4, 5, 6; 22 有下列程序: main() int a44=1, 4, 3, 2), 8, 6, 5, 7), 3, 7, 2, 5), 4, 8, 6, 1), i,k, t; for(i=0; i 3; i+) for(k=i+1; k 4; k+)if(aii akk)t=aii; aii=akk; akk=t; for(i=0; i 4; i+)printf(“ d, “, a0i); 程序运行后的输出结果是 ( A) 6
14、, 2, 1, 1, ( B) 1, 1, 2, 6, ( C) 2, 3, 4, 6, ( D) 6, 4, 3, 2, 23 有以下程序 #include stdio h #define N 3 void fun(int aN, int b) main() int i, j; int xNN=1, 2, 3, 4, 5, 6, 7, 8, 9, yN, i; for(i=0; i N; i+) fun(x, y); bi=ai0; for(i=0; i N; i+)printf(“ d, “, yi); for(j=1; j N; j+) printf(“ n“); if(bi aij)
15、bi=aij; ( A) 1, 3, 5, ( B) 2, 4, 8, ( C) 3, 5, 7 ( D) 3, 6, 9, 24 以下选项中,能正确进行字符串赋值的是 ( A) char s5=A, B, C, D, E; ( B) char*s=“ABCDE“; ( C) char s45=“ABCDE“; ( D) char*s; gets(s); 25 以下叙述中正确的是 ( A)函数调用 “strlen(s); ”会返回字符串 s实际占用内存的大小 (以字节为单位 ) ( B)两个字符串可以用关系运算符进行大小比较 ( C)当拼接两个字符串时,结果字符串占用的内存空间是两个原串占用空
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 语言 函数 数组 模拟 答案 解析 DOC
