


版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、C程序設(shè)計課外作業(yè)及參考答案說明:(1)章節(jié)順序按照 PowerPoint電子教案;(2) 教材上的作業(yè)注明了章節(jié)和題號;(3) 所用教材是C程序設(shè)計(第二版) 譚浩強 清華大學岀版社;第一章C語言概述1.1簡答題:寫出C語言的主要特點(教材習題1.1)。1.2填空題:1. C語言與操作系統(tǒng)并稱“欒生兄弟”。2. C語言俗稱為形式。3. C源程序文件經(jīng)過處理后產(chǎn)生目標文件,目標文件經(jīng)處理后生成可執(zhí)行文件。1.3單項選擇題1. 以下說法中正確的是 =(A) C語言程序總是從第一個定義的函數(shù)開始執(zhí)行(B) 在C語言程序中,要調(diào)用的函數(shù)必須在 main函數(shù)中定義(C) C語言程序總是main函數(shù)開始
2、(D) C語言程序中的main函數(shù)必須放在程序的開始部分2. 以下正確的 C標識符是 o(A) _125(B) C# (C) C+(D) A$1.4多項選擇題1. 以下關(guān)于C語言的說法中,錯誤的是。(A) 俗稱為“低級語言的高級形式”,因此功能簡單(B) 不是結(jié)構(gòu)化程序設(shè)計語言(C) 可能直接訪問內(nèi)存(D) 語法限制不嚴2. 以下標識符屬于 C語言關(guān)鍵字的有o(A) in teger (B) else (C) in elude (D) while第二章e語言基本數(shù)據(jù)類型、變量、常量與表達式2.1簡答題1. 求下面算術(shù)表達式的值。(教材習題3.9)a) x+a%3*(i nt)(x+y)%2/4
3、設(shè) x=2.5, a=7, y=4.7b) (float)(a+b)/2+(i nt)x%(i nt)y設(shè) a=2, b=3, x=3.5, y=2.52. 寫岀下面程序的運行結(jié)果。(教材習題3.10)mai n() int i,j, m, n;i=8; j=10; m=+i; n =j+;printf(%d,%d,%d,%d, i, j, m, n);3. 寫岀下面表達式運算后a的值,設(shè)原來 a=12o設(shè)a和n已定義為整型變量。3.12)a) a+=ab) a-=2c) a*=2+3b) d) a/=a+ae) a%=(n%=2), n 的值等于 5f) a+=a-=a*=a4. C語言中如
4、何表示“真”和“假”?系統(tǒng)如何判斷一個量的“真”和“假”2.2填空題1. 寫岀下面各邏輯表達式的值。設(shè)a=3, b=4, c=5。(教材習題5.3)(1) a+bc&b=c(2) allb+c&b-c(3) !(ab)&!clll!(x=a)&(y=b)&0(5) !(a+b)+c-l&b+c/22. (1) 5?2(2)0! = l(3) !3A(4) 105%10(5) 3/2*2(6) 5 3 l2b) a=b;if (bc) b=c;else c=b; c=a;2. 執(zhí)行下列程序后,x和y的值分別是多少。int x,y;for (y= 1 ,x= 1 ;y=10) break; if(
5、x%2=l)(x+=5; continue; x-=3;)3, 寫出以下程序的輸出結(jié)果。#include main()( int c=A,a=0,k=l; while(k+=2)n);5, 若輸入為 ABCDJ, 下面程序的輸出是什么?#include void main()( char ch,n; for(n=0;(ch=getchar()!=10;n+) putchar(ch+32); printf( H %dn n,n);4.2 單項選擇題1. 以下程序的輸出結(jié)果是 Ox=0: do printf(%d” , x; +w+h)ile(xl):(A) 0(B) 01(C) 012 (D)
6、無任何顯示2. 以下能正確計算 10! 的程序段是。(A) doi=l;s=l;s=s*i; i+; while(i=10);(B) doi=l;s=0; s=s*i; i+;while(i=10);(C) i=l;s=l; dos=s*i; i+;while(i=10);(D)i=l;s=0;do s=s*i; i+;while(i=10);3.若變量已有正確定義,程序a=0; for (i=l; i=n; i+) for (j=0; j=0 11 a=0 ).)。(B)立即中止循環(huán)(C)中止本次循環(huán),直接開始下一次循環(huán)(D) 從一個循環(huán)體直接跳轉(zhuǎn)至另一個循環(huán)體內(nèi)4.3程序填空題#i ncl
7、ude stdio.hinclude n Q)Hmai n()(int m, i, k;for(m=2; m=1000; m+)(k=(i nt)sqrt(m)+l;for(i=2; i=k; i+) if( )break;if(3) printf( n%5dn, m);4.4程序設(shè)計題1. 企業(yè)放發(fā)的獎金根據(jù)利潤提成。設(shè)企業(yè)的利潤為I,提成標準如下:110萬元時,提成10%;10萬元IW20萬元時,低于10萬元部分仍按10%提成,高于10萬元部分按7. 5%提成;20萬 元IW40萬元時,低于20萬元部分按前面方法提成,高于20萬元部分按5%提成;40萬元IW60萬元時,低于 40萬元部分按
8、前面方法提成,高于40萬元部分按3%提成;60萬元IW100萬元時,低于60萬部分按前面方法提成,高于60萬部分按1. 5%提成;100萬元=0; m )for(n=0; n=m; n+) printf(%d n, *(p+n);)2. #include stdio.h#define N 8void main()( int a N , k , *p;for(k = 0;kN;k + + ) scanf ( d,& a k );P=a;for (k = 0 ; k 0) *p+=ak; while(pa) printf *p);若該程序的輸入為 0 9 6 -1454 3 -5 21,則程序的輸
9、出是什么?6.2 單項選擇題1.有定義 static int a = 0,1 , 2,3,4 , *p=a+2 ; 表達式 *+p 的值為。(A) 1(B) 2(C) 3(D) 42. 已有定義int k=2; int *ptrl,*ptr2; 且ptrl和ptr2均已指向變量 k,下面不能正確執(zhí)行的賦值語句是。(A) k= *ptr l+*ptr2;(B) ptr2=k;(C) ptrl=ptr2;(D) k= *ptrl*(*ptr2);3. 若有定義:int a10, *p=a;,則 p+5 表示(8)。(A)元素a5的地址(B)元素a5的值(C)元素a6的地址(D)元素a6的值第七章
10、函數(shù)(含習題課)7.1程序分析題1. 下面程序的運行結(jié)果是。void fl(void)(int x=l;static y=2;x+;y+;printf(%d,%dn n,x,y);)mai n()(int k;for(k=l ;k=3 ;k+) fl();2. 下列程序的運行結(jié)果是oint d=l;void fl(i nt p)(int d=2;d+=p+;printf( n%d ” ,d);mai n()(int a=3;fl(a);d+=a+; printf( H%dnH,d);3. 下列程序的運行結(jié)果是-#in elude int a= 10,c=5;main()( int a= 1,
11、b=2, d=4, e=5;printf(%dn n,func(a+b,b*c,c%d),(d,e/b);)int func (int x, int y)(return x+y;14. 下面程序的運行結(jié)果是什么?#include static int x=150; void show(int x,int y) ( printf( ,x=%d,y=%dn,x,y);x=300; y=400;)void main()( int x=100,y=200;show(y,x); printf(x=%d,y=%dn,x,y);)5. 下面程序的運行結(jié)果是 ovoid fl(void)( int x=l;s
12、tatic y=2;x+;y+; printf(%d,%dn,x, y);)void main()( int k;for(k= 1 ;k=3;k+) fl();7.2 程序填空題1. 以下函數(shù) f 的功能是實現(xiàn) NxN 階方陣轉(zhuǎn)置,請?zhí)羁铡?#define N 8 void swap()( int temp=*p;*p=*q;*q=temp;void f(int )( int i,j;for(i=0;iN;i+)for(j=0;j ;j+) swap(&aij, );)2. 下程序的功能是求 M 行 N 列矩陣的最大值元素,請?zhí)羁铡?include stdio.h#define M 5#def
13、ine N 4 float *getmax( ) int i,j;float *pmax;pmax=;for(i=0;iM;i+) for(j=0;j*pmax) pmax=;retum();)float aMN;void main() int i,j ;for(i=0;iM;i+) for(j=0;jN;j+) scanf(, &aij);printf(max=%.2f n,*getmax();3. bubsort 函數(shù)的功能是實現(xiàn)對 N 元整型數(shù)組冒泡排序 (由大到小 ) ,請?zhí)羁帐怪晟啤?#define N 10 int aN;void bubsort()( int i,j,t;for
14、(i=l; iN-l; i+)for(j=0; j=A & *sv=Z) *s+=32; puts(a);若程序的輸入為 SWJTU,則輸岀結(jié)果為 o2. 若程序輸入為 ABCD,下面程序的輸岀結(jié)果是#include stdio.h#include string.hvoid main()( char s81, *p, *q, t;gets(s);p=s;q=s+strlen(s)-l;while(p0 a=l; else a=0;(C) char s10=HHello2. C 語言存貯字符串時,用特殊字符(A) ,xOd , (B) O (C) 偵 (D) , 03. 以下選項中,不能正確賦值
15、的是(A) char s10;s= nHello n;() 表示字符串結(jié)束。o(B) char s=H, e ,T, T, o, 0;(D) char *s= ,Hellon H;4. 以下程序能夠安全正確地輸入字符串的是 o (A) char s41; scanf(%s, s0);(B) char s41; scanf(%c H,s);(C) char *s; scanf( s”, s);(D) char s41, *p=s; scanf(%s,&(*p);7_3.程序設(shè)計題1. 編寫程序,輸入一個字符串,用函數(shù)實現(xiàn)字符的逆序存儲后輸出該字符串2. 從鍵盤接收一個字符串,判斷該字符串是否為回
16、文。 所謂回文,就是正讀和反讀順序相同的串,如: ABCDCBA( 要求用函數(shù)實現(xiàn) )3. 編寫程序?qū)⒆址械男懹⑽淖址兂纱髮?,其它字符保持不變。第八章編譯預處理指令8.1單項選擇題1. 為計算機多項式f(x) = 3x 2 + 2x+l ,最恰當?shù)暮甓x是(A) |#defi ne f(x) = 3*x*x + 2*x+l(B) #define f (x ) f(3*x*x+2*x+l)(C) #define f ( x ) (3*x*x + 2*x +1)(D) #define f ( x ) (3*(x)*(x) + 2*(x)+l)2. 以下不能判斷一個整數(shù)x的奇偶性的宏定義是o
17、(A) #defi ne odd(x) (x)%2)(C) #define odd(x) (x)=l)(B) #define odd(x) (x)&l)(D) #define odd(x) (x) ? 2*(x)/2)8.2程序設(shè)計題1. 定義一個帶參數(shù)的宏,使兩個參數(shù)的值互換,并寫岀程序,輸入兩個數(shù)作為使用宏時的 參。輸岀已交換后的兩個值。(教材習題9.1)2. 年份year,定義一個宏,以判別該年是否閏年。(教材習題9.2)第九章指針深入9.1單項選擇題1. 以下關(guān)于指針的說法中,不正確的是。(A)指針表達式也稱為地址表達式(B )指針值的存貯長度有2字節(jié)、4字節(jié)兩種 仃C2.0)(C)
18、指針變量可以進行加減乘除運算(D) 函數(shù)的名字就是一個函數(shù)指針常量,表示該函數(shù)代碼的入口地址則輸2. 若有定義和語句:int a=10,b=20,*p=&a,*pp=&p;p=&b;pri ntf(%d %dn,*p,*pp);,岀結(jié)果是 o(A) 10,20(B) 10,10(C) 20,10(D) 20,209.2多項選擇題1.若有定義 int a45,(*p)5=a;則以下正確而安全訪問數(shù)組元素的表達式是。(A) *p;(B) *(*(p+4)+l)(C) *(a+l)+l(D) *(*a+l)(E)*p0+2(F) (*(p+3)4(G) a43(H) *(a3+l)2,若有數(shù)組定義i
19、nt a3;以及函數(shù)原型void f(int (*a)4);以下函數(shù)調(diào)用正確的是 o(A) f(a);(B)f(a00);(C) f(a0);(D) f(a+2);(E) f(&al);(F) f(&a00);(G) f(*a);(H) f(*a0);4. 若有定義和語句:int w3,(*pw)3; pw=w;則能對w數(shù)組元素正確引用的是。(A) *(w0+2);(B) *(w 3);(C) pwOO;(D) *(pwl2);9.3程序分析題1. 以下程序的輸岀是0#i nclude void mai n()(double a=2.5,*p,*q;p=&a ; q=&p;(*p)+;prin
20、tf(”.2fn n,*q);2. 以下程序的輸岀是o#i nclude stdio.hmai n()(intx3= 123,4,5,6,7,8,9 ;int (*p)3=x+l;printf( %”n” ,*p,*(*(p+l)+2),*(*x+l);return 0;3. 下列程序的運行結(jié)果是。mai n()(int a10=9,7,6,l,2,3,0,4,8,5,*p,*k;p=a;printf( %”d ,*(p+);printf( % d ”(+p);k=&p;prin tf(%dn,*k);第十章結(jié)構(gòu)、聯(lián)合、枚舉、類型定義10.1單項選擇題1. 有定義struct int a5;
21、b;貝U正確表達成員數(shù)組 a的最后一個元素地址的是(A) b.a(B) b.a5(C) b.a+4(D) &(&b-a4)2. 以下對枚舉類型名的定義中正確的是o(A) enum a= (on e,two,three;(B) enum b(on e=9,two=-1,three);(C) enum c=(o ne,two,three;(D) en um do ne,two,three;3. 以下關(guān)于結(jié)構(gòu)體的說法正確的是。(A) 結(jié)構(gòu)體的成員變量可以與結(jié)構(gòu)體變量同名(B) 結(jié)構(gòu)體的成員變量不能是指針類型的變量(C) 指向結(jié)構(gòu)體的指針變量不能在定義時初始化(D) 結(jié)構(gòu)體數(shù)組不能在定義時進行初始化4
22、. 以下關(guān)于C語言結(jié)構(gòu)體變量的說法中錯誤的是o(A)各成員變量首地址不相同(B)各成員變量首地址相同10.2多項選擇題1. 若有定義 struct dl_tp ( int a,b; ; struct d2_tp ( dl_tp a; int b; b;則以下正確的成員變量表達式是0(D) b.b(A) a.a (B) b.a.b (C) (&b.a)-a2. 以下選項中,能正確定義s為結(jié)構(gòu)體變量并進行初始化的有o(B) struct ABC(charnaiW; s=(nJackn,20);(D) struct(charnameage;s= ” Jack ” ,20 ;(A) typedef s
23、truct tag(char n ame20;int age;ABC;ABC s=( nJackn,20;(C) struct(char n ame20; int age;ABC;ABC s= ” Jack ” ,20;第十一章C文件操作11.1單項選擇題1. 以只寫方式打開一個二進制文件,應(yīng)選擇的文件操作方式是(A) a+(B) w + (C) rb(D) wb2. 改寫磁盤文件中的數(shù)據(jù),文件打開方式正確的是。(A) ab+(B) rb+(C) wb+(D) rb3. 以下文件打開方式串中,不能創(chuàng)建新文件的是。(A)葉(B) a(C) w+(D) a+11.2程序填空題1. 以下程序的功能是
24、統(tǒng)計字符文件a.txt中有多少個空格,請?zhí)羁铡?i nclude stdio.h#in clude process.hvoid mai n()(FILE *fp; int ch; int n=_;if(!(fp=fopen( na.txt, rt) ( printf(File open error!n);exit(l); while(l)(ch=fgetc(fp); if(2) break;if()n+;printf( nn=%dn H,n);fclose(fp);2.以下程序的功能是統(tǒng)計正文(文本)文件ABC. TXT 的行數(shù)。#in clude“ stdio.hmai n()(FILE *
25、fp;int ch , count=0;fp=fope n(abc. txt”,Q);if(fp=NULL) ( printf(“ ABC.TXT notfouind).;retum; while() ch=fgetc(fp);if(2) break;if(ch=(3) cou nt+;fclose(fp);pri ntf( n umbers of li nes=%dn, ”cou nt);3. 以下程序段的功能是從鍵盤上輸入一個字符串,將字符串中的大寫字母轉(zhuǎn)換為小寫字母,輸岀到文本文件test.txt中。請?zhí)羁帐乖摮绦蚬δ芡暾?i nclude #in clude void mai n()
26、(UD_ fp ;char str255; int i=0;if(fp = (test.txt,w)=NULL) ( printf(Cant open test.txt.n); exit(O);)pri ntf( In put a stri ng: n); gets(str);while( (3)_!=勒) if(stri=A & strik 或 i=k+l4.41. /* if語句求解*/#in cludestdio.hvoid main()( double I,p=0;printf( “ lnputl= ” );sclaf,n&f(l); “ if(I100) ( p+=(I-100)*0
27、.01; 1=100; if(I60) p+=(I ? 60)*0.015;I=60; if(I40) ( p+=(I-40)*0.03;I=40; if(I20) p+=(I-20)*0.05;I=20; if(I10) ( p+=(L10)*0.075;I=10; p+=I*0.1;printf(p=%fn,p);/* switch 語句求解 */#include “ s.thdiovoid main()( double I, p=0;printf( “ lnputl= ” );sclaf,n&f(l); “ if(I=100) ( p+=(I-100)*0.01;I=100; swith
28、(int)(I/10)( case 10: case 9:case 8:case 7:case 6: p+=(I-60)*0.015;I=60;case 5:case 4: p+=(I-40)*0.03;I=40;case 3:case 2:p+=(I ? 20)*0.05; 1=20;case 1:p+=(I-10)*0.075;I=10;default:p+=I*0.1;printf(p=%frT,p);#include stdio.hvoid main()( int sl,s2,s3; float av; char level;while(l)4 ,?( printf( Input th
29、ree scores of one student:n ); scanf( d%d%d,&sl,&s2,&s3); if(sl0lls20lls3=A&chv=Zllch=a&chv=z)ne+; if(ch=0&chv=9 ) nd+;if(ch=32) ns+;printf(the number of English letters = %dn, ne); printf(the number of digital numbers = %dn, nd); printfCthe number of spaces = %dn, ns);printf(the number of other cha
30、racters = %dn,n-ne-ns-nd);4.#include stdio.hvoid main()( double s,a;int k,n;printf( “ Input n= ” );scda”nf(,&n)“;s=0;a=l;for(k=0;k=n;k+) ( s+=a;a=(n+l)*a; printf( 1 e-6)( s+=a;k+=2;a*=-x*x/k/(k-l);) printf(sin(%.4f)=%.4fn,x,s);7.#include stdio.hvoid main()( int n;double pi=l; for(n=2;n=2000;n+=2) pi
31、*=(double)n*n/(n-l)/(n+1); pi*=2;printf( Hpi=%fn n,pi);8.#include stdio.hvoid main()( int m;for(m=l ;m=l 0000;m+) if(m%5=l &m%6=5 &m%7=4&m% ll=10) printf(” m=n%”d ,m);1 萬以內(nèi)的解有 4個:即 2111,4421,6721,90419.#include stdio.hvoid main()( int man,child,women;printfC ,%8s%8s%8snn;man,V,womenn,child);for(man= 1 ;man 17 ;man+) for(women= 1 ;women= 1 &man+women+child=30) printf( n%8d%8d%8dn H,man,women,child);10.#include stdio.h 1#include conio.hvoid main()( int i5,i2,il,i0_5,count=0;for(i5=l;i5=20;i5+) for(i2=l;i237;i2+) for(il=l;il=l &i5+i2+i 1 +i0_5 v=40) ( printf( n%4d%4d%4d%4dn n,i5,i2,il,i0_5);
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 敏捷開發(fā)方法論2025年考試試題及答案
- 2025年軟考軟件設(shè)計師有效試題及答案匯編
- 法學概論從入門到精通的試題及答案
- 管理者的時間與精力分配計劃
- 會計軟件應(yīng)用能力提升計劃
- 積極心理與職業(yè)幸福感提升計劃
- 供應(yīng)鏈優(yōu)化計劃
- 城市交通需求管理重點基礎(chǔ)知識點
- 美術(shù)班級文化建設(shè)活動計劃
- 2024年陜西師范大學輔導員考試真題
- 聚合硫酸鐵烘干機-LPGФ8150型噴霧干燥機-天然氣熱風爐
- 天幕施工承包協(xié)議書
- 糧食合伙收購協(xié)議書
- 案場儀容儀表規(guī)范要求
- 2025超市承包經(jīng)營合同
- 2025-2030中國橋梁檢查與維護行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略研究報告
- 預防食品藥品誤食
- 泡沫混凝土施工方案
- 麻家梁煤礦8.0Mt-a新井設(shè)計- 厚煤層富水頂板控水開采技術(shù)
- 鐵路防脹知識培訓
- 2025年浙江湖州市城市投資發(fā)展集團有限公司招聘筆試參考題庫附帶答案詳解
評論
0/150
提交評論