C語(yǔ)言程序設(shè)計(jì)任務(wù)驅(qū)動(dòng)式教程(第3版)(微課版)課后練習(xí)答案_第1頁(yè)
C語(yǔ)言程序設(shè)計(jì)任務(wù)驅(qū)動(dòng)式教程(第3版)(微課版)課后練習(xí)答案_第2頁(yè)
C語(yǔ)言程序設(shè)計(jì)任務(wù)驅(qū)動(dòng)式教程(第3版)(微課版)課后練習(xí)答案_第3頁(yè)
C語(yǔ)言程序設(shè)計(jì)任務(wù)驅(qū)動(dòng)式教程(第3版)(微課版)課后練習(xí)答案_第4頁(yè)
C語(yǔ)言程序設(shè)計(jì)任務(wù)驅(qū)動(dòng)式教程(第3版)(微課版)課后練習(xí)答案_第5頁(yè)
已閱讀5頁(yè),還剩23頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

:乂;河讓X交聊業(yè)我噌凈落

HBBE1COLLKGEOFINDUSTRYANDTECHNOLOGY

?語(yǔ)言程海微初錦后思考s洌秣答案

編著:宋鐵橋、劉潔、趙葉

計(jì)算機(jī)技術(shù)系

二。二一年一月

第一單元

1.討論題(略)

2.選擇題

(1)B(2)A(3)B(4)A(5)A(6)D

3.填空題

(1).c.obj.exe

(2)/**/

(3)編輯、編譯、連接、運(yùn)行

4.編程題

(1)

#include<stdio.h>

voidmain()

p「jntf("********************************

printf("Thisismyfirstprogram");

printf("******************************")*

(2)

#include<stdio.h>

voidmain()

printf("****\n");

printf("*\n");

printf("*\n");

printf("*\n");

printf("****\n");

)

第二單元

L討論題(略)

2,選擇題(1)C(2)C(3)C(4)C(5)C(6)B(7)C(8)A(9)

A(10)C(11)C

3.填空題

(1)單引號(hào)雙引號(hào)(2)優(yōu)先級(jí)自左向右(3)5

(4)511

4.編程題

(1)

#include<stdio.h>

voidmain()

