版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第1章C語言概述C語言簡介程序和程序設(shè)計(jì)語言C語言的發(fā)展史C語言的特點(diǎn)C語言的語法成分C語言程序的基本構(gòu)成C語言程序的編譯過程
從本章開始我們正式進(jìn)入C語言程序設(shè)計(jì)的學(xué)習(xí),也許大家會(huì)問:為什么我們要學(xué)習(xí)C語言呢?理由1:因?yàn)镃語言流行.
理由2:因?yàn)镃語言在各種程序考試中必考。理由3:因?yàn)樗潜匦拚n,是老師逼的,不學(xué)不能拿學(xué)分。
……
理由n:……別急!讓我想想……
這些理由都只是從表面上來回答,其實(shí)要真正來回答這一問題,我們有必要了解程序、計(jì)算機(jī)語言、知道C語言是屬于哪種類型的語言;C語言是如何產(chǎn)生和發(fā)展的,C語言的特點(diǎn)有哪些,它應(yīng)用在哪些方面等,這樣我們就可以做到學(xué)習(xí)目的明確,才能有意識(shí)地去學(xué)好C語言程序設(shè)計(jì)。
問……什么是計(jì)算機(jī)程序?什么是計(jì)算機(jī)語言?什么是C語言?(C的發(fā)展)為什么要學(xué)程序設(shè)計(jì)?為什么選C語言?……了解程序設(shè)計(jì)語言的發(fā)展及其特點(diǎn);掌握機(jī)器語言、匯編語言和高級(jí)語言的差異;了解C語言的發(fā)展歷史及特點(diǎn)和應(yīng)用;掌握C語言程序的基本結(jié)構(gòu);掌握編寫C程序的基本步驟和調(diào)試過程。學(xué)習(xí)目標(biāo)
程序設(shè)計(jì)語言的發(fā)展經(jīng)歷了三個(gè)階段:
機(jī)器語言是用二進(jìn)制表示的,計(jì)算機(jī)能直接識(shí)別和執(zhí)行的語言
如:10000000(加)10010000(減),機(jī)器語言執(zhí)行速度最快。由于用二進(jìn)制表示,因而程序可讀性差,非專業(yè)人員難于掌握二進(jìn)制指令通過符號(hào)化
如ADDA,B匯編程序
機(jī)器語言匯編語言高級(jí)語言面向過程面向?qū)ο?/p>
高級(jí)語言表達(dá)方式接近被描述的問題,接近于自然語言和數(shù)學(xué)表達(dá)式,易于人們接受和掌握1.C語言發(fā)展史(丹尼斯·里奇與肯·湯普遜)ALGOL60語言
CPL語言
CombinedProgrammingLanguage1963年,劍橋大學(xué)BCPL語言
1967年,劍橋大學(xué)的MatinRichards對(duì)CPL語言進(jìn)行了簡化B語言
C語言
1970年,美國貝爾實(shí)驗(yàn)室的KenThompson將BCPL進(jìn)行了修改將CPL語言煮干,提煉出它的精華1973年,B語言也給人“煮”了一下,美國貝爾實(shí)驗(yàn)室的D.M.RITCHIE在B語言的基礎(chǔ)上最終設(shè)計(jì)出了一種新的語言BCPL的第二個(gè)字母作為這種語言的名字,這就是C語言
C++
在C的基礎(chǔ)上,1983年又由貝爾實(shí)驗(yàn)室的BjarneStrou-strup推出了C++
C語言發(fā)展史產(chǎn)生背景產(chǎn)生過程時(shí)間:1972~1973
地點(diǎn):美國貝爾實(shí)驗(yàn)室目的:UNIX操作系統(tǒng)設(shè)計(jì)人:Ken.Thompson和Dennis.M.RitchieC標(biāo)準(zhǔn)
標(biāo)準(zhǔn)C:K&R合著《TheCProgrammingLanguage》ANSIC:1983年
89ANSIC:1989年
1990年國際標(biāo)準(zhǔn)的ANSIC99ANSIC:1999年2.C語言的特點(diǎn)(1)高效性:C程序往往緊湊且運(yùn)行速度快。(2)移植性:C程序不經(jīng)修改或很少修改就可以到其他系統(tǒng)上運(yùn)行。(3)運(yùn)算符豐富:有算術(shù)、關(guān)系、邏輯、位、自增/自減、賦值運(yùn)算符等等。(4)數(shù)據(jù)結(jié)構(gòu)豐富:數(shù)據(jù)類型有整型、實(shí)型、字符、數(shù)組、指針、結(jié)構(gòu)體等,能實(shí)現(xiàn)如鏈表、樹、棧等結(jié)構(gòu)運(yùn)算。(5)標(biāo)準(zhǔn)庫函數(shù)豐富:它的標(biāo)準(zhǔn)庫包含了數(shù)百個(gè)函數(shù)。
(6)對(duì)硬件操作:能直接訪問內(nèi)存的物理地址,并進(jìn)行位操作。(7)自由度大:語法限制不嚴(yán)格。如:不檢查數(shù)組下標(biāo)是否越界,整型與字符型可通用,條件可用0和非0表示假與真,指針操作靈活等。1.C語言的字符集2.標(biāo)識(shí)符3.關(guān)鍵字4.運(yùn)算符5.分隔符6.注釋符基本語法成分在程序中使用的變量名、函數(shù)名、標(biāo)號(hào)等統(tǒng)稱為標(biāo)識(shí)符,用來標(biāo)識(shí)各種程序成分。除庫函數(shù)的函數(shù)名由系統(tǒng)定義外,其余都由用戶自定義。C語言規(guī)定,標(biāo)識(shí)符只能是由字母(A~Z,a~z)、數(shù)字(0~9)、下劃線(_)組成的字符串,并且其第一個(gè)字符必須是字母或下劃線。在使用標(biāo)識(shí)符時(shí)還必須注意以下幾點(diǎn):(1)在標(biāo)識(shí)符中,大小寫是有區(qū)別的。例如BOOK和book是兩個(gè)不同的標(biāo)識(shí)符。習(xí)慣上符號(hào)常量用大寫字母表示,而變量名等用小寫字母表示。(2)標(biāo)識(shí)符雖然可由程序員隨意定義,但不能與關(guān)鍵字同名,也不能與系統(tǒng)預(yù)先定義的標(biāo)準(zhǔn)標(biāo)識(shí)符(如標(biāo)準(zhǔn)函數(shù))同名關(guān)鍵字是由C語言規(guī)定的具有特定意義的字符串,通常也稱為保留字。如類型說明符int,double等;語句特征if、switch、while等;預(yù)處理命令include、define等。關(guān)鍵字是構(gòu)成C語言的語法基礎(chǔ),用戶定義的標(biāo)識(shí)符不應(yīng)與關(guān)鍵字相同,也不能對(duì)關(guān)鍵字進(jìn)行重新定義。C語言中含有相當(dāng)豐富的運(yùn)算符。運(yùn)算符與變量、函數(shù)一起組成表達(dá)式,表示各種運(yùn)算功能。運(yùn)算符由一個(gè)或多個(gè)字符組成。根據(jù)參加運(yùn)算對(duì)象的個(gè)數(shù),運(yùn)算符可分為單目運(yùn)算符、雙目運(yùn)算符和三目運(yùn)算符。C語言中的分隔符有逗號(hào)和空格兩種,逗號(hào)主要用在類型說明和函數(shù)參數(shù)表中,分隔各個(gè)變量??崭穸嘤糜谡Z句各單詞之間,作間隔符。在關(guān)鍵字、標(biāo)識(shí)符之間必須要有一個(gè)以上的空格符作間隔,否則將會(huì)出現(xiàn)語法錯(cuò)誤。例如把“inta;”,寫成“inta;”,C編譯器會(huì)把“inta”當(dāng)成一個(gè)標(biāo)識(shí)符處理,其結(jié)果必然出錯(cuò)。
關(guān)鍵字注釋符是以“/*”開頭并以“*/”結(jié)尾的串。在“/*”和“*/”之間的即為注釋。程序編譯時(shí),不對(duì)注釋作任何處理。注釋可出現(xiàn)在程序中的任何位置。注釋用來向用戶提示或解釋程序的意義。在調(diào)試程序時(shí),對(duì)暫不使用的語句也可用注釋符括起來,使編譯跳過不作處理,待調(diào)試結(jié)束后再去掉注釋符。也可使用“//”
作單行注釋。表1.1C語言中的關(guān)鍵字autobreakcasecharconstcontinuedefaultdodoubleelseenumexternfloatforgotoifintlongregisterreturnshortsignedsizeofstaticstructswitchtypedefunsignedunionvoidvolatilewhile關(guān)鍵字為小寫字母;不允許使用關(guān)鍵字為變量、數(shù)組和函數(shù)等操作對(duì)象命名。
標(biāo)識(shí)符練習(xí)1、下列選項(xiàng)中,可以作為C語言標(biāo)識(shí)符的是()
A)3stuB)#stuC)stu3D)stu.32、以下不能定義為用戶標(biāo)識(shí)符的是() A)MainB)_0C)_intD)int3、以下敘述中錯(cuò)誤的是() A)用戶所定義的標(biāo)識(shí)符允許使用關(guān)鍵字B)用戶所定義的標(biāo)識(shí)符應(yīng)盡量做到“見名知意” C)用戶所定義的標(biāo)識(shí)符必須以字母或下劃線開頭 D)用戶定義的標(biāo)識(shí)符中,大、小寫字母代表不同標(biāo)識(shí)4、下列選項(xiàng)中,不可以作為C語言標(biāo)識(shí)符的是()
A)numB)turbo-_cC)printfD)student35、以下不合法的用戶標(biāo)識(shí)符是() A)j2_KEYB)DoubleC)4dD)_8_6、合法的C語言標(biāo)識(shí)符是()。
A)_a1B)a+bC)3abcD)AB,CD7、以下選項(xiàng)中不合法的用戶標(biāo)識(shí)符是:()
A)_xyzB)IntC)a_123D)1238、以下選項(xiàng)中合法的用戶標(biāo)識(shí)符是:() A)_123B)intC)si%D)1_ads9、以下選項(xiàng)中合法的用戶標(biāo)識(shí)符是:()
A)sinedB)printfC)aa$D)a-1.C語言程序的基本結(jié)構(gòu)
了解了C語言的基本特性及其應(yīng)用以后,接下來就來看看C語言程序是什么樣子。一個(gè)C語言程序可以是非常簡單的,也可以是特別復(fù)雜的,這取決于程序所要實(shí)現(xiàn)的功能。我們先來認(rèn)識(shí)一個(gè)最為簡單的C程序?!纠?】最簡單的C程序。#include<stdio.h>intmain(){printf(“Hello,我是C語言,謝謝你關(guān)注我哦!\n");
return0;}函數(shù)體語句結(jié)束標(biāo)志
運(yùn)行結(jié)果:Hello,我是C語言,謝謝你關(guān)注我哦!main是主函數(shù)的函數(shù)名,表示這是一個(gè)主函數(shù)。每一個(gè)C源程序都必須有,并且只能有一個(gè)主函數(shù)(main函數(shù)),這是整個(gè)C程序運(yùn)行的入口點(diǎn)
printf是C語言中的輸出函數(shù),是一個(gè)由系統(tǒng)定義的標(biāo)準(zhǔn)函數(shù),可在程序中直接調(diào)用,它的功能是把要輸出的內(nèi)容送到顯示器去顯示。雙引號(hào)內(nèi)字符串原樣輸出,“\n”是回車換行符。
C語言規(guī)定:語句以分號(hào)結(jié)束【例2】計(jì)算輸入的兩個(gè)整數(shù)的和。/*求兩數(shù)的和。*/#include<stdio.h>intmain(){inta,b,sum;/*這是定義變量*/a=12;b=34;sum=a+b;printf("Thesumis%d\n",sum);
return0;}數(shù)據(jù)類型名定義的變量名,以“,”分隔兩個(gè)賦值語句,使a和b的值分別為12和34調(diào)用內(nèi)部函數(shù),輸出計(jì)算的和數(shù)求和的值給sum運(yùn)行結(jié)果:thesumis46“%d”是輸入輸出的格式字符串,用來指定輸入輸出時(shí)的數(shù)據(jù)類型和格式
【例3】計(jì)算輸入的兩個(gè)整數(shù)的最大值。/*ThisisthethirdCprogram*/#include<stdio.h>intmax(inta,intb);intmain(){intx,y,z;printf("Inputtwonumbers:\n");scanf("%d%d",&x,&y);z=max(x,y);printf("maxnum=%d\n",z);
return0;}intmax(inta,intb){
if(a>b)
returna;elsereturnb;
}自定義函數(shù)聲明自定義函數(shù)調(diào)用自定義函數(shù)max帶兩個(gè)形參返回a、b中最大值返回值為整型數(shù)假設(shè)輸入:1020↙
運(yùn)行結(jié)果:max=20調(diào)用內(nèi)部函數(shù),接受鍵盤輸入數(shù)據(jù)通過以上例子可以看出:1.一個(gè)C語言源程序可以由一個(gè)或多個(gè)源文件組成,每個(gè)源文件以“.c”作為擴(kuò)展名。
C程序有且僅有一個(gè)main函數(shù),用戶也可以自己根據(jù)需要設(shè)計(jì)自己的函數(shù),像上面的max()函數(shù)。2.一個(gè)可執(zhí)行的C語言程序總是從main函數(shù)開始執(zhí)行,并在main函數(shù)中結(jié)束,而不論其在整個(gè)程序中的位置如何。3.每條語句和數(shù)據(jù)定義的最后必須有一個(gè)分號(hào)(;)。說明:在以下三種情況下不允許有分號(hào):
a.函數(shù)頭后面不使用分號(hào);
b.在右花括號(hào)“}”后面不使用分號(hào);
c.預(yù)處理語句后面不使用分號(hào)。while(i<=100){i++;s=s+i;};max();{……}#include<math.h>;4.C語言中沒有專門的輸入、輸出語句。輸入輸出是通過scanf和printf兩個(gè)庫函數(shù)實(shí)現(xiàn)的。5.C程序書寫格式自由,一行內(nèi)可以寫幾個(gè)語句,一個(gè)語句也可以分寫在多行上。6.可用/*……*/對(duì)C程序中的任何部分作注釋,注釋可以寫在程序的任何位置上,“/*”與“*/”也可不在同一行上。也可用“//”注釋1行。7.在C語言中,大小寫字母是有區(qū)分的(即大小寫敏感)。由前得出一般C語言程序的構(gòu)成如下:#include<stdio.h>intmain()/*主函數(shù)*/{
變量定義部分;
[變量賦初值部分;]
語句執(zhí)行部分;
return0;}1.3C程序的執(zhí)行過程1.編輯:選擇適當(dāng)?shù)木庉嫵绦?將C語言源程序通過鍵盤輸入到計(jì)算機(jī)中,并以文件的形式存入到磁盤中(.C)2.編譯:即將源程序翻譯成機(jī)器語言程序的過程。編譯出來的程序稱為目標(biāo)程序(.OBJ)3.鏈接:編譯后生成的目標(biāo)文件經(jīng)過鏈接后生成最終的可執(zhí)行程序(.EXE)4.運(yùn)行:運(yùn)行是將可執(zhí)行的目標(biāo)程序投入運(yùn)行,以獲取程序的運(yùn)行結(jié)果;在操作系統(tǒng)中可以直接執(zhí)行擴(kuò)展名為.EXE的文件編輯程序代碼的錄入,生成源程序*.c編譯語法分析查錯(cuò),翻譯生成目標(biāo)程序*.obj鏈接與其它目標(biāo)程序或庫鏈接裝配,生成可執(zhí)行程序*.exe運(yùn)行開始編輯編譯有錯(cuò)?鏈接執(zhí)行結(jié)果正確?結(jié)束源程序file.c目標(biāo)程序file.obj庫函數(shù)和其它目標(biāo)程序可執(zhí)行程序file.exe不正確正確有無
調(diào)試C程序的流程C語言的編輯、編譯和運(yùn)行1.
找出下列程序中的錯(cuò)誤。#include<stdio.h>intmain(){ printf("你有沒有覺得C語言萌萌噠?\n") return0}2.下面程序的功能是:打印輸出一個(gè)由“*”構(gòu)成的矩形圖案。請(qǐng)分析錯(cuò)誤。intmain() { printf("******\n"); printf("******\n"); printf("******\n"); printf("******\n"); return0; } 3..
找出下列程序中的錯(cuò)誤。#include<stdio.h>intmain(){ intprice1,price2=2500; price1=2500; price2=price1/2; PRINTF("price2=%d\n"); return0;}C語言第1次上機(jī)作業(yè)輸出以下字符:Hello,我是C,請(qǐng)為我點(diǎn)贊!輸出如下圖形:*********從鍵盤上輸入兩個(gè)整數(shù)a和b,輸出a與b的和。從鍵盤上輸入兩個(gè)兩位整數(shù),將它們合并為一個(gè)整數(shù)。例如,輸入12和34,輸出1234。編程輸入/輸出你的個(gè)人信息。看看下面程序的運(yùn)行結(jié)果是什么。。。#include<stdio.h>intmain(){intx,y;x=3;y=6;printf(“%d,%d,%d”,x+y,x-y,x*y);printf(“\n”);return0;}1.4程序與算法程序包括:
(1)對(duì)數(shù)據(jù)的描述數(shù)據(jù)結(jié)構(gòu)
(2)對(duì)數(shù)據(jù)處理的描述算法算法(algorithm)是對(duì)特定問題求解步驟的一種描述??蓪⒊绦蚩偨Y(jié)為:
程序=算法+數(shù)據(jù)結(jié)構(gòu)+程序設(shè)計(jì)方法+語言工具和環(huán)境人們使用計(jì)算機(jī),就是要利用計(jì)算機(jī)處理各種不同的問題,而要做到這一點(diǎn),人們就必須事先對(duì)各類問題進(jìn)行分析,確定解決問題的具體方法和步驟,再編制好一組讓計(jì)算機(jī)執(zhí)行的指令即程序,讓計(jì)算機(jī)按人們指定的步驟有效地工作。這些具體的方法和步驟,其實(shí)就是解決一個(gè)問題的算法。根據(jù)算法,依據(jù)某種規(guī)則編寫計(jì)算機(jī)執(zhí)行的命令序列,就是編制程序,而書寫時(shí)所應(yīng)遵守的規(guī)則,即為某種語言的語法.1算法(Algorithm)的概念
【例1】輸入3個(gè)數(shù),求其最大值。問題分析:設(shè)num1,num2,num3存放3個(gè)數(shù),max存放其最大值。為求最大值,就必須對(duì)3個(gè)數(shù)進(jìn)行比較,可按如下步驟去做:⑴輸入3個(gè)數(shù)num1,num2,num3。⑵先把第1個(gè)數(shù)num1的值賦給max。⑶將第2個(gè)數(shù)num2與max比較,如果num2>max,則把第2個(gè)數(shù)num2的值賦給max(否則不做任何工作)。⑷將第3個(gè)數(shù)num3與max比較,如果num3>max,則把第3個(gè)數(shù)num3的值賦給max(否則不做任何工作)。⑸輸出max的值,即最大值。2算法的基本特征
一個(gè)算法應(yīng)具有以下5個(gè)基本特征:有窮性確定性有效性有零個(gè)或多個(gè)輸入有一個(gè)或多個(gè)輸出
算法必須總是在執(zhí)行有限個(gè)操作步驟和可以接受的時(shí)間內(nèi)完成其執(zhí)行過程。也就是說,對(duì)于一個(gè)算法,要求其在時(shí)間和空間上均是有窮的。例如:一個(gè)采集氣象數(shù)據(jù)并加以計(jì)算進(jìn)行天氣預(yù)報(bào)的應(yīng)用程序,如果不能及時(shí)得到結(jié)果,超出了可以接受的時(shí)間,就起不到天氣預(yù)報(bào)的作用。
算法中的每一步都必須有明確的含義,不允許存在二義性。例如:“將成績優(yōu)秀的同學(xué)名單打印輸出”,在這一描述中“成績優(yōu)秀”就很不明確,是每門功課均為95分以上?還是指總成績在多少分以上?
算法中描述的每一步操作都應(yīng)能有效地執(zhí)行,并最終得到確定的結(jié)果。例如:當(dāng)Y=0時(shí),X/Y是不能有效執(zhí)行的。
3算法的表示
用自然語言表示用流程圖表示用偽代碼表示計(jì)算機(jī)語言表示算法
自然語言可以是中文、英文、數(shù)學(xué)表達(dá)式等。用自然語言表示通俗易懂,缺點(diǎn)是可能文字過長,不太嚴(yán)格,表達(dá)分支和循環(huán)的結(jié)構(gòu)不很方便?!纠?】求1+2+…+100的值s。
偽代碼是用介于自然語言和計(jì)算機(jī)語言之間的文字和符號(hào)來描述算法的,它不用圖形符號(hào),因此,書寫方便,格式緊湊,也容易懂,同時(shí)也便于向計(jì)算機(jī)語言算法的轉(zhuǎn)換?!纠?】用偽代碼表示求10!的算法。begin(開始)
置t的初值為1(1t)置i的初值為2(2i)當(dāng)(while)i<=10,執(zhí)行(do)
begin
使t=ti
使i=i+1end
打印t的值(printt)end(結(jié)束)。
計(jì)算機(jī)是無法識(shí)別流程圖和偽代碼形式,只有用計(jì)算機(jī)語言編寫的程序才能被計(jì)算機(jī)執(zhí)行。因此在用流程圖和偽代碼形式描述出算法后,還要將它轉(zhuǎn)換成計(jì)算機(jī)語言程序?!纠?】用C語言程
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《礦物質(zhì)水介紹》課件
- 八下期末考拔高測試卷(2)(原卷版)
- 第23課 內(nèi)戰(zhàn)爆發(fā)(原卷版)
- 2014年高考語文試卷(湖北)(空白卷)
- 農(nóng)耕之路模板
- 建筑行業(yè)工人培訓(xùn)總結(jié)
- 人力資源的戰(zhàn)略驅(qū)動(dòng)
- 會(huì)計(jì)個(gè)人述職報(bào)告匯編15篇
- 網(wǎng)絡(luò)公司前臺(tái)接待工作總結(jié)
- 2023年-2024年項(xiàng)目部安全培訓(xùn)考試題附完整答案(奪冠)
- 大慶市2025屆高三年級(jí)第二次教學(xué)質(zhì)量檢測(二模)政治試卷(含答案)
- 2025年內(nèi)江資中縣融媒體中心招考聘用新媒體工作人員3人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 裝修材料合同范例
- 【7地RJ期末】安徽省合肥市廬江縣2023-2024學(xué)年七年級(jí)上學(xué)期期末地理試題(含解析)
- 共用線路三方協(xié)議合同范例
- 戰(zhàn)略規(guī)劃的關(guān)鍵要點(diǎn)
- 期末試卷(試題)-2024-2025學(xué)年滬教版三年級(jí)上冊數(shù)學(xué)
- 水上拋石護(hù)坡施工方案
- 燃?xì)忮仩t房和直燃機(jī)房防爆問題
- 員工入職體檢表
- 連續(xù)油管鉆井技術(shù)課件
評(píng)論
0/150
提交評(píng)論