第7章習(xí)題答案_第1頁(yè)
第7章習(xí)題答案_第2頁(yè)
第7章習(xí)題答案_第3頁(yè)
第7章習(xí)題答案_第4頁(yè)
第7章習(xí)題答案_第5頁(yè)
已閱讀5頁(yè),還剩14頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、第七章 習(xí)題一、選擇題(*號(hào)題選做)(1)若各選項(xiàng)中所用變量已正確定義,函數(shù)fun中通過(guò)return語(yǔ)句返回一個(gè)函數(shù)值,以下選項(xiàng)中錯(cuò)誤的程序是A      A)main()B) float fun(int a,int b)       x=fun(2,10); main()       float fun(int a,int b)x=fun(i,j);      &#

2、160;C)float fun(int,int);D) main()       main() float fun(int i,int j);       x=fun(2,10); x=fun(i,j);       float fun(int a,int b) float fun(int a,int b) *(2)已定義以下函數(shù)      int fun(

3、int *p)       return *p;       fun 函數(shù)返回值是B      A)不確定的值 B)一個(gè)整數(shù) C)形參p中存放的值 D)形參p的地址值*(3)若有以下函數(shù)首部。int fun(double x10,int *n)則下面針對(duì)此函數(shù)的函數(shù)聲明語(yǔ)句中正確的是( )。DA)int fun(double x,int *n); B)int fun(double,int);C)int fun(dou

4、ble *x,int n); D)int fun(double *,int*);(4)若函數(shù)調(diào)用時(shí)的實(shí)參為變量時(shí),以下關(guān)于函數(shù)形參和實(shí)參的敘述中正確的是DA)函數(shù)的實(shí)參和其對(duì)應(yīng)的形參共占同一存儲(chǔ)單元B)形參只是形式上的存在,不占用具體存儲(chǔ)單元C)同名的實(shí)參和形參占同一存儲(chǔ)單元D)函數(shù)的形參和實(shí)參分別占用不同的存儲(chǔ)單元(5)下面的函數(shù)調(diào)用語(yǔ)句中func函數(shù)的是實(shí)參個(gè)數(shù)是  ( )Afunc( f2(v1,v2), (v3,v4,v5),(v6,max(v7,v8);A)3   B)4  C) 5  D)8(6)以下敘述中錯(cuò)誤的是 ( )BA)用戶(hù)

5、定義的函數(shù)中可以沒(méi)有return 語(yǔ)句B) 用戶(hù)定義的函數(shù)中可以有多個(gè)return語(yǔ)句,以便可以調(diào)用一次返回多個(gè)函數(shù)值C) 用戶(hù)定義的函數(shù)中若沒(méi)有return語(yǔ)句,則應(yīng)當(dāng)定義函數(shù)為void類(lèi)型D)函數(shù)的return語(yǔ)句中可以沒(méi)有表達(dá)式(7)以下關(guān)于return語(yǔ)句的敘述中正確的是BA)一個(gè)自定義函數(shù)中必須有一條return語(yǔ)句B) 一個(gè)自定義函數(shù)中可以根據(jù)不同情況設(shè)置多條return語(yǔ)句C)定義成viod類(lèi)型的函數(shù)中可以有帶返回值的return語(yǔ)句D)沒(méi)有return語(yǔ)句的自定義函數(shù)在執(zhí)行結(jié)束時(shí)不能返回到調(diào)用處(8)有以下程序     

6、0;int fun1(double a)return a*=a;       int fun2(double x,double y)              double a=0,b=0;       a=fun1(x); b=fun1(y); return (int)(a+b);       

7、      main()       double w; w=fun2(1.1,2.0);       程序執(zhí)行后變量w中的值是C      A)5.21  B) 5  C) 5.0  D) 0.0 (9)有以下程序:fun(int x,int y)return(x+y);main()int a=1,b=2,c=3,sum; s

8、um=fun(a+,b+,a+b),c+); printf("%dn",sum);執(zhí)行后的輸出結(jié)果是( )。CA)6B)7C)8D)9(10)有以下程序:void fun2(char a,char b) printf("%c,%c",a,b);char a='A',b='B'void fun1() a='C' b='D'main()fun1(); printf("%c%c",a,b); fun2('E','F');程序的運(yùn)行結(jié)果是( )。A

9、A)CDEF B)ABEFC)ABCDD)CDAB*(11)有以下程序      main(int argc,char *argv)      int n=0,i;      for(i=1;i<argc;i+) n=n*10+*argvi-0;      printf(“%dn”,n);      &

