官术网_书友最值得收藏!

第3章 最簡單的C程序設計——順序程序設計

3.1 復習筆記

一、數(shù)據(jù)的表現(xiàn)形式及其運算

1常量和變量

(1)常量

在程序運行過程中,其值不能被改變的量稱為常量,數(shù)值常量就是數(shù)學中的常數(shù)。

常用的常量有以下幾類:

整型常量;

實型常量,包括十進制小數(shù)形式和指數(shù)形式;

字符常量,包括普通字符和轉義字符,常見的轉義符有換行符'\n'和制表符'\t';

字符串常量,字符串常量是雙撇號中的全部字符;

符號常量,用#define指令,指定用一個符號名稱代表一個常量。

(2)變量

變量代表一個有名字的、具有特定屬性的一個存儲單元,變量必須先定義,后使用。

(3)常變量

常變量是有名字的不變量,而且在變量存在期間其值不能改變。

(4)標識符

定義

在計算機高級語言中,用來對變量、符號常量名、函數(shù)、數(shù)組、類型等命名的有效字符序列統(tǒng)稱為標識符(identifier)。

組成規(guī)則

a.C語言規(guī)定標識符只能由字母、數(shù)字和下劃線3種字符組成,且第1個字符必須為字母或下劃線。

b.編譯系統(tǒng)將大寫字母和小寫字母認為是兩個不同的字符。

2數(shù)據(jù)類型

C語言允許使用的類型,如圖3-1所示,圖中有*的是C99所增加的。

圖3-1 數(shù)據(jù)類型的分類

3整型數(shù)據(jù)

整型數(shù)據(jù)常見的存儲空間和值的范圍如表3-1所示。

表3-1 整型數(shù)據(jù)常見的存儲空間和值的范圍

4字符型數(shù)據(jù)

(1)字符與字符代碼

常用的字符與字符代碼如表3-2所示。

表3-2 常用的字符與字符代碼

(2)字符變量

字符變量是用類型符char定義字符變量。字符類型型也屬于整型,也可以用signed和unsigned修飾符。字符型數(shù)據(jù)的存儲空間和值的范圍見表3-3。

表3-3 字符型數(shù)據(jù)的存儲空間和值的范圍

5浮點型數(shù)據(jù)

浮點型數(shù)據(jù)的有關情況如表3-4所示。

表3-4 浮點型數(shù)據(jù)的有關情況

6怎樣確定常量的類型

從常量的表示形式即可以判定其類型。對于字符常量很簡單,只要看到由單撇號括起來的單個字符或轉義字符就是字符常量。對于數(shù)值常量按以下規(guī)律:

(1)整型常量

不帶小數(shù)點的數(shù)值是整型常量,但應注意其有效范圍。

(2)浮點型常量

凡以小數(shù)形式或指數(shù)形式出現(xiàn)的實數(shù),是浮點型常量,在內(nèi)存中都以指數(shù)形式存儲。

7運算符和表達式

(1)基本的算術運算符

最常用的算術運算符見表3-5。

表3-5 最常用的算術運算符

(2)自增、自減運算符

++i,--i:在使用i之前,先使i的值加(減)1;

i++,i--:在使用i之后,使i的值加(減)1。

(3)不同類型數(shù)據(jù)間的混合運算

int型、float與double型數(shù)據(jù)進行運算,則全部轉化為double類型;

字符(char)型數(shù)據(jù)與整型數(shù)據(jù)進行運算,就是把字符的ASCII代碼與整型數(shù)據(jù)進行運算。

(4)強制類型轉換運算符

系統(tǒng)自動進行的類型轉換;

強制類型轉換。

(5)C運算符

除了算術運算符外,C還提供其他運算符,共有以下類別:

算術運算符(+ - * / % ++ --)

關系運算符(> < == >= <= !=)

邏輯運算符(! && ||)

位運算符(<< >> ~ | ∧ &)

賦值運算符(=及其擴展賦值運算符)

條件運算符(?:)

逗號運算符(,)

指針運算符(*和&)

求字節(jié)數(shù)運算符(sizeof)

強制類型轉換運算符((類型))

?成員運算符(. ->)

?下標運算符([])

?其他(如函數(shù)調(diào)用運算符())

二、C語句

1C語句的結構和分類

(1)C程序結構可以用圖3-2表示。

圖3-2 C程序結構

(2)C語句分為以下5類:

控制語句

控制語句用于完成一定的控制功能。C只有9種控制語句,它們的形式是:

a.if()…else… (條件語句)

b.for()… (循環(huán)語句)

c.while()… (循環(huán)語句)

d.do…while() (循環(huán)語句)

e.continue (結束本次循環(huán)語句)

f.break (中止執(zhí)行switch或循環(huán)語句)

g.switch (多分支選擇語句)

