- C語言程序設(shè)計(jì)
- 徐鳳生 黃超 謝玉華編著
- 991字
- 2019-10-12 15:48:43
1.4.2 C語言的主要語法單位
1.表達(dá)式
由運(yùn)算符與運(yùn)算對(duì)象(可以是常量、變量、函數(shù)等)組成的有意義的字符序列稱為表達(dá)式,如2+3*8和2+i>j等。根據(jù)運(yùn)算符的性質(zhì),表達(dá)式可分為算術(shù)表達(dá)式、關(guān)系表達(dá)式、邏輯表達(dá)式、賦值表達(dá)式等。
2.變量的定義
在程序的運(yùn)行過程中變化的量稱為變量。一個(gè)變量有3個(gè)要素,即變量名、變量所占存儲(chǔ)空間和變量值。所有的變量必須先定義后使用。變量定義的最基本形式是:
類型名 變量名;
如“int n;”就定義了1個(gè)整型變量n。
3.語句
語句是程序最基本的執(zhí)行單位,程序的功能就是通過執(zhí)行一系列語句來實(shí)現(xiàn)的。C語言中的語句有多種形式,這里只介紹一些最基本的語句。
(1)最簡單的語句(表達(dá)式語句)
最簡單的語句就是表達(dá)式加分號(hào)“;”。在C語言中賦值也被認(rèn)為是一種運(yùn)算,如i=a+b就是一個(gè)表達(dá)式,加上分號(hào)“;”就構(gòu)成了一條可執(zhí)行的語句。
(2)分支語句
分支語句實(shí)現(xiàn)分支控制程序,根據(jù)不同的條件執(zhí)行不同的語句(或語句模塊)。具體有兩種形式,即雙路分支的if-else語句與多路分支的switch語句。比如,例1.2中的雙分支語句:

(3)循環(huán)語句
C語言實(shí)現(xiàn)循環(huán)控制的過程有3種形式,即while語句、for語句和do-while語句。比如,例1.2中的for語句:
for(i=1;i<=n;i++)
fact=fact*i;
(4)復(fù)合語句
用一對(duì)大括號(hào)“{}”將若干語句順序組合在一起就形成了一個(gè)復(fù)合語句。
4.函數(shù)的定義與調(diào)用
函數(shù)是完成特定任務(wù)的獨(dú)立模塊,是C語言唯一的一種子程序形式。函數(shù)的目的通常是接收0個(gè)或多個(gè)數(shù)據(jù)(稱為函數(shù)的參數(shù)),并返回0個(gè)或1個(gè)結(jié)果(稱為函數(shù)的返回值)。函數(shù)的使用主要涉及函數(shù)的定義與調(diào)用。
函數(shù)定義的主要內(nèi)容是通過編寫一系列語句來實(shí)現(xiàn)其所完成的功能。完整的函數(shù)定義涉及函數(shù)頭和函數(shù)體。其中,函數(shù)頭包括函數(shù)的返回值類型、函數(shù)名、參數(shù)類型;而函數(shù)體是一個(gè)程序模塊,規(guī)定了函數(shù)所具有的功能。函數(shù)調(diào)用則通過傳遞函數(shù)的參數(shù)并執(zhí)行函數(shù)定義所規(guī)定的程序過程,以實(shí)現(xiàn)相應(yīng)功能。以下是例1.1函數(shù)形式的實(shí)現(xiàn):

函數(shù)定義后,即可在程序中的其他地方調(diào)用這個(gè)函數(shù)。
5.輸入與輸出
C語言沒有輸入輸出語句,它通過調(diào)用系統(tǒng)庫函數(shù)中的有關(guān)函數(shù)(如printf()和scanf()函數(shù))實(shí)現(xiàn)數(shù)據(jù)的輸入與輸出。這種處理形式為C語言在不同硬件平臺(tái)上的可移植性提供了良好的基礎(chǔ)。例如:
printf("請(qǐng)選擇功能:");
執(zhí)行這個(gè)命令后,將輸出“請(qǐng)選擇功能”。
scanf("%d",&choice);
執(zhí)行這個(gè)命令后,將從鍵盤輸入一個(gè)整數(shù),并把它存到變量choice中。其中,scanf()函數(shù)的第一個(gè)參數(shù)是輸入格式說明。
- Reporting with Visual Studio and Crystal Reports
- 軟件測試項(xiàng)目實(shí)戰(zhàn)之性能測試篇
- 基于Java技術(shù)的Web應(yīng)用開發(fā)
- 編寫高質(zhì)量代碼:改善Python程序的91個(gè)建議
- Access 2010數(shù)據(jù)庫基礎(chǔ)與應(yīng)用項(xiàng)目式教程(第3版)
- INSTANT OpenNMS Starter
- Unity Game Development Scripting
- Node.js 12實(shí)戰(zhàn)
- 零基礎(chǔ)輕松學(xué)C++:青少年趣味編程(全彩版)
- PHP項(xiàng)目開發(fā)全程實(shí)錄(第4版)
- Getting Started with hapi.js
- Learn Linux Quickly
- 新手學(xué)ASP.NET 3.5網(wǎng)絡(luò)開發(fā)
- Getting Started with Hazelcast
- 深度剖析ApacheDubbo核心技術(shù)內(nèi)幕