C語(yǔ)言程序設(shè)計(jì)(第2-3章)習(xí)題答案(魏為民)_第1頁(yè)
C語(yǔ)言程序設(shè)計(jì)(第2-3章)習(xí)題答案(魏為民)_第2頁(yè)
C語(yǔ)言程序設(shè)計(jì)(第2-3章)習(xí)題答案(魏為民)_第3頁(yè)
C語(yǔ)言程序設(shè)計(jì)(第2-3章)習(xí)題答案(魏為民)_第4頁(yè)
C語(yǔ)言程序設(shè)計(jì)(第2-3章)習(xí)題答案(魏為民)_第5頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余10頁(yè)可下載查看

下載本文檔

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

文檔簡(jiǎn)介

1、習(xí)題2參考答案、基礎(chǔ)題1 .若二維數(shù)組a有m歹U,則在aij前的元素個(gè)數(shù)為:A) j*m+iB)i*m+jC) i*m+j-1D) i*m+j+1B五種基本數(shù)據(jù)類型存儲(chǔ)空間長(zhǎng)度的排列順序是2 .在C語(yǔ)言中(以16位PC機(jī)為例)A) char<int<long int<=float<doubleB) char=int<long int<=float<double C) char<int<long int=float=double D) char=int=long int<=float<doubleA3 .在C語(yǔ)言的變量類型說(shuō)明中,

2、int, char, float等類型的長(zhǎng)度是:A)固定的C)任意的DB)由用戶自己定義的D)與機(jī)器字長(zhǎng)有關(guān)的4 .設(shè)變量a是整型,f是實(shí)型,i是雙精度型,則表達(dá)式10+'a'+i*f的數(shù)據(jù)類型是:A) int 型 B)float 型 C) double 型 D)不確定 C5 . C語(yǔ)言中的變量名只能由字母,數(shù)字和下劃線三種字符組成,且第一個(gè)字符:A)必須為字母B)必須為下劃線C)必須為字母或下劃線D)可以是字母,數(shù)字或下劃線中的任意一種C6 .設(shè) a=1, b=2, c=3, d=4,則表達(dá)式 a<ba: c<da: d 的值是:A) 4 B) 3 C) 2 D)

3、 1D7 .以下程序的輸出結(jié)果是:main() int a=12, b=12;printf("%d,%dn",-a,+b);A) 10,10B) 12,12C) 11,10D) 11,138 .若有代數(shù)式(3ae)/(bc),則下面不正確的 C語(yǔ)言表達(dá)式是:A) a/b/c*e*3B) 3*a*e/b/cC) 3*a*e/b*cD) a*e/c/b*3C9 .已知 x=43, ch='A', y=0,則表達(dá)式(x>=y&&ch<'B'&&!y)的值是:A) 0B)語(yǔ)法錯(cuò)C) 1D)"假&q

4、uot;C10 .下面程序的輸出結(jié)果是:main() int a=-1, b=4, k;k=(a+<=0)&&(!(b-<=0);printf("%d,%d,%dn",k,a,b);A) 1,1,2 B) 1,0,3 C) 0,1,2 D) 0,0,3B11 .已知字母 A的ASCII碼為十進(jìn)制的65,下面程序的輸出是: main() char ch1,ch2;ch1='A'+'5'-'3'ch2='A'+'6'-'3'printf("%d,

5、%cn",ch1,ch2);A) 67,D B) B,C C) C,D D)不確定的值 A12 .下面程序的輸出的是main() int x=10,y=3;printf("%dn",y=x/y);A) 0 B) 1 C) 3 D)不確定的值 C二、程序設(shè)計(jì)題1 .從鍵盤上輸入一個(gè)小寫(xiě)字母,編程輸出其對(duì)應(yīng)的大寫(xiě)字母以及它們的十進(jìn)制ASCII碼。程序如下:#include <>void main() char ch;printf("Please input a lower character:");ch=getchar();printf

6、("Lower is %c, ASCII is %dn",ch,ch);printf("Upper is %c, ASCII is %dn",ch-32,ch-32);2 . 一個(gè)水分子的質(zhì)量約為X10-23g, 1夸脫水大約 950g。編寫(xiě)一個(gè)程序,要求輸入水的夸脫數(shù),然后顯示這么多水中包含多少水分子。程序如下:#include <>void main()double q,m;printf("Please input the quality of water (quart):"); scanf("%lf&quo

7、t;,&q);m=q*;printf("The moleculus of %f quart water is %en",q,m);3 .寫(xiě)出下列程序的運(yùn)行結(jié)果:#include <>void main()char c1='a:c2='b:c3='c:c4=101 :c5=116 'printf( a%cb%ctc%ctabcn :c1,c2,c3);printf( tb%c%cn ”,c4,c5);運(yùn)行結(jié)果:aabb cc abc AN4 .若 a=3, b=4, c=5, x=, y=, z=, u=51274, n=1

