c函数习题[参考].pdfVIP

  • 4
  • 0
  • 约6.47千字
  • 约 8页
  • 2021-10-13 发布于福建
  • 举报
函数习题 一、选择题 1. 以下描述正确的是() A) C 语言程序总是从第一个定义的函数开始执行 B) C 语言程序中,要调用的函数必须在 main ()函数中定义 C) C 语言程序总是从 main ()函数开始执行 D) C 语言程序中的 main ()函数必须放在程序的开始部分 答案: C 2. C 语言中函数的隐含存储类型是() A) Auto B) Static C) Extern D) 无存储类型 答案: C 3. 若定义以下函数 double myadd(double a,double b) {return (a+b);} 并将其放在调用语句之后, 则在调用之前应该对该函数进行说明, 以下选项中错误的说明是 () A) double myadd(double a,b); B) double myadd(double ,double); C) double myadd(double b,double a); D) double myadd(double x,double y); 答案: A 4. 以下错误的描述是() A) 函数调用可以出现在执行语句中 B) 函数调用可以出现在一个表达式中 C) 函数调用可以作为一个函数的实参 D) 函数调用可以作为一个函数的形参 答案: D 5. 在 C 语言中,以下正确的说法是() A) 实参和与其对应的形参各占用独立的存储单元 B) 实参和与其对应的形参共占用一个存储单元 C) 只有当实参和与其对应的形参同名时才共占用存储单元 D) 形参是虚拟的,不占用存储单元 答案: A 6. 以下程序中的函数 reverse 的功能是将 a 所指数组中内容进行逆置。 #include stdio.h void reverse(int a[],int n) { int i,t; for (i=0;in/2;i++) { t=a[i]; a[i]=a[n-1-i]; a[n-1-i]=t; } } void main(void) { int b[10]={1,2,3,4,5,6,7,8,9,10}; int i,s=0; reverse(b,8); for(i=6;i10;i++) s+=b[i]; printf( “%d\n ”,s); } 程序的运行结果是() 。 A) 22 B) 10 C) 34 D) 30 答案: A 7. 阅读以下程序,运行后 s 的值为() #include stdio.h long f1(int p) { int k; long r; long f2(int ); k=p*p; r=f2(k); return r; } long f2( int q) { long c=1; int i; for (i=1;i=q;i++) c=c*i; return c; } void main(void) { int i; long s=0; for (i=2;i=3;i++) s=s+f1(i); printf( “\ns=%ld\n ”,s); } 答案: 362904 8. 下列结论中只有() 是正确的。 A) 所有的递归函数均可以采用非递归算法实现 B) 只有部分递归函数可以用非递归算法实现 C) 所有的递归函数均不可以采用非递归算法实现 D) 以上三种说法都不对 答案: B 9. 有以下程序 #include stdio.h void fun2(char a,char b) { printf( “%c %c ”,a,b); } char a=?A?,b=?B?; void fun1() { a=?C?;b= ?D?; } void main(void)

文档评论(0)

1亿VIP精品文档

相关文档