The C Programming Language

Introduction to the C
Programming Language
CSIM, PU
C Language
程式碼的編譯
 一般來說,程式碼編輯完成後,必須轉換成機器所能
理解的語言(即機器碼,machine code)後,才能正確
的執行。
 所有的程式語言中,都附有這種轉換的程式,而轉換
程式可概分成兩種,即直譯器(interpreter)與編譯器
(compiler)。
C語言是屬於編譯器的一種。
CSIM, PU
C Language
2
C語言的編譯及連結過程
撰寫程式
原始程式
編譯器
(xxx.c)
(Compiler)
函數庫
目的檔
(Library)
(xxx.obj)
連結程式
(Linker)
執行檔
(xxx.exe)
CSIM, PU
C Language
3
簡單的C程式範例
/* prog1_1 , 第一個C程式碼 */
#include<stdio.h>
原始的程式碼
#include<stdlib.h>
void main(void)
{
printf("First C program!\n"); /*在螢幕上印出 ””內的字串*/
printf("享受C的樂趣\n!");
system("pause");
/*暫停程式的執行*/
}
CSIM, PU
C Language
4
程式碼的編輯、撰寫
下面視窗為鍵入程式碼之後的情形:
CSIM, PU
C Language
5
程式碼的編輯、撰寫
選擇『檔案』功能表裡的『儲存』即可儲存檔案。
存檔類型需存成 .c 檔
CSIM, PU
C Language
6
基本資料型態
 C語言常用的四種資料型態:
 char(字元)
character
 int(整數)
integer
 float(浮點數)
single-precision floating point
 double(倍精度浮點數)
 例如: char name;
int num;
float grade;
CSIM, PU
double-precision floating point
/*宣告一個變數name為字元資料型態*/
/*宣告一個變數num為整數資料型態*/
/*宣告一個變數grade為浮點資料型態*/
C Language
7
輸入與輸出
C常用的資料型態:
 int (%d), char(%c), float(%f), double(%lf)
 輸出:printf
 例:printf(“X的值為%d”, x);
 輸入:scanf
 例:scanf(“%d”, &x);
CSIM, PU
C Language
8
C程式練習
#include<stdio.h>
int main(void)
{
int num=5;
/* 宣告一個名為num的整數型態變數 */
printf(“Hello C Program\n");
printf(“num的值為:%d",num);
system("pause");
return 0;
}
CSIM, PU
C Language
9
解析C語言
include指令與標頭檔:
 在C語言裡,性質相近的格式定義會放在同一個標頭檔裡。
 我們可以使用include指令將這些標頭檔含括進程式裡。
main()函數:
 每ㄧ個C程式都必有一個main()函數,而且只能有一個。
 所有C程式都是由main()函數開始執行,所執行的是{ }內的
內容。
 大括號、本體
 以main()函數而言,左大括號({)與右大括號(})之間的程式
碼就是main()函數的本體(body)。
 本體內的每個指令敘述需以分號『;』做結尾。
CSIM, PU
C Language
10
簡單的C程式範例
#include<stdio.h>
#include<stdlib.h>
/* 將stdio.h這個檔案含括(include)進來*/
/*將stdlib.h這個檔案含括(include)進來*/
定義了main函數,{}內為main的主體
int main(void)
{
int num;
/* 宣告一個名為num的整數型態變數 */
printf(“How old are you?");
scanf("%d",&num);
/* 呼叫printf()函數 */
讀取輸入值並設定給num變數
C語言的註解。
C是以 " /* "及 " */ “
記號來包圍註解文字.
printf("You are %d years old\n",num);
system("pause");
return 0;
}
printf函數會先把『%d』這個符號以num的值來取代。
再將雙引號內的文字輸出到螢幕上。
CSIM, PU
C Language
11
跳脫字元(Escape Sequences)
\a alert (bell) character
\\
backslash
\b backspace
\?
question mark
\f formfeed
\'
single quote
\n newline
\"
double quote
\r carriage return
\000
octal number
\t horizontal tab
\xhh
hexadecimal number
\0 null character
CSIM, PU
C Language
12