1. 程式人生 > >C語言拾遺筆記01

C語言拾遺筆記01

指定字段 ons char etc 地址 所有 空格 打印 con

輸入和輸出 printf()打印的是字符串而不是整數 #define _CRT_SECURE_NO_WARNINGS消除安全周期編譯的影響 %d %o %x 分別表示以十進制 八進制 十六進制顯示數字 %hd %ho %hx short 類型整數 C語言規定long 類型至少占32位 \b退格 sizeof 使用括號與否取決於運算對象是類型還是特定量,當是類型時括號必不可少,當是特定值時可有可無; %10d 表示輸出結果有是個空格寬度,默認結果位於字段的右端 %-10d 輸出結果位於字段的左端; printf()函數有返回值,返回打印字符串的長度,如果輸出有誤則返回一個負值; scanf()根據%d 每次讀取一個數字字符 會跳過空白字符 當讀取到非數字字符時,它便認為讀到了整數末尾; scanf()根據%c 只讀取第一個字符且該字符可以是空格; %s把輸入解釋成字符串。從第一個非空白字符串開始,到下一個空白字符之前的所有字符都是輸入; scanf()函數返回成功讀取的項數;如果沒有讀取任何項,且需要讀取一個數字而用戶卻輸入一個非數值字符串,scanf便返回0; printf和scanf的*修飾符 printf():如果不想預先指定字段寬度,希望通過程序來指定,則可以用*修飾符代替字段寬度。但還是要用一個參數告訴函數,字段卷度應該是多少; scanf():把*放在%和轉換字符之間時,會使scanf跳過相應的輸出項;在使用scanf格式化輸入時不能把\n加在字符串末尾,否則會需要多輸入一個數據才會結束輸入 不要自作聰明
如果一個變量出現在一個函數的多個參數中,不要對該變量使用遞增或遞減運算符 如果一個變量多次出現在一個表達式中,不要對該變量使用遞增或遞減操作符; const定義常量,具有不可變性; const定義常量指針 ,指針指向的內容不能改變,但可以指向其他地址int const *p; 或const int *p;這兩種寫法是一樣的,表示p指向的內容是常量 1、常量指針說的是不能通過這個指針改變變量的值,但是還是可以通過其他的引用來改變變量的值的。 2、常量指針指向的值不能改變,但是這並不是意味著指針本身不能改變,常量指針可以指向其他的地址。 int *const p;指針常量,指針本身是個常量,不能在指向其他的地址,可以通過指針改變其內容 int *const p; 表示指針p是個常量,它本身不可改變。需要註意的是,指針本身不可變,但指向的對象可變。 指向常量的指針常量,const int *const p; 表示指針本身不可變,也不能通過指針修改所指向地址的內容。需要註意的是,依然可以通過其他引用修改該指針指向地址的內容。 如上圖所示 常量指針x只能改變其指向地址而不能通過指針改變其值,而指針常量y則相反;只能改變值,而不能改變指向; for循環的第一個語句不一定是給變量賦初值,也可以使用printf語句,在執行循環的其他部分之前,只對第1個表達式求值一次或執行一次。 根據C語言標準 case後的常量不能為浮點數 getchar()和putchar()用法: getchar()每次只讀取處理一個字符 putchar()將讀取到的字符打印輸出 C語言中自定義一個函數之前需在程序頭部聲明函數,聲明時形式參數類型要給出

C語言拾遺筆記01