当前位置:首页 >> 其它课程 >> C语言数组与函数考试试题

C语言数组与函数考试试题


2014 年上期职二对口 C 语言程序设计第一次月考试题 (适用班级 1219、1220)
班级: 姓名: 总分: 一、选择题(15*2=30 分) 1、在定义“int a[5][6];”后,第 11 个元素是 。 A、a[2][5] B、a[2][4] C、a[1][4] D、a[1][5] 2、假定 int 类型变量占用两个字节,其定义:int x[10]={0,2,4};,则数组 x 在内存中所 占字节数是 。 A、3 B、6 C、10 D、20 3、当接受用输入的含空格的字符串地,应使用的函数是 。 A、scanf() B、gets() C、getchar() D、getc() 4、设有数组定义:char array[]=”China”;。则数组 array 所占的空间为 。 A、4 个字节 B、5 个字节 C、6 个字节 D、7 个字节 5、设有变量定义:int a [ ] = {1,2,3,4}; 执行语句 a[3] = - - a[0]? a[1] + + : a[2] + +;执行后,数组的元素 a[0], a[1], a[2], a[3] 的值依次为 A、 1,2,3,4 B、 0,3,3,4 C、 0,2,3,4 D、0,2,4,3 6、以下程序的输出结果是 void main( ) {int i, x[3][3] = { 1,2,3,4,5,6,7,8,9} for(i= 0;i < 3; i + +) printf("3%d", x[i][2 - i]); } A、 1 5 9 B、 1 4 7 C、3 5 7 D、 3 6 9 7、不能把字符串:Hello!赋给数组 b 的语句是 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、值传递 B、地址传递 C、返回值传递 D、全局外部变量 9、以下关于函数的叙述中不正确的是 A、C 程序是函数的集合,包括标准库函数和用户自定义函数 B、在 C 语言程序中,被调用的函数必须在 main 函数中定义 C、在 C 语言程序中,函数的定义不能嵌套 D、在 C 语言程序中,函数的调用可以嵌套 10、若用数组名作为函数调用的实参,则传递给形参的是 A、数组的首地址 B、 数组的第一个元素的值 C、数组中全部元素的值 D、数组元素的个数 11、C 语言中,凡未指定存储类别的局部变量的隐含存储类别是 A、 auto B、static C、extern D、 register 12、若有以下函数调用语句:fun(a+b,(x,y),fun(n+k,d,(a,b)));在此函数调用语句中实 参的个数是

A、3 B、4 C、5 D、6 13、若程序中定义函数 float myadd(float a, float b) { return a+b;}并将其放在调用之后,则在调用之 前应对该函数进行说明。以下说明中错误的是 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、以下函数值的类型是 fun (float x) { float y; y= 3*x-4; return y;} A、 int B、不确定 C、 void D、 float 15、 #include<stdio.h> f(in b[], int n) { int i, r;r=1; for(i=0; i<=n; i++) r=r*b[i]; return r; } main() { int x, a[]={ 2,3,4,5,6,7,8,9}; x=f(a, 3); printf("%d\n",x); } 上面程序的输出结果是( ) 。 A、 720 B、 120 C、24 D、 6 二、读程序写结果(8*5=40 分) 1、void main ( ) { char str[ ]=”SSWLIA”,c; int k; for (k=1;(c=str[k])!=’\0’;k++) {switch (c) { case ‘I’: ++k; break ; case ‘L’: continue; default : putchar(c) ; continue ; } putchar(‘*’); }} 程序运行后的输出结果是________ 2、void 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,%d\n”,x,y); } 程序运行后的输出结果是_____ 3、#include <stdio.h> int a[3][3]={1,2,3,4,5,6,7,8,9},b[10]; main() { f(b,a); printf("%d\n",b[0]); } f(int s[],int p[ ][3]) { s[0]=p[1][1]; } 程序运行后的输出结果是________ 4、 fun(int a, int b) { if(a>b) return a; else return b; }

