- 譚浩強《C程序設計》(第4版)筆記和課后習題詳解
- 圣才電子書
- 2524字
- 2021-06-03 18:31:48
第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();
- 2020年考研英語(二)完形填空高分特訓100篇【命題分析+答題攻略+強化訓練】
- 經(jīng)濟法(第二版)
- 自動控制理論與應用實驗指導
- 大學生心理健康教程(第二版)
- 容器設計
- 國際商務單證實務(第七版)
- 皮細庚《日語概說》課后習題詳解
- After Effects 2022影視后期制作案例教程(全彩慕課版)
- 銷售管理(第2版)
- CorelDRAW·Photoshop內(nèi)衣產(chǎn)品設計案例實訓
- 新編房屋建筑學
- 云南大學數(shù)學與統(tǒng)計學院432統(tǒng)計學[專業(yè)碩士]歷年考研真題及詳解
- 設計構成
- 2020年新疆維吾爾自治區(qū)選聘大學生村官考試《綜合知識》考點精講及典型題(含歷年真題)詳解
- 大學創(chuàng)業(yè)與創(chuàng)業(yè)型大學的興起