很久都沒有用過c了,今天重新複習了一下c語言,做了一個小小的筆記,以便以後的複習
一.c語言hello world:
#include<stdio.h>
int main()
{
printf("hello world!\n");
return 0;
}
運行該程序會在屏幕上打印出“hello world”。 程序第一行爲“預處理”命令,必須在第一行。如果編輯器一行寫不了 可以通過“\”來換行,如:
#include \
<stdio.h>
stdio.h爲c標準庫,也可以自己寫文件來加入,如寫一個文件爲“xxxx”文件,可以不用擴展名,如下:
printf("this is firstfile!\n");
printf("this is other file!\n");
可以把它加入到程序中,如果是引用系統的則用“<>”,如果是引用自己寫的文件則用“""”來引用如下:
#include<stdio.h>
int main()
{
printf("hello world!!\n");
#include "xxxx" \\引用自己的文件用"" 雙引號
return 0;
}
打印結果爲:
hello world
this is firstfile
this is other file
二 類型
在c語言中,類型可以分爲
int(整形) 如 數字 5
char(字符型)如 'a'
string(字符串)如 "china"
float(單精度型),double(雙精度型) 都表示小數,只是精度有不一樣,float精確到7位有效數字,而double精確到 15個有效數字
long double(不是標準c)可能有些編譯器不支持
計算機中,所有的類型最終都用二進制表示,如數字 5 表示爲二進制爲 0000 0101,數字1的部分表示“權重”,如果是有1的部分,就表示2的多少次方,如:
0000 0101 表示爲:從最右邊開始,表示2的0次方,爲1,第二位沒有 第三位爲2的2次方,爲4,1+4=5;
以上都是非負數的表示方法,如果要表示負數呢,計算機中用最高位表示符號位,如果爲0就是正數,爲1表示爲負數。計算機中用unsigned 表示無符號的意思是最高位不表示符號位,永遠都爲正數,而有符號的表示如下圖:
如 1000 0001 表示爲-1;0000 0001表示爲 1,這樣表示還會有一個缺點,就是在進行運算的時候會出現問題,如-1的二進制爲 1000 0001 要加上1(0000 0001),則加上的結果爲
1000 0001
0000 0001
1000 0010
結果爲-3,計算結果與實際生活中的不同,所以在後期計算機中引入了補碼來表示負數,
對於非負數而言補碼和原碼相同
對於負數是正數原碼按位取反再加一
如-1的原碼錶示方法爲:1000 0001 ,則對於的補碼爲:
正數的原碼:0000 0001
按位取反: 1111 1110
然後加1: 1111 1111
所以最後-1的補碼爲 1111 1111
現在我們來進行相關計算,如果用-1來加上1,最後結果應該爲0,如下:
1111 1111
0000 0001
0000 0000
預算中最右邊的1+1 爲0,會不停進位,到最後一位時捨棄(溢出),所以最終結果爲0,計算的最終結果和我們想象的結果一樣。計算一下10110100 是負幾表示爲負幾,如下:
1011 0100
取反 0100 1011
加1 0100 1100
表示爲十進制爲:-84
計算機中通常用字節(byte)爲單位,一個字節爲8位。
char字符用ASCII碼錶示字符來表示。常用的字符ASCII表爲:
'a'-'z' 97-122
'A'-'Z' 65-90
'0'-'9' 48-57
'\' ----13 '\n'----10 '\t'----9
'\0'----0 ' '----32
而float和double則表示爲:
上圖表示爲float,double的表示與次類似,只是階碼爲11位,而尾數爲52位
三,c語言打印
c語言中使用打印語句的時候必須用上“#include<stdio.h>”預處理命令。如果想打印整型,則需要用到佔位符,如:
printf("AAAd%BBBf%CCC",222,22.2);
打印結果爲:AAA222BBB22.20000上面的“d%”,和"f%"就叫做佔位符,它會被後面的具體內容所替代。每個類型會有不同的佔位符,如下:
今天就到這裏。