Hello World 示例
C 語言的原始碼檔案,通常以后綴名.c結尾,
#include <stdio.h>
int main(void) {
printf("Hello World\n");
return 0;
}
使用gcc編譯器,將源檔案hello.c編譯成二進制代碼,
默認會在當前目錄下生成一個編譯產物檔案a.out(assembler output 的縮寫,Windows 平臺為a.exe)
$ gcc hello.c
gcc 的-o引數(output 的縮寫)可以指定編譯產物的檔案名,
# -o hello 指定,編譯產物的檔案名為 hello(取代默認的 a.out),
$ gcc -o hello hello.c
gcc 的-std=引數(standard 的縮寫)可以指定按照哪個 C 語言的標準進行編譯,
$ gcc -std=c99 hello.c
基本語法
陳述句
C 語言的代碼由一行行陳述句(statement)組成,
C 語言規定,陳述句必須使用分號結尾,除非明確規定可以不寫分號,
int x = 1; // 變數宣告陳述句,宣告整數變數 x,并且將值設為 1,
; // 空陳述句
運算式
運算式(expression)是一個計算式,用來獲取值,
1 + 2
陳述句塊
多個陳述句使用一對大括號{},組成一個塊,也稱為復合陳述句(compounded statement),
{
int x;
x = 1;
}
注釋
注釋是對代碼的說明,編譯時,注釋會被替換成一個 空格,
- 單行注釋
將注釋放在雙斜杠//后面,從雙斜杠到行尾都屬于注釋,
int x = 1; // 這是注釋
- 多行注釋
將注釋放在/*...*/之間,內部可以分行,
int open(char* s /* file name */, int mode);
標準庫、頭檔案
- 標準庫
C 語言自帶的功能,統稱為“標準庫”(standard library),
舉例來說,printf()函式就是 C 語言自帶的,只要去呼叫它,就能實作在螢屏上輸出內容,
- 頭檔案
不同的功能定義在不同的檔案里面,這些檔案統稱為“頭檔案”(header file),
頭檔案的后綴通常是.h,比如printf()的頭檔案就是系統自帶的stdio.h,
如果要使用某個功能,就必須先加載對應的頭檔案,加載使用的是#include命令
#include <stdio.h>
printf 函式
基本用法
printf()的作用是將引數文本輸出到螢屏,f代表 format(格式化),表示可以定制輸出文本的格式,
printf("Hello World");
printf()不會在行尾自動添加換行符,運行結束后,游標就停留在輸出結束的地方,不會自動換行,
為了讓游標移到下一行的開頭,可以在輸出文本的結尾,添加一個換行符\n,
printf("Hello World\n");
占位符
printf()可以在輸出文本中指定占位符,所謂“占位符”,就是這個位置可以用其他值代入,
printf("There are %i apples\n", 3); // 輸出 There are 3 apples
There are %i apples\n 是輸出文本,里面的%i就是占位符,表示這個位置要用其他值來替換,
占位符的第一個字符一律為百分號%,第二個字符表示占位符的型別,%i表示這里代入的值必須是一個整數,
printf()的第二個引數就是替換占位符的值,上面的例子是整數3替換%i,
輸出文本里面可以使用多個占位符,printf()引數與占位符是一一對應關系,
常用占位符:
%a:浮點數,%A:浮點數,%c:字符,%d:十進制整數,%e:使用科學計數法的浮點數,指數部分的e為小寫,%E:使用科學計數法的浮點數,指數部分的E為大寫,%i:整數,基本等同于%d,%f:小數(包含float型別和double型別),%g:6個有效數字的浮點數,整數部分一旦超過6位,就會自動轉為科學計數法,指數部分的e為小寫,%G:等同于%g,唯一的區別是指數部分的E為大寫,%hd:十進制 short int 型別,%ho:八進制 short int 型別,%hx:十六進制 short int 型別,%hu:unsigned short int 型別,%ld:十進制 long int 型別,%lo:八進制 long int 型別,%lx:十六進制 long int 型別,%lu:unsigned long int 型別,%lld:十進制 long long int 型別,%llo:八進制 long long int 型別,%llx:十六進制 long long int 型別,%llu:unsigned long long int 型別,%Le:科學計數法表示的 long double 型別浮點數,%Lf:long double 型別浮點數,%n:已輸出的字串數量,該占位符本身不輸出,只將值存盤在指定變數之中,%o:八進制整數,%p:指標,%s:字串,%u:無符號整數(unsigned int),%x:十六進制整數,%zd:size_t型別,%%:輸出一個百分號,
輸出格式
printf()可以定制占位符的輸出格式,
- 限定輸出寬度
printf()允許限定占位符的最小寬度,
printf("%5d\n", 123); // 輸出 " 123"
printf("%12f\n", 123.45);// 輸出 " 123.450000"
%5d表示這個占位符的寬度至少為5位,如果不滿5位,對應的值的前面會添加空格,
輸出的值默認是右對齊,即輸出內容前面會有空格;如果希望改成左對齊,可以在占位符的%的后面插入一個-號,
printf("%-5d\n", 123); // 輸出 "123 "
- 限定小數位數
舉例來說,希望小數點后面2只保留兩位,占位符可以寫成%.2f,
printf("Number is %.2f\n", 0.5); // 輸出 Number is 0.50
這種寫法可以與限定寬度占位符,結合使用,
printf("%6.2f\n", 0.5); // 輸出為 " 0.50"
寬度和小數位數這兩個限定值,都可以用*代替,通過printf()的引數傳入,
printf("%*.*f\n", 6, 2, 0.5); // 輸出為 " 0.50"
- 輸出部分字串
%s占位符用來輸出字串,默認是全部輸出,如果只想輸出開頭的部分,可以用%.[m]s指定輸出的長度,
printf("%.5s\n", "hello world"); // 輸出 hello
參考: C 語言教程
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/488669.html
標籤:C
上一篇:IOS – OpenGL ES 影像水晶球效果 GPUImageGlassSphereFilter
下一篇:C語言變數