h.return (從函數(shù)返回語句)

i.goto (轉向語句,在結構化程序中基本不用goto語句)

函數(shù)調(diào)用語句

函數(shù)調(diào)用語句由一個函數(shù)調(diào)用加一個分號構成。

表達式語句

表達式語句由一個表達式加一個分號構成。

空語句

復合語句

2最基本的語句——賦值語句

(1)賦值運算符

賦值符號“=”是指賦值運算符,它的作用是將一個數(shù)據(jù)賦給一個變量。

(2)復合的賦值運算符

有關算術運算的復合賦值運算符有+=,-=,*=,/=,%=。

(3)賦值表達式

賦值運算符左側應該是一個可修改的“左值”(leftvalue,簡寫為lvalue),能出現(xiàn)在賦值運算符右側的表達式稱為“右值”(rightvalue,簡寫為rvalue)。

(4)賦值過程中的類型轉換

如果賦值運算符兩側的類型不一致,但都是算術類型時,在賦值時要進行類型轉換。

(5)變量賦初值

可以用賦值語句對變量賦值,也可以在定義變量時對變量賦以初值。

三、數(shù)據(jù)的輸入輸出

1有關數(shù)據(jù)輸入輸出的概念

(1)輸入輸出是以計算機主機為主體

計算機的輸入輸出如圖3-3所示。

圖3-3 計算機的輸入輸出

(2)輸入和輸出操作是由C標準函數(shù)庫中的函數(shù)來實現(xiàn)的

(3)在使用系統(tǒng)庫函數(shù)時,要在程序文件的開頭用預處理指令#include<stdio.h>

2用printf函數(shù)輸出數(shù)據(jù)

(1)printf函數(shù)的一般格式

printf函數(shù)的一般格式為:printf(格式控制,輸出表列);

括號內(nèi)包括兩部分:

格式控制

a.格式聲明

格式聲明總是由“%”字符開始的。

b.普通字符

輸出表列

輸出表列是程序需要輸出的一些數(shù)據(jù),可以是常量、變量或表達式。

(2)格式字符

對不同類型的數(shù)據(jù)要指定不同的格式聲明,而格式聲明中最重要的內(nèi)容是格式字符,常用的有如表3-6所示。

表3-6 printf函數(shù)中用到的格式字符

在格式聲明中,在%和上述格式字符間可以插入表3-7中列出的幾種附加符號(又稱修飾符)。

表3-7 printf函數(shù)中用到的格式附加字符

【說明】格式附加字符如“printf("%5.2f",f);”即表示輸出的f為浮點型數(shù)據(jù),其中應保留兩位小數(shù),總寬度為5。

3用scanf函數(shù)輸入數(shù)據(jù)

(1)scanf函數(shù)的一般形式

scanf(格式控制,地址表列);

“格式控制”的含義同printf函數(shù)。

“地址表列”是由若干個地址組成的表列,可以是變量的地址,或字符串的首地址。

(2)scanf函數(shù)中的格式聲明

與printf函數(shù)中的格式聲明相似,以%開始,以一個格式字符結束,中間可以插入附加的字符。

表3-8和表3-9列出scanf函數(shù)所用的格式字符和附加字符。它們的用法和printf函數(shù)中的用法差不多。

表3-8 scanf函數(shù)中所用到的格式字符

表3-9 scanf函數(shù)中用到的格式附加字符

(3)使用scanf函數(shù)時應注意的問題

scanf函數(shù)中的“格式控制”后面應當是變量地址,而不是變量名。

如果在“格式控制字符串”中除了格式聲明以外還有其他字符,則在輸入數(shù)據(jù)時在對應的位置上應輸入與這些字符相同的字符。

在用“%c”格式聲明輸入字符時,空格字符和“轉義字符”中的字符都作為有效字符輸入。

4字符數(shù)據(jù)的輸入輸出

除了可以用printf函數(shù)和scanf函數(shù)輸出和輸入字符外,C函數(shù)庫還提供了一些專門用于輸入和輸出字符的函數(shù)。

(1)用putchar函數(shù)輸出一個字符

putchar(c);

(2)用getchar函數(shù)輸入一個字符

getchar();

主站蜘蛛池模板: 岢岚县| 湘西| 永胜县| 龙门县| 罗平县| 隆子县| 永昌县| 青河县| 德江县| 曲靖市| 绥化市| 微博| 酒泉市| 长春市| 惠来县| 二连浩特市| 安陆市| 庄河市| 隆昌县| 安阳县| 安泽县| 安义县| 隆化县| 奉节县| 土默特左旗| 中江县| 通道| 江阴市| 石屏县| 朝阳市| 吐鲁番市| 芮城县| 兴安县| 两当县| 黎城县| 内乡县| 美姑县| 广元市| 宣汉县| 治县。| 普宁市|