|
|
一、 选择题 1.以下正确的函数定义形式是( )。 A.double fun(int x, int y) B.double fun(int x ;int y) C.double fun(int x, int y); D.double fun(int x,y);
2.在C语言中,以下说法不正确的是( )。 A.实参可以是常量、变量或表达式 B.形参可以是常量、变量或表达式 C.实参可以为任意类型 D.形参应与其对应的实参类型一致
3.以下说法正确的是( )。 A.定义函数时,形参的类型说明可以放在函数体内 B.return后边的值不能为表达式 C.如果函数值的类型与返回值类型不一致,以函数值类型为准 D.如果形参与实参的类型不一致,以实参类型为准
4.C语言允许函数值类型缺省定义,此时该函数值默认的类型是( )。 A.float型 B.int型 C.long型 D.double型
5.C语言规定,函数返回值的类型是由( )。 A.return语句中的表达式类型所决定 B.调用该函数时的主调函数类型所决定 C.调用该函数时系统临时决定 D.在定义该函数时所指定的函数类型所决定
6.以下错误的描述是( )。 函数调用可以: A.出现在执行语句中 B.出现在一个表达式中 C.作为一个函数的实参 D.作为一个函数的形参
7.以下正确的描述是( )。 在C语言程序中: A.函数的定义可以嵌套,但函数的调用不可以嵌套 B.函数的定义不可嵌套,但函数的调用可以嵌套 C.函数的定义和函数的调用均不可以嵌套 D.函数的定义和调用均可以嵌套
8.在一个C源程序文件中,若要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需要使用的存储类别是( )。 A.extern B.register C.auto D.static
9.若有以下宏定义: #define N 2 #define Y(n) ((N+1)*n) 则执行语句Z=2*(N+Y(5));后结果是( )。 A.语句有误 B.Z=34 C.Z=70 D.Z无定值
10.在宏定义#define PI 3.14159中,用宏名PI代替一个( )。 A.常量 B.单精度数 C.双精度数 D.字符串
二 填空题 1.以下程序的运行结果是_____________。 #include "stdio.h" void main() { int I=2,x=5,j=7; fun(j,6); printf("I=%d;j=%d;x=%d\n",I,j,x); } fun(int I,int j) { int x=7; printf("I=%d;j=%d;x=%d\n",I,j,x); }
2.以下程序的运行结果是____________。 #include "stdio.h" void main() { void increment(); increment(); increment(); increment(); } void increment() { int x=0; x+=1; printf("%d ",x); }
3.以下程序的运行结果是_____________。 #include "stdio.h" void main() { int max(int x,int y); int a=1,b=2,c; c=max(a,b); printf("max is %d\n",c); } int max(int x,int y) { int z; z=(x>y)?x:y; return(z); }
4.以下程序的运行结果是_____________。 #include "stdio.h" void main() { void add(int x,int y, int z); int x=2,y=3,z=0; printf("(1)x=%d y=%d z=%d\n",x,y,z); add(x,y,z); printf("(3)x=%d y=%d z=%d\n",x,y,z); } void add(int x,int y, int z) { z=x+y; x=x*x; y=y*y; printf("(2)x=%d y=%d z=%d\n",x,y,z); }
三、程序设计题 1.编写一个函数,判断一个数是不是素数。在主函数中输入一个整数,输出是否是素数的信息。要求: (1) 编写一个函数prime(n),返回给定整数n是否为素数。 (2) 编写一个主函数,输入一个整数,调用(1)中的函数,判断此整数是否为素数,并输出结果。
2.函数fun的功能是:统计各年龄段的人数并存到b数组中,n个人员的年龄放在a数组中。年龄为1到9的人数存到b[0]中,年龄为10到19的人数存到b[1],年龄为20到29的人数存到b[2], 年龄为30到39的人数存到b[3],年龄为40到49的人数存到b[4], 年龄为50岁以上的人数存到b[5]中。 例如,当a数组中的数据为: 9、18、27、38、59、33、14、75、38。 调用该函数后,b数组中存放的数据应是: 1、2、1、3、0、2。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 #include "stdio.h" void fun(int a[], int b[], int n) {
} void main() { int i,a[100]={9,18,27,38,59,33,14,75,38},b[6]={0}; fun(a,b,9); printf("The result is: "); for (i=0; i<6;i++) printf("%d ",b[i]); printf("\n"); }
|
|
|