8、28765, c1='a', c2='b'。寫(xiě)出程序,使 之輸出下面的結(jié)果。a = 3 b = 4 c = 5x = , y = , z =x + y = y + z = z + x = u = 51274 n = 127865 cl = a' or cl = 97 c2 = b' or c2 = 98 程序如下:#include <>void main()int a=3,b=4,c=5;double x=,y=,z=;unsigned int u=51274,n=128765;char c1='a',c2='

9、b'printf("a = %d b = %d c = %dn",a,b,c);printf("x = %f, y = %f, z = %fn",x,y,z);printf("x + y = % y + z = % z + x = %n",x+y,y+z,z+x);printf("u = %u n = %un",u,n);printf("c1 = '%c' or cl = %dn",c1,c1);printf("c2 = '%c' or c2 =

10、 %dn",c2,c2);5 .用下面的scanf函數(shù)輸入數(shù)據(jù),使 a=3, b=7, x=, y=, c1='A', c2='a'。說(shuō)明在鍵盤上 如何輸入數(shù)據(jù)。#include <>void main() int a,b;float x,y;char c1,c2;scanf( a = %d b = %d',&a,&b);scanf( x = %f y = %e:&x,&y);scanf( ci = %c, c2 = %c,&c1,&c2);輸入數(shù)據(jù):a = 3 b = 7x = y

11、= = A, c2 = a3 車驗(yàn)證程序:#include <>void main() int a,b;float x,y;char c1,c2;scanf("a = %d b = %d",&a,&b);scanf("x = %f y = %e",&x,&y);scanf("c1 = %c, c2 = %c",&c1,&c2);printf("a = %d b = %dn",a,b);printf("x = %.2f y = %.2fn"

12、;,x,y);printf("c1 = %c, c2 = %cn",c1,c2);6 .編寫(xiě)程序,輸入一個(gè)華氏溫度,求出相應(yīng)的攝氏溫度(輸出結(jié)果保留兩位有效數(shù)字) 公式為:c 5 (f 32) 9程序如下:#include <> void main()float f,c;printf("Please input f=");scanf("%f",&f);c=9*(f-32);printf("f=%,c=%n",f,c);習(xí)題3一、基礎(chǔ)題1 .設(shè)a, b和c都是int型變量,且a=3, b=4, c

13、=5,則下面的表達(dá)式中值為 0的表達(dá)式 是A) 'a'&&'bB) a<=bC) a|b+c&&b-cD) !(a<b)&&!c|1)D2 .設(shè)x . y . z . t均為int型變量,則執(zhí)行以下語(yǔ)句后,t的值為x=y=z=1;t=+x | +y && +z;A)不定值 B) 4 C) 1D) 0C3 .若運(yùn)行下面程序時(shí),給變量 a輸入15,則輸出結(jié)果是()。main() int a, b;scanf("%d", &a);b=a>15a+10:a-10;pri

14、ntf("%dn", b);A) 5 B) 25 C) 15 D) 10A4 .下面程序的輸出結(jié)果是#include <>main() int a=2, b=7, c=5;switch(a>0) case 1:switch(b<0) case 1: printf(""); break;case 0: printf("!"); break;case 0:switch(c=5) case 0: printf("*"); break;case 1: printf("#"); b

