unicode和utf-8編碼23
45struct
typedef67
1.基本型別:是算術型別,包括整數型別和浮點型別。
2.列舉型別:它們也是算術型別,被用來定義在程式中只能賦予其一定的離散整數值的變數。
3.void型別:表示沒有可用的值。
4.派生型別:它們包括:指標型別、陣列型別、結構型別、共用體型別和函式型別。
強制型別轉換:
(型別說明符)(表示式)如(int)(x+y).
基本型別
(windows系統 32位和64位相同)
型別儲存大小
值範圍char
1位元組-128 到 127 或 0 到 255
int4位元組
-32,768 到 32,767 或 -2,147,483,648 到 2,147,483,647
short
2位元組-32,768 到 32,767
long
4位元組-2,147,483,648 到 2,147,483,647
long long
8位元組-2^63 到 2^63 - 1
float
4位元組1.2e-38 到 3.4e+38(6位小數)
double
8位元組2.3e-308 到 1.7e+308(15位小數)
可以用sizeof() 函式來獲取每種基本型別的位元組大小。
void型別
指向void的指標可以轉換為任何資料型別。
char型別與ascii碼之間的關係
大多數時候都是查表,小寫字母是數字+64,大寫字母是+96。
unicode為每個字元設定了統一且唯一的二進位制編碼。(通常由兩個位元組組成,部分極生僻字元四個位元組)。而為了傳輸英文本元的效率,出現了utf-8編碼。其中英文本元的編碼與ascii編碼相同。
在計算機記憶體中,統一使用unicode編碼,當需要儲存到硬碟或者需要傳輸的時候,就轉換為utf-8編碼。
printf後面不加取址符,而scanf語句則需要取址符。
型別說明符
型別說明符意義d
十進位制帶符號整數
o八進位制無符號整數
x十六進製制無符號整數
u十進位制無符號整數
f小數形式輸出單雙精度實數
e指數形式輸出單雙精度實數
c輸出單個字元
p輸出指標位址
sprintf
原型:
int sprintf(char *buffer, const char *format, [argument]…)
其中:buffer為char型別的指標,指向待處理的字串;format:這是字串,包含了要被寫入到字串 str 的文字。它可以包含嵌入的 format 標籤,format 標籤可被隨後的附加引數中指定的值替換,並按需求進行格式化。 (c語言菜鳥教程)
```cpp
#includeint main()
輸出:helloworld
sscanf
也和字串處理有關,先碼乙個傳送門:關於sscanf的介紹。
乙個完整的if-else結構由乙個if,乙個else和 0到多個else if組成,這些語句的判斷條件共同組成乙個全集。當然,也可以只寫if,不考慮其它的情況。
語法格式:
switch
(integerexpression)
執行時,integerexpression中的值與case中的進行多次比較,如果相等,便執行所對應**塊中的語句。若無相等情況出現,則進入default分支(與else類似)。
條件較多且多為相等關係時,考慮switch-case,除此之外,if-else用的更多。
while迴圈:符合判斷語句的情況下,一直執行迴圈體的內容,直到不符合判斷語句或break。
do-while迴圈:和while差不多,區別在於判斷語句在後面,判斷前先執行了一遍迴圈體。
for(語句1;語句2;語句3)
執行順序:
第一次迴圈:1->2->4->3;
第二次及以後:2->4->3.
int a[3]
=;char b[3]
=;char
*c="abcde"
;//全部初始化成0或-1可用memset
int d[99]
;memset
(d,0
,sizeof
(d))
;
int a[3]
[3]=
,,};
char
*b[3]=
;
全域性變數
定義在所有函式外的變數,作用域為全部函式。
區域性變數
定義在函式或結構化語句內部,作用域為當前函式或當前大括號中。
///用結構體儲存所給同學的姓名和gpa
struct student
intmain()
其實關於結構體以及相關排序,p1068 分數線劃定是一道很好的模板題,可以通過它來熟悉相關操作。
作用主要為定義自己習慣的資料名稱,如結構體,陣列,變數型別等,使用示例如下:
//更改陣列名稱
typedef
int int_array_100[
100]
; int_array_100 arr;
//更改結構體名稱
typedef
struct tagpoint
point;
point opoint1;
定義乙個函式需要確定三部分內容:
函式名稱
函式返回值 如果沒有返回值,則為void。
函式引數
分為形參和實參兩種:
當我們呼叫函式時,對其傳入的引數和函式體內接收到的引數其實並不是同乙個變數。呼叫函式時向函式傳入的引數稱作實際引數,簡稱實參,而函式體內部用於接收外部呼叫時傳入的引數的引數稱為形式引數,簡稱形參。注意:二維陣列做形參時可以省略第一維的大小,但第二維的不可省略。
void
matrixplus
(int m,
int n,
int a[
10])int
main()
關於指標,有位博主講的非常清晰透徹,放上鏈結
總的來說,指標存放了變數的儲存位址,如果把變數比作房間裡住的房客,那麼指標指向的就是房間的門牌號。
和&都是右結合的單目運算子,所以*(p+1)而非 *p+1。
//宣告乙個指標
int a;
char
*p=&a;
指標的加減表示儲存位置的前後移動.
int num[11]
;int
*p = num;
p =&num[0]
;
大體來說本次新人task的總結就是這麼多qaq,收穫很豐富的啦? 菜鳥學習TASK1
鴿子部第一次task當然不能鴿掉,但是進度很迷,所以打算先對照task把概要大概寫下,然後把發展方案寫下,然後再一點點完善細節。task 了解c語言的幾大資料型別 包括陣列與字串 了解ascii碼和char型別的關係,有興趣的可以進一步了解unicode。基礎資料型別 整型 短整型short,整型i...
陣列學習task1
1.利用動態陣列解決資料存放問題 編寫一段 要求輸入乙個整數n,用動態陣列a來存放2 n之間所有5或7的倍數,輸出該陣列。托普利茨矩陣問題 如果乙個矩陣的每一方向由左上到右下的對角線上具有相同元素,那麼這個矩陣是托普利茨矩陣。給定乙個m x n的矩陣,當且僅當它是托普利茨矩陣時返回true。def ...
python學習打卡 Task1
基礎知識 注釋模組 內建函式dir 及help pep8 在mac終端輸入python可進入cpython互動式直譯器,利用print函式向世界打招呼吧 print hello,world 執行結果 hello,world input函式用於接收使用者輸入,先將輸入儲存在變數中,然後列印這個變數 d...