10、#160;編譯連接后生成可執(zhí)行文件tt.exe,若運(yùn)行時(shí)輸入以下命令行      tt 12 345 678程序運(yùn)行后的輸出結(jié)果是DA) 12   B) 12345  C)12345678  D) 136(12)有如下程序:   #include <stdio.h>   void fun(int a,int b)         int t;   

11、0;   t=a;a=b;b=t;      main()   int c10=1,2,3,4,5,6,7,8,9,0,i;    for(i=0;k<10;i+=2) fun(ci,ci+1);for(i=0;k<10;i+)printf("%d",ci);printf("n");      程序的運(yùn)行結(jié)果是AA)1,2,3,4,5,6,7,8,9,0,   B)2,1,4

12、,3,6,5,8,7,0,9, C)0,9,8,7,6,5,4,3,2,1,   D)0,1,2,3,4,5,6,7,8,9,(13)有以下程序#include<stdio.h>intf(intx,inty)return(y-x)*x);main()inta=3,b=4,c=5,d;d=f(f(a,b),f(a,c);printf("%dn",d);程序運(yùn)行后的輸出結(jié)果是BA)10B)9C)8D)7(14)有以下程序#include<stdio.h>intfun(intx,inty)if(x=y)return(x);el

13、sereturn(x+y)/2);main()inta=4,b=5,c=6;printf("%dn",fun(2*a,fun(b,c);程序運(yùn)行后的輸出結(jié)果是BA)3B)6C)8D)12(15)有以下程序#include<stdio.h>voidfun(intp)intd=2;p=d+;printf("%d",p);main()inta=1;fun(a);printf("%dn",a);程序運(yùn)行后的輸出結(jié)果是CA)32B)12C)21D)22(16)有以下程序includestdioh>int  

14、 f(int  x);main()int  n=1,m;m=f(f(f(n);printf(”%dn”,m);int  f(int  x)return  x*2;程序運(yùn)行后的輸出結(jié)果是DA)1    B)2    C)4    D)8(17)有以下程序      int fun(int n)         

15、   if(n=1) return 1;      else      return (n+fun(n-1);            main()       int x;      scanf(“%d”,&a

16、mp;x); x=fun(x); printf(“%dn”,x);      程序執(zhí)行時(shí),給變量x輸入10,程序的輸出結(jié)果是A A)55  B) 54  C) 65  D) 45(18)有以下程序:fun(int x)int p;if(x=0|x=1) return(3);p=x-fun(x-2);return p;main() printf("%dn",fun(7);執(zhí)行后的輸出結(jié)果是( )。CA)7B)3C)2D)0(19)有以下程序 #include <stdio

17、.h> int f(int x) int y; if(x=0|x=1) return (3); y=x*x-f(x-2); return y; main() int z; z=f(3); printf(“%dn”,z); 程序的運(yùn)行結(jié)果是 CA)0 B)9 C)6 D)8 (20)有以下程序#include <stdio.h>int  fun(int a, int b) if(b=0) return  a;  else  return(fun(-a,-b) ;main()  printf(“%dn”,fun(4,2);

18、0; 程序的運(yùn)行結(jié)果是BA)1  B)2  C) 3  D)4(21)有以下程序#include<stdio.h>int f(int t ,int n);main()int a4=1,2,3,4,s;s=fa,4; printf(%dn,s);int f(int t, int n) if (n>0) return tn-1+f(t,n-1);else return 0;程序運(yùn)行后的輸出結(jié)果是BA)4 B)10 C)14 D)6(22)有以下程序includestdioh>void  fun(int x)if(x21)fun(x2)

19、;printf(”d”,x);main()fun(7);printf(”n”);程序運(yùn)行后的輸出結(jié)果是DA)1 3 7B)7 3 1C)7 3D)3 7(23)有以下程序      int fun(int x,int n)      static int sum=0,i;      for(i=0;i sum+=xi;      return sum;

20、60;           main()      int a=1,2,3,4,5,b=6,7,8,9,s=0;      s=fun(a,5)+fun(b,4); printf(“%dn”,s);      程序執(zhí)行后的輸出結(jié)果是CA)45  B)50  C)60  D)55

21、(24)有以下程序:fun(int x, int y)static int m=0,i=2; i+=m+1; m=i+x+y; return m;main()int j=1,m=1,k;k=fun(j,m); printf("%d",k);k=fun(j,m); printf("%dn",k);執(zhí)行后的輸出結(jié)果是( )。BA)5,5B)5,11C)11,11D)11,5(25)有以下程序      int a=4;      int f

