C 語言基礎知識學習筆記(二)

2021-05-22 08:56:07 字數 3213 閱讀 1091

昨天學習了c++的基礎知識,就是資料型別。相當於蓋房子的磚頭。沒這些家底是沒法蓋房子的。

按照蓋房子的進度,今天要畫設計圖了。咱以前看過,還跟別人討論半天,沒畫過。呵呵,指點江山,卻不知道江山是什麼東西。丟人哪

乙個房子的設計,是需要花費功夫的。因為設計的時候,就決定了房子的樣式,房子需要的材料,房子的**。這在程式設計表現為演算法的設計。咱理想中想蓋個那種大理石宮殿,豪華漂亮,裡面有好看的書架,漂亮的小飾品,桌椅,等等,呵呵。演算法就像是整個房子的框架。而好看的書架,桌椅,美女,就像是乙個個的函式。有簡單的函式,有複雜的函式。

演算法的基本控制結構:

基本結構

說明語句實現

順序結構

就是一句一句往下讀,毫無智慧型

選擇結構

用來判斷,可以根據條件選擇的執行

就好像,麗麗喜歡你,婷婷也喜歡你。就要選擇了

if(麗麗漂亮) 選麗麗

else 選婷婷/*貌似不太對,*/

應該這樣

if(麗麗比婷婷漂亮) 選麗麗

else 選婷婷

if(表示式1) 語句1

else 語句2

語句2可以為空,當語句2為空時,else可以不寫

多重選擇結構分為很多種:

巢狀的if機構:

if(表示式1) 

if(表示式2) 語句1

else  語句2

else

if(表示式3) 語句3

else 語句4

if…else if結構:

switch你語句:

也是選擇結構

主要在每一次判斷都是同一表示式的值的時候用,比如:

每次都要判斷都是判斷day這個變數的值,看下面的例子

迴圈就是不停的執行語句,條件滿足為止

例如:我隔一分鐘吃乙個饅頭

程式如下:

吃幾個就要寫幾個語句,麻煩,而且有時候並不知道吃幾個才撐死。

所有用迴圈語句就比較簡單:

從第乙個開始,條件是直到撐死,語句就是吃乙個饅頭

for(表示式1;表示式2;表示式3)

語句 執行過程:

先計算表示式1的值,再就是表示式2(迴圈控制條件)的值,根據表示式的2的值看是否執行迴圈體,2為真,則執行迴圈體。每執行一次迴圈體後,計算表示式3的值。然後再計算表示式2的值,看是否執行迴圈

其中:

1,表示式1,2,3都可以省略,但分號不能省。

2,表示式2是迴圈的控制條件,如果省略,則迴圈無休止的進行

3,表示式1是給迴圈控制條件賦初值

coutinue

出現在迴圈體重,作用是結束本次迴圈,接著判斷是否執行下一次迴圈

goto

用法如下:

goto 語句標號;

goto語句會破壞程式的結構,盡量少用。

簡單選擇

例:輸入乙個年份,判斷是否為閏年。

如果輸入的年份(數字)能被4,400,整除,但不能被100整除,就是閏年。試著寫下程式。

程式如下:

#include/*包含輸入輸出函式*/

void main(void)

{    int year;                 /*把年份定義成整形的變數,將輸入的年份放到year中,然後判斷*/

bool isleapyear;    /*定義乙個布林型別 isleapyear*/

cout<<"enter the year:";/*輸入年份,int型*/

cin>>year;/*輸入控制字元,從鍵盤輸入*/

isleapyear=((year%4==0&&year%100!=0)||(year%400==0));       /*邏輯表示式的值傳給布林型isleapyear*/

if(isleapyear)

coutcout《去執行下,看能執行否。鬱悶,引號是中文的,不行。還有endl打成end1了。改下。

多重選擇(巢狀if和if…else if)

例:比較兩個數的大小。

演算法:比較兩個數,要麼a>b,a程式如下:

#include

void main()

{ int a,b,c;/*輸入a,b,c三個整數*/

cout<<"enter a and b:";/*在螢幕上顯示enter a and b:*/

cin>>a>>b;/*從鍵盤依次輸入a,b,中間用空格隔開*/

if(a>b) cout<<"a>b"反正選擇就是選擇了。 記住選擇的3種格式,就行了。

switch選擇語句

switch語法結構

說明switch選擇語句的格式:

switch(表示式)

{case 常量表示式1:語句1

case 常量表示式2:語句2

case 常量表示式n:語句n

default:語句n+1

首先計算switch表示式的值,然後再case語句中尋找相同的常量表示式,並由此開始執行

如果沒找到,則從default執行

注意:各常量表示式的值不能相同,次序不影響結果

每個case語句應該加上break語句,否則會執行到switch結構的結束點

當若干分支需要執行同一種操作時,可以公用一組語句,使程式簡化

例:輸入乙個0~6的整數,轉換成星期輸入。

演算法:由於每次判斷的都是星期數,同乙個變數的值,就是同乙個表示式的值,所有用switch語句比較適宜。

程式如下:

#include

void main()

{ int day;/*定義乙個星期變數,用來儲存輸入的星期數*/

cin>>day;

switch(day)

{case 0:cout<<"sunday"for迴圈

例,輸入乙個整數,求出他的所有因子。

演算法,輸入乙個整數n,然後從1~n的除,能除盡的挑出來。

程式如下:

#include

void main()

{int n,k;/*定義兩人個數,乙個用來輸入整數n,乙個用來變數輸入*/

cout<<"請輸入整數:">n;

for(k=1;kif(n%k==0) cout

C 基礎知識學習筆記(二)

繼承 軟體復用 1.例項化乙個派生類物件時,先呼叫基類的建構函式。若基類的建構函式沒有引數或者沒有顯式定義基類的建構函式,定義派生類建構函式時不必顯式初始化基類成員,甚至無需定義建構函式,編譯器會自動呼叫派生類的預設建構函式,派生類的預設建構函式去呼叫基類的預設建構函式。派生類不能繼承基類的建構函式...

C 學習筆記 二 基礎知識

1.逗號操作符 逗號表示式是一組由逗號分割的表示式,這些表示式從左向右計算。逗號表示式的結果是其最右邊表示式的值。如果最右邊的運算元 是左值,則逗號表示式的值也是左值。此類表示式通常用於for迴圈 int cnt ivec.size for vector size type ix 0 ix ivec...

C語言基礎知識點學習筆記(二)

14.列舉變數 關鍵 enum 格式舉例如下 enum color int main int main printf d n strlen arr1 printf d n strlen arr2 return0 答案應該為 第乙個 隨機數 直到找到 0 才停止 第二個 3 風格一 c語言風格的注釋 ...