C語言學習筆記2

2020-09-29 11:00:25

C語言學習筆記2——認識C語言1

  1. 輸出
#include <stdio.h>
//呼叫函數庫 stdio-standard input&output;h-head
int main()
//必須搭配return 0;main()則無需搭配
{
	printf("Hello,world!");
	//printf輸出語句
	return 0;
}
  1. 求兩個整數的和
#include <stdio.h>
int main()
{
	int a,b,sum;//定義變數,而後系統會自動為變數分配記憶體空間,對變數的存取就是對其記憶體空間的存取
	a=123;
	b=456;//給變數賦值,變數初始化
	sum=a+b;//把a+b的值賦值給sum
	printf("sum is %d",sum)//輸出sum,%d為整型的格式控制符
	return 0}

補充:常見的格式控制符

  • %d 十進位制有符號整數
  • %u 十進位制無符號整數
  • %ld 十進位制有符號長整型
  • %o 八進位制形式輸出整數
  • %x 十六進位制形式輸出整數
  • %c 字元型
  • %s 字串
  • %f 小數形式實數 對應單精度浮點數
  • %e 指數形式實數
  • %g 根據大小自動選擇f格式或者e格式,不輸出無意義的0
  • %lf 對應雙精度浮點數
  • float 單精度浮點數在機內佔 4 個位元組,用 32 位二進位制描述。
    double 雙精度浮點數在機內佔 8 個位元組,用 64 位二進位制描述。


3. sizeof
sizeof(變數名)
sizeof(型別名)
可以得到某個變數或者某一型別變數佔用的位元組數

#include <stdio.h>
main()
	int n1=10;
	double f;
	char c;
	printf("%d,%d,%d,%d",sizeof(n1),sizeof(short),sizeof(double),sizeof(c))//輸出為:4,2,8,1

4.原碼反碼二補數

原碼:為二進位制的數,如:10 原碼0000 1010

反碼:正數與原碼相同,如:10 反碼0000 1010

負數為原碼0變1,1變0,(符號位不變)如:-10 原碼1000 1010
                                         反碼1111 0101

二補數:正數的二補數與原碼相同,如:10 二補數0000 1010

負數的反碼為二補數減1,如:-10 反碼:1111 0101    
                           二補數:1111 0110

計算機中數位以二補數儲存,因為原碼和反碼計算不準確,而二補數是準確的。
5.資料型別的自動轉換

int a=11.34;//11.34被自動轉換為11後賦值給a
int b=30;
double d=b;//d的值是30.0
int k='a';//k內容變為‘a’的ASCII碼,即97
printf("%d",k);//輸出:97

在整型資料轉化為字元型資料時,只會留下最右邊的一個位元組(第0位到第8位元),其他位元組丟棄:

int n=98;
char k=n;//k內容變98,98位元字元‘b’的ASCII碼
printf("%c",k);//輸出:b

6.常數
——整型常數

  • 16進位制,以「0x」開頭
  • 8進位制,以「0」開頭
    ——字元型常數


    ——字串常數
    「a」字串
    ‘a’字元
    #注意字串與字元的差別
    ——符號常數
#define 常數名 常數值
#define PI 3.14

7.平臺程式報錯
在這裡插入圖片描述