




已閱讀5頁,還剩6頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
習題7 參考答案7 1 選擇題(請選擇一個正確的答案)1. 以下對C語言函數(shù)的有關(guān)描述中,正確的是_A. 在C語言中調(diào)用函數(shù)時,只能實參的值轉(zhuǎn)送給形參,形參的值不能轉(zhuǎn)送給實參。 B. C函數(shù)既可以嵌套定義,又可以遞歸調(diào)用。C. 函數(shù)必須有返回值,否則不能使用函數(shù)。D. C程序中有調(diào)用關(guān)系的所有函數(shù)必須放在同一個源程序文件中。 答案:A.2. C語言中規(guī)定函數(shù)的返回值的類型由_A. return語句中的表達式類型所決定。B. 調(diào)用該函數(shù)時的主調(diào)函數(shù)類型所決定。C. 調(diào)用該函數(shù)時系統(tǒng)臨時決定。D. 在定義該函數(shù)時所指定的函數(shù)類型所決定。答案:D3. 以下不正確的說法是_A. 在不同函數(shù)中可以使用相同名字的變量。B. 形參是局部變量。C. 在函數(shù)內(nèi)定義的變量只在本函數(shù)范圍內(nèi)有效。D. 在函數(shù)內(nèi)的復合語句中定義的變量在本函數(shù)范圍內(nèi)有效。答案:D4. 有一個如下定義的函數(shù)func(int a) printf(%d,a);return a;則該函數(shù)值的類型是_A. 整型 B. void類型 C. 沒有返回值 D. 無法確定答案:A 5. 以下錯誤的描述為_A. 在函數(shù)之外定義的變量稱為外部變量,外部變量是全局變量。B. 在一個函數(shù)中既可以使用本函數(shù)中的局部變量a,又可以使用同名的外部變量a。C. 外部變量定義和外部變量說明的含義不同。D. 若在同一個源文件中,外部變量與局部變量同名,則在局部變量的作用范圍內(nèi),外部變量不起作用。答案:B.6. 下面程序的輸出結(jié)果是_fun3(int x)static int a = 3 ; a+=x; return a; main()int k=2,m=1,n; n = fun3(k); n = fun3(m) ; printf( %dn,n);A. 3 B. 4 C. 6 D. 9答案:C7.下面程序的輸出結(jié)果是_#include main() int k=4,m=1,p; int func (int a,int b); p=func(k,m); printf(%d, ,p); p=func(k,m); printf(%dn,p); func (int a,int b)static int m=0,i=2; i+=m+1; m=i+a+b; return m;A. 8, 17 B. 8, 16 C. 8, 20 D. 8 , 8答案:A72 判斷下列敘述的正確性,若正確在()內(nèi)標記,若錯誤在()內(nèi)標記。1. ( )全局變量與函數(shù)體內(nèi)定義的局部變量重名時,全局變量優(yōu)先。2. ( )對于不需要使用函數(shù)返回值的函數(shù),可以不定義類型。3. ( )一個函數(shù)可以定義在別的函數(shù)的內(nèi)部,即嵌套定義。 4. ( )返回值為int或char類型時,函數(shù)聲明可以缺省。 5. ( )在C語言中允許函數(shù)之間的嵌套調(diào)用。 6. ( )局部靜態(tài)變量是在編譯時賦初值的,即只賦初值一次。 7. ( )函數(shù)的形參在退出該函數(shù)后就被釋放了。73 填空題(請在空白處填入合適的內(nèi)容)1. C語言程序的基本組成單位是_函數(shù)_。2. C語言程序總是從_main_函數(shù)開始執(zhí)行。3. 函數(shù)體用 符號開始,用 符號結(jié)束。4. 當函數(shù)的返回值與函數(shù)值類型不一致時,將以_函數(shù)值_的類型為準。5. 凡在函數(shù)中未指定存儲類別的變量,其隱含的存儲類別為_動態(tài)_。6. 靜態(tài)局部變量的作用域是_ 所在函數(shù)_。7. C語言規(guī)定,調(diào)用一個函數(shù)時,實參變量和形參變量之間的數(shù)據(jù)傳遞方向是_單向傳遞_。 8. 若定義的函數(shù)沒有返回值時,則應(yīng)在該函數(shù)聲明時加一個類型說明符_void_。 9. 在C語言中,一個函數(shù)直接或間接地調(diào)用自身,便構(gòu)成了函數(shù)的_遞歸調(diào)用_。 10. 函數(shù)的形式參數(shù)屬于_局部_變量,其作用域為_函數(shù)體內(nèi)_。74 讀程序?qū)戇\行結(jié)果2void S1(int x,int y)int t; t=x;x=y; y=t;main() int a=1,b=2; S1(a,b); printf(“%d,%d”,a,b);運行結(jié)果_1,2_1int F(int a)int b=0; b=b+1; return (a+b); main()int i; for(i=1;i=3;i+) printf(“%d ”, F(i);運行結(jié)果_2 3 4_4. long fun(int n) long s; if (n= =1 | n= =2) s = 2; else s = n + fun(n-1); return s; main( ) long x; x = fun(4) ; printf(%ldn,x); 運行結(jié)果_9_3int fun (int p) int b=0;static int c=3; p=c+, b+; return (p) ;main()int a=2,i,k; for(i=0;i0;y_1) z_x; return z;main()printf(%fn,power(3.0, 4); 2下面的程序用來求數(shù)組中最大元素的下標。int findmax ( int s , int t)int p, m ;m=0;2. 答案: m=p return m _ findmax (a ,10)_for (p = 0; p sm)_ ;_ _;main() int a 10 , i , k ;for (i = 0 ; i 10 ; i + + ) scanf( %d , &a i ) ; k=_ _;printf( % d, % dn , k , a k ) ;3下面的函數(shù)是將一個字符串str的內(nèi)容顛倒過來。#include void invert (char str ) int i, j ; _; for(i = 0 , j = strlen(str)_ _; ij; i+,j- -) k=stri; stri = strj; strj = k; 3. 答案: char k -1 _ invert ( s )_ main() char s 20; printf(“Input a string : n”); gets(s); printf(“inverted string is : n”); _; puts( s);4. 下面的程序用來求數(shù)組a各元素的平均值。4. 答案: pai avg/n float avr( int pa , int n) int i; float avg = 0.0 ; for(i=0;in;i+) avg = avg +_; avg=_; return avg; main() int a5= 2,4,6,8,10; float mean; mean = avr(a,5); printf(mean = %fn,mean); 76 編程題1. 編寫函數(shù),根據(jù)給定的三角形三條邊長a、b、c,函數(shù)返回三角形面積。主函數(shù)中輸入三條邊長,調(diào)用函數(shù)后,輸出三角形面積。三角形面積的計算公式area= s(s-a)(s-b)(s-c) 其中 s=(a+b+c)/2#include #include float funarea(float x,float y,float z) float s,area; s=(x+y+z)/2; area=sqrt(s-x)*(s-y)*(s-z); return area;main() float a,b,c,area; printf( Input a,b,c: ); scanf(%f,%f,%f, &a,&b,&c); area=funarea(a,b,c); printf( Area = %.3f nn, area);運行結(jié)果:2. 編寫判斷一個年號是否為閏年的函數(shù),若是閏年則返回1,否則返回0。主函數(shù)輸出20002050年中的閏年。要求每輸出4個年號換一行。#include #include int funleap(int y) int flag; if (y%100=0) if (y%400=0) flag=1; else flag=0; else if(y%4=0) flag=1; else flag=0; return flag; main() int year,c; for(year=2000; year=2050; year+) if(funleap(year) printf( %d ,year); c+; if(c%4=0)printf(n); printf(nn);運行結(jié)果:3. 編寫函數(shù)求n! , 主函數(shù)通過調(diào)用函數(shù)實現(xiàn)sum=1!+2!+3!+n! (n由鍵盤輸入)。#include #include long fac(int n) long p=1,j; for(j=1;j=n;j+)p=p*j; return p; main() int i,m; long s=0; printf(Input an integer: ); scanf(%d,&m); for(i=1; i=m; i+) s=s+fac(i); printf(1!+.+%d!=%ldnn,m,s); 運行結(jié)果:4. 編寫函數(shù),求4G4數(shù)組兩條對角線上的元素和。主函數(shù)初始化數(shù)組,并按行列輸出數(shù)組,調(diào)用函數(shù)求角線上的元素和,并輸出和。#include long arrsum(int x44) int i,sum=0; for(i=0;i4;i+) sum=sum+xii; /* 求主對角線元素和 */ sum=sum+xi3-i; /* 求另一對角線元素和 */ return sum; main() int a44=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16;/*初始化數(shù)組 */ int i,j,sum; printf(The a44:n); for(i=0;i4;i+) for(j=0;j4;j+) printf(%4d,aij); /*輸出數(shù)組*/ printf(n); sum=arrsum(a); printf(sum=%dn,sum); 運行結(jié)果如下:5. 有一個數(shù)組內(nèi)放10個學生成績,寫一個函數(shù),求平均分、最高分和最低分。主函數(shù)輸入數(shù)組并輸出平均分、最高分和最低分。#include float max=0,min=0; /*定義全局變量*/float average( float x,int n) int i; float aver, sum=0; max=min=x0; for(i=0;imax) max=xi; else if(ximin) min=xi; sum=sum+xi; aver=sum/n; return aver; main() float ave,score10; int i; printf(Input 10 score:n); for(i=0;i10;i+) scanf(%f,&scorei); ave=average(score,10); printf( max=%.2f n min=%.2fn average=%.2fn, max,min,ave);運行結(jié)果:6. 編寫函數(shù),功能是將兩個字符串連接起來。主函數(shù)輸入兩個字符串,調(diào)用函數(shù)連接字符串,并輸出連接后的字符串。#include #include void strcats(char str1,char str2)int i=0,j=0; while(str1i !=0) i+; while(str2j !=0) str1i+ = str2j+; str1i=0;main() int i=0, j=0; char s120, s210; printf(Enter string1: ); gets(s1); printf(Enter string2: ); gets(s2); strcats( s1,s2); printf(S1 = %s n, s1);運行結(jié)果:7. 用遞歸法求n!, 在主函數(shù)中提示輸入整數(shù)n。fac(n)= 1 (當 n=0,1) n*fac(n-1) (當 n1)#include long fac(int n) long f; if (n= =0 | n= =1) f=1; else f= n* fac(n-1); return f ; main() int n; long y; printf(Input an integer number: ); scanf(%d,&n); if(n0) printf(n1時)#include long power(int x,int n) long p; if(n=1 ) p=x ; else p=x*power(x,n-1); return p;main() int x,n; long p; printf(Input x, n: ); scanf(%d,%d, &x,&n); p=power(x,n); printf(result=%ldnn,p); 運行結(jié)果:9. 用遞歸方法編寫函數(shù),求Fibonacci數(shù)列的第n項值,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 體育賽事規(guī)則及裁判法測試
- 版權(quán)轉(zhuǎn)讓及保密協(xié)議內(nèi)容條款
- 市政工程材料選擇試題及答案
- 股東股權(quán)出資額驗證證明書(7篇)
- 網(wǎng)絡(luò)安全管理與防護技能評估題
- 電商平臺的運營與推廣策略
- 企業(yè)電力設(shè)施維護與檢修協(xié)議
- 針對性的中級經(jīng)濟師試題及答案研究
- 造紙原料與化學品作業(yè)指導書
- 2025年市政工程設(shè)備管理試題及答案
- 2024-2025學年冀教版七年級英語下冊全冊教案
- 2025年江蘇省鹽城市亭湖區(qū)中考一模化學試題(原卷版+解析版)
- 美容師職業(yè)形象與禮儀考察試題及答案
- 困難氣道管理指南2024
- 2025年新音樂節(jié)明星藝人歌手演出場費報價單
- (一模)青島市2025年高三年級第一次適應(yīng)性檢測英語試卷(含標準答案)+聽力材料
- 交通中國知到智慧樹章節(jié)測試課后答案2024年秋上海工程技術(shù)大學
- GB/T 28185-2025城鎮(zhèn)供熱用換熱機組
- 川教版(2019)小學信息技術(shù)四年級下冊 第二單元第3節(jié)《圖文并茂》教學設(shè)計及反思
- 烹飪原料知識試題庫(附參考答案)
- 主動剎車防撞系統(tǒng)說課
評論
0/150
提交評論