C說話挨次籌算
本課先容C說話挨次籌算的根基要領和根基的挨次語句。
從挨次流程的角度來看,挨次可以分為三種根基構造, 即挨次構造、分支構造、循環構造。 這三種根基構造可以組玉成部的種種重年夜挨次。C說話供給了多種語句來完成這些挨次構造。 本章先容這些根基語句及其運用,使讀者對C挨次有一個匹面的見地, 為背面各章的進修打下基礎。
C挨次的語句
C挨次的實行部分是由語句構成的。 挨次的成效也是由實行語句完成的。
C語句可分為以下五類:
1.表達式語句
2.函數挪用語句
3.控制語句
4.復合語句
5.空語句
1.表達式語句
表達式語句由表達式加上分號“;”構成。其通俗情勢為: 表達式; 實行表達式語句便是策畫表達式的值。比如: x=y z; 賦值語句y z; 加法運算語句,但策畫結果不克不及保管,無實踐意義i ; 自增1語句,i值增1
2.函數挪用語句
由函數名、實踐參數加上分號“;”構成。其通俗情勢為: 函數名(實踐參數表); 實行函數語句便是挪用函數體并把實踐參數賦予函數定義中的情勢參數,然后實行被調函數體中的語句,求取函數值。(在第五章函數中再細致先容)比如printf("C Program");挪用庫函數,輸入字符串。
3.控制語句
控制語句用于控制挨次的流程, 以完成挨次的種種構造要領。
它們由特定的語句定義符構成。C說話有九種控制語句。 可分紅以下三類:
(1) 前提鑒別語句
if語句,switch語句
(2) 循環實行語句
do while語句,while語句,for語句
(3) 轉向語句
break語句,goto語句,continue語句,return語句
4.復合語句
把多個語句用括號{}括起來構成的一個語句稱復合語句。 在挨次中應把復合語句看成是單條語句,而不是多條語句,比如
{
x=y z;
a=b c;
printf(“%d%d”,x,a);
}
是一條復合語句。復合語句內的各條語句都必須以分號“;”結尾,在括號“}”外不克不及加分號。
5.空語句
只要分號“;”構成的語句稱為空語句。 空語句是什么也不實行的語句。在挨次中空語句可用來作空循環體。比如 while(getchar()!='\n'); 本語句的成效是,只需從鍵盤輸入的字符不是回車則重新輸入。這里的循環體為空語句。
賦值語句
賦值語句是由賦值表達式再加上分號構成的表達式語句。 其通俗情勢為: 變量=表達式; 賦值語句的成效和特點都與賦值表達式相反。 它是挨次中運用最多的語句之一。 在賦值語句的運用中需求仔細以下幾點:
1.由于在賦值符“=”右邊的表達式也可以又是一個賦值表達式,因而,下述情勢 變量=(變量=表達式); 是建立的,從而構成嵌套的景象。其展開之后的通俗情勢為: 變量=變量=…=表達式;
比如:
a=b=c=d=e=5;按照賦值運算符的右接合性,因而實踐上等效于:
e=5;
d=e;
c=d;
b=c;
a=b;
2.仔細在變量說明');中給變量賦初值和賦值語句的區別。給變量賦初值是變量說明');的一部分,賦初值后的變量與其后的其它同類變量之間仍必須用逗號間隔,而賦值語句則必須用分號結尾。
3.在變量說明');中,不許諾繼續給多個變量賦初值。 如下述說明');是錯誤的: int a=b=c=5 必須寫為 int a=5,b=5,c=5; 而賦值語句許諾繼續賦值
4.仔細賦值表達式和賦值語句的區別。賦值表達式是一種表達式,它可以出目前任何許諾表達式出現的中間,而賦值語句則不克不及。
下述語句是正當的: if((x=y 5)>0) z=x; 語句的成效是,若表達式x=y 5年夜于0則z=x。下述語句長短法的: if((x=y 5;)>0) z=x; 由于=y 5;是語句,不克不及出目前表達式中。
數據輸入語句
本小節先容的是向標準輸入配備顯示器輸入數據的語句。在C說話中,掃數的數據輸入/輸入都是由庫函數完成的。 因而都是函數語句。本小節先先容printf函數和putchar函數。printf函數printf函數稱為花樣輸入函數,其關頭字最末一個字母f即為“花樣”(format)之意。其成效是按用戶指定的花樣, 把指定的數據顯示到顯示器屏幕上。在背面的例題中我們已屢次運用過這個函數。
一、printf函數挪用的通俗情勢
printf函數是一個標準庫函數,它的函數原型在頭文件“stdio.h”中。但作為一個特例,不要求在運用 printf 函數之前必須包羅stdio.h文件。printf函數挪用的通俗情勢為: printf(“花樣控制字符串”,輸入表列)其中花樣控制字符串用于指定輸稀奇式。 花樣控制串可由花樣字符串和非花樣字符串兩種構成。花樣字符串因此%掃尾的字符串,在%背面跟有種種花樣字符,以說明');輸入數據的范例、情勢、長度、小數位數等。如“%d”顯露按十進制整型輸入,“%ld”顯露按十進制長整型輸入,“%c”顯露按字符型輸入等。背面把專門賜與接洽。
非花樣字符串在輸入時原樣照印,在顯示中起提示感化。 輸入表列中給出了各個輸入項, 要求花樣字符串和各輸入項在數目和范例上應該逐一對應。
void main()
{
int a=88,b=89;
printf("%d %d\n",a,b);
printf("%d,%d\n",a,b);
printf("%c,%c\n",a,b);
printf("a=%d,b=%d",a,b);
}
a<--8,b<--89
printf("%d %d\n",a,b);
printf("%d,%d\n",a,b);
printf("%c,%c\n",a,b);
printf("a=%d,b=%d",a,b);
本例中四次輸入了a,b的值,但由于花樣控制串分比方,輸入的結果也不相反。第四行的輸入語句花樣控制串中,兩花樣串%d 之間加了一個空格(非花樣字符),以是輸入的a,b值之間有一個空格。第五行的printf語句花樣控制串中加入的長短花樣字符逗號, 因而輸入的a,b值之間加了一個逗號。第六行的花樣串要求按字符型輸入 a,b值。第七行中為了提示輸入結果又增長了非花樣字符串。
版權聲明: 原創作品,許諾轉載,轉載時請務必以超鏈接情勢標明文章 原始起因 、作者信息和本聲明。否則將究查功令責任。