《明解C語言》筆記及課後習題答案 第十章

2021-08-20 14:26:32 字數 1936 閱讀 9628

練習10-1

/*---編寫函式adjust_point,如果n指向的值小於0,就將其改為0;如果值大於100,

就將其改為100(如果是0~100的值,則不修改)。---*/

#include void adjust_point (int *n)

int main (void)

練習10-2

/*---將 *y 年 *m 月 *d 日的日期,修改為其前一天或後一天的日期。---*/

/*---本程式思路應該先思考特殊時期並做特殊處理,如月初和月末則需要額外對日期和月份同時做特殊處理。---*/

#include int years(int *y)

int day(int y, int m)

return i;

}void decrement_date(int *y, int *m, int *d)

if(!(*m))

}void increment_date(int *y, int *m, int *d)

if (*m > 12)

}int main(void)

練習10-3

/*---將n1,n2,n3指向的三個int型整數按公升序排列。---*/

#include void swap(int *a, int *b)

void sort4(int *n1, int *n2, int *n3)

void sort3(int *n1, int *n2, int *n3)

if (*n1 > *n3)

if (*n2 > *n3)

}int main(void)

練習10-4

/*---編寫set_idx函式,接收元素型別為int型,元素個數為n的陣列,並為所有

元素賦上和下標相同的值。---*/

#include void set_idx (int *v, int n)

}int main(void)

函式的引數:main函式呼叫含參函式時,實參的值會傳給形參。這個複製過程是單向的,這種引數傳遞方式稱為值傳遞

取址運算子:我們一直使用的單目運算子&通常被稱為取址運算子。表示物件位址的轉換說明為%p

int型變數:儲存「整數」的盒子。

指標運算子:在進行顯示的地方,就要用到叫作指標運算子單目運算子 *了。將指標運算子*寫於指標之前,就可以顯示該指標指向的物件內容。

空指標:空指標是能夠和指向物件的指標明確區分的「什麼也不指向」的特殊指標。表示空指標的物件式巨集,是稱為空指標常量null

指標和陣列:陣列名原則上會被解釋為指向該陣列起始元素的指標。

指標運算子和下標運算子:如果在指向陣列內元素的指標 p+i 前寫上指標運算子*,那麼表示式*(p+i)就表示陣列元素本身。

陣列和指標的不同點:陣列名可以作為位址賦值給指標,讓指標指向陣列。而陣列名不可以賦值給另乙個陣列名,因為賦值表示式的左運算元不可以是陣列名

《明解C語言》筆記及課後習題答案 第五章

練習5 1 從頭順次為陣列中的元素賦值0,1,2,3,4 include int main void return 0 練習5 2 從頭順次為陣列中的元素賦值5,4,3,2,1。include int main void return 0 練習5 3 修改程式,從頭開始依次使用5,4,3,2,1進行...

《明解C語言》筆記及課後習題答案 第十一章

練習11 1 將 清單進行修改 include int main void 練習11 2 將 中的常量用程式計算出來 include int count const char c int main void char p for i 0 i count a i printf a d s n i,a ...

《明解C語言》筆記及課後習題答案 第十二章

練習12 1 編寫顯示物件takao各成員位址的程式。include define name len 64 struct student int main void printf 姓名 p n takao.name printf 姓名 d n takao.name printf 身高 d n tak...