C語言程序設(shè)計實(shí)例教程第2版-單元同步練習(xí)答案_第1頁
C語言程序設(shè)計實(shí)例教程第2版-單元同步練習(xí)答案_第2頁
C語言程序設(shè)計實(shí)例教程第2版-單元同步練習(xí)答案_第3頁
C語言程序設(shè)計實(shí)例教程第2版-單元同步練習(xí)答案_第4頁
C語言程序設(shè)計實(shí)例教程第2版-單元同步練習(xí)答案_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

《C語言程序設(shè)計實(shí)例教程(慕課版)第2版》

單元同步練習(xí)答案

第1單元........................................................................2

第2單元........................................................................3

第3單元........................................................................5

第4單元........................................................................7

第5單元........................................................................9

第6單元.......................................................................11

第7單元........................................................................13

第8單元.......................................................................15

第9單元........................................................................18

第10單元......................................................................20

第1單元

一、選擇題

1-3CDD

二、填空題

1.主函數(shù)(main()函數(shù)),main()

2.機(jī)器語言、匯編語言、高級語言,1972,ANSIC,C99

三、問答與編程題

1.一個C程序的構(gòu)成:預(yù)處理命令、說明部分、執(zhí)行部分

2.#include<stdio.h>

intmain(){

inta=4,b=3,s;

s=a*b;

printf(uareaofrectangleis%d?n'',s);

)

第2單元

一、選擇題

1.C2.D3.B4.D5.B6.D7.C8.C9.C10.C11.A12.B13.C14.A

15.?16.C17.Λ

二、填空題

1.???蚯、下劃線、字母、下劃線2.0_3.ASCn碼4.2i55.4a=4b=10

C=66.18x=3a=37.Sqrt(S*(s-a)*(s-b)*(S-C))8.1_9.598315910.5

11.m/100(m∕10)%10m%10

三、寫出下列程序的運(yùn)行結(jié)果

1.622.283.5_4.8,105.ch=x,x=-2,y=4,z=0.OOOOOo

6.CI=4,c2=3,c3=2,c4=l7.1,1,1

2,2,1

2,2,1

四、編程題

1.#include<stdio.h>

intmain()

(

floata=2,b=2.3,c=l.5,s,v;

s=(a*b+b*c+a*c)*2;

v=a*b*c;

printf(〃表面積為%.2f,體積為%.2f?n,z,s,v);

return0;

)

2.#include<stdio.h>

intmain()

(

charc;

printfCzInputaCapital:?nzz);

scanf(〃%c〃,&c);

Printf("Lowercase:%c\n〃,c+32);

return0;

)

3.#include<stdio.h>

intmain()

(

intnuml,num2,temp;

Printf(〃請輸入兩個整數(shù):\n〃);

scanf(,z%d%dz,,&numl,&num2);

if(numl<num2)

temp=numl;numl=num2;num2=temp;

}

Printf("兩個數(shù)的商是%d,余數(shù)是%d?n",numl∕num2,numl%num2);

return0;

)

4.Sinclude<stdio.h>

intmain()

floatc,f;

Printf(〃請輸入華氏溫度:\n〃);

scanf(zz%f,z,&f);

c=5*(f-32)∕9;

Printf(〃對應(yīng)的攝氏溫度為%.2f?n,?c);

return0;

第3單元

一、選擇題

ABCBBBDCAA

二、填空題

1.China

2.%ld

3.stdio.h

4.scanf(%6.2fw,&a);

5.putchar()

6.字符、整型

7.1個

三、閱讀程序,輸出結(jié)果

1.114

124

-1

2.5,a,6

3.0

4.56

四、編程題

1.ttinclude<stdio.h>

intmain()

(

charchi,ch2,ch3,ch4,ch5;

Printf(〃請輸入要加密的單詞:\n〃);

scanf(,z%c%c%c%c%cz,,&chl,&ch2,&ch3,&ch4,&ch5);

Printf(〃加密后:%c%c%c%c%c?n”,chl+5,ch2+5,ch3+5,ch4+5,ch5+5);

return0;

)

2.

ftinclude<stdio.h>

ttinclude<math.h>

intmain()

