




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第一章C語言概述
一、C語言及其學(xué)習(xí)特點(diǎn)1.為什麼從C語言開始開發(fā)能力最強(qiáng),應(yīng)用最廣泛操作系統(tǒng)開發(fā)、應(yīng)用程式開發(fā)、單片機(jī)程式開發(fā)、網(wǎng)路程式設(shè)計(jì)……專業(yè)水準(zhǔn)的試金石各種專業(yè)考試首選程式設(shè)計(jì)語言:研究生入學(xué)考試、程式員考試、等級(jí)考試……後續(xù)主幹課程的重要基礎(chǔ)數(shù)據(jù)結(jié)構(gòu)、資料庫程式設(shè)計(jì)、Java程式設(shè)計(jì)、可視化程式設(shè)計(jì)、網(wǎng)路編程……
如何學(xué)習(xí)C語言編程?編程似寫作
先學(xué)“字詞句”和“語法”,目標(biāo)是“寫作”。學(xué)習(xí)數(shù)據(jù)類型、控制結(jié)構(gòu)、語法規(guī)則等——學(xué)語基掌握程式分析、演算法與編程——寫文章僅僅讀書是不夠的
程式是編出來的,程式是調(diào)出來——在編程實(shí)踐中消化知識(shí)。沒有天生的程式員初學(xué)者:有點(diǎn)難。沒有學(xué)不會(huì)的,只有學(xué)不精的——除非自己放棄。出於藍(lán)勝於藍(lán):超過你的老師完全可能。循次漸近很重要閱讀/分析程式→摹仿編程→掌握常見程式模組→簡(jiǎn)單程式→複雜編程僅是起點(diǎn),而非終點(diǎn)
從此編程與你相伴而行——真正的程式員從此起步。聽課要求:切實(shí)掌握各章主要內(nèi)容(預(yù)習(xí)/聽課/消化/歸納)在預(yù)習(xí)基礎(chǔ)上,聽課為主,筆記為輔,課後弄懂課件和教材中的程式(會(huì)分析,會(huì)流利寫出)考核方式:作業(yè)(書面/上機(jī))、期中考、期未考、課程設(shè)計(jì)講義下載:2/課件/C語言課件軟體下載:
2/實(shí)用軟體檔案名turboc20.zip教師聯(lián)繫:陳綿獻(xiàn)mianxian@21QQ:43286144二、C語言編程步驟從商業(yè)化的角度看,C編程步驟如下:
編寫程式(寫在紙上或輸入到電腦上的根源程式)
調(diào)試程式(修正錯(cuò)誤,實(shí)現(xiàn)功能)
出售程式(生成的可執(zhí)行檔)常用開發(fā)工具:
◆面向過程常用—TurboC(PC機(jī)版,簡(jiǎn)稱TC)◆面向?qū)ο蟪S谩狢++/VisualC++(可視化,簡(jiǎn)稱VC)最新:
為Windows和Web應(yīng)用程式提供動(dòng)態(tài)開發(fā)環(huán)境的VisualC++.NET(C#)
C語言程式加工流程C語言是一種通過編譯程序處理的高級(jí)程式設(shè)計(jì)語言。所以其上機(jī)的處理流程可用以下示意圖表示:例一:最簡(jiǎn)單的hello.c程式
用記事本編寫/用TC直接編寫
根源程式(.c)———目標(biāo)程式(.obj)———可執(zhí)行程式(.exe)
(你編寫的)
編譯(中間產(chǎn)品)
連接(你出售的)
compilelink具體上機(jī)步驟如下:?jiǎn)?dòng)機(jī)器,稍候後出現(xiàn):
login
(入網(wǎng)註冊(cè)命令)
Enteryourloginname:jj03101
(輸入用戶名)
password:
*****
(輸入用戶密碼)……(顯示網(wǎng)路有關(guān)資訊)
C>tc
(調(diào)用TurboC軟體)
此時(shí)便出現(xiàn)TurboC初始螢?zāi)唬ǖ?頁圖1.2所示)。
用戶名:計(jì)教031班5號(hào)
jj03105(初始密碼:jj031)
計(jì)應(yīng)032班11號(hào)
jy03211(初始密碼:jy032)
密碼修改:
setpass——輸入原密碼——輸入新密碼——再輸入新密碼在你的機(jī)上如何安裝TC?軟體下載與解壓
0/實(shí)用軟體turboc20.zip95/實(shí)用軟體(校外)目錄(directory)設(shè)置
Includedirectories(頭檔所在目錄)Librarydirectories(庫檔所在目錄)Outputdirectories(輸出檔所在目錄)TurboCdirectories(TC檔所在目錄)還有一個(gè)好東東:C語言學(xué)習(xí)系統(tǒng)/*給定半徑,求圓的面積*/#definePI3.14159/*編譯預(yù)處理——宏替換*/#include<stdio.h>/*編譯預(yù)處理——檔包含*/#include<math.h>/*編譯預(yù)處理——檔包含*/main()/*主函數(shù)*/{floatr,s;/*定義變數(shù)r、s類型為單精確度實(shí)型*/
r=1.0;/*變數(shù)r賦初值*/s=PI*pow(r,2);/*計(jì)算圓面積s*/printf("半徑R=%f時(shí),面積S=%f\n",r,s);/*輸出結(jié)果*/}三、C程式的基本結(jié)構(gòu)例一求圓面積程式
area.c/*給定半徑,求圓的面積*/#definePI3.14159/*編譯預(yù)處理——宏替換*/#include<stdio.h>/*編譯預(yù)處理——檔包含*/#include<math.h>/*編譯預(yù)處理——檔包含*/main()/*主函數(shù)*/{floatr,s;/*定義變數(shù)r、s類型為單精確度實(shí)型*/r=1.0;/*變數(shù)r賦初值*/s=PI*pow(r,2);/*計(jì)算圓面積s*/printf("半徑R=%f時(shí),面積S=%f\n",r,s);/*輸出結(jié)果*/}例一(求圓面積程式area.c)分析注釋部份P5這部分內(nèi)容不會(huì)被編譯,也不被執(zhí)行
編譯預(yù)處理程式編譯、執(zhí)行前系統(tǒng)自動(dòng)進(jìn)行的特殊處理特點(diǎn):以#開頭結(jié)束處無分號(hào)關(guān)於編譯預(yù)處理(宏定義)
P39和P187#definePI3.14159#define—宏定義命令
PI—符號(hào)常量(宏名,最好用大寫,以區(qū)別一般變數(shù))
3.14159—宏體(可以是一個(gè)運(yùn)算式,如3+4)作用:用簡(jiǎn)單符號(hào)代表宏體部份內(nèi)容(編譯時(shí)會(huì)先自動(dòng)替換)意義:直觀/多次使用/便於修改注意:#define可出現(xiàn)在程式的任一位置(作用範(fàn)圍:由此行到程式末尾)宏定義不是C語句,不必在行未加分號(hào),否則會(huì)連分號(hào)一起置換。
關(guān)於編譯預(yù)處理(檔包含)
P194#include<stdio.h>
stdio.h——“頭檔”(標(biāo)準(zhǔn)前導(dǎo)檔)C語言是一種“裝配式”語言,許多常規(guī)的工作如輸入、輸出、數(shù)學(xué)函數(shù)等,往往事先由人做成各種“程式模組”(庫函數(shù)),存放在各種所謂“頭檔”(.h)中。使用時(shí)只需進(jìn)行以下處理——
◆#include“頭檔案名”
或
#include
<頭檔案名>
◆在程式的執(zhí)行部分調(diào)用該庫函數(shù):函數(shù)名(參數(shù))檔包含的作用,就是根據(jù)需要把相應(yīng)的某個(gè)“頭檔”的內(nèi)容在編譯時(shí)先整體嵌入所編的程式中。用戶也可以將自己設(shè)計(jì)的程式模組等做成“頭檔”,供其他程式“包含”。檔包含示意圖#include<stdio.h>#include<math.h>……根源程式area.c(用戶編寫)頭檔stdio.h(系統(tǒng)提供)頭檔math.h(系統(tǒng)提供)area.exe(可執(zhí)行程式)stdio.hmath.h編譯/連接
例一中,area.c檔本身只有12行,stdio.h有187行,
math.h有107行,實(shí)際上stdio.h本身還包括一個(gè)24行的頭檔stdarg.h。“檔包含”是在編譯後連接時(shí)“包含”進(jìn)可執(zhí)行程式的。比較:area.c1kb;
area.obj1kb;
area.exe26kbstdarg.hstdio.hstdarg.hmath.h使用“檔包含”功能的優(yōu)點(diǎn)提高程式設(shè)計(jì)效率和程式可靠性減少程式員重複勞動(dòng)量
TurboC提供了三百多個(gè)標(biāo)準(zhǔn)庫函數(shù),存放在若干個(gè)頭檔中(常用庫函數(shù)見P381-387)本章中:stdio.h標(biāo)準(zhǔn)輸入/輸出函數(shù)
math.h數(shù)學(xué)函數(shù)
stdlib.h
常用函數(shù)一個(gè)優(yōu)秀的程式員不應(yīng)是事無巨細(xì)都要從頭做起的“工匠”,而應(yīng)是一個(gè)“策劃師”+“組裝師”。所以,逐步熟悉並掌握常用函數(shù)等現(xiàn)有功能模組,是學(xué)習(xí)C程式設(shè)計(jì)的一個(gè)重要內(nèi)容。/*給定半徑,求圓的面積*/#definePI3.14159/*編譯預(yù)處理——宏定義*/#include<stdio.h>/*編譯預(yù)處理——檔包含*/#include<math.h>/*編譯預(yù)處理——檔包含*/main()/*主函數(shù)*/{floatr,s;/*定義變數(shù)r、s類型為單精確度實(shí)型*/
r=1.0;/*變數(shù)r賦初值*/s=PI*pow(r,2);/*計(jì)算圓面積s*/printf("半徑R=%f時(shí),面積S=%f\n",r,s);/*輸出結(jié)果*/}例一(求圓面積程式area.c)分析(續(xù),主函數(shù))
主函數(shù)的基本形式main(){
……
(函數(shù)體)}主函數(shù)
關(guān)於主函數(shù)
main()
{……}C語言是一種函數(shù)式語言,它的一個(gè)函數(shù)實(shí)際上就是一個(gè)功能模組——C程式的基本組成是函數(shù)。一個(gè)C程式是由一個(gè)固定名稱為main的主函數(shù)和若干個(gè)其他函數(shù)(可沒有)組成。一個(gè)C程式必須有一個(gè)、也只能有一個(gè)主函數(shù)。主函數(shù)在程式中的位置可以任意,但程式執(zhí)行時(shí)總是從主函數(shù)開始,在主函數(shù)內(nèi)結(jié)束。主函數(shù)可以調(diào)用其他各種函數(shù)(包括用戶自己編寫的),但其他函數(shù)不能調(diào)用主函數(shù)。主函數(shù)的一般形式:main(){
說明部分程式段(定義數(shù)據(jù)類型)執(zhí)行部分程式段(給出操作指令)}
函數(shù)體說明部分(簡(jiǎn)單程式可能沒有此部分,如P4例1.1):
floatr,s;/*定義變數(shù)r、s類型為單精確度實(shí)型*/inta,b;/*定義變數(shù)a、b類型為整型*/執(zhí)行部份:輸入、賦值、計(jì)算、控制、輸出等:
r=1.0;/*變數(shù)r賦初值*/s=PI*pow(r,2);/*計(jì)算圓面積s*/printf("半徑R=%f時(shí),面積S=%f\n",r,s);/*輸出結(jié)果*/其他函數(shù)標(biāo)準(zhǔn)庫函數(shù)——只能調(diào)用。使用方法:
⒈先“包含”,即將該函數(shù)所在頭檔包含在程式中。⒉後調(diào)用。調(diào)用方式:函數(shù)名(參數(shù))例:#include<stdio.h>#include<math.h>main()
{
……
s=PI*pow(r,2);
……
printf(“半徑R=%f時(shí),面積S=%f\n”,r,s);
}說明:pow(x,y)求xy
(math.h中的標(biāo)準(zhǔn)數(shù)學(xué)函數(shù))P382
printf(……);(stdio.h中的標(biāo)準(zhǔn)輸出函數(shù))P386其他函數(shù)自編(定義)函數(shù):
(詳見教材第8章)
⒈先定義(規(guī)定函數(shù)類型、函數(shù)名和函數(shù)功能)⒉後調(diào)用(使用所定義的函數(shù)實(shí)現(xiàn)其功能)
定義函數(shù):
函數(shù)類型函數(shù)名(形式參數(shù))
{函數(shù)體}
調(diào)用函數(shù):函數(shù)名(參數(shù))【示例】求三個(gè)數(shù)的平均值自定義函數(shù)示例floataverage(floatx,floaty,floatz)/*定義函數(shù)average()*/{floataver;aver=(x+y+z)/3;return(aver);}main()/*主函數(shù)*/{floata,b,c,ave;a=3.5;b=4.6;c=7.9;ave=average(a,b,c);/*調(diào)用自定義函數(shù)average()*/printf("average=%f",ave);}
自定義函數(shù)一般形式
函數(shù)類型函數(shù)名(形式參數(shù)){……(函數(shù)體)}/*給定半徑,求圓的面積*/#definePI3.14159/*編譯預(yù)處理——宏替換*/#include<stdio.h>/*編譯預(yù)處理——檔包含*/#include<math.h>/*編譯預(yù)處理——檔包含*/main()/*主函數(shù)*/{floatr,s;/*定義變數(shù)r、s類型為單精確度實(shí)型*/
r=1.0;/*變數(shù)r賦初值*/s=PI*pow(r,2);/*計(jì)算圓面積s*/
printf("半徑R=%f時(shí),面積S=%f\n",r,s);/*輸出結(jié)果*/}求圓面積程式area.c分析(續(xù),語句)
關(guān)於語句特點(diǎn):
均以分號(hào)結(jié)束;一個(gè)程式行可以有多個(gè)語句。語句組成了函數(shù)體。強(qiáng)烈建議:
按縮進(jìn)格式書寫語句。本示例程式中使用了:
①數(shù)據(jù)類型定義語句②賦值語句③輸出語句關(guān)於語句:
①數(shù)據(jù)類型定義語句語句形式
變數(shù)類型關(guān)鍵字變數(shù)名;
floatr,s;
定義r、s為單精確度實(shí)型變數(shù)
intr,s;
定義r、s為整型變數(shù)【注意】在C語言程式中,所有變數(shù)都要先定義後使用,否則就會(huì)出現(xiàn)編譯錯(cuò)誤提示,如:
Error:
Undefinedsymbol‘a(chǎn)’infunctionmain
Let’stry…變數(shù)類型關(guān)鍵字字元型(描述文字性的數(shù)據(jù))char
數(shù)值型:
■整型(在機(jī)內(nèi)是準(zhǔn)確表示的)
int
■實(shí)型(在機(jī)內(nèi)一般是近似表示的)
float(有效數(shù)字6位)
double(有效數(shù)字16位)變數(shù)名P40C語言識(shí)別字(變數(shù)名、符號(hào)常量名、函數(shù)名等)命名:
■組成:字母、數(shù)字、下劃線
■開頭:字母、下劃線
■長(zhǎng)度:≤32字元(TurboC)
【注意】大小寫為不同字元(變數(shù)名一般小寫,符號(hào)常量名一般大寫),還要注意不得與關(guān)鍵字(P375)同名。關(guān)於語句:
②賦值語句作用:使變數(shù)獲得具體的運(yùn)算值。語句形式
變數(shù)名=運(yùn)算式(常量、變數(shù)、函數(shù)、算式及其混合);
r=1.0;
/*變數(shù)r賦初值*/
s=PI*pow(r,2);
/*計(jì)算圓面積s*/
注意:函數(shù)pow()在頭檔math.h中定義(見P382)。所以程式開頭處必須加上一行所謂“檔包含”:
#include<math.h>變數(shù)賦初值亦可在數(shù)據(jù)類型定義時(shí)進(jìn)行:
floatr=1.0,s;
把變數(shù)聲明語句與賦值結(jié)合在一起的語句,術(shù)語上稱為“初始化語句”。關(guān)於語句:
③輸出語句作用:將運(yùn)算結(jié)果送到顯示器螢?zāi)伙@示出來語句形式(詳見P72-80)
printf(……);
printf("半徑R=%f時(shí),面積S=%f\n",r,s);
printf(“Hello,everyone!”);【注意】C語言本身沒有輸入、輸出語句,其功能要借用有關(guān)函數(shù)來實(shí)現(xiàn)。
%f—格式字串(見後)
\n—控制字元(轉(zhuǎn)義字元)\n表示回車換行按定義輸出動(dòng)作或特殊字元(見P48表3.3)
引號(hào)中的其他部分照原樣輸出關(guān)於格式字串表示該處將用printf語句引號(hào)外對(duì)應(yīng)運(yùn)算式的值替換後輸出
例:若r=1,s=3.14
printf(“半徑R=%f時(shí),面積S=%f\n”,r,s);
輸出結(jié)果:
半徑R=1時(shí),面積S=3.140000常用格式字串:字元型:%c
單字符
%s
字串?dāng)?shù)值型:%d
整數(shù)(十進(jìn)位)
%f
實(shí)數(shù)(小數(shù)形式,默認(rèn)為6位小數(shù))
例一
intx=5;floaty=3;printf("a=%d,b=%f,c=%s",x,y,"abcdefg");輸出結(jié)果:
a=5,b=3.000000,c=abcdefg
例二
intx=5;floaty=3;printf("a=%d,b=%f,c=%s",x+2,y*3,"123defg");輸出結(jié)果:
a=7,b=9.000000,c=123defg
小結(jié)
1、C語言程式的基本結(jié)構(gòu)一個(gè)C程式是由一個(gè)固定名稱為main的主函數(shù)和若干個(gè)其他函數(shù)(可缺?。┙M成。其基本結(jié)構(gòu)一般形式如右圖所示。注:TC環(huán)境下C根源程式的擴(kuò)展名一般為.c(如area.c)編譯預(yù)處理部分(可選)main(){說明部分/*變數(shù)定義等*/執(zhí)行部分/*輸入/輸出/計(jì)算*/
}其他函數(shù)(可選,位置任意)
小結(jié)
2、C語言程式的基本特點(diǎn)C語言是一種函數(shù)式語言,其程式基本組成是函數(shù)每個(gè)C程式必須有一個(gè)、也只能有一個(gè)主函數(shù)main不管主函數(shù)在程式中的位置如何,程式執(zhí)行總是從主函數(shù)開始所有變數(shù)必須先定義(規(guī)定數(shù)據(jù)類型)後使用每個(gè)語句必須用分號(hào)“;”結(jié)束(注意是“每個(gè)語句”而不“每行語句”)編譯預(yù)處理命令不是語句(行末不能用分號(hào)結(jié)束)C語言本身沒有輸入/輸出語句,其輸入/輸出功能須通過調(diào)用標(biāo)準(zhǔn)函數(shù)來實(shí)現(xiàn)使用系統(tǒng)提供的標(biāo)準(zhǔn)庫函數(shù)或其他檔提供的現(xiàn)成函數(shù)時(shí),必須使用“檔包含”(除了printf和scanf語句)。四、示例程式的完善
左鍘的示例程式(求圓面積)有四個(gè)不足:每次運(yùn)行後螢?zāi)粴埩舻娘@示內(nèi)容和運(yùn)行結(jié)果混在一起。如果要求多個(gè)半徑r值時(shí)的面積s,每次都必須修改根源程式並重新編譯處理;如果半徑r為負(fù)值,也會(huì)有正常的s值輸出。輸出結(jié)果的小數(shù)位數(shù)為6位,與習(xí)慣不符。為此,可將程式進(jìn)行如下修改:#definePI3.14159#include<stdio.h>#include<math.h>#include<stdlib.h>main(){floatr,s;clrscr();/*清屏*/printf("請(qǐng)輸入半徑R=");scanf("%f",&r);if(r<0){printf("半徑不能為負(fù)值!");exit(0);/*中止程式運(yùn)行*/}s=PI*pow(r,2);printf("R=%.3f,S=%.3f\n",r,s);}#definePI3.14159#include<stdio.h>#include<math.h>main(){floatr,s;
r=1.0;s=PI*pow(r,2);printf("R=%f,S=%f\n",r,s);}示例程式area.c:/*改進(jìn)後的求圓面積程式AREA.C*/#definePI3.14159#include<stdio.h>#include<math.h>#include<stdlib.h>
#include<conio.h>
main(){floatr,s;
clrscr();
/*清屏,在conio.h中定義*/printf("請(qǐng)輸入半徑R=");
/*人機(jī)對(duì)話提示語*/
scanf("%f",&r);
/*將鍵盤輸入值存放在變數(shù)r對(duì)應(yīng)的存儲(chǔ)單元中*/if(r<0)
/*如果輸入的半徑值為負(fù)值*/{printf("輸入出錯(cuò),半徑不能為負(fù)值!");/*顯示出錯(cuò)提示*/exit(0);/*停止程式執(zhí)行,返回操作系統(tǒng)*/}s=PI*pow(r,2);printf("半徑R=%.3f時(shí),面積S=%.3f\n",r,s);/*限制R,S小數(shù)位數(shù)*/}Let’stry……改進(jìn)程式有關(guān)語句分析鍵盤輸入函數(shù)
scanf(“%f”,&r);
功能:將鍵盤輸入的值存放到變數(shù)r所對(duì)應(yīng)的存儲(chǔ)單元中。
&r變數(shù)r的存儲(chǔ)單元地址
注意:scanf()函數(shù)本身不能帶作為提示語的字串,如
scanf(“請(qǐng)輸入半徑r=%f”,&r);
(結(jié)果將使r等於某個(gè)隨機(jī)值)通常與printf()函數(shù)組合使用,實(shí)現(xiàn)“人機(jī)對(duì)話”功能。Example:……printf(“InputR=”);scanf(“%f”,&r);……改進(jìn)程式有關(guān)語句分析(續(xù))選擇語句
if(條件運(yùn)算式)語句或複合語句(用花括弧括起);
功能:如果條件運(yùn)算式的值為真,就執(zhí)行指定語句或複合語句。
擴(kuò)展形式:
if…else
語句(詳見P91)
if(條件運(yùn)算式)語句或複合語句;
else語句或複合語句;
注意:條件運(yùn)算式必須用()括起,且不能跟分號(hào)。Example:
參見P5例1.3
#include<stdio.h>#include<conio.h>main(){inta,b,c;clrscr();/*清屏*/
printf("Inputa、b=");scanf("%d,%d",&a,&b);c=max(a,b);printf("max=%d",c);}intmax(intx,inty){intz;if(x>y)z=x;elsez=y;returnz;}改進(jìn)程式有關(guān)語句分析(續(xù))停止函數(shù)exit(0)
使程式正常停止,返回操作系統(tǒng)狀態(tài)。括弧中為整型數(shù)值,0—正常結(jié)束其他數(shù)值—出錯(cuò)類型(某些系統(tǒng)上在原程式結(jié)束後可將此值傳給另一程式)輸出格式P72r=%-m.nfm總位數(shù)(數(shù)值總長(zhǎng)度小於m時(shí)左端補(bǔ)空格,
-m則為右端補(bǔ)空格),n小數(shù)位數(shù)上例中——r=%10.3f,s=%10.3f輸出r=1.500,s=7.069r=%-10.3f,s=%-10.3f輸出r=1.500,s=7.069r=%.1f,s=%.2f輸出r=1.5,s=7.07(下一位小數(shù)四捨五入)
更多的改進(jìn)給程式加上軟體“封面”和“封底”封面——程式標(biāo)題和編程者等封底——告別辭第一章作業(yè)一、上機(jī)編程:將求圓面積程式AREA.C修改成能求給定半徑r的圓面積、周長(zhǎng)、圓球面積和體積的新程式(包括軟體“封面”和“封底”)。二、上機(jī)編程:執(zhí)行後在螢?zāi)簧巷@示以下軟體封面(其中XX處請(qǐng)用實(shí)際數(shù)據(jù)表示):
*****************************************歡迎使用**中學(xué)數(shù)學(xué)問題程式彙編V1.00*****************************************
程式設(shè)計(jì):XX系XX專業(yè)XXXXXXX年XX月XX日選擇菜單
a、一元二次方程求根
b、求任意半徑圓、圓柱體和球體的(表)面積、體積
c、求n!
請(qǐng)選擇(a、b或c):_熟記下列TC編譯軟體常用英語辭?。篺unction函數(shù)statement語句missing丟失error出錯(cuò)parameter參數(shù)illegal非法的invalid無效的pointer指針character字元array數(shù)組string字串constant常量syntax語法argument參數(shù)type類型definition定義compile編譯call調(diào)用symbol識(shí)別字(變數(shù)名等)declaration說明、聲明並將以下螢?zāi)惶崾咀g為中文:CompilingE:\tc\abc.cErrorE:\tc\abc.c4:statementmissing;infunctionmainErrorE:\tc\abc.c3:Undefinedsymbol's'infunctionaa要求:作業(yè)第一、二題上機(jī)編程並提交給指導(dǎo)老師檢查。作業(yè)第一題根源程式還須寫在作業(yè)本上上交。注意書寫格式。其他要求一、C語言的數(shù)據(jù)類型C語言的數(shù)據(jù)類型
P38基本類型
字元型(char)1位元組
整型—短整型(short
int
)2位元組基本型(int)2位元組(-32768~32767)長(zhǎng)整型(longint
)4位元組(±21億)
實(shí)型—單精確度(float)4位元組6~7位有效數(shù)字
長(zhǎng)單精確度(longfloat)
8位元組15~16位有效數(shù)字雙精度(double)8位元組15~16位有效數(shù)字
長(zhǎng)雙精度(longdouble)10位元組
20位有效數(shù)字
可知對(duì)不同數(shù)據(jù)類型佔(zhàn)用的存儲(chǔ)空間:char<short<=int<long<=float<doubleLet’stry…結(jié)果顯示:char:1位元組
float:4位元組求某一類型數(shù)據(jù)所占存儲(chǔ)位元組數(shù),可用運(yùn)算符:
sizeof(類型關(guān)鍵字)Example:main(){printf(“char:%d位元組\n”,sizeof(char));printf(“float:%d位元組\n”,sizeof(float));}注意事項(xiàng)整型≠整數(shù)
int的範(fàn)圍:-32768~+32767Example:
#include<stdio.h>#include<conio.h>
main(){inta;
clrscr();
printf(“Input:”);scanf(“%d”,&a);
printf(“a=%d\n”,a);}
運(yùn)行結(jié)果:
Input:12345
a=12345Input:1234567
a=-10617
Why?!Because:
12345的補(bǔ)數(shù)是
00110000001110011234567的補(bǔ)數(shù)是
100101101011010000111
截去多餘部份(超過2個(gè)位元組的左邊部分)後
其原碼為
1010100101111001(-10617)參見教材P44“整型數(shù)據(jù)的溢出”。有趣的結(jié)果:
輸入(Input:)輸出(a=)327673276732768-3276832769-3276732770-32766-32768-32768-3276932767-3277032766可用下圖表示:
327673276632765
……-32766-32767-32768有趣的結(jié)果注意事項(xiàng)數(shù)據(jù)存儲(chǔ)形式
字元型按ASCII碼存儲(chǔ),其餘以補(bǔ)數(shù)存儲(chǔ)
示意圖
字元型(字元'a')
用一個(gè)位元組存放該字元的ASCII值(ASCII值表見P374)
整型(十進(jìn)位數(shù)25037)
用兩個(gè)位元組存放該數(shù)值的補(bǔ)數(shù)實(shí)型
尾數(shù)(補(bǔ)數(shù))指數(shù)(階碼)
注:第一位均為符號(hào)位01100001011000011100110101100001……1010001010101011100110補(bǔ)充:二進(jìn)位數(shù)的定點(diǎn)和浮點(diǎn)表示定點(diǎn)表示法——小數(shù)點(diǎn)位置是“固定的”定點(diǎn)數(shù)可用於表示整數(shù)。整數(shù)在機(jī)器中用補(bǔ)數(shù)表示。
對(duì)於inta=8,b=-8;0000000000001000符號(hào)位:0—正數(shù)1—負(fù)數(shù)10000000000010001111111111110111正數(shù)的原碼=正數(shù)的補(bǔ)數(shù)負(fù)數(shù)的原碼和補(bǔ)數(shù)按以下規(guī)則相互轉(zhuǎn)換:符號(hào)位不變,數(shù)值位各位取反,未位加1。0000000000001000原碼補(bǔ)數(shù)符號(hào)位數(shù)值位a=810=10002b=-810=-10002真值1111111111111000補(bǔ)充:二進(jìn)位數(shù)的定點(diǎn)和浮點(diǎn)表示浮點(diǎn)表示法——小數(shù)點(diǎn)位置是“浮動(dòng)的”。
在電腦中一個(gè)浮點(diǎn)數(shù)由兩部分組成:階碼和尾數(shù),階碼是指數(shù),尾數(shù)是純小數(shù)。浮點(diǎn)表示法可用於表示帶小數(shù)的數(shù)。
(110.011)B=1.10011×2+10=11001.1×2-10=0.110011×2+11
即:N=數(shù)符×尾數(shù)×2階符×階碼
尾數(shù)的位數(shù)決定數(shù)的精度階碼的位數(shù)決定數(shù)的範(fàn)圍
數(shù)符尾數(shù)階符階碼
0110011011階碼和數(shù)符:0—正數(shù)1—負(fù)數(shù)注意事項(xiàng)整型和字元型均可為unsigned(無符號(hào)型)P43圖3.4
即將符號(hào)位亦作為數(shù)值位(默認(rèn)為signed)
此時(shí)int的範(fàn)圍0~65535char的範(fàn)圍0~255
Let’stry…?
在C程式中,字元型可與整型(≤255)互相通用
P50-51輸出結(jié)果:a,b輸出結(jié)果:97,98不變d,b100,98Example:(參見P50例3.6,ACII值見P374)main()main(){{charc1,c2;charc1,c2;c1=97;c2=98;c1=97;c2=98;printf(“%c,%c\n”,c1,c2);printf(“%d,%d\n”,c1,c2);}}
思考如果將例中char改成int,結(jié)果如何?如果將c1=97改為c1=97+3,結(jié)果如何?
Let’stry…二、常量整型常量P41
十進(jìn)位數(shù)12-12l
或-12L700000ul
八進(jìn)制數(shù)
012-012l
十六進(jìn)制數(shù)0x12-0x12l實(shí)型常量P45
十進(jìn)位形式123.452.0(必有小數(shù)點(diǎn))
指數(shù)形式2.45e-41.13E3(e或E前為數(shù),後為整數(shù))
實(shí)型常量本身無單或雙精度,其機(jī)內(nèi)精度取決於賦給那類變數(shù)(影響有效數(shù)字位數(shù),見P15示例)字元常量/字串常量字元常量P48普通字元(可顯示字元)
‘A’‘?’
(只能單字符單引號(hào))
錯(cuò)誤:‘ABC’“A”‘’’‘”’‘\’轉(zhuǎn)義字元(在單引號(hào)或雙引號(hào)中以\開頭)
如回車符、單引號(hào)、反斜杠等在程式中這些符號(hào)用表3.3所示的“轉(zhuǎn)義字元”表示。字串(用雙引號(hào)括起)“A”“?”(以‘\0’為字串結(jié)束標(biāo)誌)注意:用char定義的字元變數(shù)只能接受字元常量,而不能接受字串常量(C語言中無字串變數(shù))
chara=‘U’;charb=“U”;(b被置為某隨機(jī)值)Example:main(){
charc1=‘a(chǎn)’,c2;
c2=98;printf(“%d,%d\n”,c1,c2);
}結(jié)果:
97,98Example:
main(){
charc1=“a”,c2;
c2=98;printf(“%d,%d\n”,c1,c2);
}結(jié)果:
-108,98若讓c1分別等於“U”、“ABC”、“A”…結(jié)果不變隨機(jī)值轉(zhuǎn)義字元例題分析Example:main(){charch;ch=‘\362’;printf(“%c,%d”,ch,ch);}運(yùn)行結(jié)果:
≥,-14ch=3628=24210=111100102
111100102化為原碼為
10001110=-1410轉(zhuǎn)義字元例題分析Example:#include<string.h>
main(){printf(“a\n\”\x41”);printf(“%d\n”,strlen(“a\n\”\x41”));}運(yùn)行結(jié)果:
a
“A
4
注:strlen為求字串位元組數(shù)函數(shù)(不計(jì)結(jié)束標(biāo)誌‘\0‘)。轉(zhuǎn)義字元例題分析Example:P49例3.5main(){printf(“__ab_c\t_de\rf\tg\n”);printf(“h\tI\b\bj___k”);}運(yùn)行結(jié)果:__ab_c__ab_c___def_ab_c___def_______gdehh_______lh_______h______h______j___k8列8列8列什麼時(shí)候要使用轉(zhuǎn)義字元?
轉(zhuǎn)義字元只在特殊情況下才使用:C程式中需要實(shí)現(xiàn)某些特定列印或顯示動(dòng)作時(shí)
如
printf(“123\t56\n”);C程式中需要列印或顯示以下三個(gè)字元時(shí)
\
(斜杠)
"(雙引號(hào))'(單引號(hào))
如
printf(“You’rea\”abadegg!\””);C程式中需要列印或顯示ASCII表中非鍵盤字元時(shí)
如
printf(“Look
\16and
\x80
!”);注意:使用轉(zhuǎn)義字元時(shí),\後的八進(jìn)制或十六進(jìn)制數(shù)不應(yīng)大於char類型所允許的範(fàn)圍(十進(jìn)位值256)。
字串常量有關(guān)問題‘A’與“A”的區(qū)別問題(判斷正誤):
charc=“China”;charc=‘China’;“China”占幾個(gè)位元組?‘\141’占幾個(gè)位元組?AA\0等於十進(jìn)位數(shù)97即字元’a’三、變數(shù)賦值
P53
例:b=(a=3+5)a=b=c=d=3+5
(結(jié)果均為8)例:inta=b=c=d=3+5
(語法錯(cuò)誤,除非b,c,d定義過)
正確:inta,b=a=3+5;
例:c=3+(a=5)*6
結(jié)果:c=33,a=5(一個(gè)語句可以有幾個(gè)賦值運(yùn)算)變數(shù)必須先定義後使用變數(shù)名必須符合識(shí)別字命名規(guī)則
P40四、數(shù)據(jù)間的轉(zhuǎn)換(混合運(yùn)算)數(shù)據(jù)的類型級(jí)別P54圖3.10基本規(guī)則不同類型運(yùn)算量參加運(yùn)算,遵守“向高看齊”的類型一致化規(guī)則:將長(zhǎng)度較短的運(yùn)算量轉(zhuǎn)換為長(zhǎng)度較長(zhǎng)的運(yùn)算量,以保證不丟失資訊。將實(shí)型常量賦給整型變數(shù),將被自動(dòng)取整
inta=7.999999;等效於inta=7;float型只要參加運(yùn)算,均自動(dòng)轉(zhuǎn)為double。
main(){floati=3,j=4;printf(“%d\n”,sizeof(i+j));}/*結(jié)果為8(雙精度)*/兩個(gè)整型數(shù)相除,其值也一定是整型數(shù)(取商之整數(shù)部分)。3/2的值為1而非1.5強(qiáng)制類型轉(zhuǎn)換P56
例一:(int)3.5的值是多少?例二:
main(){intx=5;floaty=3.5;
clrscr();/*clearscreen(清屏)*/
printf(“%d”,(int)y+x);}
結(jié)果是什麼?8一般形式:
(類型名)(運(yùn)算式)轉(zhuǎn)換後運(yùn)算式的數(shù)據(jù)類型為新的類型,但運(yùn)算式中變數(shù)本身類型不變。3程式執(zhí)行後y的類型是什麼?五、算術(shù)運(yùn)算符和算術(shù)運(yùn)算式C語言運(yùn)算符(13類)
P551、算術(shù)運(yùn)算①算術(shù)運(yùn)算符
+-*
/%++––
例:14%(-4)=2-14%(-4)=-220.4%2(出錯(cuò))
例:若inta=7;floatx=2.5,y=4.7;則運(yùn)算式
x+a%3*(int)(x+y)%2/4
的值是什麼?
2.500000(1/4為0)
例:floatx,y;x%y;
(出錯(cuò))五、算術(shù)運(yùn)算符和算術(shù)運(yùn)算式(續(xù))②自反算術(shù)賦值運(yùn)算符(複合的賦值運(yùn)算符)
P62
+=-=*=/=
等解法:將b*=…看作b=b*(…),其餘類推例:c=b*=a+3
相當(dāng)於(1)a+3(2)b=b*(a+3)(3)c=b
例:若i、j的初值分別為3和4,則執(zhí)行
j+=i-=1
後i、j的值為多少?
解題步驟:
i=i-1=3-1=2j=j+i=4+2=6結(jié)果:i=2,j=6關(guān)於優(yōu)先順序和結(jié)合方向:P56
C語言規(guī)定了運(yùn)算符的優(yōu)先順序和結(jié)合性。在運(yùn)算式求值時(shí),先按運(yùn)算符的優(yōu)先順序別高低次序執(zhí)行。如果在一個(gè)運(yùn)算對(duì)象兩側(cè)的運(yùn)算符的優(yōu)先順序別相同,則按規(guī)定的結(jié)合方向處理。
(各種運(yùn)算符的優(yōu)先順序和結(jié)合性見P375附錄Ⅲ)【例】設(shè)i、j初值分別為3和4,則執(zhí)行j+=i-=1;後i,j的值為多少?【例】若x=7;則x+=x-=x+x的值是多少?
五、算術(shù)運(yùn)算符和算術(shù)運(yùn)算式(續(xù))(i=2,j=6)(-14)解法:從右到左,先做x=x-(x+x)=-7,再做x=x+x=-14五、算術(shù)運(yùn)算符和算術(shù)運(yùn)算式(續(xù))③自加、自減運(yùn)算符
P57
++(自加運(yùn)算符)--(自減運(yùn)算符)用法:+1-1運(yùn)算
a、首碼形式
inti=5;x=++i;y=i;
(x=6,i=6,y=6)
inti=5;++i;y=i;
(i=6,y=6)b、尾碼形式
inti=5;x=i++;y=i;
(x=5,i=6,y=6)
inti=5;i++;y=i;
(i=6,y=6)
若對(duì)某變數(shù)自加/自減而不賦值,結(jié)果都是使該變數(shù)自身±1;
若某變量自加/自減的同時(shí)還要參加其他運(yùn)算,則首碼運(yùn)算是先變化後運(yùn)算,尾碼運(yùn)算是先運(yùn)算後變化。
注意:運(yùn)算對(duì)象只能是整型變數(shù),5++或(x+y)++均為錯(cuò)五、算術(shù)運(yùn)算符和算術(shù)運(yùn)算式(續(xù))例一:main()
{
inta=100;
printf(“%d\n”,a);
printf(“%d\n”,++a);
printf(“%d\n”,a++);
printf(“%d\n”,a);
}運(yùn)算結(jié)果:100101101102例二:若intx=3,y;求下列運(yùn)算後y和x的值
y=x++-1;(24)
y=++x-1;(34)
y=x--+1;(42)分析思路:先對(duì)右邊的運(yùn)算式進(jìn)行掃描,如果x++,先取x值完成運(yùn)算式運(yùn)算後再讓x自加1,如果++x,則先將x自加1後再代入運(yùn)算式進(jìn)行其他運(yùn)算例三:若inti=3求下列運(yùn)算後y和z的值
y=(i++)+(i++)+(i++);y=9(3+3+3)
z=(++i)+(++i)+(++i);z=18(6+6+6)
分析思路:先對(duì)右邊的運(yùn)算式進(jìn)行掃描,看是否需要先自加,如需要,就作若干次自加,然後再進(jìn)行運(yùn)算式的其他運(yùn)算。思考:
y=(++i)+(i++)+(++i);y=15(5+5+5)五、算術(shù)運(yùn)算符和算術(shù)運(yùn)算式(續(xù))④逗號(hào)運(yùn)算
P63-64
C語言中逗號(hào)可作分隔符號(hào)使用,將若干變數(shù)隔開
如
inta,b,c;
又可作運(yùn)算符使用,將若干獨(dú)立的運(yùn)算式隔開,並依次計(jì)算各運(yùn)算式的值。其一般形式
運(yùn)算式1,運(yùn)算式2,…,運(yùn)算式n;逗號(hào)運(yùn)算式的求解過程:先求運(yùn)算式1的值,再求運(yùn)算式2的值…,最後求運(yùn)算式n的值。整個(gè)逗號(hào)運(yùn)算式的值是最後一個(gè)運(yùn)算式n的值。
在C語言所有運(yùn)算符中,逗號(hào)運(yùn)算式的優(yōu)先順序最低。
五、算術(shù)運(yùn)算符和算術(shù)運(yùn)算式(續(xù))【例一】main(){intx,a;x=(a=3*5,a*4,a+5);printf(“x=%d,a=%d\n”,x,a);}【例二】main(){intx,a;
x=(a=3*5,a*4),a+5;
printf(“x=%d,a=%d\n”,x,a);}
運(yùn)算結(jié)果:x=20,a=15運(yùn)算結(jié)果:x=60,a=15【例三】main(){inta,b,x;x=(a=8,b=15,b++,a+b);printf(“a=%d,b=%d,x=%d\n”,a,b,x);}
運(yùn)算結(jié)果:a=8,b=16,x=24五、算術(shù)運(yùn)算符和算術(shù)運(yùn)算式(續(xù))⑤關(guān)係運(yùn)算(比較運(yùn)算)
P87
關(guān)係運(yùn)算符:><>=<===!=
關(guān)係運(yùn)算式:含有關(guān)係運(yùn)算符的運(yùn)算式特別注意a≤X≤b之類算式的正確寫法:a<=x&&x<=b(錯(cuò)誤寫法:a<=X<=b)【例】若x=1000,則printf(“%d”,2<x<3)的結(jié)果是什麼?(不管x為何值,結(jié)果恒為1)Why?【注意】關(guān)係運(yùn)算式的值:真—1假—0;
C語言中還規(guī)定:非0—真0—假優(yōu)先順序:算術(shù)>關(guān)係>賦值>逗號(hào)
討論:if(1<x<2)的條件為什麼恒為真五、算術(shù)運(yùn)算符和算術(shù)運(yùn)算式(續(xù))【例一】main(){intm=5;if(m++>5)printf(“m>5”);else{printf(“m=%d,”,m--);printf(“m=%d”,m--);}}運(yùn)算結(jié)果:
m=6,m=5【例二】main(){intm=5;if(++m>5)printf(“m>5”);else{printf(“m=%d,”,m--);printf(“m=%d”,m--);}}運(yùn)算結(jié)果:
m>5
五、算術(shù)運(yùn)算符和算術(shù)運(yùn)算式(續(xù))⑥邏輯運(yùn)算
P88
邏輯運(yùn)算符:
&&(與運(yùn)算符)運(yùn)算符兩邊均為真時(shí),結(jié)果為真
||(或運(yùn)算符)運(yùn)算符兩邊均為假時(shí),結(jié)果為假
?。ǚ沁\(yùn)算符)將運(yùn)算符右邊真假倒置
邏輯運(yùn)算符的任一端如果為非0數(shù),則視為“真”,為0則視為假。
【例】printf(“%d”,!3+5)結(jié)果為5printf(“%d”,!0+5)結(jié)果為6
注意:!優(yōu)先於關(guān)係運(yùn)算符,與++、--同級(jí)。常用優(yōu)先順序:!、++、-->算術(shù)運(yùn)算符>關(guān)係運(yùn)算符>&&>||>賦值>逗號(hào)五、算術(shù)運(yùn)算符和算術(shù)運(yùn)算式(續(xù))【例一】main(){inta=1,b=2,m=2,n=2;(m=a>b)&&++n;printf("%d\n",n);}【例二】main(){inta=1,b=2,m=2,n=2;(m=b>a)&&++n;printf("%d\n",n);}運(yùn)行結(jié)果:n=2運(yùn)行結(jié)果:n=3原因:
在&&和||的左邊如果能判斷出結(jié)果,則右邊不再作運(yùn)算。結(jié)論:在邏輯運(yùn)算式的求解中,並不是所有的邏輯運(yùn)算符都會(huì)被執(zhí)行。只是在必須執(zhí)行下一個(gè)邏輯運(yùn)算符才能求出運(yùn)算式的解時(shí),才執(zhí)行該運(yùn)算符。(P90)五、算術(shù)運(yùn)算符和算術(shù)運(yùn)算式(續(xù))【例三】
有以下程式段:
inta,b,c;a=b=c=1;++a||++b&&++c;
問執(zhí)行後a、b、c的值各是多少?
a=2,b=1,c=1五、算術(shù)運(yùn)算符和算術(shù)運(yùn)算式(續(xù))【例四】編程判斷任一給定年份是否閏年。符合以下條件的年份為閏年:
P91①能被4整除但不能被100整除;②能被4整除又能被400整除(只需考慮能被400整除的情況)main(){intyear;clrscr();printf("Inputyear=");scanf("%d",&year);if((year%4==0&&year%100!=0)||year%400==0)printf("\n%disaleapyear!",year);elseprintf("\n%disn'taleapyear!",year);}五、算術(shù)運(yùn)算符和算術(shù)運(yùn)算式(續(xù))⑦條件運(yùn)算P96條件運(yùn)算符:
…?…:…
(三元運(yùn)算符,即需連接三個(gè)運(yùn)算量)一般形式:
e1?e2:e3
(e1為條件運(yùn)算式,e2,e3為任意類型運(yùn)算式)功能:如果e1≠0(為真),運(yùn)算結(jié)果為e2的值。如果e1=0(為假),則取e3的值?!纠糠謩e令x=3,x=0,x=-5,求運(yùn)行結(jié)果。本程式功能?main(){intx,y;printf(“Inputx=”);scanf(“%d”,&x);y=x>0?1:x<0?-1:0;/*結(jié)合方向:由右向左*/printf(“x=%d,y=%d\n”,x,y);}結(jié)果:x=3,y=1x=0,y=0x=-5,y=-11(x>0)y=0(x=0)-1(x<0)⑧sizeof運(yùn)算符
sizeof運(yùn)算符是一個(gè)單目運(yùn)算符,用以計(jì)算運(yùn)算元在內(nèi)存中佔(zhàn)用的位元組數(shù)。它的運(yùn)算元可以是以
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 服務(wù)定價(jià)策略-第1篇-洞察及研究
- 農(nóng)產(chǎn)品現(xiàn)貨講解
- 數(shù)控銑床編輯技術(shù)
- (2025年標(biāo)準(zhǔn))餐飲人員合伙協(xié)議書
- (2025年標(biāo)準(zhǔn))保安宿舍安全協(xié)議書
- (2025年標(biāo)準(zhǔn))安裝門窗加固協(xié)議書
- 智能媒體內(nèi)容生成與深度偽造技術(shù)-洞察及研究
- (2025年標(biāo)準(zhǔn))2017施工安全協(xié)議書
- (2025年標(biāo)準(zhǔn))簽定出資協(xié)議書
- (2025年標(biāo)準(zhǔn))房屋露臺(tái)使用協(xié)議書
- 2025年內(nèi)河船員考試(船舶輔機(jī)與電氣2203·一類三管輪)歷年參考題庫含答案詳解(5套)
- 保安員知識(shí)考試題庫及答案
- 農(nóng)村土地確權(quán)課件
- 2024年黔西南州暢達(dá)交通建設(shè)運(yùn)輸有限責(zé)任公司招聘考試真題
- (高清版)T∕CES 243-2023 《構(gòu)網(wǎng)型儲(chǔ)能系統(tǒng)并網(wǎng)技術(shù)規(guī)范》
- H35-462(5G中級(jí))認(rèn)證考試題庫(附答案)
- HY/T 122-2009海洋傾倒區(qū)選劃技術(shù)導(dǎo)則
- GB/T 19666-2019阻燃和耐火電線電纜或光纜通則
- 制造執(zhí)行系統(tǒng)的功能與實(shí)踐最新ppt課件(完整版)
- xx醫(yī)院衛(wèi)生院衛(wèi)生應(yīng)急(醫(yī)療救援)物資儲(chǔ)備清單
- 馬關(guān)年產(chǎn)壹萬噸高效活性炭報(bào)告書環(huán)境影響評(píng)價(jià)報(bào)告書
評(píng)論
0/150
提交評(píng)論