15、reak;default: printf("%");break;default: printf("&"); printf("n");A) &B) !#&C) %D) *&B5 .以下程序的運(yùn)行結(jié)果是()。main() int a=0, b=1, c=0, d=20, x;if (a) d=d-10; else if (!b) if (!c) x=15; else x=25;printf("%dn", d);A) 15 B) 25 C) 20 D) 10 C6 .若k是int型變量,且

16、有下面的程序片段:k=8;if (k<=0) if (k=0) printf("#") else printf("&&&&");else printf("*");上面程序片段的輸出結(jié)果是A) #B) &&&& C) *D)有語(yǔ)法錯(cuò)誤,無(wú)輸出結(jié)果D (第一個(gè)printf語(yǔ)句少分號(hào)) 7 .假定所有變量均已正確說(shuō)明,下列程序段運(yùn)行后x的值是a=b=c=0; x=35;if (!a) x-;else if (b);if (c) x=3;else x=4;A) 34 B)

17、4 C) 35D) 3B8 .若i, j已定義為int類型,則以下程序段中內(nèi)循環(huán)體的總的執(zhí)行次數(shù)是 for (i=5;i;i-)for (j=0;j<4;j+)A) 20B) 25 C) 24D) 30A9 .設(shè)i, j, k均為int型變量,則執(zhí)行完下面的for循環(huán)后,k的值為for(i=0,j=10;i<=j;i+,j-) k=i+j;A) 12B) 10C) 11D) 9B10 .有以下程序段int k=0;while (k=1) k+;while循環(huán)執(zhí)行的次數(shù)是A)無(wú)限次B)有語(yǔ)法錯(cuò),不能執(zhí)行 C) 一次也不執(zhí)行D)執(zhí)行一次A11 . C語(yǔ)言中while和do-while循

18、環(huán)的主要區(qū)別是()。A) do-while的循環(huán)體至少無(wú)條件執(zhí)行一次B) while的循環(huán)控制條件比 do-while的循環(huán)控制條件嚴(yán)格C) do-while允許從外部轉(zhuǎn)到循環(huán)體內(nèi)D) do-while的循環(huán)體不能是復(fù)合語(yǔ)句A12 .以下敘述正確的是()。A) continue語(yǔ)句的作用是結(jié)束整個(gè)循環(huán)的執(zhí)行B)只能在循環(huán)體內(nèi)和switch語(yǔ)句體內(nèi)使用break語(yǔ)句C)在循環(huán)體內(nèi)使用 break語(yǔ)句或continue語(yǔ)句的作用相同D)從多層循環(huán)嵌套中退出時(shí),只能使用goto語(yǔ)句B13 .對(duì)下面程序段,描述正確的是()。for(t=1;t<=100;t+) scanf("%d&qu

19、ot;, &x);if (x<0) continue;printf("%dn", t);A)當(dāng)x<0時(shí),整個(gè)循環(huán)結(jié)束C) printf函數(shù)永遠(yuǎn)也不執(zhí)行DB)當(dāng)x>=0時(shí),什么也不輸出D)最多允許輸出100個(gè)非負(fù)整數(shù)14 .以下程序的輸出結(jié)果是()。#include <>main() int i;for(i=1;i<=5;i+) if(i%2) printf("*");else continue; printf("#");printf("$n");A) *#$B) #*#*

20、#*$C) *#*#*#$D) *#*$A15 .以下程序的輸出結(jié)果是()。#include <>main() int count, i=0;for(count=1; count<=4; count+)i+=2; printf("%d", i);A) 20B) 246 C) 2468 D) 2222C16 .下面程序的輸出結(jié)果是()。main() unsigned int num, k;num=26;k=1;do k*=num%10;num/=10; while(num); printf("%dn", k);A)2B)12 C)60D)

21、 18B17 .下面程序的輸出結(jié)果是()。main() int x=10, y=10, i;for(i=0;x>8;y=+i) printf("%d %d ", x-, y);A) 10 1 9 2 B) 9 8 7 6 C) 10 9 9 0 D) 10 10 9 1 D18 .設(shè)有以下程序main() int n1, n2;scanf("%d", &n2);while (n2!=0) n1=n2%10;n2=n2/10;printf("%d", n1);程序運(yùn)行后,如果從鍵盤上輸入1298,則輸出結(jié)果為(8921 )

