2.1一個簡單的實例數組
程序清單2.1 first.c程序框架
------函數
#include <stdio.h>code
int main()內存
{原型
int num;編譯器
num=1;it
printf("I am a simple");io
printf("computer.\n");編譯
printf("My favorite number is %d because it is first . \n",num);
return 0 ;
}
2.2實例說明
2.2.2程序細節
1、#include 指示和頭文件
#include <stdio.h>
該句至關於您在文件中該行鍵入了stdio.h文件的完整內容。這樣能夠在多個程序間共享公用的信息。
#include 語句是C預處理器指令(preprocessor directive)的一個例子。一般,C編譯器在編譯前要對源代碼 作一些準備工做,這稱爲預處理。
stdio.h(standard inprt output header)文件做爲全部C編譯包的一部分提供,包含有關輸入和輸出的函數信息以供編譯器使用。在C中,人們稱出如今文件頂部的信息集合爲頭(header),C實現一般都帶有許多頭文件。
簡言之,頭文件指引編譯器把您的程序正確的組合到一塊兒。
2、main()函數
一個C程序老是(不考慮例外)從main()函數開始。這個函數是C程序的基本模塊。
int指明瞭main函數的返回類型。
圓括號()包含傳遞給函數的信息。
3、註釋
/*一個簡單的程序*/
包含在/**/之間的部分是程序註釋,都會被編譯器忽略掉。能夠單行也能夠多行。
//符號內的註釋只能限制在單行。
4、花括號、程序體和代碼塊
{
......
}
一般,全部的C函數都使用花括號來表示函數體的開始和結束。
5、聲明
int num;
程序中的這一行叫聲明語句。
在C語言中,全部的變量必須在使用前定義。
傳統上,C語言要求必須在一個代碼塊的開始處聲明變量,在這以前不容許使用其餘語句。
一、數據類型
把一個變量聲明爲整數類型或字符類型是計算機正確的存儲、獲取和解釋該數據的基本前提。
二、名字的選擇
可供使用的字符有大寫、小寫字母,數字和下劃線。第一個字符必須是字母或下劃線。
C語言的名字區分大小寫。
三、聲明變量的好處
A、全部變動放在一塊兒,可讓讀者更容易掌握程序的內容。
B、程序編寫以前考慮一下須要聲明的變量會促使您作一些計劃。
C、減小程序中很難發現的一類細微錯誤。
D、若是沒有聲明全部變量,將不能編譯您的C程序。
6、賦值
num=1;
把1賦給變量num。
前面的int num;語句爲變量num分配了內存空間,該賦值語句在那個地方爲變量存儲了一個值。若是您想的話,之後還能夠給num賦另外一個值,這就是num爲何叫變量的緣由。
賦值語句的順序是從右到左。
7、printf()函數
printf("I am a simple");
printf("computer.\n");
printf("My favorite number is %d because it is first . \n",num);
圓括號中包括的內容是從main()傳遞到函數printf()的信息。這樣的信息被稱爲參數(argument),更完整的名稱是函數的實際參數(actual argument).
第二行,\n被稱爲換行符,字符的意思是開始新的一行。
換行符是轉義字符的一個例子。
轉義字符一般用於表明難於表達或者是沒法輸入的字符。
\t表明tab鍵;\b表明退格鍵;
每一個轉義字符都是\開始。
第三行,%d是一個佔位符,其做用是指示輸出num值的位置。
%告訴程序把一個變量在這個位置輸出,d告訴程序將輸出一個十進制的整數變量。
實際上,printf中的f暗示着這是一種格式化的輸出函數。
8、return語句
return 0;
帶有返回值的C語言函數要使用一個return語句,該語句包括關鍵字return,後面緊跟要返回的值,而後是一個分號。
2.3一個簡單程序的結構
程序由一個或多個函數組成,其中必須有一個名爲main()的函數。
函數頭(header),包括預處理語句和函數名;
函數體(body),位於花括號中,並由一系列語句組成,每一個語句以一個分號結束;
#include <stdio.h>
int main(void)
{
statements;
return 0 ;
}
2.4使程序可讀的技巧
*選擇有意義的變量名和使用註釋;
*使用一個空行來分隔定義部分和動做部分;
*每一個語句使用一行;
2.5更進一步
2.5.1說明
程序開始處使用一個註釋說明文件的名稱和程序的目的。對之後瀏覽或打印這些文件時頗有幫助。
2.5.2多個聲明
在一個聲明語句中聲明多個變量時,要使用「,」把多個變動分隔開來;
2.5.4輸出多個值
printf("There are %d feet in %d fathoms! \n」,feet,fathoms);
printf("Yes , I said %d feet! \n」,6*fathoms);
注意,要輸出的變量列表出如今引號以後的語句尾部,還要注意每一項與其他項之間要用逗號隔開;
第二句說明,輸出值沒必要是一個變量,它只需結果值具備合適類型的某個式子;
2.6多個函數
/*two_func.c--在一個文件中使用兩個函數*/ #include <stdio.h> void butler(void);//第一次出如今原型中,通知編譯器要用到該函數; int main(void) { printf("I will summon the butler function.\n"); butler();//第二次以函數調用的形式出現; printf("Yes,Bring me some tea and writeable CD-ROMS.\n"); return 0; } void butler (void)//第三次程序給出了函數的定義,即函數的源代碼; { printf("You rang,Sir?\n"); }
原型,是一種聲明形式,它告訴編譯器您正使用一個特殊的函數,它也了指明瞭函數的屬性。
注意:void的意思是「空的」而不是「無效的」。
butler()函數執行的時間由main()函數調用它的位置決定。
全部的C程序都是從main()函數開始執行的,無論它在文件中處於什麼位置,然而C的慣例是把main()函數放在開頭,由於它一般爲程序提供了最基本的框架。
C標準建議您爲要用的全部的函數提供函數原型。