main() { int x=3,y=8,z=6,r; r=fun(fun(x,y),2*z); printf("%d\n",r); } 程序运行后的输出结果是____ 5、#include <stdio.h> int i=5; main() {int i=3; { int i=10;i++;} f1();i+=1; printf("%d\n",i); } int f1() {i=i+1; return(i); } 程序运行后的输出结果是______ 6、int ff(int n) { static int f=1; f=f*n; return f; } main() { int i; for(i=1;i<=5;i++) printf("%5d",ff(i)); } 程序输出的最后一个值是______ 7、#define MAX 5 int a[MAX],k; main() { fun1();fun3(); fun2(); fun3();printf("\n"); } fun1() { for(k=0;k<MAX;k++) a[k]=k+k; } fun2() { int a[MAX],k; for(k=0;k<5;k++) a[k]=k; } fun3() {int k; for(k=0;k<MAX;k++) printf("%d",a[k]); } 程序运行后的输出结果是______ 8、#inclued<stdio.h> main() { int k=4,m=1,p; p=func(k,m); printf(“%d”,p); p=func(k,m);printf(“%d\n”,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 <stdio.h> #define M 3 #define N 4 int findmax(int a[ ][N]) { int i, j, max = a[0][0]; for(i = 0; i< M; ① )

for(j = 0; j<N; j++) if(a[i][j]>max) max = a[i][j]; ② } void main( ) { int i, j, max, ③ ; for(i = 0; i<M; i++) for(j = 0; j < N; j++) scanf(“%d”, &a[i][j]); max = findmax(a); printf(“%d”, max); } 2、下面程序是输出两个字符串中对应相等的字符。 main () {char x [ ]= "programming", y[ ]= "Fortran"; int i=0; while( ① ) if (x[i]==y[i]) printf ("%c", ② ); else ③ } 3、以下为递归法求 n!的函数。 float Fac(int n) { float f ; if ( n < 0 ) printf ( “error! ” ); else if ( n = = 0 | | n = = 1) ① else ② return ( ③ ) } 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 = ① c = 0; for(i=0;i < N;i + +) {if(a[i] > max) ② ③ } printf("%f\n", (max-1.0 * sum/c));

}


更多相关文档:

C语言数组试题

C语言数组试题_电脑基础知识_IT/计算机_专业资料。...数组与字符串的区别与 联系;掌握有关字符串处理函数...物理和外语四门课的考试成绩,编程统计各 学生的总分...

C语言复习题及答案 第七章 数组

C 语言复习题 第七章 数组 (8 学时) 学习目的与要求: 1 2 3 4 5 、...字符型数组的定义与引用; 、能正确使用字符串处理函数; 、学会使用数组解决实际...

C语言编程练习题绝对经典!

C语言编程练习题绝对经典!_IT认证_资格考试/认证_教育专区。C语言编程练习 ...? 编写一个函数,使给定的一个二维数组(N×N)行列互换(N>3)。 从键盘中...

c语言 数组习题

c语言 数组习题_IT认证_资格考试/认证_教育专区。学习...填空题 (1) C 语言中,数组的各元素必须具有相同...函数输入数组的第二个元素表示为 为: 。把第六个...

大学C语言期末考试练习题(带详解答案)

一、 单项选择题 1. ( A )是构成 C 语言程序的基本单位。 A、函数 2.C...以下对一维数组 a 的正确说明是: A) char a(10) ; C)int k=5,a[k];...

c语言经典笔试题(非常全)

c语言经典笔试题(非常全)_计算机软件及应用_IT/计算机_专业资料。187道c语言...试题5中 char p[] = "hello world"; return p; 的p[]数组函数内的局部...

C语言考试题库及答案

( int x);//函数声明 int sum; /***begin***/ int i,j=1; sum=0;...考生目录下,要求程序 PROG.C 的功能是:将 所有的水仙花数保存到一维数组 a ...

c语言(函数,数组,指针)练习题

csdn推荐——C指针 92页 免费如要投诉违规内容,请到百度文库投诉中心;如要提出功能问题或意见建议,请点击此处进行反馈。 c语言(函数,数组,指针)练习题 隐藏>>...

C语言考试题及答案

C语言考试题及答案_IT认证_资格考试/认证_教育专区。红色字体是我自己输入的,涉及...(字符数组 1,字符数组 2)串连函数 strcpy/strncpy(字符数组 1,字符数组 2)...

C语言 数组和指针练习题

C语言 数组和指针练习题_IT认证_资格考试/认证_教育专区。若当堂没做完,下周四...输入到数组 s 中,应当调用的函数是_gets()___,函数调用语句的形式是__gets...
更多相关标签:
网站地图

文档资料共享网 nexoncn.com copyright ©right 2010-2020。
文档资料共享网内容来自网络,如有侵犯请联系客服。email:zhit325@126.com