(

intage=18;

floatheight=180.5;

doubleweight=130.1;

chargender='M';

printf("age=%d,height=%.2f/weight=%.2lf,gender=%c\n"/age,height,w

eight,gender);

(2)

#include<stdio.h>

#include<math.h>

voidmain()

(

intn;

floattotal,benjin;

printf(“請(qǐng)輸入存款年限和本金:”);

scanf("%d",&n);

scanf("%f",&benjin);

total=benjin*pow(l+0.00225,n);

printf("total=%f",totaI);

)

第三單元

L討論題(略)

2.單選題

(1)A(2)D(3)D(4)D(5)A

4.分析程序題

(1)3,2(2)a=325x=3.14(3)-14(4)12

5.編程題

(1)

#include<stdio.h>

voidmain()

(

doublea,b,x;

printf(〃請(qǐng)輸入a,b的值:〃);

scanf("%f%f〃,&a,&b);

x=-b/a;

printf(//x=%f/?;

)

(2)

#include<stdio.h>

voidmain()

(

intx,a,b,c;

printf("請(qǐng)輸入一個(gè)三位的整數(shù);

scanf(〃%d〃,&x);

a=x/100;

b=x/10%10;

c=x%10;

printf("百位數(shù)字a=%d十位數(shù)字b=%d個(gè)位數(shù)字c=%d,,,a,b,c);

第四單元

1.討論題(略)

2.選擇題

(1)D(2)C(3)B(4)B

3.分析程序并上機(jī)操作

(1)

x=0y=lz=0

x=0y=0z=0

x=-ly=0z=0

(2)

**Q****2**

4.填空題

(1)1(2)y%2!=0或y%2(3)585858(4)0(5)3

5.編程題

(1)

#include<stdio.h>

voidmain()

(

charch;

printf(〃請(qǐng)輸入一個(gè)字符:〃);

scanf(%c^&ch);

if(ch>=,A,&&ch<=,Z")

printf(〃輸入的字符為大寫(xiě)字母,

elseif(ch>=,a,&&ch<=,z,)

printf(〃輸入的字符為小寫(xiě)字母〃);

elseif(ch>=/0/&&ch<=,9,)

printf("輸入的字符為數(shù)字字符〃);

else

printf("輸入的字符為其它字符〃);

)

(2)

#include<stdio.h>

voidmain()

(

floatx,y,z,a;

printf(“請(qǐng)輸入個(gè)人工資:”);

scanf(“%f,&x);

a=x-5000;

if(a<=3OOO)

y=a*0.03;

elseif(a<=12OOO)

y=3000*0.03+(a-3000)*0.1;

elseif(a<20000)

y=3000*0.03+9000*0.1+(a-12000)*0.2;

z=x-y;

("個(gè)人所得稅是:%個(gè)人所得是:

printf.2f\n,%.2f\n",y/z);

)

#include<stdio.h>

voidmain()

(

inta,b,c,t;

printf(〃請(qǐng)輸入三個(gè)數(shù)〃);

scanf("%d%d%d〃,&a,&b,&c);

if(a>b)

{t=a;a=b;b=t;}

if(a>c)

{t=a;a=c;c=t;}

if(b>c)

{t=b;b=c;c=t;}

("從小到大的順序?yàn)?,;

printf%d,%d,%da,b,c);

)

(4)

#include<stdio.h>

voidmain()

inta;

printf(〃請(qǐng)輸入產(chǎn)品的分?jǐn)?shù):〃);

scanf("%d〃,&a);

switch(a/10)

(

case10:

case9:{printf(“產(chǎn)品等級(jí)為A");break;}

case8:{printf("產(chǎn)品等級(jí)為B");break;}

case7:

case6:{printf("產(chǎn)品等級(jí)為C");break;}

defaul七{printf(“產(chǎn)品等級(jí)為D〃);break;}

)

第五單元

1.討論題(略)

2.選擇題

(1)C(2)C(3)A(4)D(5)A(6)B

3.分析程序并上機(jī)操作

(1)1次

(2)

(3)

4.填空題

(1)t*10或10*t

(2)s+=i+l

5.編程題

(i)判斷字符類型,直到輸入結(jié)束。

#include<stdio.h>

voidmain()

(

charch;

do

(

printf("請(qǐng)輸入一個(gè)字符:");

scanf(”%ls”,&ch);

if(ch>='A'&&ch<='Z')

printf(”大寫(xiě)字母\n?);

elseif(ch>='a,&&ch<='z')

printf"J寫(xiě)字母\n”);

elseif(ch>='0,&&ch<='9')

printf("數(shù)字\n”);

else

printf("其他\n");

}while(ch!='#');

(2)循環(huán)輸入年份月份,輸出該月份的天數(shù),直到年份輸入0結(jié)束。

voidmain()

(

intyeacmonthjeap;

printf("請(qǐng)輸入一個(gè)年份:");

scanf("%d",&year);

while(year!=O)

(

printf("請(qǐng)輸入一個(gè)月份:“);

scanf("%d",&month);

switch(month)

(

case1:

case3:

case5:

case7:

case8:

case10:

case12:printf('該月為31天\n");break;

case4:

case6:

case9:

casell:printf("該月為30天\n");break;

case2:if((year%4==0)&&(year%100!=0)11(year%400==0))

printf("該月為29—

elseprintf("該月為28天\n");

break;

)

printf("請(qǐng)輸入一個(gè)年份:");

scanf("%d",&year);

)

)

?fl''D:\C?a/JMS^\5\Debug\skxl5_4_2.exe'

請(qǐng)輸入一個(gè)年份:2G20

請(qǐng)輜入一個(gè)月初■:?

該月為29天

請(qǐng)輸入一個(gè)年份:2。21

請(qǐng)輸入一個(gè)月份:5

該月為31天

請(qǐng)輸入一個(gè)年份:。

Pressanykeytocontinue

(3)請(qǐng)將計(jì)算器程序改為循環(huán)程序。

include<stdio.h>

voidmain()

(

inta,b,n;

do

printf(H***************************************\nM),

printf("歡迎使用小型計(jì)算器\n");

printf("設(shè)計(jì)人:李麗紅\n");

printf(H***************************************\nH),

printff"L加法運(yùn)算\n");

printf("2.減法運(yùn)算\n");

printf("3.乘法運(yùn)算\n");

printff"4.除法運(yùn)算\n");

printf("5.退出\n");

printf(”***************************************\n*)?

printf("\n");

printf("請(qǐng)選擇:

scanf(”%d”,&n);

switch(n)

|

caseLprintf("請(qǐng)輸入兩個(gè)數(shù)scanf("%d%d",&a,&b);printf("兩數(shù)相加

是:%d\n",a+b);break;

case2:printf("請(qǐng)輸入兩個(gè)數(shù)scanf("%d%d",&a,&b);printf("兩數(shù)相減

是:%d\n",a-b);break;

case3:printf("請(qǐng)輸入兩個(gè)數(shù)scanf("%d%d",&a,&b);printf("兩數(shù)相乘

是:%d\rT,a*b);break;

case4:printf("請(qǐng)輸入兩個(gè)數(shù)");scanf("%d%d",&a,&b);printf("兩數(shù)相除

是:%6.2f\rT,(float)a/b);break;

case5:exit(0);

)

}while(n!=5);

(4)嘗試將第4章的選擇結(jié)構(gòu)程序改為循環(huán)。

(5)輸出以下圖案:

#include<stdio.h>

voidmain()

(

intnJJ;

printf("請(qǐng)輸入行數(shù):");

scanf("%d"z&n);

for{i=l;i<=n;i++)

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

printf("*");

printf("\n");

)

|=|回漢|

■,"D:\Ci§advg^\5\Debug\skxl5_4_5.exe*

請(qǐng)輸入行數(shù):4

MX

XXX

Pressanykeytocontinue

第六單元

1.選擇題

(1)C(2)B(3)C(4)B(5)C(6)C(7)D(8)A(9)C(10)

D

2.填空題

(1)k=p

(2)&a[i]i%10==0a[i]

(3)i

3.編程題

(1)冒泡排序的過(guò)程是:從aO開(kāi)始,逐個(gè)比較ai和ai+1,(i=0,

1,2,……n-2)若ai>ai+l則交換ai和ai+1的位置,第一趟比較完成后

an-1是序列中最大的元素。第二趟再?gòu)腶O開(kāi)始,逐個(gè)比較ai和ai+1,

(i=0,1,2,……n-3)若ai>ai+l則交換ai和ai+1的位置,第一趟比二

較完成后an-2是序列中最大的元素。如此反復(fù)進(jìn)行n-l次冒泡排序后,

原來(lái)序列中的元素就排列好了。

#include"string.h"

main()

(

inta[ll];

intij,t;

printf("input10numbers:\n");

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

scanf("%d",&a[i]);

printf("\n");

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

for(i=l;i<=10-j;i++)

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

t=a[i];

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

a[i+l]=t;

)

printf("thesortednumbers:\n");

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

printf("%d",a[i]);

)

(2)

#include<stdio.h>

#include<string.h>

voidmain()

{intij;

charsoustr[20],desstr[20];

printf(“請(qǐng)輸入兩個(gè)字符串:\n“);

gets(soustr);

gets(desstr);

printf(“連接后的字符目是:\n“);

i=strlen(soustr);

for(j=0;j<=strlen(soustr);j++,i++)

(

soustr[i]=desstr[j];

)

puts(soustr);

}

(3)

#include<stdio.h>

#include<string.h>

main()

(

chara[20];

intc,i,sum=0;

printf(“請(qǐng)輸入一個(gè)字符串:\n“);

gets(a);

for(i=0;a[i]!='\0';i++)

if<(a[i]>=,0')&&(a[i]<='9'))

sum++;

)

printf(“輸入了%d個(gè)數(shù)字字符\n】um);

)

第七單元

1.討論題(略)

2.選擇題

(1)D(2)B(3)D(4)A(5)C(6)C

3.填空題

(1)int(2)void(3)float(4)值地址(5)嵌套調(diào)用遞歸調(diào)

用(6)聲明(7)局部變量全局變量自動(dòng)變量靜態(tài)變量(8)

doublefun(longm,doublen);doublefun(long,double);(9)自動(dòng)變量

靜態(tài)局部變量靜態(tài)全局變量寄存器變量(10)84

4.編程題

(1)

#include<stdio.h>

voidmain()

(

floata,b;

chard;

voidjiafa(floatajloatb);

voidjianfa(floata,floatb);

voidchengfa(floata,floatb);

voidchufa(floata,floatb);

do

(

printf("PleaseenterthetwoNumbers,separatedbySpaces:\n");

scanf("%f

printf("Pleaseselectoperationway:(?,*/八,s,!)\n“);

scanf("%s",&d);

switch(d)

(

case'+':jiafa(a,b);break;

case'-':jianfa(a,b);break;

case'*':chengfa(a,b);break;

case7':chufa(a,b);break;

default:printf("inputerror\n");

)

printf("Doyouwanttocontinue(Y/Nory/n)");

fflush(stdin);

}while(toupper(getchar())=='Y');

)

voidjiafa(floatajloatb)

(

printf("a+b=%f\n",a+b);

}

voidjianfa(floata,floatb)

(

printf("a-b=%f\n"/a-b);

)

voidchengfa(floata,floatb)

(

printf("a*b=%f\n",a*b);

}

voidchufa(floata,floatb)

printf("a/b=%f\n"za/b);

)

(2)

#include<stdio.h>

intmax(intx,inty)

(

intz;

if(x>y)

z=x;

else

z=Y;

returnz;

}

voidmain()

(

inta,b,c;

printf("請(qǐng)輸入兩個(gè)數(shù)據(jù):");

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

c=max(a,b);

("兩個(gè)數(shù)中的最大數(shù)是:

printf%d\n",c);

)

第八單元

1.討論題(略)

2.選擇題

(1)B(2)B(3)B(4)C(5)B(6)D(7)C(8)A

3.填空題

(1)'\0'、*p++

(2)40,2

4.編程題

(1)

#include<stdio.h>

voidmain()

(

inta[10],max=0,min=0;*p;

inti;

P=a;

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

scanf("%d〃,p+i);

max=min=p[O];

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

if(*(p+i)>max)max=*(p+i);

if(*(p+i)<min)min=*(p+i);

)

,/,,

printf(max=%d,min=%d/max/min);

請(qǐng)輸

數(shù)87

良好

繼續(xù)1

退出0

tocontinue

(2)

#include<stdio.h>

voidmain()

(

inta,*p;

printf("請(qǐng)輸入a:");

scanf("%d",&a);

P=&a;

if(*p<60)

printf("不及格)

elseif(*p<70)

printf("及格)

elseif(*p<80)

printf("中等”);

elseif(*p<90)

printf(“良好”);

elseif(*p<=100)

printf(“優(yōu)秀,

(3)

#include<stdio.h>

voidmain()

inta,b,n,*pl,*p2;

pl=&a;p2=&b;

prjntf("****************************************\n")

printf("1,加法運(yùn)算\n");

printf("2,減法運(yùn)算\n");

printf("3.乘法運(yùn)算\n");

溫馨提示

  • 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)論