2 2 順序結構

2021-09-13 22:20:41 字數 2890 閱讀 4133

1.scanf函式的使用

舉個例子:scanf("%d",&n);

在c語言中,變數在定義之後,就會在計算機記憶體中分配一塊空間給這個變數,該空間在記憶體中的位址稱為變數的位址。為了得到變數的位址,需要在變數的前面加上乙個&(稱為取位址運算子),也就是&變數名的寫法

資料型別

格式符舉例

long long

%lld

scanf(「l%ld」,&n);

double

%lfscanf("%lf",&db);

另外,如果要輸入「3 4」這種用空格隔開的兩個數字,兩個%d之間可以不加空格

另外,字元陣列使用%s讀入時使用空格跟換行為讀入結束的標誌

再次強調,scanf%c格式是可以讀入空格和換行的

2.printf函式的使用

在c語言中,printf函式用來輸出,與``scanf函式類似,printf函式的格式如下:

printf(「格式控制」,變數名稱);

資料型別

格式符舉例

double

%fprintf("%f",db);

對於double型別的變數,其輸出格式變成了%f,而在scanf中卻是%lf,在有些系統中如果把輸出格式寫成%lf倒也不會錯,不過盡量還是按標準來

另外,如果想輸出%or\,you need to add a%or\before it, for example:

printf("%%");

printf("\\");

最後介紹三種實用的輸出格式,另外一些格式在平時並不常用,此處不再贅述

(1)%md

%md可以使不足m位的int型變數以m位進行右對齊輸出,其中高位用空格補齊;如果變數本身超過m位,則保持原樣

(2)%0md

%0md,當不足m位時,將在前面補足夠數量的0而不是空格

(3)%.mf

%.mf可以讓浮點數保留m位輸出

getchar用來輸入單個字元,putchar用來輸出單個字元,在某些scanf函式使用不便的場合可以使用getchar來輸入字元

#includeint main()

輸入資料:abcd

輸出資料:acd

此處的第乙個字元ac1接收;第二個字元b雖然被接收,但是沒有將它儲存在某個變數中

第三個字元cc2接收;第四個字元dc3接收。

而如果輸入ab,然後按enter鍵,再輸入c再按enter鍵,輸出結果會是這樣:

a

c

這是因為getchar能夠識別換行符

可以給複雜的資料型別起乙個別名。例如,當資料型別是long long時,就可以像下面的例子這樣用ll來代替long long,以避免因在程式總出現大量的long long而降低編碼效率

#includetypedef long long ll; //給long long 起個別名 

int main()

1.fabs(double x)

該函式用於對double型變數取絕對值,示例如下:

#include#includeint main()
2.floor(double x)和ceil(double x)

這兩個函式分別用於double型變數的向下取整和向上取整,返回型別為double

3.pow(double r,double p)

該函式用於返回r^p,要求r和p都是double型

4.sqrt(double x)

該函式用於返回double型的算術平方根

5.log(double x)

該函式用於返回以自然對數為底的對數

c語言中沒有以任意數為底的對數函式,因此需要使用換底公式來將對數進行轉換,換底公式為:log(a)(b)=log(e)(b)/long(e)(a)

6.sin(double x),cos(double x),tan(double)

該函式表示正弦,余弦,正切值,並且引數均為弧度制

7.asin(double x),acos(double x),atan(double x)

該函式分別表示反正弦,反余弦,反正切,引數值均為弧度制

8.round(double x)

該函式用於將double型變數進行四捨五入,返回型別也是double型,需要進行取整

2 2順序表(順序儲存結構)及初始化過程

順序表,全名順序儲存結構,是線性表 的一種。通過 線性表 一節的學習我們知道,線性表用於儲存邏輯關係為 一對一 的資料,順序表自然也不例外。不僅如此,順序表對資料的物理儲存結構也有要求。順序表儲存資料時,會提前申請一整塊足夠大小的物理空間,然後將資料依次儲存起來,儲存時做到資料元素之間不留一絲縫隙。...

資料結構 2 2 線性表的順序表實現

線性表有兩種實現方式,順序表和煉表,順序表作為較簡單的實現方式,可以借用陣列來實現。順序表和煉表各有各自的優缺點,這是由其性質所決定的,在選擇時要根據題目要求,靈活進行選擇。以c 為例,需要定義乙個結構體,結構體中包括乙個陣列 乙個變數代表線性表的最大長度,乙個變數代表線性表的當前已使用長度。這裡需...

22 順序棧的基本運算

sqstack.h檔案 ifndef sqstack h define sqstack h include include define maxsize 100 定義棧的順序儲存結構 typedef struct sqstack sqstack 初始化棧 sqstack init sqstack 銷...