版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2/6/20231第10章對(duì)文件的輸入輸出文件:存儲(chǔ)在外部介質(zhì)上數(shù)據(jù)的集合。操作系統(tǒng)是以文件為單位對(duì)數(shù)據(jù)進(jìn)行管理的。與主機(jī)相聯(lián)的輸入輸出設(shè)備都看作是一個(gè)文件。C語言把文件看作是一個(gè)字符(字節(jié))的序列。分為:ASCII文件(文本文件)、二進(jìn)制文件。ASCII文件:每一個(gè)字節(jié)放一個(gè)ASCII代碼,代表一個(gè)字符。二進(jìn)制文件:把數(shù)據(jù)按其在內(nèi)存中的存儲(chǔ)形式輸出到磁盤上存放。0010011100010000001001110001000000110001001100000011000000110000001100002/6/20232第10章文件緩沖區(qū)文件系統(tǒng):系統(tǒng)自動(dòng)地在內(nèi)存區(qū)為每一個(gè)正在使用的文件開辟一個(gè)緩沖區(qū)。非緩沖區(qū)文件系統(tǒng):系統(tǒng)不自動(dòng)開辟確定大小的緩沖區(qū),而由程序?yàn)槊總€(gè)文件設(shè)定緩沖區(qū)。磁盤輸出輸出輸入輸入程序數(shù)據(jù)區(qū)輸出文件緩沖區(qū)輸入文件緩沖區(qū)2/6/20233文件類型指針typedef
struct{shortlevel;//緩沖區(qū)“滿”或“空”的程度unsignedflags;//文件狀態(tài)標(biāo)志charfd;//文件描述符
unsignedcharhold;//如無緩沖區(qū)不讀取字符shortbsize;//緩沖區(qū)的大小unsignedchar*buffer;//數(shù)據(jù)緩沖區(qū)的位置unsignedchar*curp;//指針,當(dāng)前的指向unsignedistemp;//臨時(shí)文件,指示器
shorttoken;//用于有效性檢查}FILE;levelflagsfdholdbsizebuffercurpistemptoken…………
文件打開函數(shù)fopen用來打開一個(gè)文件,其調(diào)用的一般形式為:文件指針名=fopen(文件名,使用文件方式);其中:“文件指針名”必須是被說明為FILE類型的指針變量;“文件名”是被打開文件的文件名;文件名通常是文件變量或文件數(shù)組;“使用文件方式”是指文件的類型和操作要求。文件的使用方式共有12種,表10.1給出了文本文件的符號(hào)和意義。10.2文件的打開與關(guān)閉
由于文件的打開與關(guān)閉都是利用系統(tǒng)函數(shù)來實(shí)現(xiàn)的,因此,在編寫有關(guān)文件的程序時(shí),應(yīng)該在其中包含“stdio.h”頭文件。
10.2.1文件的打開
2/6/20235文件的打開與關(guān)閉文件的打開(fopen
函數(shù))FILE*fp;fp=fopen(文件名,使用文件方式);例如:fp=fopen("a1","r");文件名:參數(shù)為字符指針類型,實(shí)參為帶路徑的字符串。使用文件方式:參見表10.1。
"r"、"w"、"a"、"r+"、"w+"、"a+""rb"、"wb"、"ab"、……說明:"r"、"w"、"a"等打開文件的方式。打開文件的常規(guī)方式:if((fp=fopen("file1","r"))==NULL){printf("Cannotopenthisfile\n");exit(0);}文件中的回車換行符內(nèi)存中的換行符。程序運(yùn)行時(shí),系統(tǒng)主動(dòng)打開3個(gè)標(biāo)準(zhǔn)文件:stdin:終端輸入stdout:終端輸出stderr:標(biāo)準(zhǔn)出錯(cuò)輸出文件使用方式代表的含義r打開一個(gè)已有的文本文件,只允許讀取數(shù)據(jù)w打開或建立一個(gè)文本文件,只允許寫入數(shù)據(jù)at打開一個(gè)已有的文本文件,并在文件末尾寫數(shù)據(jù)rt+打開一個(gè)已有的文本文件,允許讀和寫at+打開一個(gè)已有的文本文件,允許讀或在文件末追加數(shù)據(jù)wt+打開或建立一個(gè)文本文件,允許讀寫表10-1文本文件的符號(hào)及其含義
以上六種方式是針對(duì)“文本文件”類型
文件使用方式代表的含義rb打開一個(gè)已存在的二進(jìn)制文件,只允許讀數(shù)據(jù)
wb打開或建立一個(gè)二進(jìn)制文件,只允許寫數(shù)據(jù)
ab
打開一個(gè)二進(jìn)制文件,并在文件末尾追加數(shù)據(jù)
rb+打開一個(gè)二進(jìn)制文件,允許讀和寫
wb+打開或建立一個(gè)二進(jìn)制文件,允許讀和寫
ab+打開一個(gè)二進(jìn)制文件,允許讀或在文件末追加數(shù)據(jù)
表10-2二進(jìn)制文件的符號(hào)及其含義
可以看出,上面兩個(gè)表的作用基本上是相同的,唯一的區(qū)別是表10-2增加了一個(gè)表示二進(jìn)制的字符“b”。其中,文件使用方式由r、w、a、t、b和+六個(gè)字符組成,各字符的含義如表所示。
字母代表含義rread讀取數(shù)據(jù)wwrite寫入數(shù)據(jù)aapend追加數(shù)據(jù)ttext文本文件,可省略不寫bbinary二進(jìn)制文件+可讀可寫表10-3文件使用方式中的字符及其含義
1.程序中凡是用“r”打開一個(gè)文件時(shí),表明該文件必須已經(jīng)存在,且只能從該文件讀出數(shù)據(jù)。
2.用“w”打開的文件也只能向該文件寫入數(shù)據(jù)。若打開的文件不存在,則按照指定的文件名建立該文件,若打開的文件已經(jīng)存在,則將該文件刪除,重建一個(gè)新文件。使用時(shí)要特別注意這一點(diǎn)。
3.如果要向一個(gè)已經(jīng)存在的文件后面追加新的信息,那只能用“a”方式打開文件。但此時(shí)該文件必須是存在的,否則將會(huì)出錯(cuò)。
對(duì)上表做以下補(bǔ)充說明:4.在打開一個(gè)文件之前,應(yīng)該定義文件型指針,以便接收函數(shù)fopen返回的地址。如果出錯(cuò),fopen將返回一個(gè)空指針NULL。在程序中可以用這一信息來判別是否完成打開文件的工作,并做相應(yīng)的處理。例如:
if((fp=fopen(“file1”,”rb”))==NULL){
printf(“\nerroronopenfile1”);
getch();exit(1);}
該程序段表示:如果返回的指針為空,則不能打開當(dāng)前目錄下的文件“file1”,同時(shí)給出錯(cuò)誤提示信息“erroronopenfile1”。程序中的getch()函數(shù)的功能是從鍵盤輸入一個(gè)字符,該字符不在屏幕上顯示。其實(shí)getch()在這里的作用是停留等待,只有當(dāng)用戶從鍵盤敲任意鍵時(shí),程序才繼續(xù)執(zhí)行,我們可以利用這個(gè)等待時(shí)間來閱讀出錯(cuò)提示,找到錯(cuò)誤原因。當(dāng)敲任意鍵后,執(zhí)行語句“exit(1);”,從而退出程序。文件一旦使用完畢,應(yīng)使用關(guān)閉文件函數(shù)fclose把文件關(guān)閉,以避免文件數(shù)據(jù)丟失等情況的發(fā)生。
fclose函數(shù)調(diào)用的一般形式為:
fclose(FILE*fp);其中,參數(shù)fp是文件型指針,通過fopen()函數(shù)已經(jīng)獲得,它指向某個(gè)打開的文件。例如:fclose(fp);
上述語句的含義是關(guān)閉fp所指向的文件,同時(shí)自動(dòng)釋放分配給文件的內(nèi)存緩沖區(qū)。當(dāng)正常完成關(guān)閉文件的操作時(shí),fclose函數(shù)的返回值為0,表示已正確關(guān)閉指定的文件;如返回非0值則表示有錯(cuò)誤發(fā)生。
10.2.2文件的關(guān)閉
【例10.2】文件的打開與關(guān)閉應(yīng)用舉例。
#include<stdio.h> voidmain() { FILE*fp;/*定義一個(gè)文件指針*/
if((fp=fopen("C:\\STUDENT\\ch01_01\\ch01_01.c","rb"))==NULL) {
printf("filecannotopen!\n"); exit(1); } else
printf("Thefilesucceedopen!\n");
fclose(fp); }
說明:在書寫時(shí),要嚴(yán)格按照格式書寫,例如:將路徑寫成“C:\STUDENT\ch01_01\ch01_01.c”是不正確的,這一點(diǎn)要特別注意。路徑寫成“C:\\STUDENT\\ch01_01\\ch01_01.c”才是正確的,這里的“\\”的含義是:第一個(gè)“\”代表轉(zhuǎn)義字符,第二個(gè)“\”才是字符本身。
讀字符函數(shù)——fgetc函數(shù)
寫字符函數(shù)——fputc函數(shù)
10.3文件的讀寫
文件的讀寫操作由文件讀寫函數(shù)完成,常用的讀寫函數(shù)有fputc、fgetc、fread、fwrite、fputs、fgets、fprintf、fscanf、putw、getw等。
10.3.1字符讀寫函數(shù)
fgetc函數(shù)用來從指定的文件讀入一個(gè)字符,該文件必須是讀或?qū)懛绞酱蜷_的。fgetc函數(shù)的調(diào)用格式如下:
ch=fgetc(fp);
其中fp為文件類型指針,ch為字符變量。fgetc函數(shù)返回的字符賦給字符變量ch。如果在執(zhí)行fgetc函數(shù)讀字符時(shí)遇到文件結(jié)束符,則該函數(shù)返回一個(gè)結(jié)束標(biāo)志EOF(-1)。如果想從磁盤文件順序讀入字符并在屏幕上顯示出來,可以用以下的程序段:
ch=fgetc(fp);
while(ch!=EOF){
putchar(ch);
ch=fgetc(fp);}讀字符函數(shù)——fgetc函數(shù)
fputc函數(shù)用來將一個(gè)字符寫入指定的文件中,該函數(shù)的調(diào)用格式為:
fputc(ch,fp);
其中ch可以是一個(gè)字符常量,也可以是一個(gè)字符變量。fp是文件指針變量。該函數(shù)的作用是將字符(ch的值)輸出到fp所指定的文件中去。fputc函數(shù)也帶回一個(gè)值,如果輸出成功,則返回值就是輸出的字符,如果輸出失敗,則返回EOF(-1)。寫字符函數(shù)——fputc函數(shù)#include<stdlib.h>#include<stdio.h>intmain(){FILE*fp;charch,filename[10];
printf("請(qǐng)輸入所用的文件名:");
scanf("%s",filename);
if((fp=fopen(filename,"w"))==NULL)//打開輸出文件并使fp指向此文件
{
printf("無法打開此文件\n");//如果打開時(shí)出錯(cuò),就輸出"打不開"的信息
exit(0);//終止程序*/}
ch=getchar();//此語句用來接收在執(zhí)行scanf語句時(shí)最后輸入的回車符
printf("請(qǐng)輸入一個(gè)準(zhǔn)備存儲(chǔ)到磁盤的字符串(以#結(jié)束):");
ch=getchar();//接收從鍵盤輸入的第一個(gè)字符
while(ch!='#')//當(dāng)輸入'#'時(shí)結(jié)束循環(huán)
{
fputc(ch,fp);//向磁盤文件輸出一個(gè)字符
putchar(ch);//將輸出的字符顯示在屏幕上
ch=getchar();//再接收從鍵盤輸入的一個(gè)字符
}
fclose(fp);//關(guān)閉文件
putchar(10);//向屏幕輸出一個(gè)換行符,換行符的ASCII代碼為10return0;}例10-1例10-2#include<stdio.h>#include<stdlib.h>intmain(){FILE*in,*out;charch,infile[10],outfile[10];//定義兩個(gè)字符數(shù)組,分別存放兩個(gè)文件名
printf("輸入讀入文件的名字:");
scanf("%s",infile);//輸入一個(gè)輸入文件的名字
printf("輸入輸出文件的名字:");
scanf("%s",outfile);//輸入一個(gè)輸出文件的名字
if((in=fopen(infile,"r"))==NULL)//打開輸入文件
{printf("無法打開此文件\n");exit(0);}
if((out=fopen(outfile,"w"))==NULL)//打開輸出文件
{printf("無法打開此文件\n");exit(0);}
while(!feof(in))//如果未遇到輸入文件的結(jié)束標(biāo)志
{ch=fgetc(in);//從輸入文件讀入一個(gè)字符,暫放在變量ch中
fputc(ch,out);//將ch寫到輸出文件中
putchar(ch);//將ch顯示在屏幕上
}putchar(10);//顯示完全部字符后換行
fclose(in);//關(guān)閉輸入文件
fclose(out);//關(guān)閉輸出文件
return0;}10.3.3字符串讀寫函數(shù)
寫字符串函數(shù)——fputs
讀字符串函數(shù)——fgets
字符串讀寫函數(shù)處理的文件類型主要是文本文件,分為讀字符串函數(shù)和寫字符串函數(shù)。
寫字符串函數(shù)——fputs
fputs函數(shù)的功能是向指定的文件寫入一個(gè)字符串,其調(diào)用形式為:
fputs(字符串,文件指針);
字符串可以是字符串常量,也可以是字符數(shù)組名或指針變量,例如:
fputs("Human",fp);
上述語句的含義是把字符串“Human”寫入fp所指的文件之中。
讀字符串函數(shù)——fgets
fgets函數(shù)的功能是從指定的文件中讀一個(gè)字符串到字符數(shù)組中,其調(diào)用形式為:
fgets(str,n,fp);
函數(shù)中的參數(shù)str是字符數(shù)組名;n是一個(gè)正整數(shù),表示從文件中讀出的字符串不超過n-1個(gè)字符。在向字符數(shù)組讀入的最后一個(gè)字符后加上字符串結(jié)束標(biāo)志'\0'。如果在讀n-1個(gè)字符之前遇到換行符或EOF,讀入工作結(jié)束。例如:
fgets(ch,50,fp);
上述語句的含義是從fp所指的文件中讀出49個(gè)字符送入字符數(shù)組ch中。示例10_3、10_3_210.3.4格式化讀寫函數(shù)
文件的格式化讀寫函數(shù)和以前學(xué)習(xí)的格式化輸入/輸出函數(shù)很類似,對(duì)于格式化輸入/輸出函數(shù),只能和標(biāo)準(zhǔn)輸入/輸出設(shè)備文件打交道;而有了格式化的讀寫函數(shù)之后,不但可以處理標(biāo)準(zhǔn)設(shè)備的輸入/輸出,而且可以處理磁盤文件中的數(shù)據(jù)。
格式化寫函數(shù)fprintf
格式化讀函數(shù)fscanf
格式化寫函數(shù)fprintf
格式化寫函數(shù)fprintf的調(diào)用格式為:
fprintf(文件指針,格式字符串,輸出列表);例如:
fprintf(fp,"%d%c",j,ch);
上述語句的作用是將整型變量j和字符型變量ch的值按%d和%c的格式輸出到fp所指的文件上。
格式化讀函數(shù)fscanf
格式化讀函數(shù)fscanf的調(diào)用格式為:
fscanf(文件指針,格式字符串,輸入列表);例如:
fscanf(fp,"%d%s",&i,str);若此時(shí)fp所指的文件中存放著以下的數(shù)據(jù):
6happynewyear
上述語句的作用是將6賦給整型變量i,將“happynewyear”賦給字符型數(shù)組str。
10.3.2數(shù)據(jù)讀寫函數(shù)
寫數(shù)據(jù)函數(shù)——fwrite函數(shù)
讀數(shù)據(jù)函數(shù)——fread函數(shù)
寫數(shù)據(jù)函數(shù)——fwrite函數(shù)
寫數(shù)據(jù)塊函數(shù)調(diào)用的一般形式為:
fwrite(buffer,size,n,fp);
其中各個(gè)參數(shù)的含義及說明如表10.4所示。
參數(shù)含義說明
buffer是一個(gè)字符型指針,它表示存放輸出數(shù)據(jù)的變量地址或數(shù)組首地址。size是一個(gè)無符號(hào)整型,表示數(shù)據(jù)塊的字節(jié)數(shù)n無符號(hào)整型,表示要讀寫的數(shù)據(jù)塊塊數(shù)每個(gè)數(shù)據(jù)是size個(gè)字節(jié)
fp表示文件指針表10-4fwrite函數(shù)中各個(gè)參數(shù)的含義及說明讀數(shù)據(jù)函數(shù)——fread函數(shù)讀數(shù)據(jù)塊函數(shù)調(diào)用的一般形式為:
fread(buffer,size,n,fp);
其中的buffer是一個(gè)字符型指針,表示存放讀入數(shù)據(jù)的變量地址或數(shù)組首地址。size、n、fp的含義見上表。例如:
fread(a,4,8,fp);
上述語句的含義是從fp所指的文件中,每次讀4個(gè)字節(jié),也就是把一個(gè)實(shí)數(shù)送入實(shí)數(shù)數(shù)組a中,連續(xù)讀8次,即讀入8個(gè)實(shí)數(shù)并送到數(shù)組a中。示例10_4_1、10_4_2、10_4_310.3.5其他讀寫函數(shù)
除了上面介紹的讀寫函數(shù)外,大部分的C語言編譯系統(tǒng)還提供了對(duì)磁盤文件讀寫一個(gè)字(整數(shù))的函數(shù)——putw和getw。
但putw和getw并不是ANSIC標(biāo)準(zhǔn)定義的函數(shù),所以如果所用的C語言編譯系統(tǒng)不提供這兩個(gè)函數(shù),可以按如下的形式自定義這兩個(gè)函數(shù)。
putw函數(shù)的定義
getw函數(shù)的定義putw函數(shù)的定義putw(inti,FILE*fp){ char*s; s=&i; putc(s[0],fp); puts(s[1],fp); return(i);}getw函數(shù)的定義
getw(FILE*fp){ char*s;
inti; s=&i; s[0]=getc(fp); s[1]=getc(fp); return(i);}例如:putw(200,fp);上述語句的功能是將整數(shù)200輸出到fp所指向的文件中。10.4文件的定位
前面介紹的對(duì)文件的讀寫方式都是順序讀寫,也就是讀寫文件只能從頭開始,順序讀寫各個(gè)數(shù)據(jù)。但在實(shí)際問題中常常要求只讀寫文件中某一指定的部分。為了解決這個(gè)問題,C語言引入了隨機(jī)讀寫的概念。所謂“隨機(jī)讀寫”是將文件內(nèi)部的位置指針移動(dòng)到需要讀寫的位置后再進(jìn)行讀寫,這種讀寫稱為隨機(jī)讀寫。實(shí)現(xiàn)隨機(jī)讀寫的關(guān)鍵是按要求移動(dòng)位置指針,這稱為文件的“定位”。移動(dòng)文件內(nèi)部位置指針的函數(shù)主要有兩個(gè),即rewind函數(shù)和fseek函數(shù)。10.4.1文件頭定位函數(shù)
當(dāng)讀取了文件中若干個(gè)數(shù)據(jù)后,又要從頭讀取數(shù)據(jù),這時(shí)就需要將文件內(nèi)部指針重新指向文件頭,C語言提供的文件頭定位函數(shù)rewind就可以將文件指針重新指定到文件頭。該函數(shù)的調(diào)用格式為:
rewind(文件指針);
其功能是把文件內(nèi)部的位置指針移到文件開頭,如果定位成功,返回0;否則,返回非0。10.4.2文件隨機(jī)定位函數(shù)
前面學(xué)習(xí)的文件讀寫函數(shù)主要是用來讀寫順序文件的。例如:如果要讀取文件中的第6個(gè)數(shù)據(jù),則打開文件后必須先讀取前5個(gè)數(shù)據(jù)后,在讀取1個(gè)數(shù)據(jù)才是所需要的數(shù)據(jù)。而文件隨機(jī)定位函數(shù)可以使文件內(nèi)部位置指針直接指向第6個(gè)數(shù)據(jù),在讀取當(dāng)前一個(gè)數(shù)據(jù)就可以。
fseek函數(shù)用來移動(dòng)文件內(nèi)部位置指針,其調(diào)用形式為:
fseek(文件指針,位移量,起始點(diǎn));
“文件指針”指向被移動(dòng)的文件?!拔灰屏俊北硎疽苿?dòng)的字節(jié)數(shù),要求位移量是long型數(shù)據(jù),以便在文件長(zhǎng)度大于64KB時(shí)不會(huì)出錯(cuò)。當(dāng)用常量表示位移量時(shí),要求加后綴“L”。
“起始點(diǎn)”表示從何處開始計(jì)算位移量,C語言規(guī)定的起始點(diǎn)有三種:文件首、當(dāng)前位置和文件尾,表示方法可以用下表來說明。
起始點(diǎn)表示符號(hào)數(shù)字表示文件首SEEK_SET0當(dāng)前位置SEEK_CUR1文件末尾SEEK_END2表10-5起始點(diǎn)的表示方法
例如:
fseek(fp,200L,0);
上述語句的功能是把位置指針移到距文件首200個(gè)字節(jié)處。
10.4.3流式文件的定位函數(shù)
用ftell()函數(shù)可以返回文件指針的當(dāng)前位置。其調(diào)用格式為:
ftell(fp);
該函數(shù)的返回值為長(zhǎng)整型數(shù),表示相對(duì)于文件頭的字節(jié)數(shù),出錯(cuò)時(shí)返回-1L。例如:
longi;if((i=ftell(fp))==-1L)
printf("Afileerrorhasoccurredat%ld.\n",i);上述程序段可以通知用戶出現(xiàn)了文件錯(cuò)誤。
示例10_5、10_610.4.4判斷文件結(jié)束函數(shù)feof
程序從一個(gè)磁盤文件中逐個(gè)讀取字符并輸出到屏幕上顯示,在while循環(huán)中常以EOF作為文件結(jié)束標(biāo)志。這種以EOF作為文件結(jié)束標(biāo)志的文件,必須是文本文件。在文本文件中數(shù)據(jù)都是以字符的ASCII代碼值的形式存放。我們知道,ASCII代碼值的范圍是0~255,不可能出現(xiàn)-1,因此可以用EOF作為文件結(jié)束標(biāo)志。當(dāng)把數(shù)據(jù)以二進(jìn)制形式存放到文件中時(shí),就
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 機(jī)器人制造法規(guī)課程設(shè)計(jì)
- 大板教學(xué)課程設(shè)計(jì)
- 微機(jī)接口課程設(shè)計(jì)電子鐘
- 城市拆除爆破課程設(shè)計(jì)
- 投資收益課程設(shè)計(jì)
- 團(tuán)隊(duì)溝通與協(xié)作能力培訓(xùn)教程
- 愚公移山的課程設(shè)計(jì)
- 無線調(diào)頻收音機(jī)課程設(shè)計(jì)
- 智能音響課程設(shè)計(jì)
- 小學(xué)課程設(shè)計(jì)與評(píng)
- 旅游景區(qū)總經(jīng)理招聘協(xié)議
- 《數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)》赫夫曼編碼實(shí)驗(yàn)報(bào)告
- 中醫(yī)內(nèi)科學(xué)虛勞培訓(xùn)課件
- 2024廣東省建筑安全員A證考試題庫附答案
- 【MOOC】勞動(dòng)與社會(huì)保障法學(xué)-西南政法大學(xué) 中國大學(xué)慕課MOOC答案
- 西安電子科技大學(xué)《人工智能概論》2021-2022學(xué)年第一學(xué)期期末試卷
- 2024年建設(shè)銀行個(gè)人住房貸款標(biāo)準(zhǔn)協(xié)議模板一
- 大學(xué)生職業(yè)規(guī)劃采訪稿
- 中國血管性認(rèn)知障礙診治指南(2024版)解讀
- 2024年度防水材料品牌推廣與銷售合同2篇
- 商務(wù)風(fēng)2025個(gè)人年終工作總結(jié)個(gè)人工作計(jì)劃個(gè)人工作匯報(bào)課件模板
評(píng)論
0/150
提交評(píng)論