C程实验习题答案(4)

2019-03-10 14:47

11. 设int b[ ]={1,2,3,4},y,*p=b; 则执行语句y=*p++;之后,变量y的值为( )

A)1 B)2 C)3 D)4

二、填空题:

1. 以下程序的功能是:通过指针操作,找出三个整数中的最小值并输出。 请填空。

#include \ main()

{int *a,*b,*c,num,x,y,z; a=&x;b=&y;c=&z;

printf(\输入3个整数:\ scanf(\

printf(\ num=*a;

if(*a>*b)__num=*b____; if(num>*c)_num=*c____;

printf(\输出最小整数:%d\\n\ }

2. 下面程序段的运行结果是__hELLO!______. char s[80],*sp=\ sp=strcpy(s,sp); s[0]='h'; puts(sp);

3. 下面程序段的运行结果是___ef_____. char str[]=\ printf(\若有定义:int a[]={2,4,6,8,10,12},*p=a;则*(p+1)的值是__4____. *(a+5)的值是____12_____.

4. 若有以下定义:int a[2][3]={2,4,6,8,10,12};则a[1][0]的值是__8___. *(*(a+1)+0))的值是____8____.

5. 以下程序将数组a中的数据按逆序存放,请填空。 #define M 8 void main()

{int a[M],i,j,t;

for(i=0;i

t=*(a+i);_*(a+i)=*(a+j)_______;*(__a+j_____)=t; i++;j--; }

for(i=0;i

6. 若有定义:int a[3][5],i,j;(且0<=i<3,0<=j<5),则a数组中任一元素可用 五种形式引用。它们是: (1)a[i][j] (2)*(a[i]+j) (3)*(*(a+i)+j); (4)(*(a+i))[j] (5)*(__*a__+5*i+j)

7. 下面程序的运行结果是_Coble

dBase

C language

Pascal________.

void main()

{char *a[]={\ char (**p)[]; int j; p=a+3;

for(j=3;j>=0;j--)printf(\ }

8. char (*pa)[10];则pa的类型是:__数组指针_ ___。

9. 设int a[10],b[3][3];数组元素a[5]和b[1][2]分别用指针表示的形式是____*(a+5)_________和_____*(*(b+1)+2)________。

第6章 函数

习题

1. 有如下程序

#include long fib( int n)

{if(n>2) return(fib(n-1)+fib(n-2)); else return(2); }

void main( )

{ printf(\,fib(3));} 该程序的输出结果是( )

A、2 B、 4 C、 6 2. 在C语言中,函数的隐含存储类别是( )

A、 auto B、 static C、 extern 3. 以下所列的各函数首部中,正确的是( ) 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) 4. 以下程序的输出结果是( )

A、 0 B、 29 C、 31 fun(int x,int y,int z) { z=x*x+y*y;} main( )

{ int a=31;

fun(5,2,a); printf(\,a); }

5. 以下程序的输出结果是( ) f(int b[ ],int m,int n) {int I,s=0;

for(i=m;i

main( )

{int x,a[ ]={1,2,3,4,5,6,7,8, x=f(a,3,7);

D、8 D、 无存储类别 D、 无定值

9}; printf(\ }

A、10 B、18 C、8 D、15 6. 以下程序的输出结果是( )

A、1 B、2 C、3 D、4

long fun( int n) { long s;

if(n==1 || n==2) s=2; else s=n-fun(n-1); return s;} main( )

{ printf(\\\n\; } 7. 以下程序的输出结果是( ) int f( )

{ static int i=0; int s=1; s+=i;i++; return s; }

main( )

{ int i,a=0;

for(i=0;i<5;i++) a+=f(); printf(\,a); }

A、20 B、24 C、25 D、15

8. 以下程序的功能是调用函数fun计算:m=1-2+3-4+?+9-10,并输出结果。请填空。 int fun( int n) { int m=0,f=1,i;

for(i=1; i<=n; i++)

{ m+=i*f;

f= __-f___________ ; }

return m; }

main()

{ printf(\f(10)______ ); } 9. 以下程序输出的最后一个值是______120_______

int ff(int n)

{ static int f=l;

f=f*n; return f;

}

main( ) { int i;

for(i=1;i<=5;i++ ) printf(\\\n\,ff(i)); }

10. 以下函数的功能是:求x的y次方,请填空。

double fun( double x,int y) { int i; double z;

for(i=1, z=x; i

11. 以下正确的说法是( )

A、用户若需要调用标准库函数,调用前必须重新定义

B 、用户可以重新定义标准库函数,如若此,该函数将失去原有定义 C 、系统不允许用户重新定义标准库函数

D 、用户若需要使用标准库函数,调用前不必使用预处理命令将该函数所在的头文件包含编译,系统会自动调用。

12. C 语言规定,简单变量做实参时,它和对应的形参之间的数据传递方式是( ) A、地址传递 B 、值传递

C 、有实参传给形参,再由形参传给实参 D 、由用户指定传递方式

13. 下面程序的输出是( ) int i=2 ;

printf(“%d%d%d”,i*=2,++i,i++) ;

A、 8 , 4 , 2 B 、 8 , 4 , 3 C、 4 , 4 , 5 D 、 4 , 5 , 6 14. 以下不正确的说法是( )

A 、 register 变量可以提高变量使用的执行效率

B 、 register 变量由于使用的是 CPU 的寄存器,其数目是有限制的 C 、 extern 变量定义的存储空间按变量类型分配

D 、全局变量使得函数之间的 “ 耦合性 ” 更加紧密,不利于模块化的要求 15. C 语言函数返回类型的默认定义类型是___int_________

16. 函数的实参传递到形参有两种方式:_____传值_______ 和_____传址______ 。 17. C 语言变量按其作用域分为____全局变量________和___局部变量_________ 。按其生存期分为____静态________和___动态________ 。

18. 已知函数定义 : { ?? }, 其函数声明的两种写法为__ void dothat(int n,double x);__________ , _____ void dothat(int ,double );_______ 。 19. C 语言变量的存储类别有____auto________ ,_____static_______ ,____register________ 和______extern______ 。

20. 在一个 C 程序中,若要定义一个只允许本源程序文件中所有函数使用的全局变量,则该变量需要定义的存储类别为 ____extern________。


C程实验习题答案(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:七年级生物第四节输血与血型教案1新版新人教版

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: