㈠ c語言中程序的基本組成部分是什麼
在C語言中,函數是程序的基本組成單位。
一個函數由函數的說明部分組成。包括函數名、函數類型、函數屬性、函數參數名、形式參數類型。
結構化程序設計的思想就是把一個問題分解成多個小的問題,每一個小問題都解決了,大問題也就解決了。C語言的函數就是實現結構化程序設計而建立的一個基本單位,如同生物學上的細胞。
C程序的基本組成單位是 函數
㈡ 程序是有什麼組成的
軟體由程序、數據和相關的文檔三部分組成,而程序是一個集合,指出了計算機要執行一個任務的演算法等。
如果非要指出程序是由什麼組成的,應該說程序在編譯(或解釋)之前,是由代碼(程序員寫的符號、字元等)組成的。代碼在運行前要經過編譯或解釋,編程0和1組成的機器語言被計算機識別、運行
㈢ 程序的定義是什麼 程序主要由幾部分組成
程序是計算機可以執行的一個為解決特定的問題,用某種計算機語言編寫的語句(指令)序列。
程序=數據結構+演算法
㈣ 我有個白痴的問題,關於Pascal的。
Pascal基本語句
hb007
發表於
2006-4-13
13:57:30
名
稱
格
式
功
能
賦值語句
變數標識符:=表達式;
先計算表達式的值,再將表達式的值賦給變數。
輸入語句
read(變數表);
readln(變數表);
從鍵盤上為變數表中的變數賦值。
從鍵盤上為變數表中的變數賦值(換行讀入)。
輸出語句
write(輸出表);
將輸出項顯示在屏幕上或用列印機輸出。
writeln(輸出表);
將輸出項通過屏幕或列印機輸出(換行輸出)。
write(輸出項:場寬);
輸出項佔有的位數=場寬表達式的值。
write(輸出項:總場寬:小數位數);
輸出項佔有的位數=總場寬表達式的值。
輸出項小數部分佔有的位數=小數位數。
條件語句
if
條件
then
語句1;
若條件為真,則執行語句1。
若條件為假,執行if語句的下一個語句。
if
條件
then
語句1
else
語句2;
若條件為真,則執行語句1,否則執行語句2。
分情況語句
case
表達式
of
常數表1:語句1:
常數表2:語句2;
……
常數表n:語句n;
end
先計算表達式的值,然後執行與表達式的值相同的常數所對應的語句。如果所有的常數表中沒有與表達式的值相同的常數,則執行case語句的下一個語句。
case表達式of
常數表1:語句1;
常數表2:語句2;
常數表n:語句n;
……
else
語句n+l;
end
先計算表達式的值,再執行與表達式的值相同的常數所對應的語句。如果所有的常數表中沒有與表達式的值相同的常數,則執行語句n+l。
循環語句
for
循環變數:=初值
to
終值
do
循環體;
先把初值賦給循環變數,然後將此值與循環終值比較,當此值小於等於終值時,執行循環體語句。
for
循環變數:=初值
downto
終值
do
循環體;
先把初值賦給循環變數,然後將此值與循環終值比較,當此值大於等於終值時,執行循環體語句。
while
布爾表達式
do
語句:
先計算布爾表達式的值,當其值是真時,執行do後面的語句,若是假則退出循環。
repeat
語句1;
語句2;
……
語句n
until
布爾表達式;
先執行語句1到語句n,再對布爾表達式進行判斷。當布爾表達式值為真時重復執行語句1到語句n,直到布爾表達式的值為假時退出循環,執行until語句下面的語句。
轉向語句
goto
標號;
轉到標號指向的語句去執行。
開域語句
with
記錄名
do
語句;
簡化對記錄的引用。
[例1.1]編程在屏幕上顯示「Hello
World!」。
Pascal程序:
Program
ex11;
Begin
Writeln(『Hello
World!』);
ReadLn;
End.
這個簡單樣常式序,希望大家的程序設計學習能有一個良好的開端。程序中的Writeln是一個輸出語句,它能命令計算機在屏幕上輸出相應的內容,而緊跟Writeln語句後是一對圓括弧,其中用單引號引起的部分將被原原本本地顯示出來。
[例1.2]已知一輛自行車的售價是300元,請編程計算a輛自行車的總價是多少?
解:若總售價用m來表示,則這個問題可分為以下幾步處理:
①從鍵盤輸入自行車的數目a;
②用公式
m=300*a
計算總售價;
③輸出計算結果。
Pascal程序:
Program
Ex12;
{程序首部}
Var
a,m
:
integer;
{說明部分}
Begin
{語句部分}
Write(『a=』);
ReadLn(a);
{輸入自行車數目}
M
:=
300*a;
{計算總售價}
Writeln(『M=』,m);
{輸出總售價}
ReadLn;
{等待輸入回車鍵}
End.
此題程序結構完整,從中可看出一個Pascal
程序由三部分組成:
(1)程序首部
由保留字Program開頭,後面跟一個程序名(如:Exl1);其格式為:
Program
程序名;
程序名由用戶自己取,它的第一個字元必須是英文字母,其後的字元只能是字母或數字和下劃線組成,程序名中不能出現運算符、標點符和空格。
(2)說明部分
程序中所用的常量、變數,或類型、及過程與自定義函數,需在使用之前預先說明,定義數據的屬性(類型)。[例1.2]
程序中
Var
S,R,C:
Real;
是變數說明,此處說明S,R,C三個變數均為實數類型變數。只有被說明為某一類型的變數,在程序中才能將與該變數同類型的數值賦給該變數。變數說明的格式為:
Var
變數表:類型;
(3)語句部分
指由保留字
Begin
(開始)至
End.
(結尾)之間的語句系列,是解決問題的具體處理步驟,也是程序的執行部分。
Pascal程序不管是哪部分,每句末尾都必須有分號(;),但允許最接近
End
的那個語句末尾的分號省略;程序結束的End末尾必須有圓點(.
),是整個程序的結束標志。
程序中花括弧「{
}」之間的部分為注釋部分。
Pascal程序結構可歸納用如下的示意圖來表示:
Program
程序名;
程序首部
標號說明;
(Label)
常量說明;
(Const)
說明部分
類型說明;
(Type)
變數說明;
(Var)
過程或函數說明;
Begin
程序體
(主程序)
語句系列;
語句部分
End.
圖1.1
Pascal程序的結構
把處理問題的步驟編成能從上到下順序執行的程序,是簡單程序的基本特徵。再來分析下面兩道例題的Pascal程序結構和繼續學習基本語句。
〔例1.3〕編程計算半徑為R的圓的面積和周長。
解:這是一個簡單問題,按數學方法可分以下幾步進行處理:
①
從鍵盤輸入半徑的值R;
{
要求告訴圓的半徑R
}
②
用公式
S=πR2
計算圓面積;
③
用公式
C=2πR
計算圓周長;
④
輸出計算結果。
Pascal程序:
Program
Ex13;
{程序首部
}
Var
R,S,C:
Real;
{說明部分
}
Begin
{語句部分
}
Write
('R=?');
Readln(R);
{輸入半徑
}
S:=Pi*R*R;
{圓面積公式S=πR2}
C:=2*Pi*R;
{圓周長公式C=2πR}
Writeln('S=',S);
{輸出結果
}
Writeln('C=',C);
Readln
{等待輸入回車鍵}
End.
程序中Pi是Pascal提供的標准函數,它返回圓周率的近似值:3.1415926…。
(:=)是賦值符號,賦值語句的格式為:
變數:=表達式;
賦值語句的作用是將:=右邊表達式的值記錄到左邊的變數中。
Writeln是輸出語句,輸出語句有三種格式:
①
Write
(輸出項1,輸出項2)
;
{執行輸出後游標不換行}
②
Writeln
(輸出項1,輸出項2)
;
{執行輸出後游標換到下一行}
③
Writeln
{僅輸出空白且游標換到下一行}
Writeln語句後面的圓括弧以內部分均為輸出項,可以是多項,各項間用逗號分隔;
對單引號里的內容按照引號內的原樣(字元)輸出顯示。如果輸出項是表達式,則只輸出表達式的值,而不是表達式本身。
[例1.4]
輸出兩個自然數相除的商和余數。
解:設被除數、除數、商和余數,分別為A,B,C,D,均為變數,且都是整數類型。題中未給出具體的自然數A、B,可採用鍵盤輸入方式。
①
給出提示,從鍵盤輸入a,
b;
②
顯示兩數相除的數學形式;
③
求出a除以b的商c;
④
求出a除以b的余數d;
⑤
緊接等式後面輸出顯示商和余數。
Pascal程序:
Program
Ex14;
Var
a,b,c,d
:
integer;
Begin
Write('INPUT
A,B:');
{給出提示信息}
Readln(a,b);
{輸入a,b}
Writeln;
{輸出一空行}
Write(a,'/',b,'=');
{輸出等式之後不換行}
c:=a
div
b;
{整除運算,取商的整數部分}
d:=a
mod
b;
{相除求余運算,取商的余數部分}
Writeln(C,'…',d);
{輸出後自動換行
}
Readln
{等待輸入回車鍵
}
End.
執行本程序中第一個Write語句,輸出其引號以內的一串提示信息,是給緊接著的輸入語句提供明確的提示(要求),有「一目瞭然,人機對話」之效果。
Readln是一個特殊的輸入語句,要求輸入一個回車(換行)才能往下執行。
Readln是輸入語句,它的一般格式為:
①
Read
(變數1,變數2);
②
Readln
(變數1,變數2);
③
Readln
前兩種格式均要從鍵盤給變數輸入數據,輸入時,所鍵入的數據之間以空格為分隔,以回車為輸入結束。若多輸入了數據(即數據個數超過變數個數),Read語句讀完數據之後,能讓後續的讀語句接著讀取多下來的數據;而Readln
語句對本行多輸入的數據不能讓後續語句接著讀取多下來的數據。為了防止多輸入的數據影響下一個輸入語句讀取數據,建議盡量使用Readln語句輸入數據。第三種格式不需輸入數據,只需按入一個回車鍵。
[例1.5]自然數的立方可以表示為兩個整數的平方之差,比如43=102-62,請輸出自然數1996的這種表示形式。(這里的43用自乘三次的形式4*4*4表示;102也用自乘二次的形式10*10表示)
解:此題沒有現成的計算公式能直接利用,但可以自行推出處理方法或構建適當的運算公式,按著構想的處理方案編排出各步驟。
設這個自然數為N,兩個平方數分別為X,Y,
將問題表示為求
N3=X2—Y2
①
先找出X的值,仔細觀察題中的示例,用數學方法歸納可得出X=N*(N+1)/2;(構成本題可用的計算公式)
②
再仔細觀察,發現Y值比X小一個N值,即
Y=X—N;
③
輸出等式
N3=X2—Y2
或N*N*N=X*X—Y*Y
Pascal程序:
Program
Ex15;
Const
N=1996;
{常量說明
}
Var
X,Y:
Longint;
{變數說明,此題計算中的數值較大,用長整型
}
Begin
X:=N*(N+1)
div
2;
{
div
是整除運算
}
Y:=X-N;
Writeln(N,'*',N,'*',
N,'=',
X,'*',
X,'—',Y,'*',Y);
{
輸出結果
}
Readln
End.
本程序中N是常量,X,Y是變數,為長整數類型(Longint);
程序中的div
是整除運算,其結果只取商的整數部分;
[例1.6]
求一元二次方程x2+3x+2=0的兩個實數根。
解:方程的系數是常量,分別用a,b,c表示,可運用數學上現成的求根公式求方程的根,採取如下方法:
①
先求出d=b2-4ac;(求根公式中需用開方運算的那部分)
②
再用求根公式算出x1,x2的值。(x1,x2
=
?
)
③
輸出x1,x2.
Pascal程序:
program
Ex16;
Const
a=1;
{常量說明
}
b=3;
c=2;
{a,b,c表示方程系數}
Var
d
:
integer;
{d為整型變數}
X1,X2:
Real;
{X1,X2為實型變數}
Begin
d:=b*b-4*a*c;
x1:=(-b+sqrt(d))/(2*a);
{求方程的根}
x2:=(-b-sqrt(d))/(2*a);
Writeln('X1=',X1,'
':6,'X2=',X2);{輸出結果}
Readln
{等待輸入一個回車鍵}
End.
本程序中的a,b,c均為常量;變數d是整數類型,而變數x1,x2則是實數類型,因為運算式中的Sqrt(d)開平方運算和(/)除法運算使結果為實數。Sqrt(
)
是開平方函數,是Pascal系統的一個標准函數。
習題1.1
模仿例題編程
1.
加法計算器:編程由鍵盤輸入兩個整數a和b,計算出它們的和並輸出到屏幕上。
2.
某梯形的上底、下底和高分別為8,12,9,求該梯形的面積。
(
梯形面積公式為
S=
3.
求右圖所示邊長為5.6
的正立方體表面積。
4.
已知圖園柱體的高為12,底面園的半徑為7,求園柱體表面積。
5.
計算某次考試語文、數學、英語和計算機等四科的總成績與平均成績。
(請用輸入語句從鍵盤輸入各科成績分)
㈤ 一個完整的程序是由什麼構成的
你看復的書肯定是本基礎書,只教制語法什麼的,用C語言做界面,需要導入圖形圖像函數庫,具體怎麼導入其他函數庫,怎麼引用,你那書里應該講了。
對於桌面程序(QQ,迅雷什麼的),當前常用的高級語言都提供自帶的界面函數庫,比如Visual Studio系列,Java等等,寫界面都是非常方便的,幾條語句寫下來一個界面就出來了,這樣的小例子網上一搜一大堆。
對於游戲,3D游戲,還需要導入游戲開發引擎(實際上也是函數庫),用來實現物理效果啊空間變換啊等等數學模型到圖像模型之間的轉換,否則工作量太大。
總而言之,編程絕大多數情況下就是用自己的事物邏輯加上調用標准和非標準的函數庫。
㈥ C語言的程序是由什麼組成
C語言源程序是由:數據類型、常量與變數、數組、指針、字元串、文件輸入/輸出構成。
具體介紹:
1、數據類型
C的數據類型包括:整型、字元型、實型或浮點型(單精度和雙精度)、枚舉類型、數組類型、結構體類型、共用體類型、指針類型和空類型。
2、常量與變數
常量其值不可改變,符號常量名通常用大寫。變數是以某標識符為名字,其值可以改變的量。標識符是以字母或下劃線開頭的一串由字母、數字或下劃線構成的序列,請注意第一個字元必須為字母或下劃線,否則為不合法的變數名。變數在編譯時為其分配相應存儲單元。
3、數組
如果一個變數名後面跟著一個有數字的中括弧,這個聲明就是數組聲明。字元串也是一種數組。它們以ASCII的NULL作為數組的結束。要特別注意的是,方括內的索引值是從0算起的。
4、指針
指針不僅可以是變數的地址,還可以是數組、數組元素、函數的地址。通過指針作為形式參數可以在函數的調用過程得到一個以上的返回值,不同於return(z)這樣的僅能得到一個返回值。
指針是一把雙刃劍,許多操作可以通過指針自然的表達,但是不正確的或者過分的使用指針又會給程序帶來大量潛在的錯誤。
5、字元串
C語言的字元串其實就是以'