c語言譚浩強第五版復習梳理1
前言
大二了,發現自己程式學的是一塌糊涂,學校也是特別垃圾,為了以后考研跟作業下決心開始復習,從這里開始記錄自己
第一章
程式設計和c語言
1.1節 什么是計算機程式
**所謂程式,就是一組計算機能識別和執行的指令,**一個特定的指令序列用來完成一定的功能,
總之,計算機的一切操作都是由程式控制的,離開程式,計算機將一事無成,//讓我想起了自己經常看的抽象動物園,otto!離開拉克絲后你將一事無成!
1.2節 什么是計算機語言
機器語言,符號語言,高級語言
其實這些會在計算機組成原理中詳細講解,但這里還是復習一下,
機器語言:也就是二進制0和1,一般計算機指令長度為16,16個二進制數(0或1)組成一條指令,
計算機能直接識別和接受的二進制代碼成為機器指令,機器指令的集合就是該計算機的機器語言,
符號語言:英文字母和數字來表示指令,
機器語言和匯編語言是完全依賴于具體機器特性的,面向機器,稱為計算機低級語言,不同型號的計算機機器語言和匯編語言不通用,
計算機需要用匯編程式把符號語言轉換為機器指令才能識別,轉換程序成為“代真”和“匯編”,因此符號語言又稱為符號匯編語言或匯編語言,又稱為計算機低級語言,
高級語言:使用接近人們使用的自然語言和數學語言,(這種語言功能很強,不依賴于具體機器,寫出的程式對任何計算機都適用,離機器“遠”,因此稱為計算機高級語言,
計算機需要把高級程式寫的程式(源程式)通過編譯程式轉換為機器指令的程式(稱為目標程式),
高級語言的一個陳述句往往對應多潭訓器指令,
高級語言經歷了不同的發展階段
(1)非結構化語言
編程風格比較隨意,只要符合語法規則即可,沒有嚴格的規范要求,程式中的流程可以隨意跳轉,程式有時會難以閱讀和維護,早期的BASIC,FORTRAN和ALGOL都是非結構化語言
(2)結構化語言
略
(3)面向物件的語言
略
1.3節 c語言的發展及其特點
1972年,美國貝爾實驗室的D.MRitchic在B語言基礎上設計出了C語言,最初的C語言知識為描述和實作UNIX作業系統提供一種作業語言而設計的,
c語言特點:
**(1)**語言簡潔、緊湊,使用方便、靈活,C語言共有37個關鍵字,9種控制陳述句,程式書寫方式自由,壓縮了一切不必要的成分,C語言程式比其他很多高級語言簡練,源程式短,因此輸入程式時作業量少,
c語言是很小的內核語言,只包括極少的與硬體有關的成分,c語言不直接提供輸入和輸出陳述句、有關檔案操作的陳述句和動態記憶體管理的陳述句等(這些操作時是由編譯系統所提供的庫函式來實作),
(2)
運算子豐富、廣泛,34種運算子,C語言把括號、賦值、和強制型別轉換等都座位運算子處理,從而使運算型別極其豐富,運算式型別多樣化,
(3)
資料型別豐富,有整型、浮點型、字符型、陣列型別、指標型別、結構體型別和共用體型別
(4)
具有結構化的控制陳述句(如if else、while、do while、switch和for),用函式作為程式的模塊單位,便于實作程式的模塊化,c語言是完全模塊化和結構化的語言,
(5)
語法限制不太嚴格,程式設計自由度大,
(6)
c語言允許直接訪問物理地址,能進行位(bit)操作,能實作匯編語言的大部分功能,可以直接對硬體進行操作,
(7)
用c語言撰寫的程式可移植性好,
(8)
生成目標代碼質量高,程式執行效率高,
1.4.1最簡單的C語言程式
【基礎程式1.1】代碼如下(示例):
#include<stdio.h>
int main()
{
printf("This is a C program.\n");
return 0;
}
This is a C program.
--------------------------------
Process exited after 0.02494 seconds with return value 0
請按任意鍵繼續. . .
程式結果
程式分析:main是函式名字,表示“主函式”,main前面的int是型別,整型,執行主函式后得到一個值,值為整型,第五行的“return 0”的作用是:main函式執行結束前把整數0作為函式值,回傳呼叫函式處,每個c語言程式必須有一個main函式,
c99建議把main函式指定為int型,它要求函式帶回一個整數值,有return 0程式員可以利用操作指令檢查main函式的回傳值,判斷main函式是否已正常執行,
printf是c編譯系統提供的函式庫中的輸出函式,第一行的#include<stdio.h>是提供該函式的資訊,stdio是standard intput&output的縮寫,檔案后綴.h的意思是頭檔案(header file),因為這些檔案都是放在程式各檔案模塊的開頭,
【基礎程式1.2】求兩個整數之和
#include<stdio.h>
int main()
{
int a,b,sum;
a=123;
b=456;
sum=a+b;
printf("sum is %d\n",sum);
return 0;
}
sum is 579
--------------------------------
Process exited after 0.02323 seconds with return value 0
請按任意鍵繼續. . .
**程式分析:**略
【基礎程式1.3 】求兩個整數中的較大者
#include<stdio.h>
int main()
{
int max(int x,int y);
int a,b,c;
scanf("%d,%d",&a,&b);
c=max(a,b);
printf("max=%d\n",c);
return 0;
}
int max(int x,int y)
{
int z;
if(x>y)z=x;
else z=y;
return(z);
}
運行結果:
4396,2200
max=4396
--------------------------------
Process exited after 7.852 seconds with return value 0
請按任意鍵繼續. . .
程式分析:本程式包含兩個函式:1.主函式main;2被呼叫的函式max
本例函式有兩個return陳述句,max函式中的return回傳值是max函式中求出的兩數中的最大值z,
1.4.2 C語言程式的結構
(1)一個程式由一個或多個源程式檔案組成
1.預處理指令
2.全域宣告
3.函式定義
(2)函式是C程式的主要組成部分
(3)一個函式包含兩個部分
1.函式首部
2.函式體
宣告部分 執行部分
(4)程式總是從main函式開始執行!
(5)程式要求計算機完成測操作是由函式中的C陳述句完成的
(6)在每個資料宣告和陳述句的最后必須有一個分號
(7)C語言本身不提供輸入和輸出陳述句
(8)程式應當包含注釋
1.5 運行C程式的步驟與方法
略
1.6 程式設計的任務
(1)問題分析
(2)設計演算法
(3)撰寫程式
(4)對源程式進行編輯、編譯和連接
(5)運行程式,分析結果
(6)撰寫程式檔案
課后習題
1.略
2.略
3.略
4.
程式代碼:
#include<stdio.h>
int main()
{
printf("Hello world!");
}
運行結果
Hello world!
--------------------------------
Process exited after 0.02265 seconds with return value 0
請按任意鍵繼續. . .
程式代碼:
#include<stdio.h>
int main()
{
printf("****\n ****\n *****");
}
運行結果
****
****
*****
--------------------------------
Process exited after 0.02117 seconds with return value 0
請按任意鍵繼續. . .
程式代碼:
#include<stdio.h>
int main()
{
int max(int x,int y,int z);
int a,b,c,d;
scanf("%d,%d,%d",&a,&b,&c);
d=max(a,b,c);
printf("max=%d\n",d);
return 0;
}
int max(int x,int y,int z)
{
int g;
if(x>y&&x>z)
{
g=x;
}
if(y>x&&y>z)
{
g=y;
}
if(z>x&&z>y)
{
g=z;
}
}
運行結果:
4396,2200,56
max=56
--------------------------------
Process exited after 8.454 seconds with return value 0
請按任意鍵繼續. . .
7.略
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/276146.html
標籤:其他
上一篇:2021-04-13
下一篇:是的,我離職了