22、(int n)      int t=0; static int a=5;      if(n%2) int a=6; t+=a+;      else int a=7 ; t+=a+;      return t+a+;           

23、60;main()      int s=a, i=0;      for(; i<2; i+) s+=f(i);      printf (“%dn”,s);      程序運(yùn)行后的輸出結(jié)果是BA)24  B)28  C)32  D)36(26)設(shè)函數(shù)中有整型變量n,為保證其在未賦初值的情況下初值為0,應(yīng)該選擇的存儲(chǔ)類(lèi)別

24、是CA)autoB)registerC)staticD)auto 或register(27)有以下程序#include<stdio.h>intf(intn);main()inta=3,s;s=f(a);s=s+f(a);printf("%dn",s);intf(intn)staticinta=1;n+=a+;returnn;程序運(yùn)行后的輸出結(jié)果是CA)7B)8C)9D)10(28)有以下程序#include<stdio.h>int fun()static int x=1;x*=2; return x;main()int i,s=1;for (i=1;

25、i<=2;i+) s=fun();printf(%dn,s);程序運(yùn)行后的輸出結(jié)果是CA)0 B)1 C) 4 D)8(29)有以下程序includestdiohint fun()static int x=1;x+=1;return x;main()int i;s=1;for(i=1;i<=5;i+)s+=fun();printf(”dn”,s);程序運(yùn)行后的輸出結(jié)果是BA)11B)21C)6D)120(30)有以下程序:#include <stdio.h>#define N 5#define M N+1#define f(x) (x*M)main() int i1,i

26、2; i1=f(2); i2=f(1+1); printf("%d %dn",i1,i2);程序的運(yùn)行結(jié)果是( )。BA)12 12 B)11 7C)11 11D)12 7(31)若程序中有宏定義行:#define  N   100   則以下敘述中正確的是BA)宏定義行中定義了標(biāo)識(shí)符N的值為整數(shù)100B)在編譯程序?qū)源程序進(jìn)行預(yù)處理時(shí)用100替換標(biāo)識(shí)符NC)對(duì)C源程序進(jìn)行編譯時(shí)用100替換標(biāo)識(shí)符ND)在運(yùn)行時(shí)用100替換標(biāo)識(shí)符N(32)以下敘述中錯(cuò)誤的是 DA)在程序中凡是以“”開(kāi)始的語(yǔ)句行都是預(yù)處理命令行 B)預(yù)處理命

27、令行的最后不能以分號(hào)表示結(jié)束 C)#define MAX是合法的宏定義命令行 D)C程序?qū)︻A(yù)處理命令行的處理是在程序執(zhí)行的過(guò)程中進(jìn)行的 (33)以下關(guān)于宏的敘述中正確的是 ( )CA)宏名必須用大寫(xiě)字母表示B) 宏定義必須位于源程序中所有語(yǔ)句之前C) 宏替換沒(méi)有數(shù)據(jù)類(lèi)型限制D)宏調(diào)用比函數(shù)調(diào)用耗費(fèi)時(shí)間(34)有以下程序#include<stdio.h>#definePT3.5;#defineS(x)PT*x*x;main()inta=1,b=2;printf("%4.1fn",S(a+b);程序運(yùn)行后的輸出結(jié)果是CA)14.0B)31.5C)7.5D)程序有錯(cuò)無(wú)

28、輸出結(jié)果(35)有以下程序#include<stdio.h>#definef(x)x*x*xmain()inta=3,s,t;s=f(a+1);t=f(a+1);printf("%d,%dn",s,t);程序運(yùn)行后的輸出結(jié)果是AA)10,64B)10,10C)64,10D)64,64(36)以下程序#include <stdio.h>#define SUB(a) (a)-(a)main()int a=2,b=3,c=5,d;d=SUB(a+b)*c;printf(%dn,d);程序運(yùn)行后的結(jié)果是CA)0 B)-12 C)-20 D)10二 填空題(1

29、)以下isprime函數(shù)的功能是判斷形參a是否為素?cái)?shù),是素?cái)?shù),函數(shù)返回1,否則返回0,請(qǐng)?zhí)羁?#160;     int isprime(int a)       int i;      for(i=2;i<=a/2;i+)      if(a%i=0) _15_; /return 0      _16

