《C語言學(xué)習(xí)與應(yīng)用》課后習(xí)題及答案06參考答案_第1頁
《C語言學(xué)習(xí)與應(yīng)用》課后習(xí)題及答案06參考答案_第2頁
《C語言學(xué)習(xí)與應(yīng)用》課后習(xí)題及答案06參考答案_第3頁
《C語言學(xué)習(xí)與應(yīng)用》課后習(xí)題及答案06參考答案_第4頁
《C語言學(xué)習(xí)與應(yīng)用》課后習(xí)題及答案06參考答案_第5頁
已閱讀5頁,還剩3頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

學(xué)習(xí)任務(wù)六參考答案

問題67:寫出以下程序代碼的輸出結(jié)果。

4,3

問題6-2:模仿應(yīng)用舉例6-2,順序輸出數(shù)組中的各元素。

#incIude"stdio.h"

voidmain()

{inta[10]={1,2,3,4,5,6,7,8,9,10),*p=&a[0].*q=&a[9];

while(p<=q)

printf("%d",*p++);

getchar();

1

程序執(zhí)行結(jié)果:12345678910

編程訓(xùn)練6-1-1借用指針變量的數(shù)據(jù)輸入/輸出操作。

#incIude"stdio.h"

voidmain()

(

intx,*p;

P二&x;

printf(”請輸入一個整數(shù):");

scanf("%d",p);〃請勿填寫&x哦

printf("x=%d\n",*p);〃請勿填寫x哦

}

程序運行結(jié)果:

測試順輸入數(shù)據(jù)輸出

135x=35

2-98x=-98

編程訓(xùn)練6-1-2:借用指針變量實現(xiàn)的按順序輸出數(shù)據(jù)。

#incIude"stdio.hH

voidmain0

intx,y,*pmax,*pmin;〃再定義兩個指針變量pmax和

pmin

prin"(”請輸入兩個整數(shù):”);

scanf("%d%d",&x,&y);〃輸入兩個整數(shù)賦給x和y

if(x>y)〃較大值的地址賦pmax,較

小值地址賦pmin

{pmax=&x;

pmin二&y;

)

eIse

{pmax=&y;

pmin=&x;

)

print*,按由大到小的順序輸出是:%d.%d\n",*pmax,*pmin);

}

程序運行結(jié)果:

測試順輸入數(shù)據(jù)輸出

13579按由大到小的順序輸出是:

79,35

27935按由大到小的順序輸出是:

79,35

編程訓(xùn)練6-2T:主函數(shù)與函數(shù)間的值傳遞。

輸入數(shù)據(jù)輸出

5678回車x=56,y=78

swap函數(shù)的意圖是:對x和y進(jìn)行交換

主函數(shù)中x,y不能交換的原因是:實參傳給形參

的是值,是值的拷貝

編程訓(xùn)練6-2-2:實參是變量的地址。

#inoIude"stdio.h"

voidswap(int*a,int*b)〃形參是指針變量

(

intt;

t=*a;//此處的*a就是主函數(shù)中的x,使主函數(shù)中的

x,V交換

*a=*b;

*b=t;

}

voidmain()

(

intx,y;

printf(”請輸入兩個整數(shù):”);

scanf(1,%d%d,,,&x,&y);

printf(nx=%d,y=%d\n",x,y);

swap(&x,&y);〃實參是變量的地址

printf("x=%d,y=%d\n",x,y);

1

編程訓(xùn)練6-2-3:兩數(shù)和的函數(shù)。

(1)以下函數(shù)是返回兩數(shù)之和,請將主函數(shù)補充完整,運行程序

填寫輸出內(nèi)容。

#incIude"stdio.h"

intfun(inta,intb)

(

intt;

t=a+b;

returnt;

}

voidmain()

(

intx,y,z;

printf(”請輸入兩個數(shù):“);

scanf(u%d%dn,&x,&y);

z=fun(x,y);

printf("%d+%d=%d\n",x,y,z);

}

輸入:56回車

輸出:5+6=11

(2)更改上面的函數(shù),無返回值,程序中的*c就是主函數(shù)中的z,

補充后再調(diào)試。

#incIude"stdio.h"

voidfun(inta,intb,int*c)

(

intt;

t=a+b;

*c=t;

)

voidmain()

(

intx,y,z;

printf("請輸入兩個數(shù):");

scanf("%d%d",&x,&y);

fun(x,y,&z);

printf("%d+%d=%d\n",x,y,z);

)

輸入:56回車

輸出:5+6=11

(3)觀察上題中fun函數(shù)體內(nèi)的代碼,將其縮減為一句

#incIude"stdio.h"

voidfun(inta,intb,int*c)

(

*c-a+b;

)

voidmain()

{

intx,y,z;〃定義三個整型變量x,y,z

printf(”請輸入兩個數(shù):“);〃提示輸入兩個數(shù)

scanf("%d%d",&x,&y);〃輸入兩個數(shù)賦給x,y

fun(x,y,&z);〃函數(shù)調(diào)用

printf("%d+%d=%d\n",x,y,z);//輸出

編程訓(xùn)練6-2-4:同時求兩數(shù)和與兩數(shù)差,主函數(shù)與函數(shù)間的多

值傳遞。

#incIude"stdio.h"

voidfun(inta,intb,int*c,int*d)

(

*c=a+b;

*d-a-b;

}

voidmain()

(

intx,y,z1,z2;

printf(”請輸入兩個數(shù):");

scanf("%d%d,,,&x,&y);

fun(x,y,&z1,&z2);

printf("%d+%d=%d\n",x,y,z1);

printf("%d-%d=%d\n",x,y,z2);

1

輸入:56回車

輸出:5+6=11

5-6二-1

編程訓(xùn)練6-3-1閱讀理解程序。

輸入:56回車

輸出:較大數(shù)是:6

編程訓(xùn)練6-3-2返回較小值的地址。

#include"stdio.h"

int*fmin(int*a,int*b)

(

if(*a>*b)

returnb;

eIse

returna;

}

voidmain()

intx,y,*p;

printf(”請輸入兩個數(shù):“);

scanf("%d%d",&x,&y);

p=fmin(&x,&y);

printf("較小數(shù)是:%d\n",*p);

)

輸入:1546

輸出:較小數(shù)是:15

編程訓(xùn)練6-3-3功能擴充。

#include"stdio.h"

int*fmin(int*a,int*b)

(

if(*a>*b)

returnb;

eIse

returna;

}

voidmain()

{

intx,y,*p,i=2;

whiIe(i一)

(

printf(”請輸入兩個數(shù):”);

scanf("%d%d",&x,&y);

p=fmin(&x,&y);

printfC較小數(shù)是:%d\n",*p);

)

1

輸入:5678

輸出:較小數(shù)是:56

輸入:7856

輸出:較小數(shù)是:56

任務(wù)測試模擬試卷選擇題參考答案

選擇題參考答案

1.DBBCA6.CCBCA11.BB

*更正:P176,印刷有誤,分號錯印為逗號。

2.以下定義語句中正確的是o

A)inta=b=O;B)

charA=65+1,b='b';

C)floata=1,*b=&a,*c=&b;D)

doublea=0.0;b=1.1;

填空題參考答案

1.s=p+3;22.int*z*z3.-1*sn4.05.

*pmax=*px;

改錯題參考答案

floatk;if(*a<*c)

編程題參考答案

1.

#incIude"stdio.h"

voidfun(inta,intb,long*c)

(

*c=a/10*1000+b%10*100+a%10*10+b/10;

)

main()

{inta,b;Iongc;

printf("Inputa,b:");

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

fun(a,b,&c);

printf("Theresultis:%ld\n",c);

}

2.

#incIude"stdio.h"

voidfun(inta,intb,int*x,int*y)

intc,d;

d=a*b;

if(a<b)

c二a,a二b,b二c;

c=a%b;

while(c)

(

a=b;

b二c;

溫馨提示

  • 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

提交評論