a++和++a
if語句
練習這裡陳述c語言的入門筆記
在目前學習中,可以從基礎書籍入手。
作業系統:計算機的心智作業系統之哲學原理
計算機網路:謝希仁版的計算機網路
微機原理:清華大學出版的微機原理
資料結構
c語言屬於強型別語言,需要對變數先定義在賦值,一旦變數的型別確定那麼變數的型別將不在改變。
(1byte = 8bit;)
char, 佔1個位元組
short, 佔2個位元組
int;, 佔4個位元組
long, 佔4個位元組
long int, 佔4個位元組
long long, 佔8個位元組
float, 佔4個位元組
double, 佔8個位元組
long doubl, 佔8個位元組
bool, 佔1個位元組
int a = 10;
short b =12;
a = b;
a = (int)b;這裡b的型別不變,變得是數值的型別。
在這裡介紹: 2進製 8進製 10進製 16進製制
10進製 (119) =>> ( 01110111 ) 2進製
=>> ( 167 ) 8進製
=>> ( 77 ) 16進製制
在電腦的儲存中,資料是按照補碼形式儲存的。
char a = 5;
a = 5 // 0000 0101 =>>5; 整數的原始碼、反碼、補碼都是一樣的。
char b = -5;
b = -5 // 1000 0101 =>> -5 原始碼
// 1111 1010 =>> 反碼
// 1111 1011 =>> 補碼 // 0xfb 存放
在資料進行運算的時候必然會有資料的擴充或者截斷。
擴充的時候有符號的型別,如果符號位是 0 則全擴充套件為 0;
如果符號位是 1 則全擴充為 1;
擴充的時候無符號的型別,全擴充套件為 0。
在計算機中存放的時候是根據小端存放存放,即高位存放高位址,低位存放低位址。
大端存放是指資料的高位元組,儲存在記憶體的低位址中,而資料的低位元組,儲存在記憶體的高位址中,這樣的儲存模式有點兒類似於把資料當作字串順序處理:位址由小向大增加,而資料從高位往低位放;
小端存放高位存放高位址,低位存放低位址。
取餘 % 只取決於被除數的正負;
而取整的正負取決於除數和被除數的正負,有乙個是負的輸出就是負的。
5%3=5-(5/3)*3=5-3=2
5%(-3)=5-(5/(-3))3=5-(-1)(-3)=2
-5%3=-5-(-5/3)*3=-5-(-1)*3=-2
//取整
int a =5;
int b =3;
printf
(" 5 / 3 = %d \n"
, a / b)
;//1
a =-5
; b =3;
printf
(" -5 / 3 = %d \n"
, a / b)
;//-1
a =-5
; b =-3
;printf
(" -5 / -3 = %d \n"
, a / b)
;//1
a =5;
b =-3
;printf
(" 5 / -3 = %d \n"
, a / b)
;//-1
//取餘
a =5;
b =3;
printf
(" 5 % 3 = %d \n"
, a % b)
;//2
a =-5
; b =3;
printf
(" -5 % 3 = %d \n"
, a % b)
;//-2
a =-5
; b =-3
;printf
(" -5 % -3 = %d \n"
, a % b)
;//-2
a =5;
b =-3
;printf
(" 5 % -3 = %d \n"
, a % b)
;//2
a++ 是先取a的值再就行+1賦值給a ;
++a 是先對a+1再把運算後的結果取出來。
int a =5;
int b =3;
++a = b;
printf
("a= %d"
,a);
//a= 3
a++= b;
//編譯錯誤
a++ = b;產生編譯錯誤,因為先將a取出來放在臨時空間內,當b賦值的時候是將b的值給了臨時空間,由於臨時空間唯讀不可取,所以產生編譯錯誤。
if(條件語句){}: 條件語句非真即假,只要為零就是假其餘都是真。
將 a b c 按從大到小排列
int a =5;
int b =3;
int c =7;
int d =0;
if(a > b)
if(b > c)
if(a > b)
printf
("a,b,c %d %d %d"
, a, b, c)
;//a,b,c 3 5 7
在不引入第三個變數的時候進行兩個值的交換。
//不引入第三個變數
int a =5;
int b =3;
a = a + b;
b = a - b;
a = a - b;
printf
("a,b,c %d,%d"
, a, b)
;//a,b 3 5
int rand_num =0;
//隨機數
int input_num =0;
int count =0;
bool _continue = true;
srand
(time
(null))
; rand_num =
rand()
%100
;printf
("num = %d"
, rand_num)
;while
(_continue)
if(input_num > rand_num)
if(input_num < rand_num)
}
int input =0;
printf
("請輸入年份: ");
scanf_s
("%d"
,&input);if
(input %4==
0&& input %
100!=
0|| input %
400==0)
else
//利用switch語句
int year =0;
int month =0;
int day =0;
int allday =0;
bool leap = false;
printf
("請輸入年月日:");
scanf_s
("%d %d %d"
,&year,
&month,
&day);if
(year %4==
0&& year %
100!=
0|| year %
400==0)
else
switch
(month )
if(leap)
else
}
//利用if語句和for迴圈語句
int year =0;
int month =0;
int day =0;
int sum =0;
bool leap = false;
printf
("請輸入年月日:");
scanf_s
("%d %d %d"
,&year,
&month,
&day);if
(year %4==
0&& year %
100!=
0|| year %
400==0)
else
for(
int i =
0; i < month; i++)if
(i ==
4|| i ==
6|| i ==
9|| i ==10)
if(i ==2)
else}}
if(leap)
else
}
認識C語言指標(一)
說到指標,就會出現一些複雜型別,如果對這些複雜型別不太了解,在用到指標有時就會比較懵。乙個型別裡面會有很多運算子,其優先順序和運算優先順序一樣,只需要遵循乙個原則 從變數名處起,根據運算子優先順序結合,一步一步分析 先來看看簡單的型別 int p 這是乙個普通的整型變數 int p 先從p處開始,先...
C程式設計(一) 認識C語言及導言
today begin my first blog for c c語言是一種通用的程式語言,它不受限於任何一種作業系統或機器,可移植性強。c語言中很多概念來自martin richards開發的bcpl語言。c語言是一種較為低階的語言,所以可能自己造輪子比較多 這也是c語言設計的初衷 能讓程式設計師...
帶你認識指標 C語言的靈魂(一)
最近複習考研的知識,有機會研究一下c語言的指標,今天就總結一下有時候讓我們愛的要死,有時候也恨得要死的指標,到底是什麼?書裡指標那章的序言說到了,不掌握指標就是沒有掌握c的精華,word指標看來真的有他的厲害之處啊。話不多說,開始總結。第一篇總結解決一下什麼是指標的問題,做了乙個小demo簡要說明指...