22、。892119 .下面程序的運(yùn)行結(jié)果是()。main() int s=0, i=1;while (s<=10) s=s+i*i;i+; printf("%d", -i);A) 4B) 3C) 5D) 6B20 .以下程序運(yùn)行后的輸出結(jié)果是()。#include <>main() int s=0, k;for(k=7;k>=0;k-)switch(k) case 1:case 4:case 7: s+; break;case 2:case 3:case 6: break;case 0:case 5: s+=2; break; printf("

23、s=%dn", s);A)s=5B)s=1C)s=3D)s=7D21.下面程序的功能是:計(jì)算1到10之間奇數(shù)之和及偶數(shù)之和,請(qǐng)?zhí)羁铡?#include <>main() int a, b, c, i;a=c=0;for(i=0;i<=10;i+=2) a+=i;;c+=b;printf("偶數(shù)之和二%dn", a);printf("奇數(shù)之和二%dn", c-11);A) i+=2 B) i+C) b=b+1 D) b=i+1D22.運(yùn)行以下程序后,如果從鍵盤上輸入 12, 8回車,則輸出結(jié)果為()。main() int a,

24、b, n1, n2, t;scanf("%d, %d", &n1, &n2);if (n1>n2) t=n1;n1=n2;n2=t;a=n1;b=n2;while (b!=0) t=a%b;a=b;b=t; printf("%d, %dn”, a, n1*n2 /a);A) 2, 6 B) 4, 24 C) 4, 12 D) 8, 96B二、程序設(shè)計(jì)題1 .輸入一個(gè)實(shí)數(shù) x,計(jì)算并輸出下式的值,直到最后一項(xiàng)的絕對(duì)值小于10-5 (保留兩位小數(shù))。234xxxs x 一 一 一 2!3!4!程序如下:#include <>#incl

25、ude <>main()float x;int n=1;float s=,term;printf("Please input the x:");scanf("%f",&x);term=*x/n;while(fabs(term)>10e-5)s=s+term;n=n+1;term=term*x/n;printf("The result is:%.2fn", s);2 .輸入園的半徑r,求該圓的周長(zhǎng)、面積。結(jié)果保留兩位小數(shù)。 程序如下:#include<>void main()float pi=,s,

26、c,r;printf("請(qǐng)輸入圓的半徑:");scanf("%f",&r);s=pi*r*r;c=2*pi*r;printf("圓的面積為:%f,周長(zhǎng)為:%fn",s,c);3 .有一分?jǐn)?shù)序列,求出這個(gè)數(shù)列前20項(xiàng)之和。23581321,1235813程序如下:#include<>void main()int i,n=20;double s=0, a,b,c;for ( a=2,b=1,s=0,i=1; i<=n; i+ ) s +=a/b;c=b, b=a, a=a+c; .=%dn",sn);7

27、 .編寫(xiě)一程序,功能是輸入一個(gè)整數(shù),將它反向輸出。例如,輸入12345,則輸出54321。程序如下:#include <> void main()int x;printf("input x:");scanf ("%d", &x);while(x > 0)printf("%d ", x%10);x = x / 10; 8 .編程解決數(shù)學(xué)題:有一長(zhǎng)階梯,若每步跨2階,最后剩1階;若每步跨3階,最后剩2階;若每步跨5階,最后剩4階;若每步跨6階,最后剩5階;只有每步跨 7階, 最后才正好1階不剩。問(wèn)這條階梯共有多少

28、階程序如下:#include <> void main() int Step=0;while(1) if(Step%2=1)&&(Step%3=2)&&(Step%5=4)&&(Step%6=5)&&(Step%7=0)break; Step+; printf("The Step is %dn",Step);9 .編程解決三色球問(wèn)題。若一個(gè)口袋中放有 12個(gè)球,其中3個(gè)紅色球,3個(gè)白色球,6個(gè)黑色球,從中任取 8個(gè)球,問(wèn)共有多少種不同的顏色搭配 程序如下:#include <> main() int white,red,black,count=0;for(white=1;white<=3;white+)for(red=1;red<=3;red+)black=8-w

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論