(

floata,b,c,disc,xl,x2,p,q;

disc=O;

Printf("請輸入a,b,c的值:\n”);

scanf(,z%f%f%Γ,fea,&b,&c);

disc=b*b-4*a*c;

p=-b∕(2.0*a);

q=sqrt(disc)/(2.0*a);

xl=p+q;

x2=p-q;

printf(,,χl=%7.2f?nx2=%7.2f?n”,xl,x2);

returnO;

)

3.

ttinclude<stdio.h>

intmain()

(

intn;

doubledeposit,capital,rate;

Printf(〃請輸入存款金額:\n〃);

scanf(〃%lf〃,?capital);

Printf(〃請輸入存款年限:\n〃);

scanf(〃%d〃,&n);

Printf(〃請輸入定期存款年利率:\n〃);

scanf(〃%lf〃,&rate);

deposit=CaPitaI+capitai*rate*n;

printf(,z%d年后的本金和利息之和為n,deposit);

return0;

)

第4單元

一、選擇題

1.A2.A3.D4.A5.A6.C7.A8.C9.A10.C

二、填空題

1.0_2.1_3.3_4.(x%3==0)∣∣(x?>7=0)5.(p<x)∣∣(p<y)∣∣(p!=z)

6.(a+b>c)&&(a+c>b)&&(b+c>a)7.(ch>='A'&&ch<='Z')Ch=Ch-32

三、寫出下列程序的運(yùn)行結(jié)果

1.20r02.5858583.34.25.0.5000006.8

四、編程題

IN#include<stdio.h>

intmain()

(

inta,b;

Printf(〃請輸入兩個數(shù):〃);

scanf("%d%d”,&a,&b);

if(a>b)

Printf(〃最小數(shù)是%d〃,b);

else

Printf("最小數(shù)是%d〃,a);

return0;

)

2.

ttinclude<stdio.h>

intmain()

(

intx,y;

Printf(〃請輸入x的值:\n〃);

scanf("%d",&x);

if(x>0)y=x+3;

else

if(x=0)y=0;

elsey=χ-l;

Printf(〃輸出y的值:%d,z,y);

return0;

)

3.ttinclude<stdio.h>

intmain()

(

intsum;

intyear,month,day,leap;

Printf(”請輸入年月日:?n");

scanf("%d%d%cΓ,&year,femonth,&day);

switch(month)

case1:sum-0;break;

case2:sum=31;break;

case3:sum二59;break;

case4:sum=90;break;

case5:sum=120;break;

case6:sum=151;break;

case7:sum=181;break;

case8:sum=212;break;

case9:sum=243;break;

case10:sum=273;break;

case11:sum=304;break;

case12:sum=334;break;

deflaut:printf("日期錯誤!?n");break;

)

sum=sum+day;

if((year%4==0)&&(year%100!=0)∣∣(year%400==0))

Ieap=I

else

leap=0;

if(leap&&month>2)

(

sum++;

)

Printf(〃這是這年的第%d天?n”,sum);

return0;

}

第5單元

一、選擇題

1.B2.A3.B4.A5.C6.B7.A8.C9.C10.D

二、填空題

1.while、do-while、for2.跳出(結(jié)束)3.24.i=i*ts=s+it=t*(T)

5.xl>0xl/2+2xl-χ26.Ch=getchar()Ch>='A'&&ch〈二'Z'

三、寫出下列程序的運(yùn)行結(jié)果

LSUM=24682.89213.5

四、編程題

1.#include<stdio.h>

intmain()

(

intm,i,SUnI=0;

for(m=l;m<1000;m++)

(

sum=0;

for(i=l;i<m;i++)

if(m%i==0)

sum=sum+i;

if(sum==m)

printf(z,%d",m);

}

returnO;

}

2.#include<stdio.h>

intmain()

(

inti,num,sum=0,data;

Printf(〃請輸入數(shù)據(jù)個數(shù):\n〃);

scanf(,z%dzz,&num);

printf("請輸入%d個正數(shù):\n〃,num);

for(i=0;i<num;i++)

{

scanf("%d”,&data);

sum+=data;

)

Printf(〃它們的和是%d?n",sum);

returnO;

)

3.#include<stdio.h>

intmain()

inttemp,mul,max,min;

Printf(〃請輸入兩個整數(shù):\n〃);

scanf(,,%d%d”,&max,&min);

mul=max*min;

if(max<min)

(

temp=max;

max=min;

min=temp;

)

while(max%min!=O)

(

temp=min;

min-max%min;

max=temp;

}

Printf(〃最大公約數(shù):%d?n”,min);

Printf("最小公倍數(shù):%d?n”,mul/min);

returnO;

第6單元

一、選擇題

BCBDBADCCD

二、填空題

1.j<=2;b[j][i]=a[i][j];i<=2;

2.j=2;j>=0;

3.j+÷;

三、閱讀程序,輸出結(jié)果

1.8,10

2.19

3.AQM

4.9,8

5.you&me

四、編程題

1.

ftinclude<stdio.h>

ftdefineN10

intmain()

(

inti,j,t,n;

inta[N];

Printf("請輸入%d個元素:?ιΓ,N);

for(i=0;i<N;i++)

scanf("‰Γ,&a[i]);

for(i=0;i<N-l;i++)

for(j=0;j<N-l-i;j++)

if(a[j]>a[j+l])

(

t=a[j];

a[j]=a[j+l];

a[j+l]=t;

}

Printf("最小元素為:%5d?n",a[0]);

Printf(〃最大元素為:%5d?n”,a[N-l]);

return0;

)

2.

ttinclude<stdio.h>

ftdefineM10

intmain()

inta[M][M],i,j;

for(i=0;i<M;i++)

for(j=0;j<=i;j++)

(

if(i==j∣Ij==0)

a[i][j]=l;

else

a[i][j]=a[i-l][j]+a[i-l][j-l];

printf(z,%5dz,,a[i][j]);

if(i==j)

printfC?nzz);

}

return0;

)

3.

ftinclude<stdio.h>

ftinclude<string.h>

intmain()

(

chara[100];

Printf(〃請輸入一個字符串:〃);

scanf(,z%s,z,&a);

inti,k=strlen(a);

for(i=0;i<k;i÷+)

(

if(a[i]<97)

(

a[i]+=32;

printf(〃%s〃,a);

return0;

第7單元

一、選擇題

1.A2.B3.C4.C5.A6.D7.A8.A9.C10.C

二、填空題

1.函數(shù)2.void3.main函數(shù)4.地址傳遞值傳遞5.auto

三、寫出下列程序的運(yùn)行結(jié)果

1.108642135792.ABEF3.114.2

5.5796.5634

四、編程題

1..

ttinclude<stdio.h>

intf(intn);

intmain()

(

inta;

scanf(,z%dzz,&a);

Printf(〃%d\n〃,f(a));

return0;

)

intf(intn)

(

if(n==lI∣n==2)

return1;

else

return(f(n-l)+f(∏-2));

}

2.

ttinclude<stdio.h>

voidinput(intSCore[3][2]);〃輸入學(xué)生的課程成績

voidsavg(intSCOre[3][2]);〃學(xué)生的平均分

voidcavg(intSCOre[3][2]);〃課程的平均分

intmain()

(

intscore[3][2];

input(score);

savg(score);

cavg(score);

returnO;

)

voidinput(intscore[3][2])

inti,j;

for(i=0;i<=2;i++)

for(j=0;j<=l;j++)

(

Printf(〃請輸入第%d個學(xué)生的第%d門功課成績:\n〃,i÷l,j+l);

scanf(z/%dz,,?score[i][j]);

voidsavg(intscore[3][2])

(

intsuml;

floatavgl;

for(inti=0;i<=2;i++)

{intsum1=0;

for(intj=0;j<=l;j++)

(

suml+=score[i][j];

)

avgl=suml∕2.0;

Printf(〃第%d個學(xué)生的平均分是%f?n”,i+l,avgl);

)

}

voidcavg(intscore[3][2])

(

intsum2;

floatavg2;

for(intj=0;j<=l;j++)

(

intsum2=0;

for(inti=0;i<=2;i++)

(

sum2+=score[i][j];

)

avg2=sum2∕3.0;

Printf(〃第%d門功課的平均分是%f?n”,j+l,avg2);

)

)

第8單元

一、選擇題

1.B2.B3.A4.C5.C6.D7.A8.B9.B10.B11.C12.D13.D14.A

15.C16.Λ

二、填空題

1.取地址、指針2.13.“ab\0”4.60

三、寫出下列程序的輸出結(jié)果

1.-5,T2,-72.83.264.55.ABCDCD6.abcDDfefPbD

四、編程題

1.ttinclude<stdio.h>

#include,zstring.h〃

intmain()

{

charStrI[100]={0},str2[256]={0};〃定義二個數(shù)組,并賦初值為0

inti;

gets(strl);〃讀取一個字符串

for(i=0;strl[i];i++)

(

str2[strl[i]]=l√∕strl中每個字符的assic碼作為Str2的下標(biāo)值,并把對應(yīng)位置填

充為L同一個字符的assci值相同,所以這樣就去掉了重復(fù)字符

)

for(i=0;i!=256;i++)

if(str2[i]=l)〃判斷數(shù)組中被StrI填充的位置,填充的是非0值,沒填充的是0值

printf(,z%c,?i);〃輸出str2的下標(biāo)值,對應(yīng)Strl中的字符值

putchar(,?n');

return0;

}

2.#include<stdio.h>

#include<string.h>

intmain()

{voidswap(char*ptl,char*pt2);

chara[20],b[20],c[20];

Printf(〃請輸入三個字符串:\n〃);

gets(a);

gets(b);

gets(c);

〃或用scanf(,z%s,%s,%s”,a,b,c);

if(strcmp(a,b)>0)swap(a,b);

if(strcmp(a,c)>0)swap(a,c);

if(strcmp(b,c)>0)swap(b,c);

Printf(〃由小到大排列:%s?n%s?n%s?nz,,a,b,c);

returnO;

}

voidswap(char*ptl,char*pt2)

{chart[20];

strcpy(t,ptl);

strcpy(ptl,pt2);

strcpy(pt2,t);

)

3.ttinclude<stdio.h>

ftinclude<math.h>

#include<string.h>

main()

{inti,k=0;

chars[40];

Printf(〃請輸入一個字符串:\n〃);

gets(s);

for(i=0;i<strlen(s);i++)

if(s[i]>=0,Ms[i]<=9,)

if(i==0∣I(s[i-l]<,0,IIs[i-l]>>9,)&&s[i-l]!=,-,)

{k++;

while(s[i]>=,0,&&s[i]<=,9,??i<strlen(s))

printf(,,%c,z,s[i++]);

printf(,,?n,z);

}

Printf(〃總共%d個整數(shù)\n〃,k);

)

4.#include<stdio.h>

Voidmystrcpy(char*strl,char*str2,intm,intn)

(

intt=0,i=m-l;

strl=strl+i;

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

(

str2[t++]=*strl;

strl÷+;

)

)

intmain()

(intn,m;

charstrl[100],str2[100];

printf(,zinputn:\n〃);

scanf(z,%dzz,&n);

printf(,zinputStr:\n〃);

scanf(〃%s〃,strl);

printf(,zinputm:?nzz);

scanf(〃%d〃,&m);

mystrcpy(strl,str2,m,n);

printf(""Aftercopy,str2is:%s\n〃,str2);

return0;

)

5.

#include<stdio.h>

#include<string.h>

intmain()

{inti;

charstr[100];

Printf(〃請輸入一個字符串:?n");

gets(str);

for(i=0;str[i]!=,?0,;i++)

(

if(str[i]<=,z,&&str[i]>=,a,)

str[i]-=32;

)

Printf(〃新字符串是%s\n〃,str);

return0;

)

第9單元

一、選擇題

1.B2.C3.C4.C5.D6.A7.C8.A9.B10.A

二、填空題

1.structStUdentStU2.結(jié)構(gòu)體3.數(shù)據(jù)類型4.(*p).a

5.p->next=s;s->next=p->nextp->next=p->next->next

三、寫出下列程序的輸出結(jié)果

1.ZhaOm85952.Zhao,in,290,Zhao,m,290

3.Zhao,m,290,Zhao,m,290,Zhao,m,290,Sun,m,3704.05.2,3

四、編程題

1.

#include<stdio.h>

#include<stdlib.h>

typedefstruct

{

charname[10];

charbookname[20];

charchubanshe[20];

intyear;

intprice;

}worker;

intmain()

{

workera[100];

inti;

Printf(〃限制輸入5本書〃);

Printf(〃請輸入作者,書名,出版社,出版年月,價格〃);

Printf(〃列如:張三未來會更好青職學(xué)院201820)〃);

for(i=0;i<5;i++)

scanf(〃%s%s%s%d%d,?

&a[i].name,?a[i].bookname,chubanshe,year,price);

}

Printf(〃所有書的信息\n〃);

Printf(〃作者書名出版社出版年月價格\n〃);

for(i=0;i<5;i++)

printf(/,%s%s%s%d%d?n”,

a[i].name,a[i].bookname,a[i].chubanshe,a[i].year,a[i].price);

}

Printf(〃20元以上的書有:\n〃);

printf(,,書名?n");

for(i=0;i<5;i++)

if(a[i].price>20)

Printf("%s?n",a[i].bookname);

1—.

Printf("2000年以后的書有:?n");

printfΓ書名作者?n");

for(i=0

溫馨提示

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

評論

0/150

提交評論