C語言基礎入門一(自學筆記)

2021-08-03 07:20:04 字數 4510 閱讀 6958

int型:儲存要佔1個機器字長,16位機器,範圍-32768 ~ 32767目前大多數機器32位,即佔4個位元組,儲存數字範圍為:-2147483648 ~ 2147483647

short型:儲存小於等於int,-32768 ~ 32767

long型:儲存大於等於int,-2147483648 ~ 2147483647

long long型:儲存至少64位,即8個位元組

unsigned型:無符號,只能儲存正整數,能儲存比signed更大的整數

目前普遍設定:long long 64位8位元組,long 32位4位元組,short 16位2位元組,int 16/32位 2/4位元組

常量:超出int範圍,視為long,超出long範圍,視為unsigned long,繼續long long, unsigned long long

用h/h作為short,用l/l作為long, 用ll/ll作為long long,用u/u作為unsigned,例如343h,3234l,35455ll,435345u,534546467ull

char型:乙個位元組,-128 ~ 127,ascii編碼0~127,儲存綽綽有餘,c語言將字元常量視為int型非char型,是否有符號看編譯器

整型可以表示10,8,16進製制,如32,032,0x32/0x32

sizeof()函式

sizeof(int),sizeof(char)等等……

整型,浮點的上溢位,下溢位?

字串陣列(變數)來儲存,char name[40];

輸入scanf(「%s」,name) name是陣列首位址

輸出printf(「%s」,name)

陣列大小sizeof(name) => 40,可以寫成 sizeof name

字串長度 strlen(name) =>字元實際長度

空字元結尾(\n)

轉換格式

轉換修飾符

返回值

#include 

int main()

#include 

int main()

return

0;}

#include 

int main()

printf("\n");

}return

0;}

#include 

#include

#define max_len 255

int main()

return

0;}

void bb(int a)}}

}

if(n == 0)

s = 1;

else

s = -1;

ch = getchar();   //scanf("%c", &ch);

putchar(ch); //printf("%c", ch);

函式名

作用isalnum()

字母或陣列

isalpha()

字母isblank()

空白符isdigit()

數字islower()

小寫字母

isupper()

大寫字母

isxdigit()

16進製制字母

tolower()

返回小寫字母

toupper()

返回大寫字母

- 多重選擇if …… (else if) …… else:在多條語句中選擇,完全等價與if else多重巢狀模式

if (score <= 60)

score = 6;

else

if(score <= 70 )

score = 7;

else

if(score <= 80)

score = 8;

else

score = 10;

max =a > b ? a : b;

switch (整型表示式)

#include 

int main()

printf("%d\n", n); //切記

return

0;}

#include 

int main()

}else

printf("enter a, b, c chooce your goods, q is quit:\n");

}orderweight = fweight + sweight + tweight;

ordercharge = fcharge + scharge + tcharge;

account = ordercharge > 100 ? ordercharge * 0.05 : 0;

if( orderweight <= 5 )

extcharge = 6.5;

else

if( orderweight <= 20)

extcharge = 14;

else

extcharge = 14 + (orderweight-14) * 0.5;

pay = ordercharge + extcharge - account;

printf("**

****

****

****

***** order **

****

****

****

****\n");

printf("*name-------price------weight-------charge*\n");

printf("*yang-------$2.05--------%9.2f---------$%9.2f*\n", fweight, fcharge);

printf("*tian-------$1.15--------%9.2f---------$%9.2f*\n", sweight, scharge);

printf("*hulobo-----$1.09--------%9.2f---------$%9.2f*\n", tweight, tcharge);

printf("totalweight:%.2f, ordercharge:$%.2f", orderweight, ordercharge);

printf("account:$%.2f, extcharge:$%.2f, pay:$%.2f\n", account, extcharge, pay);

printf("**

****

****

****

****

****

****

****

****

****

****

****

***\n");

return

0;}

#include 

int main()

}

使用的#字元可能會被我們用到,使用#退出並不一定起作用

c語言把輸入輸出裝置,視為檔案,stdin流表示鍵盤輸入,stdout流表示顯示輸出

使用檔案的形式來結束鍵盤的輸入

- 檔案結尾:ctrl+z(曾經作業系統),儲存檔案大小資訊,eof(c語言)

#define eof -1 定義的
while( (ch =getchar()) != eof)

重定向和檔案:把stdin流重新賦給檔案,主要問題與作業系統有關

testfileio < words

// unix與dos 輸入重定向

testfileio > mywords //輸出重定向 dos ctrl+z結束,unix ctrl+d結束

testfileio < words > mywords //組合重定向

不能讀多個檔案,也不能寫多個檔案,空格不是必須的,寫入的會把之前的覆蓋掉

- 友好的使用者介面

丟棄換行符

while (getchar() != '\n')

continue;

if(2 != scanf("%d

%d", &a, &b))

break;

while( scanf("%ld", &n) == 1 && n > 0 )

//驗證正整數

C語言自學(一)C語言基礎

由於工作需要用到c語言,所以開始接觸學習c語言,從最基礎開始學習了解。auto 宣告自動變數 break 跳出當前迴圈 case 開關語句分支 char 宣告字元型變數或函式返回值型別 const 宣告唯讀變數 continue 結束當前迴圈,開始下一輪迴圈 default 開關語句中的其他分支 d...

自學C語言筆記一

這是中國大學mooc浙江大學 程式設計入門 c語言 的練習題目集的第i階段,包含變數 語句 迴圈部分的題目,不包括陣列 結構 基礎演算法的題目。1.對於輸入的兩個整數,按照要求輸出其和差積商。輸入格式 在一行內輸入兩個不超過100的非負整數a和b,中間以乙個空格間隔,且保證b不為0。輸出格式 共四行...

C語言鍊錶基礎自學筆記

為了複試開始複習c語言的一些程式設計技巧,今天覆習c鍊錶。1.鍊錶的結構體 typedef struct nodenode 2.建立乙個有n的節點的鍊錶 node linkcreate int n end next null 最後一位需要null,遍歷的時候while p 就行 return hea...