正文 第13章 基本輸入輸出(1 / 3)

C語言程序由若幹語句組成,C語言的語句分為五類,分別是:表達式語句、函數調用語句、控製語句、空語句和複合語句。

1.表達式語句

表達式是由運算符將操作數連接起來的式子,程序中的運算處理大多通過表達式語句來實現,這裏要注意表達式和表達式語句的區別:在表達式後加上一個分號就構成了表達式語句。例如:

a+2(這是一個算術表達式)

a+2;(這是一個表達式語句)

2.函數調用語句

在C語言中,函數調用後麵加上一個分號就構成了函數調用語句。函數的具體內容將在後續章節中出現。

3.控製語句

控製語句用於完成一定的控製功能,例如程序的選擇控製、循環控製等。

4.空語句

如果語句隻有一個分號,則該語句稱為空語句。空語句是什麼也不執行的語句,在程序中它可以用來延時,也可以用作空循環體。

例如:

for(i=1;i

[例41]在顯示器上輸出字符變量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。

[例42]從鍵盤輸入一個小寫字符,轉為大寫後輸出。

#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函數輸出時會原樣輸出格式控製字符串中的非格式字符內容,如格式控製字符串中有格式字符,則用輸出列表的相應值代替該格式字符。上麵的例子就是原樣輸出了格式控製字符串,因為其中並沒有格式字符,所以也沒有輸出列表。請閱讀下麵的程序:

[例43]

#include

voidmain()

printf("*\n**\n***");

編譯運行該程序後的輸出為:

*(注意在該例中“\n”為換行轉義字符)

**

***

該例也屬於沒有輸出列表的情況,原樣輸出了字符串。看到這裏我們已經知道在有格式字符的情況下才要有輸出列表,那麼什麼是格式字符呢?

2.格式字符

先看下麵的例子:編程計算半徑為21圓的麵積。

#include