收藏 分销(赏)

C语言数组与函数测试卷.doc

上传人:丰**** 文档编号:4321872 上传时间:2024-09-06 格式:DOC 页数:7 大小:73.01KB
下载 相关 举报
C语言数组与函数测试卷.doc_第1页
第1页 / 共7页
C语言数组与函数测试卷.doc_第2页
第2页 / 共7页
C语言数组与函数测试卷.doc_第3页
第3页 / 共7页
C语言数组与函数测试卷.doc_第4页
第4页 / 共7页
C语言数组与函数测试卷.doc_第5页
第5页 / 共7页
点击查看更多>>
资源描述

1、C语言数组与函数阶段测试题答案一、选择题(18*2=36分)1、在定义“int a56;”后,第11个元素是【 C 】A、a25 B、a24 C、a14 D、a15 2、假定int类型变量占用两个字节,其定义:int x10=0,2,4;,则数组x在内存中所占字节数是【 D 】。A、3 B、6 C、10 D、203、当接受用输入的含空格的字符串地,应使用的函数是【 B 】A、scanf() B、gets() C、getchar() D、getc()4、设有数组定义:char array=”China”;。则数组array所占的空间为【 C 】A、4个字节 B、5个字节 C、6个字节 D、7个字

2、节5、设有变量定义:int a = 1,2,3,4;执行语句a3 = - - a0? a1 + + : a2 + +;执行后,数组的元素a0, a1, a2, a3的值依次为【 D 】A、 1,2,3,4 B、 0,3,3,4 C、 0,2,3,4 D、0,2,4,36、以下程序的输出结果是【 C 】 void main( ) int i, x33 = 1,2,3,4,5,6,7,8,9 for(i= 0;i 3; i + +) printf(3%d, xi2 - i); A、 1 5 9 B、 1 4 7 C、3 5 7 D、 3 6 97、不能把字符串:Hello!赋给数组b的语句是【 B

3、 】 A、 char b 10 = H e l l o !; B、char b 10 ; b = “Hello!”; C、 char b 10 ; strcpy(b, “Hello!”); D、char b 10 = “Hello!”;8、在函数间传递数据的四种方式中,不能把被调函数的数据带回到主调函数的是【 A 】A、值传递 B、地址传递C、返回值传递D、全局外部变量9、以下关于函数的叙述中不正确的是【 B 】 A、C程序是函数的集合,包括标准库函数和用户自定义函数 B、在C语言程序中,被调用的函数必须在main函数中定义C、在C语言程序中,函数的定义不能嵌套 D、在C语言程序中,函数的调用

4、可以嵌套10、若用数组名作为函数调用的实参,则传递给形参的是【 A 】 A、数组的首地址 B、 数组的第一个元素的值 C、数组中全部元素的值 D、数组元素的个数11、C语言中,凡未指定存储类别的局部变量的隐含存储类别是【 A 】A、autoB、staticC、externD、register12、若有以下函数调用语句:fun(a+b,(x,y),fun(n+k,d,(a,b);在此函数调用语句中实参的个数是【 A 】A、3B、4C、5D、613、若程序中定义函数float myadd(float a, float b) return a+b;并将其放在调用之后,则在调用之前应对该函数进行说明。

5、以下说明中错误的是【 A 】A、float myadd( float a,b);B、float myadd(float b, float a);C、float myadd(float, float);D、float myadd(float a, float b);14、以下函数值的类型是【 A 】fun (float x) float y; y= 3*x-4; return y;A、 int B、不确定 C、 void D、 float15、#includef(in b, int n) int i, r;r=1; for(i=0; i=n; i+) r=r*bi; return r; main

6、() int x, a= 2,3,4,5,6,7,8,9; x=f(a, 3); printf(%dn,x); 上面程序的输出结果是【 B 】A、 720 B、 120 C、24 D、 616.有以下程序:int f(int n) if(n= =1) return 1; else return f(n-1)+1;main() int i,j=0; for(i=1;i3;i+) j+=f(i); printf(%dn,j);程序运行后的输出结果是【 B 】A)4 B) 3 C)2 D)117.以下程序的输出结果是【 D 】int f() static int i=0; int s=1; s+=i

7、; i+; return s;main() int i,a=0; for(i=0;i5;i+) a+=f(); printf(%dn,a);A)20 B)24 C)25 D)1518.在C语句中,函数的隐含存储类型是【 A 】A)autoB)staticC)externD)无存储类别二、读程序写结果(8*5=40分)1、#includevoid main ( ) char str =SSWLIA,c;int k;for (k=1;(c=strk)!=0;k+) switch (c) case I: +k; break ;case L: continue;default : putchar(c)

8、 ; continue ; putchar(*); 程序运行后的输出结果是【 SW* 】2、#includevoid fun(int x,int y) x=x+y;y=x-y;x=x-y; printf(%d,%d,x,y); main() int x=2,y=3; fun(x,y); printf(%d,%dn,x,y); 程序运行后的输出结果是【 3,2,2,3 】3#include int a33=1,2,3,4,5,6,7,8,9,b10;main()f(b,a); printf(%dn,b0);f(int s,int p 3)s0=p11; 程序运行后的输出结果是【 5 】4、fun

9、(int a, int b) if(ab) return a; elsereturn b; main() int x=3,y=8,z=6,r;r=fun(fun(x,y),2*z);printf(%dn,r); 程序运行后的输出结果是【 12 】5、#include int i=5;main()int i=3; int i=10;i+;f1();i+=1; printf(%dn,i); int f1()i=i+1; return(i); 程序运行后的输出结果是【 4 】6、int ff(int n) static int f=1; f=f*n; return f; main() int i;

10、for(i=1;i=5;i+) printf(%5d,ff(i); 程序输出的最后一个值是【 120 】7、#define MAX 5int aMAX,k;main() fun1();fun3(); fun2(); fun3();printf(n);fun1() for(k=0;kMAX;k+) ak=k+k; fun2() int aMAX,k;for(k=0;k5;k+) ak=k; fun3()int k; for(k=0;kMAX;k+) printf(%d,ak); 程序运行后的输出结果是8、#includemain() int k=4,m=1,p; p=func(k,m); pri

11、ntf(%d,p);p=func(k,m);printf(%dn,p); func(int a,int b) static int m=0,i=2;i+=m+1;m=i+a+b;return (m); 程序运行后的输出结果是三、程序填空(12*2.5=30)1 、下面程序求一个二维矩阵的最大值。 # include #define M 3 #define N 4 int findmax(int a N) int i, j, max = a00; for(i = 0; i M; i+; ) for(j = 0; jmax) max = aij; return (max); void main(

12、) int i, j, max, aMN ; for(i = 0; iM; i+) for(j = 0; j N; j+) scanf(“%d”, &aij); max = findmax(a); printf(“%d”, max); 2、下面程序是输出两个字符串中对应相等的字符。main () char x = programming, y = Fortran; int i=0; while( xi!=0&yi!=0 ) if (xi=yi) printf (%c, xi+ ); else i+; 3、以下为递归法求n!的函数。float Fac(int n) float f ;if ( n

13、 0 )printf ( “error! ” );else if ( n = = 0 | | n = = 1) f=(float)n; else f=n*Fac(n-1); return ( f ) 4、 编写N个任意不同的正整数存入数组a,后求数组a最大值与平均值的差,最后输出。#define N 8 main( ) int a N = 8,6,4,10,7,9,5,1;int i,max,sum,c; max =a 0; sum = a0+a1+a2+a3+a4+a5+a6+a7; c = 0; for(i=0;i max) max=ai; c+; printf(%fn, (max1.0 * sum/c);

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服