1,變數
變數:在執行過程中可以改變的
變數名必須以下劃線或者字母開頭,可以由下劃線數字字母組成。
作用域:之間。
生命週期:程式/函式執行完 變數的記憶體會由系統自動**。
int a = 10;//a:變數
= 左邊的叫左值 右邊的叫右值。
2, 常量
常量:在執行過程中不可改變的
常量的定義 使用const或#define
const:修飾的變數叫常變數 關鍵字
使用const 定義時一定要進行初始化
const int a=10;//常量 編譯的時候確定他的值
#define 巨集 使用巨集定義的要大寫
在c或c++語言源程式中允許用乙個識別符號來表示乙個字串,稱為「巨集」。被定義為「巨集」的識別符號稱為「巨集名」。在編譯預處理時,對程式中所有出現的「巨集名」,都用巨集定義中的字串去代換,這稱為「巨集代換」或「巨集展開」。
(預編譯: 巨集替換 注釋的替換(空格) 標頭檔案的引入)
#define size 10
int main()
//列印結果 10
()
函式,提公升優先順序
~按位取反 11:0000 1011 ~11:1111 0100
>>
右移一位 相當於除法 /2^1
<<
左移一位 相當於乘法 x2^1
&邏輯與
^異或( 一樣的為0,不同的1)
!邏輯非
++自增運算子(++ 後置先賦值 再加,前置則相反)
- -自減運算子(同上)
*1乘法運算子 2復合賦值運算子 3位址值符4指標定義符……
sizeof
求當前字元的位元組數(所有的指標,不管什麼型別都為4個位元組)
%二元運算子
?:用於return中 用於判斷
以下為一些例項
int i=1
int i2=0;
int i3=2;
if(i++||i2++||i3++)//前面為真的,後面不計算
printf("%d,%d,%d\n",i,i2,i3);//列印結果 2 0 2
int a = 10;
printf ("%d\n",sizeof(a));//4
printf ("%d\n",sizeof a)//4
printf ("%d\n",sizeof (int ))//4
int *p =&a;
char *p2 = (char*)&a;
printf ("%d\n",sizeof (p)); printf ("%d\n",sizeof (p2));//所有指標,不管什麼型別的全部為4個位元組
printf ("%d\n",sizeof (++a)); //4 sizeof 編譯時期 不參與運算
printf ("%d\n",a); //10
int arr[5]=;
printf ("%d\n",sizeof (++a));//4
printf ("%d\n",sizeof (3+4.5));//8
float f1 = 5/2;
float f2 =(float )5/2;
float f3 = (float )(5/2);
float f4 =5/ (float )2;
printf ("%d\n",10%3);//1
printf ("%d\n",-10%3);//-1
printf ("%d\n",-10%-3);//-1
printf ("%d\n",10%-3);//1
步驟:
1 打斷點
2 除錯
逐語句
逐過程
c語言入門(2)
構成三角形的條件 任意兩邊之和大於第三邊。求面積 s a b c 2 area 根號下s s a s b s c 賦值運算子 按照 自右而左 的順序執行 將浮點型資料賦給整型變數時,對浮點數取整 直接捨棄小數部分 將佔位元組多的整形資料賦給佔位元組少的整型變數時,直接將低位元組原封不動送到被賦值的變...
C語言入門2
if語句的巢狀 在巢狀內的if語句可能又是if else型的,這將會出現多個if和多個else重疊的情況,這時要特別注意if和else的配對問題。例如 if 表示式1 if 表示式2 語句1 else 語句2 其中的else究竟是與哪乙個if配對呢?else 和就近的if 配對 為了避免這種二義性,...
C語言入門教程2
要利用計算機處理問題,光學習語言的語法規則還不夠,最重要的是要學會針對各型別的問題,擬定出有效的解題方法和步驟。解題方法和步驟就是演算法。演算法 為了解決乙個問題而採取的有限步驟。計算機演算法 如何使計算機一步一步地工作的具體過程。利用計算機處理問題的步驟 1 設計好演算法 演算法設計 2 用計算機...