C语言题,高手麻烦看一下。一点小菜。。

1. 以下程序运行后,输出结果是
int d=1; fun (int p) { int d=5; d = d+p++; printf("%d",d); } main() { int a=3; fun(a); d=d+a++; printf("%d\n",d); }(3分)
A、 B、 C、 D、 A、84
B、99
C、95
D、44

2. 以下程序运行后,输出结果是 func(int a,int b) { static int m=0,i=2; i+=m+1; m=i+a+b return(m); } main() { int k=4,m=1,p; p=func(k,m);printf("%d\n",p); p=func(k,m);printf("%d\n",p); }(3分)
A、 B、 C、 D、
A、8,15
B、8,16
C、8,17
D、8,8

3. 请读程序: f(int 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); } 上面程序输出结果是 (3分)
A、 B、 C、 D、
A、720
B、120
C、24
D、6

4. 请读程序: #include void FUN(int S[]) { static int J=0; do { S[J] +=S[J+1]; } while( ++J<2); } main() { int K, A[10]={ 1,2,3,4,5}; for( K=1;K<3;K++) FUN(A); for (K=0;K<5;K++) printf("%d",A[K]); } 上面程序输出结果是 (3分)
A、 B、 C、 D、
A、34756
B、23445
C、35745
D、12345

5. C语言规定:简单变量做实参时,它和对应形参之间的数据传递方式是 (3分)
A、 B、 C、 D、
A、地址传递
B、单向值传递
C、由实参传给形参,再由形参传回给实参
D、由用户指定的传递方式

6. 以下程序有语法错误,有关错误原因的正确说法是 main() { int G=5,k; void prt_char(); ... k=prt_char(G); ... } (3分)
A、 B、 C、 D、
A、语句 void prt_char();有错,它是函数调用语句,不能用void说明
B、变量名不能使用大写字母
C、函数说明和函数调用语句之间有矛盾
D、函数名不能使用下划线

7. 以下函数值的类型是 fun ( float x ) { float y; y= 3*x-4; return y; } (3分)
A、 B、 C、 D、 F、
A、 int
B、不确定
C、void
D、 float
F、

8. 若有以下程序 #include void f(int n); main() { void f(int n); f(5); } void f(int n) { printf("%d\n",n); } 则以下叙述中不正确的是 (3分)
A、 B、 C、 D、 F、
A、若只在主函数中对函数f进行说明,则只能在主函数中正确调用函数f
B、若在主函数前对函数f进行说明,则在主函数和其后的其它函数中都可以正确调用函数f
C、对于以上程序,编译时系统会提示出错信息:提示对对f函数重复说明
D、函数f无返回值,所以可用void将其类型定义为无值型
F、

9. 以下所列的各函数首部中,正确的是 (3分)
A、 B、 C、 D、 F、
A、void play(var :Integer,var b:Integer)
B、void play(int a,b)
C、void play(int a,int b)
D、Sub play(a as integer,b as integer)
F、

10. 当调用函数时,实参是一个数组名,则向函数传送的是 (3分)
A、 B、 C、 D、 F、
A、数组的长度
B、数组的首地址
C、数组每一个元素的地址
D、数组每个元素中的值
F、

第1个回答  2007-05-21
太多了。还奖励这么一点,
第2个回答  2007-06-03
..这种问题也拿来问....多给点分,全部帮你解决
相似回答