30、_; /return 1      (2)以下程序中,函數(shù)fun的功能是計(jì)算x2-2x+6,主函數(shù)中將調(diào)用fun函數(shù)計(jì)算:y1=(x+8)2-2(x+8)+6y2=sin2(x)-2sin(x)+6請(qǐng)?zhí)羁铡?include "math.h"double fun(double x) return(x*x-2*x+6); main() double x,y1,y2; printf("Enter x:"); scanf("%lf",&x); y1=fun( 【11】 );

31、/x+8 y2=fun( 【12】 ); /sin(x) printf("y1=%lf,y2=%lfn",y1,y2); (3)以下程序中函數(shù)f的功能是在數(shù)組x的n個(gè)數(shù)(假定n個(gè)數(shù)互不相同)中找出最大最小數(shù),將其中最小的數(shù)與第一個(gè)數(shù)對(duì)換,把最大的數(shù)與最后一個(gè)數(shù)對(duì)換.請(qǐng)?zhí)羁?#include    <stdio.h>viod    f(int     x,int     n)     i

32、nt    p0,p1,i,j,t,m;      i=j=x0;          p0=p1=0;      for(m=0;m<n;m+)    if(xm>i)          i=xm;  p0=m;  &

33、#160;   else    if(xm<j)   j=xm;  p1=m;t=xp0;   xp0=xn-1;     xn-1=t;t=xp1;xp1= _14_; _15_=t;/ x0, x0main()   int    a10,u;    for(u=0;u<10;u+)     scanf("%d&q

34、uot;,&au);f(a,10);for(u=0;u<10;u+)         printf("%d",au);printf("n");(4)請(qǐng)將以下程序中的函數(shù)聲明語(yǔ)句補(bǔ)充完整。#include<stdio.h>int【12】;/max(int ,int)main()intx,y,(*p)();scanf("%d%d",&x,&y);p=max;printf("%dn",(*p)(x,y

35、);intmax(inta,intb)return(a>b?a:b);(5)以下fun函數(shù)的功能是:找出具有N個(gè)元素的一維數(shù)組中的最小值,并作為函數(shù)值返回。請(qǐng)?zhí)羁?。(設(shè)N已定義)iint fun(int xN)int i,k=0;for(i=0;i<N; i+)if(xi<xk)k= 【10】 ;return xk;(6)以下fun函數(shù)的功能是在N行M列的整形二維數(shù)組中,選出一個(gè)最大值作為函數(shù)值返回,請(qǐng)?zhí)羁?。(設(shè)M,. N已定義)arowcolint fun(int aNM)int i,j,row=0,col=0; for(i=0;i<N;i+) for(j=0;j&l

36、t;M;j+) if(aijarowcol)row=i;col=j; return(【12】):(7)以下程序的運(yùn)行結(jié)果是:_10_ 11      fun(int t,int n)       int i,m;      if(n=1) return t0;      else      if(n

37、>=2) m=fun(t,n-1); return m;            main()            int a=11,4,6,3,8,2,3,5,9,2;      printf(“%dn”,fun(a,10);     

38、60;(8)下面程序的運(yùn)行結(jié)果是 【17】 。18 #include <stdio.h> int f(int a,int n) if(n>1) return a0+f(a+1,n-1); else return a0; main() int aa10=1,2,3,4,5,6,7,8,9,10,s; s=f(aa+2,4); printf("%dn",s);(9)以下程序的輸出結(jié)果是【13】。 1 3#include<stdio.h> void fun(int x) if(x/2>0) fun(x/2); printf(“%d ”,x);

39、main() fun(3); printf(“n”); (10)以下程序的功能是:通過(guò)函數(shù)func輸入字符并統(tǒng)計(jì)輸入字符的個(gè)數(shù)。輸入時(shí)用字符作為輸入標(biāo)志。請(qǐng)?zhí)羁铡?include <stdio.h>long【14】;   main()     long n;        n=func();   printf("n=%ldn",n);long func()   long m; 

40、;       for(m=0; getchar()!='' 【15】);           return m;答案:func();m+(11)有以下程序#include<stdio.h>fun(intx)if(x/2>0)fun(x/2);printf("%d",x);main()fun(6);printf("n");程序運(yùn)行后的輸出結(jié)果是【15】 1 3 6(12)以下程序的運(yùn)行結(jié)果是 m=4 k=4 i=5 k=5 。      int k=0;      void fun(int m)       m+=k; k+=m; printf(“m=%dn k=%d ”,m,k+

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論