C語言從初識到認識(2)
C語言程式的注意事項
- 函式總是從main()函式開始執行的
- 程式中要求計算機的操作是由函式中的c語句完成的
- 每個資料宣告語句的最後必須有一個分號
- C語言本身不提供輸入輸出語句
- 程式應當包括註釋
接下來就是逐條分析
1、在預處理指令中主要需要注意的是#include<stdio.h>和#include"stdio.h"是有區別的,籠統的說就是被包含與包含的關係。
2、主函式注意定義型別,定義型別與最後的return對應,用於接收return的值;
例如:
#include"stdio.h" int main() { printf("Hello world!\n"); return 0; }
這裡的int main()就是為了接收return 0;中的0;然後結束程式
而如果是 void main(),就表示main函式沒有返回值。其中的int為返回值型別。
3、輸入和輸出
關於輸入和輸出,有很多可以說的首先是轉義字元
轉義字元 | 字元值 | 輸出結果 |
---|---|---|
\’ | 一個單撇號’ | 輸出單撇號字元’ |
\" | 一個雙撇號" | 輸出雙撇號字元" |
\? | 一個問號? | 輸出問號字元? |
\\ | 一個反斜線\ | 輸出反斜線字元\ |
\a | 警告(alert) | 產生聲音或視覺訊號 |
\b | 退格(backspace) | 將游標當前位置後退一個字元 |
\f | 換頁(from feed) | 將游標當前位置移到下一頁的開頭 |
\n | 換行 | 將游標當前位置移到下一行的開頭 |
\r | 回車(carriage return) | 將游標當前位置移到本行的開頭 |
\t | 水平製表符 | 將游標當前位置移到下一個Tap位置 |
\v | 垂直製表符 | 將游標當前位置移到下一個垂直製表對齊點 |
\o、\oo或\ooo | 與該八進位制碼對應的ASCII字元 | 與該八進位制碼對應的字元 |
\xh[h…] 其中h代表一個十六進位制數 | 與該十六進位制碼對應的ASCII字元 | 與該八進位制碼對應的字元 |
各種轉義字元的用法不一,平常最常見的就是換行字元\n相信大家也對此有所瞭解。
其次要說的重點就是輸入函式和輸出函式
scanf函式和printf函式是最常見的
所以作死般提出另外兩個輸入和輸出函式
getchar 和 putchar
getchar用於接收字元
putchar用於輸出字元
用法見以下程式碼:
#include"stdio.h"
int main()
{
char a='B',b='O',i,c;//定義a,b,c,i
i=getchar();//輸入字元,再將字元賦給i
c=getchar();//輸入字元,再將字元賦給c
putchar(a);//輸出a
putchar(b);//輸出b
putchar(c);
putchar(i);
putchar('\n');//輸出換行符
return 0;
}
getchar接收字元,putchar輸出字元。
當然,說完函式,最多的就是附加字元,格式字元%了。
首先是printf函式中用到的格式字元
格式字元 | 說 明 |
---|---|
d,i | 以帶符號的十進位制形式輸出整數(正數不輸出符號) |
o | 以八進位制無符號形式輸出整數(不輸出前導符0) |
x,X | 以十六進位制無符號形式輸出整數(不輸出前導符0x),用x則輸出十六進位制數的a~f,用X時,則以大寫字母輸出 |
u | 以無符號十進位制形式輸出整數 |
c | 以字元形式輸出,只輸出一個字元 |
s | 輸出字串 |
f | 以小數形式輸出單、雙精度數,隱含輸出6位小數 |
e,E | 以指數形式輸出實數,用e時指數以“e”表示(如1.2e+02),用E時指數以“E”表示(如1.2E+02) |
g,G | 選用%f或%e格式中輸出寬度較短的一種格式,不輸出無意義的0。用G時,若以指數形式輸出,則指數以大寫形式表示 |
以上表格中所有字元,均可用於printf函式語句中,加上字首%字元就可以實現各種輸出。
下面就是格式字元的附加字元
字元 | 說明 |
---|---|
1 | 長整型整數,可加在格式符d、o、x、u |
m(代表一個正整數) | 資料最小寬度 |
n(代表一個正整數) | 對實數,表示輸出n位小數;對字串,表示擷取的字元個數 |
-(負號) | 輸出的數字或字元在在域內向左靠(向左對齊) |
例如:
要使輸出的這一串數字整齊的排列達到以下情況:
輸出這樣的向左對齊的一串數字,首先你應該控制行間距如%4d,這樣,他們就會出現如下圖一樣的情況
這是因為,系統預設情況就是向右對齊,%4d表示輸出的每一個數據的最小間距為4列,這時我們轉換下,用printf函式中用到的格式附加字元-負號也就是%-4d,就可以變成最終想要的,向左對齊的整齊的數字。程式碼如下:
#include <stdio.h>
int main()
{
int i, j, k;
for(i=1;i<=4;i++)
{
for(j=1;j<=5;j++)
{
printf("%-4d",i*j);
}
printf("\n");
}
return 0;
}
如%ld是輸出長整型,%lf是輸出小數位數更多的雙精度數,如果出現%7.2f這種,就是輸出的資料只能佔用7列,並且保留2位小數。
關於輸入輸出就說到這,以後有問題再回來編寫。
4.一個好程式必備的註釋
註釋在《C程式設計》(第五版)中提到過兩種註釋方法
(1)、//型,這種註釋方法就是在想要註釋的開頭加上雙斜槓,就會讓//以後一行的字串成為註釋,不在原始碼中執行,簡單來說就是註釋一行的字串
(2)、/* */型,在中間新增想要註釋的內容,即可全部註釋,相對來說更方便。
這一部落格大概包括到了《C程式設計》的第一章和第三章,也是對整個原始碼結構的總結。end…