static int i=0; int s=1;
s+=i; i++; return s; }
void main() {
int i, a=0;
for(i=0; i<5; i++) a+=f(); printf(\ }
A) 20 B) 24 C) 25 D) 15
40. 下面程序执行后的输出结果是_______________。
#include
static int a=3; int t=0;
if(n%2) { static int a=4; t+=a++; } else { static int a=5; t+=a++; } return t+a++; }
void main() {
int i, s=a;
for(i=0; i<3; i++) s+=f(i); printf(\ }
A) 24 B) 26 C) 28 D) 29
41. 在C语言中,计算xy正确的是_____________。
A) x^y B) pow(x, y) C) x**y D) power(x, y) 42.自动型局部变量分配在___________________。
A) 内存的数据区中 B) CPU的通用寄存器中 C) 内存的程序区中 D) 内存的堆栈区中 二、填空题
1.C语言函数返回类型的默认定义类型是__________。
2.可以将被调函数中获得的值返回给主调函数的语句是_____________________。 3.在C语言中,当定义一个函数的类型为void时,说明执行该函数_____________。 4.若函数定义为:
int data() { float x=9.9; return (x); }
则函数返回的值地_________。
5.函数调用语句fun((a,b), (c, d, e));的实参个数是_________。
6.函数调用语句func(rec1, rec2+rec3, (rec4, rec5));的实参个数是_________。 7.函数的实参传递到形参有两种方式:___________和_____________。 8.在C语言中,若函数的形参是整型变量,而对应的实参是整型数,则形实结合的方式是___________传递。
9.函数fun的功能是计算x n
double fun(double x, int n) { int i; double y=1;
for(i=1; i<=n; i++) y=y*x; return y; }
主函数中已经正确定义m,a,b变量并赋值,调用fun函数计算m=a4+b4-(a+b)3的调用语句为________________。
10. 已知函数定义:void dothat(int n, double x) { ...... },其函数声明的两种写法为________和________。
11. 在一个函数内部调用另一个函数的调用方式称为________;在一个函数内部直接或间接调用该函数称为函数________的调用方式。
12. 对于以下递归函数f,调用f(4)的返回值是________。
int f(int n) {
if(n) return f(n-1)+n; else return n; } 13. 函数pi的功能是根据近似公式
???6?1?111??...?求π值。请在下面的函数2?23?3n?n中填空,完成求π的功能。
#include
{ double s=0.0; long i;
for(i=1; i<=n; i++) s=s+_______; return (sqrt(6*s)); }
14. C语言变量按其作用域分为________和______,按其生存期分为________和_________。 15. C语言变量的存储类别有___________、__________、______________和________________。 16. 凡在函数中未指定存储类别的局部变量,其默认的存储类别为_________________。 17. 被调用函数执行结束时,此函数中定义的________________类型的变量不能被释放_。 18. 静态型外部变量的作用域是_________________。
19. 在一个C程序中,若要定义一个只允许本文件中函数使用的全局变量,则该变量需要定义的存储类别为_________________。
20.变量赋初值可以在两个阶段,即______________和___________。 三、判断题
1. 函数的定义和函数的调用均可以嵌套。【_____________】 2. 函数必须有返回值,否则不能定义成函数。【_____________】
3. 在C语言中,调用函数时,只能把实参的值传递给形参,形参的值不能传递给实参。
【_____________】
4. 程序中定义的整型变量的初值都为0。【_____________】
5. C程序中,有调用关系的所有函数必须放在同一个源程序文件中。【_____________】 四、程序阅读题
1. 简要叙述下面程序的功能。 # include
int i, j, k;
i=n/100; j=n/10-i*10; k=n;
if(i*100+j*10+k==i*i*i+j*j*j+k*k*k) return n; return 0; }
void main() {
int n, k;
for(n=100; n<1000; n++)
if(k=func(n)) printf(\}
2.下面程序运行时从键盘上输入:-125回车,写出程序的运行结果。 # include
int k, r;
for(k=2; k<=sqrt(n); k++) { r=n%k;
while(!r) {
printf(\ n=n/k;
if(n>1) printf(\ r=n%k; } }
if(n!=1) printf(\}
void main() { int n;
scanf(\ printf(\ if(n<0) printf(\ n=abs(n); fun (n);
}
3.写出下面程序执行后的运行结果。 # include
printf(\ printf(\}
int Fun(int n) {
int result=1;
while(n>1) result*=n--; return result; }
4. 下面程序运行时从键盘上输入:282回车,写出程序的运行结果。 # include
int s=1; do {
s*=n; n/=10; }while (n); return s; }
void main() {
int n;
scanf(\ n=sub(n);
printf(\}
5.写出下面程序执行后的运行结果。 # include
int fun1(int i) {
i=(i%i)*((i*i)/(2*i)+4); printf(\reutrn i; }
int fun2(int i) {
i=i<=2?5:0; return i;
}
void main() {
int i=5; fun2(i/2);
printf(\ fun2(i/2);
printf(\ fun2(i/2);
printf(\ fun2(i/2);
printf(\}
6. 下面程序运行时从键盘上输入:1234出程序的运行结果。 # include
return (n/10+n); }
void main() {
int x, y;
scanf(\ y=sub(sub(sub(x))); printf(\}
7.写出下面程序执行后的运行结果。 # include
return x>y? x : y; }
int f2(int x, int y) {
return x>y? y : x; }
void main() {
int a=4, b=3, c=5, d=2, e, f, g;
e=f2(f1(a,b), f1(c, d)); f=f1(f2(a,b), f2(c,d)); g=a+b+c+d-e-f;
printf(\

