【C Primer Plus第六版中文】 課后習(xí)題 第二章 (個人總結(jié)版)
(前言:,本文章由個人收集相關(guān)資料且撰寫而成,初心是在學(xué)習(xí)中做筆記,供個人學(xué)習(xí)使用)

2.11? 復(fù)習(xí)題
C語言的基本模塊是什么
什么是語法錯誤?寫出一個英語例子和語言例子
什么是語義錯誤?寫出一個英語例子和C語言例子
Indiana Sloth編寫了下面的程序,并征求你的一眼。請幫助他判定。
假設(shè)下面的4個例子都是完整程序中的一部分,它們都輸出什么結(jié)果?
在main、int、function、char、= 中,哪些是C語言的關(guān)鍵字?
如何以下面的格式輸出變量words和lines的值(這里,3020和350代表兩個變量的值)?
There were 3020 words and 350 lines.
考慮下面的程序.......
考慮下面的程序.......
1.
C語言的基本模塊可以指的是以下幾個部分:
1). 函數(shù):C語言中的函數(shù)是程序的基本構(gòu)建塊,用于執(zhí)行特定的任務(wù)。函數(shù)由函數(shù)名、參數(shù)列表、函數(shù)體組成,可以在程序中被調(diào)用和重復(fù)使用。
2). 變量:變量是用來存儲和表示數(shù)據(jù)的,C語言中需要先聲明變量并指定其數(shù)據(jù)類型,然后才能使用。變量可以存儲不同類型的數(shù)據(jù),如整數(shù)、浮點數(shù)、字符等。
3). 控制語句:C語言提供了一些控制語句來控制程序的執(zhí)行流程,包括條件語句(如if語句和switch語句)和循環(huán)語句(如for循環(huán)和while循環(huán)),以及跳轉(zhuǎn)語句(如break和continue)等。
4). 數(shù)據(jù)類型:C語言支持多種數(shù)據(jù)類型,包括基本的整型、浮點型、字符型等,以及復(fù)合類型如數(shù)組、結(jié)構(gòu)體和指針等。選擇合適的數(shù)據(jù)類型可以有效地存儲和操作數(shù)據(jù)。
5). 輸入輸出:C語言提供了輸入輸出函數(shù)來實現(xiàn)與用戶的交互和數(shù)據(jù)的輸入輸出,常見的函數(shù)包括printf、scanf、fgets等。
這些基本模塊是構(gòu)成C語言程序的基礎(chǔ),通過合理地組織和運用這些模塊,可以實現(xiàn)復(fù)雜的程序邏輯和功能。編寫C語言程序時,需要靈活運用這些基本模塊,并按照程序的需求進行組織和設(shè)計。
2.
語法錯誤是指違反語言規(guī)范的語法規(guī)則的錯誤,這使得語句無法正確解析或編譯。以下是一個英語例子和對應(yīng)的編程語言例子:
1).英語例子:
?? - 錯誤:She don't like apples.
?? - 正確:She doesn't like apples.
在這個例子中,使用了不正確的動詞形式,"don't"應(yīng)該改為"doesn't",因為主語"She"是第三人稱單數(shù)。
?2).編程語言例子(C語言):
?? - 錯誤:printf("Hello, world!")
?? - 正確:printf("Hello, world!");
在這個例子中,缺少了分號,導(dǎo)致編譯器無法正確解析該語句,從而產(chǎn)生語法錯誤。
這些例子展示了英語和編程語言中的語法錯誤。在編程中,語法錯誤需要根據(jù)編程語言的語法規(guī)則進行修正,以確保程序可以正確編譯和執(zhí)行。
3.
語義錯誤是指程序在語法上是正確的,但在邏輯或含義上是錯誤的。以下是一個英語例子和對應(yīng)的C語言例子:
1). 英語例子:
?? - 錯誤:The cat barked at the moon.
?? - 正確:The dog barked at the moon.
在這個例子中,使用了錯誤的動物描述詞,"cat"(貓)應(yīng)該改為"dog"(狗),因為貓不會吠叫,而是狗會。
2). C語言例子:
int radius = 5;
float area = 3.14 * radius * radius;
printf("The circumference is:%f\n",area);
在這個例子中,計算的是圓的面積,但注釋中的輸出語句錯誤地指示為"circumference"(圓的周長)。應(yīng)該將輸出語句修改為正確的"area"(面積)。
這些例子展示了英語和C語言中的語義錯誤。語義錯誤需要根據(jù)上下文和邏輯進行修正,以確保語句的含義和邏輯正確。在編程中,語義錯誤可能導(dǎo)致程序運行出現(xiàn)錯誤的結(jié)果或邏輯上的混亂。
4.
第一行:include studio.h 改為 #include<stdio.h>
第二行:{}改為(),注釋末尾改為*/
第三行:把(改為{
第四行:在int s后面加上;
第五行:沒問題(空白行)
第六行:把:=改為=,:= 是Pascal相關(guān)內(nèi)容;另外賦值的值也不對,一年有52周,而不是56周。
第七行:改為printf(“There are %d weeks in a year. \n”, s);
第八行:沒問題
第九行:本來沒有這行,需要加個 }
5.
a : ??Baa Baa Black Sheep.Have you any wool?
b :? ?Begone!
O creature of lard!
c : ??What?
???? No/nfish?( / 只是普通字符)
d : ??2 + 2 = 4
6.
int 和 char 是關(guān)鍵字,其中 main 是一個函數(shù)名,function 是函數(shù) ,= 是運算符。
7.

8.
第七行完:a為5 ,b為2
第八行完:a為5 ,b為5
第九行完:a為5 ,b為5
(右邊賦給左邊)
9.
第七行完:x為10?,y為5
第八行完:x為10 ,y為15
第九行完:x為150?,y為15