C語言程序由若幹語句組成,C語言的語句分為五類,分別是:表達式語句、函數調用語句、控製語句、空語句和複合語句。
1.表達式語句
表達式是由運算符將操作數連接起來的式子,程序中的運算處理大多通過表達式語句來實現,這裏要注意表達式和表達式語句的區別:在表達式後加上一個分號就構成了表達式語句。例如:
a+2(這是一個算術表達式)
a+2;(這是一個表達式語句)
2.函數調用語句
在C語言中,函數調用後麵加上一個分號就構成了函數調用語句。函數的具體內容將在後續章節中出現。
3.控製語句
控製語句用於完成一定的控製功能,例如程序的選擇控製、循環控製等。
4.空語句
如果語句隻有一個分號,則該語句稱為空語句。空語句是什麼也不執行的語句,在程序中它可以用來延時,也可以用作空循環體。
例如:
for(i=1;i
。
[例41]在顯示器上輸出字符變量c的值。
#include
voidmain()
{
charc;
c=a;
putchar(c);
}
編譯運行該程序後,我們會在顯示器上看到什麼結果呢?是c還是a?答案是a。因為c是一個字符變量,其值為字符“a”,而putchar函數的作用是輸出括號中的字符數據,該例中字符數據就是變量c的值“a”。
對上一程序進行如下修改,請考慮其輸出結果。
#include
voidmain()
{
charc;
c=a;
putchar(c);
}
getchar函數的功能是從鍵盤輸入一個字符到內存中,一般形式為:
getchar();
通常把輸入的字符賦給一個字符變量,構成賦值語句,例如:
charc;
c=getchar();
這兩條語句的功能是從鍵盤輸入一個字符,並將該字符賦給字符變量c。注意,使用本函數時必須要使用文件包含命令#include"stdio.h"或#include。
[例42]從鍵盤輸入一個小寫字符,轉為大寫後輸出。
#include
voidmain()
{
charc;
c=getchar();
c=c-32;
putchar(c);
}
編譯運行該程序後,如果從鍵盤輸入了一個字符“a”,則輸出為“A”。
printf函數的功能是按用戶指定的格式,將指定的數據顯示到顯示器上。
1.printf函數調用的一般形式
printf函數調用的一般形式為:
printf("格式控製字符串",輸出列表);
通過上麵的一般形式,可以看出printf函數有兩個參數(用逗號分隔),分別是格式控製字符串(注意該參數必須要用雙引號括起來)和輸出列表。看下麵的例子:
#include
voidmain()
printf("thisisacprogram");
}
看了該例後可能有疑問,在一般形式中printf函數應該有兩個參數,但該例中隻有一個(格式控製字符串),是不是出錯了?編譯運行該程序發現並未出錯,其在顯示器上的輸出結果為:thisisacprogram。通過此例可以看出printf函數的第二個參數(輸出列表)不是必需的,那麼到底什麼時候該有第二個參數呢?
printf函數輸出時會原樣輸出格式控製字符串中的非格式字符內容,如格式控製字符串中有格式字符,則用輸出列表的相應值代替該格式字符。上麵的例子就是原樣輸出了格式控製字符串,因為其中並沒有格式字符,所以也沒有輸出列表。請閱讀下麵的程序:
[例43]
#include
voidmain()
{
printf("*\n**\n***");
}
編譯運行該程序後的輸出為:
*(注意在該例中“\n”為換行轉義字符)
**
***
該例也屬於沒有輸出列表的情況,原樣輸出了字符串。看到這裏我們已經知道在有格式字符的情況下才要有輸出列表,那麼什麼是格式字符呢?
2.格式字符
先看下麵的例子:編程計算半徑為21圓的麵積。
#include