C語言選擇題知識點復習資料.doc
《C語言選擇題知識點復習資料.doc》由會員分享,可在線閱讀,更多相關(guān)《C語言選擇題知識點復習資料.doc(26頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、全國計算機等級考試注意事項及復習資料(內(nèi)部資料,翻版必究)新視野培訓教學研究組 編2013年下半年全國計算機等級考試復習資料(一)、C語言部分1、C語言的基礎(chǔ)知識1)合法的用戶標識符考查:合法的要求是由字母,數(shù)字,下劃線組成。有其它元素就錯了。并且第一個必須為字母或則是下劃線。第一個為數(shù)字就錯了。 關(guān)鍵字不可以作為用戶標識符號。main define scanf printf 都不是關(guān)鍵字。迷惑你的地方If是可以做為用戶標識符。因為If中的第一個字母大寫了,所以不是關(guān)鍵字。2)實型數(shù)據(jù)的合法形式:2.333e-1 就是合法的,且數(shù)據(jù)是2.33310-1??荚嚳谠E:e前e后必有數(shù),e后必為整數(shù)。
2、.3)字符數(shù)據(jù)的合法形式:: 1 是字符占一個字節(jié),1是字符串占兩個字節(jié)(含有一個結(jié)束符號)。 0 的ASCII數(shù)值表示為48,a 的ASCII數(shù)值是97,A的ASCII數(shù)值是65。一般考試表示單個字符錯誤的形式:65 1字符是可以進行算術(shù)運算的,記?。?-0=48大寫字母和小寫字母轉(zhuǎn)換的方法:A+32=a 相互之間一般是相差32。4) 整型一般是兩個字節(jié), 字符型是一個字節(jié),雙精度一般是4個字節(jié):考試時候一般會說,在16位編譯系統(tǒng),或者是32位系統(tǒng)。碰到這種情況,不要去管,一樣做題。掌握整型一般是兩個字節(jié), 字符型是一個字節(jié),雙精度一般是4個字節(jié)就可以了。5)轉(zhuǎn)義字符的考查: 在程序中 in
3、t a = 0 x6d,是把一個十六進制的數(shù)給變量a 注意這里的0 x必須存在。 在程序中 int a = 06d, 是一個八進制的形式。 在轉(zhuǎn)義字符中,x6d 才是合法的,0不能寫,并且x是小寫。 141 是合法的, 0是不能寫的。 108是非法的,因為不可以出現(xiàn)8。6)算術(shù)運算符號的優(yōu)先級別: 同級別的有的是從左到右,有的是從右到左。7)強制類型轉(zhuǎn)換: 一定是 (int)a 不是 int(a),注意類型上一定有括號的。 注意(int)(a+b) 和(int)a+b 的區(qū)別。 前是把a+b轉(zhuǎn)型,后是把a轉(zhuǎn)型再加b。8)表達式的考查: 是表達式就一定有數(shù)值。 賦值表達式:表達式數(shù)值是最左邊的數(shù)
4、值,a=b=5;該表達式為5,常量不可以賦值。 自加、自減表達式:假設(shè)a=5,+a(是為6), a+(為5);運行的機理:+a 是先把變量的數(shù)值加上1,然后把得到的數(shù)值放到變量a中,然后再用這個+a表達式的數(shù)值為6,而a+是先用該表達式的數(shù)值為5,然后再把a的數(shù)值加上1為6,再放到變量a中。 進行了+a和a+后 在下面的程序中再用到a的話都是變量a中的6了。 考試口訣:+在前先加后用,+在后先用后加。逗號表達式:優(yōu)先級別最低 ; 表達式的數(shù)值逗號最右邊的那個表達式的數(shù)值。 (2,3,4)的表達式的數(shù)值就是4。例題:main() int x,y,z;x=y=1; z=x+,y+,+y;print
5、f(“%d,%d,%dn”,x,y,z);程序運行后的輸出結(jié)果是A) 2,3,3 B) 2,3,2 C) 2,3,1 D) 2,2,19)位運算的考查: 會有一到二題考試題目。 總的處理方法:幾乎所有的位運算的題目都要按這個流程來處理(先把十進制變成二進制再變成十進制)。 例1:char a = 6, b; b = a2; 這種題目的計算是先要把a的十進制6化成二進制,再做位運算。 例2:一定要記住,異或的位運算符號。0 異或 1得到1。 0異或 0得到0。兩個女的生不出來。 1 異或 1得到0。兩個男的生不出來。考試記憶方法:一男(1)一女(0)才可以生個小孩(1)。 例3:在沒有舍去數(shù)據(jù)的
6、時候,右移一位表示除以2。10)018的數(shù)值是非法的,八進制是沒有8的,逢8進1。 11)%符號兩邊要求是整數(shù)。不是整數(shù)就錯了。12)三種取整丟小數(shù)的情況:1、int a =1.6; 2、(int)a; 3、1/2; 3/2;13)字符型和整數(shù)是近親: char a = 65 ; printf(“%c”, a); 得到的輸出結(jié)果:aprintf(“%d”, a);得到的輸出結(jié)果:652、輸入和輸出1)printf函數(shù)的格式考查: %d對應整型;%c對應字符;%f對應單精度等等。寬度的,左對齊等修飾。 %ld對應 long int;%lf 對應double。2)scanf函數(shù)的格式考察: 注意該
7、函數(shù)的第二個部分是&a 這樣的地址,不是a; scanf(“%d%d%*d%d”,&a,&b,&c); 跳過輸入的第三個數(shù)據(jù)。3)putchar ,getchar 函數(shù)的考查: char a = getchar() 是沒有參數(shù)的,從鍵盤得到你輸入的一個字符給變量a。 putchar(y)把字符y輸出到屏幕中。4)如何實現(xiàn)兩個變量x ,y中數(shù)值的互換(要求背下來) 不可以把 x=y ,y=x; 要用中間變量 t=x;x=y;y=t。5)如何實現(xiàn)保留三位小數(shù),第四位四舍五入的程序,(要求背下來) 這個有推廣的意義,注意 x = (int)x 這樣是把小數(shù)部分去掉。 main() double hu
8、i;int xy; scanf(“%f”,&hui);scanf(“%d”,&xy); printf(“%f,%d”,hui,xy);如果從鍵盤上輸入的數(shù)據(jù)的值是:23 回車 34.789回車,則最后的輸出結(jié)果是: 3、選擇結(jié)構(gòu) 特別要注意:c語言中是用非0表示邏輯真的,用0表示邏輯假的。1)關(guān)系表達式: 表達式的數(shù)值只能為1(表示為真),或0(表示假) 當關(guān)系的表達是為真的時候得到1。如 98這個是真的,所以表達式的數(shù)值就是1;2)邏輯表達式: 只能為1(表示為真),或0(表示假)a) 共有& | ! 三種邏輯運算符號。b) !&| 優(yōu)先的級別。c) 注意短路現(xiàn)象。考試經(jīng)??嫉?。 d) 要表
9、示 x 是比0大,比10小的方法。0 x10是不可以的(一定記?。?。是先計算0 x 得到的結(jié)果為1或則0;再用0,或1與10比較得到的總是真(為1)。所以一定要用 (0 x)&(xbc)printf(%dn,d); else if(c-1=d)=1)printf(%dn,d+1); elseprintf(%dn,d+2);執(zhí)行后輸出結(jié)果是()。A) 2 B) 3 C) 4 D) 編譯時有錯,無結(jié)果4)條件表達式: 表達式1 ?表達式2 :表達式3 注意是當表達式1的值為:非0時候 是表達式2的數(shù)值,當為0是就是表達式2的數(shù)值??荚嚳谠E:真前假后。5)switch語句:a) 一定要注意 有bre
10、ak 和沒有break的差別,書上(54頁)的兩個例子,沒有break時候,只要有一個case匹配了,剩下的都要執(zhí)行,有break則是直接跳出了swiche語句。b) switch只可以和break一起用,不可以和continue用。c) switch(x) x:是整型常量,字符型常量,枚舉型數(shù)據(jù)。case 1: . case后面的只能是常量不能是變量 。 case 2: . 注意:break可以用在循環(huán)語句中,也可以用在switch語句中。但是continue語句只能用在循環(huán)語句中。例題:main() int x=1,y=0,a=0,b=0;switch( x) case 1: switch
11、(y) case 0: a+;break; case 1:b+;break; case 2: a+;b+;break;printf(“a=%d,b=%dn”,a,b);4、循環(huán)結(jié)構(gòu)1)三種循環(huán)結(jié)構(gòu): a)for() ; while(); do- while()三種。 b)for循環(huán)當中必須是兩個分號,千萬不要忘記。 c)寫程序的時候一定要注意,循環(huán)一定要有結(jié)束的條件,否則成了死循環(huán)。 d) do-while()循環(huán)的最后一個while();的分號一定不能夠丟。(當心上機改錯),dowhile循環(huán)是至少執(zhí)行一次循環(huán)。復習:三個循環(huán)結(jié)構(gòu)的執(zhí)行過程。while 是先判斷后執(zhí)行。do.while是先執(zhí)
12、行后判斷。for() 先執(zhí)行表達式1,判斷表達式2,執(zhí)行循環(huán)體中的內(nèi)容,在執(zhí)行表達式3.例題:2) break 和 continue的差別 記憶方法: break:是打破的意思,(破了整個循環(huán))所以看見break就退出真?zhèn)€一層循環(huán)。 continue: 是繼續(xù)的意思,(繼續(xù)循環(huán)運算),但是要結(jié)束本次循環(huán),就是循環(huán)體內(nèi)剩下的語句不再執(zhí)行,跳到循環(huán)開始,然后判斷循環(huán)條件,進行新一輪的循環(huán)。3)嵌套循環(huán) 就是有循環(huán)里面還有循環(huán),這種比較復雜,要一層一層一步一步耐心的計算,一般記住兩層是處理二維數(shù)組的。4) while(c=getchar())!=n) 和 while(c=getchar() !=n)
13、的差別先看a = 3 != 2 和 (a=3)!=2 的區(qū)別:(!=號的級別高于=號 所以第一個先計算 3!=2) 第一個a的數(shù)值是得到的1;第二個a的數(shù)值是3??荚囎⒁恻c: 括號在這里的重要性。main() int i=0,s=0; for(;) if(i=0|i=5) continue ; if(i=6) break; i+;s+=i;printf(“%d”,s);A、10 B、13 C、21 D、程序進入死循環(huán)5、函數(shù)函數(shù):是具有一定功能的一個程序塊;是C語言的基本組成單位。1) 函數(shù)的參數(shù),返回數(shù)值void f(int v,int w) int t;t=v;v=w;w=tmain()i
14、nt x=1,y=3,z=2;if(xy) f(x,y); else if(yz) f(y,z);else f(x,z);printf(“%d,%d,%dn”,x,y,z);2)函數(shù)的調(diào)用: 實參和形參之間 傳數(shù)值,和傳地址的差別。(考試的重點) 按數(shù)值傳替,形參的變化不會改變實參的變化。(單向傳替) 按地址傳替,形參的變化就會有可能改變實參的變化。(雙向傳替)3)函數(shù)聲明的考查:一定要有:函數(shù)名,函數(shù)的返回類型,函數(shù)的參數(shù)類型。不一定要有:形參的名稱。4)要求掌握的庫函數(shù):sqrt() fabs() pow() sin() 其中pow(a,b)是重點。23為pow(2,3)。以及sqrt()
15、表示的是一個表達式或者是一個數(shù)值的開方。 5)函數(shù)最后返回值的類型決定于函數(shù)的定義類型。6、指針1)、指針變量的本質(zhì)是用來放地址,而一般的變量是放數(shù)值的。int *p 中 *p和p的差別:*p可以當做變量來用;*的作用是取后面地址p里面的數(shù)值 p是當作地址來使用。*p+ 和 (*p)+的之間的差別:改錯題目中很重要 *p+是 地址會變化。 (*p)+ 是數(shù)值會要變化。若有說明: int n=2,*p=&n,*q=p;則以下的非法的賦值語句是:()A、p=q B、*p=*q C、n=*q; D、p=n 2)、三名主義:(考試的重點) 數(shù)組名:表示第一個元素的地址。數(shù)組名不可以自加,他是地址常量名
16、。(考了很多次) 函數(shù)名:表示該函數(shù)的入口地址。 字符串常量名:表示第一個字符的地址。考試重要的話語:指針變量是存放地址的。并且指向哪個就等價哪個,所有出現(xiàn)*p的地方都可以用它等價的代替。例如:int a=2,*p=&a; *p=*p+2;(由于*p指向變量,所以指向哪個就等價哪個,這里*p等價于,可以相當于是a=a+2)指針變量兩種初始化方法一:int a=2,*p=&a;(定義的同時初始化)方法二:int a=2,*p;(定義之后初始化)p=&a;3)、給指針變量賦空值之后,不能對該變量進行指針運算。#include“stdio.h”main() int n,*p=NULL; *p=&n;
17、 printf(“請輸入數(shù)據(jù):”); scanf(“%d”,&p);printf(“結(jié)果是:”);printf(“%dn”,p);該程序試圖通過指針p為變量n讀入數(shù)據(jù)并輸出數(shù)據(jù),但是程序中有多處錯誤,以下語句正確的是:()A、int n,*p=NULL; B、*p=&n; C、scanf(“%d”,&p); D、printf(“%dn”,p);4)返回指針的函數(shù): 格式: 函數(shù)返回值類型 *函數(shù)名(形式參數(shù)列表)int *f(int *x,int *y) if(*x*y) return x; else return y;main() int a=7,b=8,*p,*q,*r; p=&a;q=&
18、b; r=f(p,q); printf(“%d,%d,%d”,*p,*q,*r);執(zhí)行后輸出結(jié)果是()A) 7,8,8 B) 7,8,7 C) 8,7,7 D) 8,7,87、數(shù)組1)一維數(shù)組的重要概念:對a10這個數(shù)組的討論。 1、a表示數(shù)組名,是第一個元素的地址,也就是元素a10的地址。 2、a是地址常量,所以只要出現(xiàn)a+,或者是a=a+2賦值的都是錯誤的。 3、a是一維數(shù)組名,所以它是列指針,也就是說a+1是跳一列。對a33的討論。 1、a表示數(shù)組名,是第一個元素的地址,也就是元素a10的地址。 2、a是地址常量,所以只要出現(xiàn)a+,或者是a=a+2賦值的都是錯誤的。 3、a是二維數(shù)組名,
19、所以它是行指針,也就是說a+1是跳一行。 4、a0、a1、a2也都是地址常量,不可以對它進行賦值操作,同時它們都是列指針,a0+1,a1+1,a2+1都是跳一列。 5、注意a和a0 、a1、a2是不同的,它們的基類型是不同的。前者是一行元素,后三者是一列元素。重點復習:定義的格式和排序例題:一下能正確定義一維數(shù)組的是:A、int num; B、#define N 100 int num0.100 D、int N=100 int numN; int numN#include“stdio.h”main() int i,j,t;a5=2,1,4,3,5; for(i=0;i4;i+) for(j=i
20、+1;j5;j+)if(aiaj) t=ai;ai=aj;aj=t; for(i=0;i 1 2 3 第一行 a1- 4 5 6 第二行 a2- 7 8 9 第三行步驟二:這樣作題目間很簡單:*(a0+1)我們就知道是第一行的第一個元素往后面跳一列,那么這里就是a01元素,所以是。*(a1+2)我們就知道是第二行的第一個元素往后面跳二列。那么這里就是a12元素,所以是6。一定記?。褐灰嵌S數(shù)組的題目,一定是寫成如上的格式,再去做題目,這樣會比較簡單。3) 數(shù)組的初始化,一維和二維的,一維可以不寫,二維第二個一定要寫 int a=1,2 合法。 int a4=2,3,4合法。 但int a4=
21、2,3,4非法。4) 二維數(shù)組中的行指針 int a12; 其中a現(xiàn)在就是一個行指針,a+1跳一行數(shù)組元素。 搭配(*)p2指針 a0,a1現(xiàn)在就是一個列指針。a0+1 跳一個數(shù)組元素。搭配*p2指針數(shù)組使用5) 還有記住脫衣服法則: a2 變成 *(a+2) a23變成 *(a+2)3再可以變成 *(*(a+2)+3)以下錯誤的定義語句是A)int x3=0,1,1,2,3;B)int x43=1,2,3,1,2,3,1,2,3,1,2,3;C)int x4=1,2,3,1,2,3,1,2,3,1,2,3;D)int x3=1,2,3,4;8、字符串1)、字符串的概念:由雙引號括起來的若干個
22、字符所組成的序列。每一個字符串都有一個0做為結(jié)束的標識。2)字符串的存儲形式:兩種存儲 數(shù)組存儲 用數(shù)組來存儲字符串。 、將每一個字符分別賦值給數(shù)組中的每一個元素。 、定義字符數(shù)組的時候就給數(shù)組中的每一個元素賦初值。但是最后必須有一個結(jié)束符。 C、直接把一個字符串賦值給一個數(shù)組。 D、當把字符串中的內(nèi)容賦值給數(shù)組時,當數(shù)組中的元素的個數(shù)多余數(shù)組字符個數(shù)的時候,可以不用加最后的結(jié)束符。 E、在定義數(shù)組的時候,省略了數(shù)組的長度的時候,如果沒有結(jié)束符,那么這個數(shù)組時不能構(gòu)成一個字符串的。 指針存儲 用指針來存儲字符串。在定義指針變量的同時將一個字符數(shù)組賦值給一個指針變量。以下不能正確進行字符串賦值的
23、語句時:()A、char str5=”good!”; B、char str=”good!”C、char *str=”good!” D、char str5=g,o,o,d;3)、字符串的輸入和輸出輸出: A、printf函數(shù)輸出字符串是,格式控制說明符是%s,其中的輸出項為:地址。輸出時不帶有字符串的定界符。B、puts函數(shù)輸出的一個字符串,同樣的括號中的內(nèi)容只能是一個字符串或者是一個地址。輸出時不帶有字符串的定界符。輸入: A、scanf函數(shù),在輸入的時候,格式控制說明符任然為%s,輸入項中的內(nèi)容仍然為:地址。在輸入的時候不輸入字符串的定界符。但是使用scanf函數(shù)在輸入數(shù)據(jù)的時候,不能接受回
24、車符和空格符。 、gets()函數(shù)接受的仍然是一個字符串,輸入項中的內(nèi)容仍然為:地址。在輸入的時候不輸入字符串的定界符。但是使用scanf函數(shù)在輸入數(shù)據(jù)的時候,能接受回車符和空格符。例題:當用戶要求輸入的字符串中含有空格時,應使用的輸入函數(shù)是:A、scanf() B、getchar() C、gets() D、getc()4)、字符串處理函數(shù)掌握字符串的處理函數(shù):strcpy() strcmp() strlen() strcat()其中括號中的內(nèi)容均是地址。掌握每一個函數(shù)的含義和功能。#include”stdio.h”main() char p20=”abcd”,q=”abc”,r=”abcde
25、”;strcat(p,r);strcpy(p+strlen(q),q);printf(“%dn”sizeof(p);9、文件1)、文件指針的定義的格式:FILE *文件指針。2)、打開文件的格式:fopen(“文件名”,“打開方式”); 重點看打開方式為 r和w的形式。3)、關(guān)閉文件:fclose(文件指針)。 文件的操作:1)、feof函數(shù)的格式以及函數(shù)的功能。返回的是文件指針的位置.如果在文件的末尾,則返回的是一個非0值,若是不在文件末尾,返回的是0值。2)、fseek函數(shù)(定位函數(shù)) 掌握定位的原則。 例如:與fseek(fp,0L,seek_set)有相同作用的是:A、feof() B
26、、ftell() C、fgetc() D rewind()上機考試重點:fprintf( 文件指針,格式控制字符串,輸入列表 );功能:按照格式控制說明的格式將輸入列表中的值輸入到文件指針所指的文件中。fscanf(文件指針,格式控制字符串,輸出列表);功能:按照格式控制說明的格式從文件指針所指的文件中讀取中數(shù)據(jù)來,并且賦值給輸出列表。10、對C語言的深入討論1)、用戶定義類型: typedef 原有類型 標識符;掌握:沒有定義新的類型,只是將原有的類型換了一個名字而已。2)、編譯預處理 編譯預處理必須單獨占有一行,在程序執(zhí)行時不占用程序的執(zhí)行時間。 運算規(guī)則:先替換,后計算。# includ
27、e # define N 5 # define M N+1 # define f(x) (x*M) main() int i1,i2; i1=f(2); i2=f(1+1);printf(“%d %dn”,i1,i2);程序運行結(jié)果是A) 12 12 B) 11 7 C) 11 11 D) 12 73)、標識符的作用域 按照變量出現(xiàn)的位置,將其分為:全局變量和局部變量。按照存儲存儲類別分為:自動型和靜態(tài)型。四個關(guān)鍵字:auto register static extern 局部變量的作用范圍只是其所在的花括號中。而全局變量的作用范圍是從定義開始,一直到程序的結(jié)束。 當同時出現(xiàn)局部變量和全局變量
28、的時候,局部變量有效,而全局變量沒有效果。全局變量相當于一個靜態(tài)變量。 靜態(tài)變量在使用時占有永久的存儲單元。在使用的時候只用看一次其初值。#include int a=5;void fun(int b) int a=10;a+=b; printf(“%d”,a);main()int c=20;fun(c); a+=c; printf(“%dn”,a);4)、動態(tài)存儲分配掌握函數(shù)開辟存儲單元的格式: A、malloc(size) 開辟的是動態(tài)的存儲單元,返回的是一個空指針,若要將其賦值給一個指針變量,必須進行強制類型轉(zhuǎn)換。B、calloc(n,size) 開辟的是動態(tài)的存儲單元,返回的是一個空指
29、針,若要將其賦值給一個指針變量,必須進行強制類型轉(zhuǎn)換。例如:已有定義語句,double *p,請寫出完整的語句,利用malloc函數(shù)使p指向一個雙精度型的動態(tài)存儲單元。 5)、main(int argc,char *argv) 這種含有參數(shù)的題目,是很呆板的題目。第一個參數(shù)是表示輸入的字符串的數(shù)目,第二個參數(shù)是指向存放的字符串。6)、函數(shù)的遞歸調(diào)用。 函數(shù)的遞歸調(diào)用的時候先畫出方框圖,再從后面往前算,即可。11、結(jié)構(gòu)體1)、結(jié)構(gòu)體的定義的格式: struct 結(jié)構(gòu)體名 成員列表;成員列表中,成員的類型可以是不相同的。2)、定義結(jié)構(gòu)體變量的3中格式 A、struct 結(jié)構(gòu)體名 成員列表;stru
30、ct 結(jié)構(gòu)體名 變量名; B、struct 結(jié)構(gòu)體名 成員列表;變量名; C、struct 成員列表;變量名;3)應用結(jié)構(gòu)體變量中的成員-三種方法 A、結(jié)構(gòu)體變量.成員名; B、結(jié)構(gòu)體指針變量成員名; C、(結(jié)構(gòu)體指針變量).成員名4)數(shù)據(jù)傳遞A、傳遞的是結(jié)構(gòu)體變量 :單向傳遞B、傳遞的是結(jié)構(gòu)體變量的地址:雙向傳遞C、傳遞的是結(jié)構(gòu)體變量中的成員:若是地址 雙向傳遞,若是數(shù)值 單向傳遞D、傳遞的是結(jié)構(gòu)體數(shù)組元素: 單向傳遞E、傳遞的是結(jié)構(gòu)體數(shù)組的數(shù)組名:雙向傳遞。舉例子:課本上的題目第156頁最后一題。5)、鏈表首先看清楚題目要求和意思。看清楚鏈表有沒有帶頭結(jié)點,如果帶有都結(jié)點,第一空填的內(nèi)容是
31、p=hnext;如果是不帶有頭結(jié)點,則第一個空填寫的是p=h;如果第二個空是在循環(huán)語句while的括號中的時候里面的內(nèi)容填寫的是p或者是q,以最近出現(xiàn)的為主;如果是在循環(huán)語句的里面的時候,填寫的是q=pnext;如果是排序的時候,從小到大的時候是大于號,從大到小的時候是小于號。如果出出現(xiàn)了r的地方,則在后面的空中填的是r12、數(shù)組和指針1)數(shù)組名即為數(shù)組的首地址,是一個地址常量,不能進行+,-運算,也不能將一個數(shù)據(jù)復制給數(shù)組名。將一個數(shù)組名賦值給一個指針變量后,這個指針變量得到的就是這個數(shù)組中的第一個元素的地址,對指針變量進行移動運算,那么指針將移動,移動的時候若是正數(shù),則往后移動。同時還可以
32、對指針進行中括號運算,得到的將是數(shù)據(jù)的值。例如:int a10;int *p;p=a;p0代表的是 a0元素。p+,代表的是指針往后移動一個位置。int a10;int *p;p=a+1;那么p1代表的元素為a22)、二維數(shù)組的名字也是一個指針,但是為一個指針常量,不能進行+,-運算,也不能將一個數(shù)據(jù)復制給數(shù)組名,注意二維數(shù)組的名字為一個行指針,所以對數(shù)組名加一運算時,是跳過一整行,而不是一個元素。掌握: A、a+1代表的是第2行一整行,得到的是一整行的地址。 B、*(a+1)得到的是第二行中第一個元素的地址。C、*(*(a+1)代表的是第二行中第一個元素的值。3)、指針數(shù)組 指針數(shù)組的定義的
33、格式:類型 *數(shù)組名元素個數(shù);其中數(shù)組中的每一個元素均為指針,代表的都是一個存儲單元的地址。4)行指針行指針的定義格式:類型 (*數(shù)組名)元素個數(shù);對行指針進行+1運算時,得到的是往后一整行的地址。而不是一個元素的地址。5)函數(shù)與數(shù)組函數(shù)在傳遞數(shù)據(jù)的時候要求:形式參數(shù)和實際參數(shù)的個數(shù)要相等,類型要相同。當傳遞的是數(shù)組的時候,要求形式參數(shù)必須是指針或者是數(shù)組。傳遞的是二維數(shù)組的時候,要求形式參數(shù)必須是二維數(shù)組或者是行指針。傳遞的時候雙向傳遞。(二)、公共基礎(chǔ)復習綱要第一章 數(shù)據(jù)結(jié)構(gòu)與算法1.1 算法算法:是一組有窮指令集,是解題方案的準確而完整的描述。通俗地說,算法就是計算機解題的過程。算法不等
34、于程序,也不等于計算方法,程序的編制不可能優(yōu)于算法的設(shè)計。算法是一組嚴謹?shù)囟x運算順序的規(guī)則,每一個規(guī)則都是有效的,且是明確的,此順序?qū)⒃谟邢薜拇螖?shù)下終止。所以其四個基本特征包括:(1)確定性,算法中每一步驟都必須有明確定義,不允許有模棱兩可的解釋,不允許有多義性; (2)有窮性,算法必須能在有限的時間內(nèi)做完,即能在執(zhí)行有限個步驟后終止;(3)可行性,算法原則上能夠精確地執(zhí)行;(4)擁有足夠的情報。算法的基本要素:一是對數(shù)據(jù)對象的運算和操作;二是算法的控制結(jié)構(gòu)。指令系統(tǒng):一個計算機系統(tǒng)能執(zhí)行的所有指令的集合?;具\算和操作包括:算術(shù)運算、邏輯運算、關(guān)系運算、數(shù)據(jù)傳輸。算法的三種基本控制結(jié)構(gòu):順
35、序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)。算法基本設(shè)計方法:列舉法、歸納法、遞推、遞歸、減半遞推技術(shù)、回溯法。算法效率的度量算法復雜度:算法時間復雜度和算法空間復雜度。算法時間復雜度:指執(zhí)行算法所需要的計算工作量。即算法執(zhí)行過程中所需要的基本運算次數(shù)。通常,一個算法所用的時間包括編譯時間和運行時間。算法空間復雜度:指執(zhí)行這個算法所需要的內(nèi)存空間。包括算法程序所占的空間,輸入的初始數(shù)據(jù)所占的空間,算法執(zhí)行過程中所需的額外空間。1.2 數(shù)據(jù)結(jié)構(gòu)的基本概念數(shù)據(jù)結(jié)構(gòu):指相互有關(guān)聯(lián)的數(shù)據(jù)元素的集合。數(shù)據(jù)結(jié)構(gòu)研究的三個方面:(1)數(shù)據(jù)集合中各數(shù)據(jù)元素之間所固有的邏輯關(guān)系,即數(shù)據(jù)的邏輯結(jié)構(gòu);(2)在對數(shù)據(jù)進行處理時,各數(shù)
36、據(jù)元素在計算機中的存儲關(guān)系,即數(shù)據(jù)的存儲結(jié)構(gòu);(3)對各種數(shù)據(jù)結(jié)構(gòu)進行的運算。數(shù)據(jù)的邏輯結(jié)構(gòu)應包含:(1)表示數(shù)據(jù)元素的信息;(2)表示各數(shù)據(jù)元素之間的前后件關(guān)系(指邏輯關(guān)系,與存儲位置無關(guān))。數(shù)據(jù)的邏輯結(jié)構(gòu)在計算機存儲空間中的存放形式稱為數(shù)據(jù)的存儲結(jié)構(gòu),也稱數(shù)據(jù)物理結(jié)構(gòu)。數(shù)據(jù)的存儲結(jié)構(gòu)有順序、鏈接、索引等。線性結(jié)構(gòu)的條件,(一個非空數(shù)據(jù)結(jié)構(gòu)):(1)有且只有一個根結(jié)點; (2)每一個結(jié)點最多有一個前件,也最多有一個后件。非線性結(jié)構(gòu):不滿足線性結(jié)構(gòu)條件的數(shù)據(jù)結(jié)構(gòu)。1.3 線性表及其順序存儲結(jié)構(gòu)線性表是由一組數(shù)據(jù)元素構(gòu)成,數(shù)據(jù)元素的位置只取決于自己的序號,元素之間的相對位置是線性的。在復雜線性表
37、中,由若干項數(shù)據(jù)元素組成的數(shù)據(jù)元素稱為記錄;由多個記錄構(gòu)成的線性表稱為文件。非空線性表的結(jié)構(gòu)特征:(1)且只有一個根結(jié)點a1,它無前件;(2)有且只有一個終端結(jié)點an,它無后件;(3)除根結(jié)點與終端結(jié)點外,其他所有結(jié)點有且只有一個前件,也有且只有一個后件。結(jié)點個數(shù)n稱為線性表的長度,當n=0時,稱為空表。線性表的順序存儲結(jié)構(gòu)具有以下兩個基本特點:(1)線性表中所有元素所占的存儲空間是連續(xù)的;(2)線性表中各數(shù)據(jù)元素在存儲空間中是按邏輯順序依次存放的。元素ai的存儲地址為:ADR(ai)=ADR(a1)+(i-1)k,ADR(a1)為第一個元素的地址,k代表每個元素占的字節(jié)數(shù)。順序表的運算:查找
38、、插入、刪除。 1.4線性鏈表數(shù)據(jù)結(jié)構(gòu)中的每一個結(jié)點對應于一個存儲單元,這種存儲單元稱為存儲結(jié)點,簡稱結(jié)點。結(jié)點由兩部分組成:(1) 用于存儲數(shù)據(jù)元素值,稱為數(shù)據(jù)域;(2) 用于存放指針,稱為指針域,用于指向前一個或后一個結(jié)點。在鏈式存儲結(jié)構(gòu)中,存儲數(shù)據(jù)結(jié)構(gòu)的存儲空間可以不連續(xù),各數(shù)據(jù)結(jié)點的存儲順序與數(shù)據(jù)元素之間的邏輯關(guān)系可以不一致,而數(shù)據(jù)元素之間的邏輯關(guān)系是由指針域來確定的。鏈式存儲方式即可用于表示線性結(jié)構(gòu),也可用于表示非線性結(jié)構(gòu)。線性單鏈表中,HEAD稱為頭指針,HEAD=NULL(或0)稱為空表。如果是雙項鏈表的兩指針:左指針(Llink)指向前件結(jié)點,右指針(Rlink)指向后件結(jié)點。
39、線性鏈表的基本運算:查找、插入、刪除。1.5棧和隊列棧:限定在一端進行插入與刪除的線性表。其允許插入與刪除的一端稱為棧頂,用指針top表示棧頂位置。不允許插入與刪除的另一端稱為棧底,用指針bottom表示棧底。棧按照“先進后出”(FILO)或“后進先出”(LIFO)組織數(shù)據(jù),棧具有記憶作用。棧的存儲方式有順序存儲和鏈式存儲。棧的基本運算:(1) 入棧運算,在棧頂位置插入元素;(2) 退棧運算,刪除元素(取出棧頂元素并賦給一個指定的變量);(3) 讀棧頂元素,將棧頂元素賦給一個指定的變量,此時指針無變化。隊列:指允許在一端(隊尾)進入插入,而在另一端(隊頭)進行刪除的線性表。用rear指針指向隊
40、尾,用front指針指向隊頭元素的前一個位置。隊列是“先進先出”(FIFO)或“后進后出”(LILO)的線性表。隊列運算包括:(1) 入隊運算:從隊尾插入一個元素; (2) 退隊運算:從隊頭刪除一個元素。隊列的順序存儲結(jié)構(gòu)一般采用隊列循環(huán)的形式。循環(huán)隊列s=0表示隊列空;s=1且front=rear表示隊列滿。計算循環(huán)隊列的元素個數(shù):“尾指針減頭指針”,若為負數(shù),再加其容量即可。1.6 樹與二叉樹樹是一種簡單的非線性結(jié)構(gòu),其所有元素之間具有明顯的層次特性。在樹結(jié)構(gòu)中,每一個結(jié)點只有一個前件,稱為父結(jié)點。沒有前件的結(jié)點只有一個,稱為樹的根結(jié)點,簡稱樹的根。每一個結(jié)點可以有多個后件,稱為該結(jié)點的子
41、結(jié)點。沒有后件的結(jié)點稱為葉子結(jié)點。在樹結(jié)構(gòu)中,一個結(jié)點所擁有的后件的個數(shù)稱為該結(jié)點的度,所有結(jié)點中最大的度稱為樹的度。樹的最大層次稱為樹的深度。二叉樹的特點:(1) 非空二叉樹只有一個根結(jié)點;(2) 每一個結(jié)點最多有兩棵子樹,且分別稱為該結(jié)點的左子樹與右子樹。滿二叉樹是指除最后一層外,每一層上的所有結(jié)點有兩個子結(jié)點,則k層上有2k-1個結(jié)點深度為m的滿二叉樹有2m-1個結(jié)點。完全二叉樹是指除最后一層外,每一層上的結(jié)點數(shù)均達到最大值,在最后一層上只缺少右邊的若干結(jié)點。二叉樹基本性質(zhì):(1)在二叉樹的第k層上,最多有2k-1(k1)個結(jié)點; (2)深度為m的二叉樹最多有2m-1個結(jié)點; (3)度為
42、0的結(jié)點(即葉子結(jié)點)總是比度為2的結(jié)點多一個; (4)具有n個結(jié)點的二叉樹,其深度至少為log2n+1,其中l(wèi)og2n表示取log2n的整數(shù)部分(5) 具有n個結(jié)點的完全二叉樹的深度為log2n+1;(6) 設(shè)完全二叉樹共有n個結(jié)點。如果從根結(jié)點開始,按層序(每一層從左到右)用自然數(shù)1,2,n給結(jié)點進行編號(k=1,2.n),有以下結(jié)論:若k=1,則該結(jié)點為根結(jié)點,它沒有父結(jié)點;若k1,則該結(jié)點的父結(jié)點編號為INT(k/2);若2kn,則k結(jié)點的左子結(jié)點編號為2k;否則該結(jié)點無左子結(jié)點(也無右子結(jié)點);若2k+1n,則編號為k的結(jié)點的右子結(jié)點編號為2k+1;否則該結(jié)點無右子結(jié)點。補充:增加度
43、為1的結(jié)點不會影響二叉樹的葉子結(jié)點數(shù),每增加一個度為2的結(jié)點便會增加一個葉子結(jié)點,沒有度為2的結(jié)點時葉子結(jié)點數(shù)為1。已知完全二叉樹有x個結(jié)點,求其葉子結(jié)點數(shù):確定層數(shù)為k; 第k層的結(jié)點數(shù)y=x-(2 k-1-1);第k-1層的葉子結(jié)點數(shù)n=2 (k-1)-1-y/2; 最后y+n。二叉樹存儲結(jié)構(gòu)采用鏈式存儲結(jié)構(gòu),對于滿二叉樹與完全二叉樹可以按層序進行順序存儲。二叉樹的遍歷:(1)前序遍歷(DLR),首先訪問根結(jié)點,然后遍歷左子樹,最后遍歷右子樹;(樹根在第一,下走不跳結(jié)點)(2)中序遍歷(LDR),首先遍歷左子樹,然后訪問根結(jié)點,最后遍歷右子樹;(有左先左,再尋根,后找右。最左邊的結(jié)點最先遍
44、歷,最右邊的結(jié)點最后遍歷)(3)后序遍歷(LRD)首先遍歷左子樹,然后訪問遍歷右子樹,最后訪問根結(jié)點。(有左先左,再找右,后尋根,到最右一路上行,樹根在最后)小結(jié):邏輯結(jié)構(gòu)可分為線性表和非線性表。 線性表包括棧、隊列,其存儲方式為順序存儲、鏈式存儲均可。鏈式型有:線性鏈表,帶鏈的棧, 帶鏈的隊列,循環(huán)鏈表等。 非線性表包括樹(二叉樹),其存儲方式為鏈式存儲。1.7 查找技術(shù)只能使用順序查找的兩種情況:(1)線性表為無序表,不管是順序存儲還是鏈式存儲;(2)表采用鏈式存儲結(jié)構(gòu),即使是有序線性表。二分法查找只適用于順序存儲的有序表,對于長度為n的有序線性表,最壞情況只需比較log2n次,而順序查找
45、需要比較n次。1.8 排序技術(shù)排序是指將一個無序序列整理成按值非遞減順序排列的有序序列。交換類排序法:(1)冒泡排序法,需要比較的次數(shù)為n(n-1)/2; (2 ) 快速排序法。插入類排序法:(1)簡單插入排序法,最壞情況需要n(n-1)/2次比較; (2) 希爾排序法,最壞情況需要O(n1.5)次比較。選擇類排序法:(1)簡單選擇排序法, 最壞情況需要n(n-1)/2次比較;(2) 堆排序法,最壞情況需要O(nlog2n)次比較。相比以上幾種(除希爾排序法外),堆排序法的時間復雜度最小。第二章 程序設(shè)計基礎(chǔ)2.1 程序設(shè)計設(shè)計方法和風格“清晰第一、效率第二”已成為當今主導的程序設(shè)計風格。形成
46、良好的程序設(shè)計風格需注意:(詳見書P27)1、源程序文檔化; 2、數(shù)據(jù)說明的方法; 3、語句的結(jié)構(gòu); 4、輸入和輸出。注釋分序言性注釋和功能性注釋。 語句結(jié)構(gòu)清晰第一、效率第二。2.2 結(jié)構(gòu)化程序設(shè)計結(jié)構(gòu)化程序設(shè)計方法的四條原則是:1、自頂向下; 2、逐步求精; 3、模塊化; 4、限制使用goto語句。結(jié)構(gòu)化程序的基本結(jié)構(gòu)及特點:(1)順序結(jié)構(gòu):一種簡單的程序設(shè)計,最基本、最常用的結(jié)構(gòu);(2)選擇結(jié)構(gòu):又稱分支結(jié)構(gòu),包括簡單選擇和多分支選擇結(jié)構(gòu),可根據(jù)條件,判斷應該 選擇哪一條分支來執(zhí)行相應的語句序列;(3)循環(huán)結(jié)構(gòu):又稱重復結(jié)構(gòu),可根據(jù)給定條件,判斷是否需要重復執(zhí)行某一相同或類似的程序段。結(jié)
47、構(gòu)化程序設(shè)計的特點:只有一個入口和出口2.3 面向?qū)ο蟮某绦蛟O(shè)計面向?qū)ο蟮某绦蛟O(shè)計的首次提出以60年代末挪威奧斯陸大學和挪威計算機中心研制的SIMULA語言為標志。面向?qū)ο蠓椒ǖ膬?yōu)點:(1)與人類習慣的思維方法一致; (2)穩(wěn)定性好; (3)可重用性好;(4)易于開發(fā)大型軟件產(chǎn)品; (5)可維護性好。對象是面向?qū)ο蠓椒ㄖ凶罨镜母拍睿梢杂脕肀硎究陀^世界中的任何實體,對象是實體的抽象。面向?qū)ο蟮某绦蛟O(shè)計方法中,對象是由數(shù)據(jù)的容許的操作組成的封裝體,是系統(tǒng)中用來描述客觀事物的一個實體,是構(gòu)成系統(tǒng)的一個基本單位,由一組表示其靜態(tài)特征的屬性和它可執(zhí)行的一組操作組成。屬性即對象所包含的信息,它在設(shè)計對
48、象時確定,一般只能通過執(zhí)行對象的操作來改變。操作描述了對象執(zhí)行的功能,是對象的動態(tài)屬性,操作也稱為方法或服務(wù)。對象的基本特點:(1)標識惟一性; (2)分類性; (3)多態(tài)性; (4)封裝性; (5)模塊獨立性好。類是指具有共同屬性、共同方法的對象的集合。類是關(guān)于對象性質(zhì)的描述。類是對象的抽象,對象是其對應類的一個實例。消息是一個實例與另一個實例之間傳遞的信息。對象間的通信靠消息傳遞。它請求對象執(zhí)行某一處理或回答某一要求的信息,它統(tǒng)一了數(shù)據(jù)流和控制流。消息的組成包括:(1)接收消息的對象的名稱; (2)消息標識符,也稱消息名; (3)零個或多個參數(shù)。繼承是使用已有的類定義作為基礎(chǔ)建立新類的定義
49、技術(shù),廣義指能夠直接獲得已有的性質(zhì)和特征,而不必重復定義他們。繼承具有傳遞性,一個類實際上繼承了他上層的全部基類的特性。繼承分單繼承和多重繼承。單繼承指一個類只允許有一個父類,即類等級為樹形結(jié)構(gòu);多重繼承指一個類允許有多個父類。多態(tài)性是指同樣的消息被不同的對象接受時可導致完全不同的行動的現(xiàn)象第三章 軟件工程基礎(chǔ)3.1 軟件工程基本概念計算機軟件是包括程序、數(shù)據(jù)及相關(guān)文檔的完整集合。軟件的特點包括:(1)軟件是一種邏輯實體,具有抽象性;(2)軟件的生產(chǎn)與硬件不同,它沒有明顯的制作過程;(3)軟件在運行、使用期間不存在磨損、老化問題;(4)軟件的開發(fā)、運行對計算機系統(tǒng)具有依賴性,受計算機系統(tǒng)的限制
50、,這導致了軟件移植的問題;(5)軟件復雜性高,成本昂貴;(6)軟件開發(fā)涉及諸多的社會因素。軟件按功能分為應用軟件、系統(tǒng)軟件、支撐軟件(或工具軟件)。軟件危機主要表現(xiàn)在成本、質(zhì)量、生產(chǎn)率等問題。軟件工程是應用于計算機軟件的定義、開發(fā)和維護的一整套方法、工具、文檔、實踐標準和工序。簡單的說就是使軟件走向工程化。軟件工程的核心思想是把軟件產(chǎn)品看作是一個工程產(chǎn)品來處理。軟件工程包括3個要素:方法、工具和過程。軟件工程過程是把軟件轉(zhuǎn)化為輸出的一組彼此相關(guān)的資源活動,包含4種基本活動:(1)P(plan)軟件規(guī)格說明; (2)D(do)軟件開發(fā); (3)C(check)軟件確認; (4)A(action)
51、軟件演進。軟件生命周期:軟件產(chǎn)品從提出、實現(xiàn)、使用維護到停止使用退役的過程。軟件生命周期分三個階段:軟件定義、軟件開發(fā)、運行維護,主要活動階段是:(1)可行性研究與計劃制定; (2)需求分析;(3)軟件設(shè)計(概要設(shè)計和詳細設(shè)計); (4)軟件實現(xiàn); (5)軟件測試; (6)運行和維護。軟件工程的目標:在給定成本、進度的前提下,開發(fā)出具有有效性、可靠性、可理解性、可維護性、可重用性、可適應性、可移植性、可追蹤性和可互操作性且滿足用戶需求的產(chǎn)品?;灸繕耍焊冻鲚^低的開發(fā)成本;達到要求的軟件功能;取得較好的軟件性能;開發(fā)軟件易于移植;需要較低的費用;能按時完成開發(fā),及時交付使用。軟件工程的理論和技術(shù)
52、性研究的內(nèi)容主要包括:軟件開發(fā)技術(shù)和軟件工程管理。軟件開發(fā)技術(shù)包括:軟件開發(fā)方法學、開發(fā)過程、開發(fā)工具和軟件工程環(huán)境。軟件開發(fā)環(huán)境或軟件工程環(huán)境是指全面支持軟件開發(fā)全過程的軟件工具的集合。軟件工程管理包括:軟件管理學、軟件工程經(jīng)濟學、軟件心理學等內(nèi)容。軟件管理學包括人員組織、進度安排、質(zhì)量保證、配置管理、項目計劃等。軟件工程基本原則:抽象、信息隱蔽、模塊化、局部化、確定性、一致性、完備性和可驗證性。3.2 結(jié)構(gòu)化分析方法結(jié)構(gòu)化方法的核心和基礎(chǔ)是結(jié)構(gòu)化程序設(shè)計理論。軟件定義階段中,可行性研究與計劃的制定是確定待開發(fā)目標和總的要求,給出它的功能、性能、可靠性以及接口等方面的可能方案,制定完成開發(fā)的
53、實施計劃。需求分析,對待開發(fā)軟件提出的需求分析并給出詳細的定義。需求分析階段的工作:需求獲取,需求分析,編寫需求規(guī)格說明書,需求評審。需求分析方法有:(1)結(jié)構(gòu)化需求分析方法; 面向數(shù)據(jù)結(jié)構(gòu)的Jackson方法(ISD);面向數(shù)據(jù)流的結(jié)構(gòu)化分析方法(SA);面向數(shù)據(jù)結(jié)構(gòu)的結(jié)構(gòu)化數(shù)據(jù)系統(tǒng)開發(fā)方法(DSSD);(2)面向?qū)ο蟮姆治龅姆椒ǎ∣OA)。從需求分析建立的模型的特性來分:靜態(tài)分析和動態(tài)分析。結(jié)構(gòu)化分析方法的實質(zhì):著眼于數(shù)據(jù)流,自頂向下,逐層分解,建立系統(tǒng)的處理流程,以數(shù)據(jù)流圖和數(shù)據(jù)字典為主要工具,建立系統(tǒng)的邏輯模型。結(jié)構(gòu)化分析的常用工具:數(shù)據(jù)流圖;數(shù)據(jù)字典;判定樹;判定表。(1)數(shù)據(jù)流圖(
54、DFD圖):描述數(shù)據(jù)處理過程的工具,是需求理解的邏輯模型的圖形表示,它直接支持系統(tǒng)功能建模。加工(轉(zhuǎn)換)圓框,輸入數(shù)據(jù)經(jīng)加工變換產(chǎn)生的輸出。數(shù)據(jù)流箭頭,沿箭頭方向傳遞數(shù)據(jù)的通道,一般在旁邊標注數(shù)據(jù)流名。存儲文件(數(shù)據(jù)源)雙橫線,表示處理過程中存放各種數(shù)據(jù)的文件。源、潭方框,表示系統(tǒng)和環(huán)境的接口,屬系統(tǒng)之外的實體。(2)數(shù)據(jù)字典:對所有與系統(tǒng)相關(guān)的數(shù)據(jù)元素的一個有組織的列表,以及精確的、嚴格的定義,使得用戶和系統(tǒng)分析員對于輸入、輸出、存儲成分和中間計算結(jié)果有共同的理解。數(shù)據(jù)字典是結(jié)構(gòu)化分析的核心。(3)判定樹:從問題定義的文字描述中分清哪些是判定的條件,哪些是判定的結(jié)論,根據(jù)描述材料中的連接詞找出判定條件之間的從屬關(guān)系、并列關(guān)系、選擇關(guān)系,根據(jù)它們構(gòu)造判定樹。(4)判定表:與判定樹相似,當數(shù)據(jù)流圖中的加工要依賴于多個邏輯條件的取值,即完成該加工的一組動作是由于某一組條件取值的組合而引發(fā)的,使用判定表描述比較適宜。軟件需求規(guī)格說明書的特點:正確性; 無岐義性; 完整性; 可驗證性; 一致性; 可理解性; 可修改性; 可追蹤性。3.3 結(jié)構(gòu)化設(shè)計方法軟件設(shè)計是
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024《增值稅法》全文學習解讀(規(guī)范增值稅的征收和繳納保護納稅人的合法權(quán)益)
- 2024《文物保護法》全文解讀學習(加強對文物的保護促進科學研究工作)
- 銷售技巧培訓課件:接近客戶的套路總結(jié)
- 20種成交的銷售話術(shù)和技巧
- 銷售技巧:接近客戶的8種套路
- 銷售套路總結(jié)
- 房產(chǎn)銷售中的常見問題及解決方法
- 銷售技巧:值得默念的成交話術(shù)
- 銷售資料:讓人舒服的35種說話方式
- 汽車銷售績效管理規(guī)范
- 銷售技巧培訓課件:絕對成交的銷售話術(shù)
- 頂尖銷售技巧總結(jié)
- 銷售技巧:電話營銷十大定律
- 銷售逼單最好的二十三種技巧
- 銷售最常遇到的10大麻煩