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
此處的第乙個字元a
被c1
接收;第二個字元b
雖然被接收,但是沒有將它儲存在某個變數中
第三個字元c
被c2
接收;第四個字元d
被c3
接收。
而如果輸入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 銷...