1. 程式人生 > >C語言從初識到認識(2)

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,這樣,他們就會出現如下圖一樣的情況
題目2
這是因為,系統預設情況就是向右對齊,%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…