第一篇:語言及程序設(shè)計要點總結(jié)
第二章 微處理器的結(jié)構(gòu)
1.8086微處理器的內(nèi)部結(jié)構(gòu)及功能 2.8086的段式存儲結(jié)構(gòu)
段地址+偏移量地址=存儲單元的物理地址
或者,段寄存器的值*16+偏移地址=存儲單元的物理地址
3.段寄存器,通用寄存器,指針與變址寄存器,標志寄存器
(1)段寄存器通常和哪些寄存器配合形成物理地址 ds:Bx si di ss:bp(2)有哪些寄存器可以作為地址指針,訪問存儲單元
4.尋址方式(1)尋址方式的概念(2)尋址方式的分類
(3)各尋址方式中對于寄存器的限制(4)各類尋址方式的格式
(5)有哪些用于存儲器訪問的尋址方式
Mov ax,val
mov ax,[bx] mov ax,[si]
mov ax,[bx][si] 第三章 指令及尋址方式(參照課件)
1.匯編語句格式:
[標號]
操作符
操作數(shù)
[;注釋] 2.標號的概念以及其三個屬性 Seg offset type 3.偽指令:
(1)符號定義偽指令:EQU
(2)數(shù)據(jù)定義偽指令:DB,DW,DD(3)段定義偽指令:SEGMENT、ENDS、ASSUME、END(4)代碼定位偽指令ORG
4、運算符
(1)分析算符:SEG,OFFSET,SIZE,TYPE, LENGTH(2)組合算符:PTR 5.指令語句與偽指令語句的區(qū)別 6.數(shù)據(jù)段、堆棧段、代碼段的用途
第四章 指令及程序設(shè)計
一、順序結(jié)構(gòu)
1.數(shù)據(jù)傳送指令:MOV、PUSH、POP、XCHG、XLAT、LEA 2.算數(shù)運算指令:ADD、ADC、INC、SUB、SBB、DEC、NEG、CMP
MUL、IMUL、DIV、IDIV 3.邏輯運算指令:TEST、OR、AND、NOT、XOR 4.移位指令:(SHL、SHR、SAL、SAR、ROL、ROR、RCL、RCR)邏輯左移/右移,算數(shù)左移/右移,循環(huán)左移/右移,帶進位的循環(huán)左移/右移;以及移位指令對于CF、OF標志位的影響
二、分支結(jié)構(gòu)
1.無條件轉(zhuǎn)移指令
jmp 2.有條件的轉(zhuǎn)移指令(1)Jc/jnc
Jo/jno Jz/jnz Jp/jnp Js/jns(2)Ja jbe(3)Jg jl 3.分支程序編寫
三、循環(huán)結(jié)構(gòu)
1.循環(huán)控制指令LOOP 2.循環(huán)程序編寫(兩種控制方式 CX)
四、子程序結(jié)構(gòu)
1.子程序定義偽指令、調(diào)用指令、返回指令 2.子程序設(shè)計中對于堆棧操作的要求 3.子程序的設(shè)計
五、綜合程序設(shè)計
例:求內(nèi)存中三組數(shù)據(jù)中最小值。(1)子程序
(2)求最小值.循環(huán)
分支
第二篇:語言及程序設(shè)計要點總結(jié)
第三章 微型計算機結(jié)構(gòu)
1.8086的段式存儲結(jié)構(gòu)
段地址+偏移量地址=存儲單元的物理地址
或者,段寄存器的值*16+偏移地址=存儲單元的物理地址
2.段寄存器,通用寄存器,指針與變址寄存器,標志寄存器
(1)段寄存器通常和哪些寄存器配合形成物理地址 ds:Bx si di ss:bp(2)有哪些寄存器可以作為地址指針,訪問存儲單元
3.尋址方式(1)尋址方式的概念(2)尋址方式的分類
(3)各尋址方式中對于寄存器的限制(4)各類尋址方式的格式
(5)有哪些用于存儲器訪問的尋址方式
Mov ax,val
mov ax,[bx] mov ax,[si]
mov ax,[bx][si](6)段跨越
第四章 匯編語言(參照課件)
1.匯編語句格式:
[標號]
操作符
操作數(shù)
[;注釋] 2.標號的概念以及其三個屬性 Seg offset type 3.偽指令:
(1)符號定義偽指令:EQU
(2)數(shù)據(jù)定義偽指令:DB,DW,DD(3)段定義偽指令:SEGMENT、ENDS、ASSUME、END(4)代碼定位偽指令ORG
4、運算符
(1)分析算符:SEG,OFFSET,SIZE,TYPE, LENGTH(2)組合算符:PTR 5.指令語句與偽指令語句的區(qū)別
6.數(shù)據(jù)段、堆棧段、代碼段的用途
第五章 順序結(jié)構(gòu)程序設(shè)計
1.數(shù)據(jù)傳送指令:MOV、PUSH、POP、XCHG、XLAT、LEA 2.算數(shù)運算指令:ADD、ADC、INC、SUB、SBB、DEC、NEG、CMP
MUL、IMUL、DIV、IDIV 3.邏輯運算指令:TEST、OR、AND、NOT、XOR 4.移位指令:(SHL、SHR、SAL、SAR、ROL、ROR、RCL、RCR)邏輯左移/右移,算數(shù)左移/右移,循環(huán)左移/右移,帶進位的循環(huán)左移/右移;以及移位指令對于CF、OF標志位的影響
第六章 分支結(jié)構(gòu)程序設(shè)計
1.無條件轉(zhuǎn)移指令
jmp 2.有條件的轉(zhuǎn)移指令(教材P102)(1)Jc/jnc
Jo/jno Jz/jnz Jp/jnp Js/jns(2)Ja jbe(3)Jg jl 3.分支程序編寫
第七章 循環(huán)結(jié)構(gòu)程序設(shè)計
1.循環(huán)控制指令LOOP、LOOPE/Z、LOOPNE/NZ以及他們的控制條件(對CF、ZF的判斷)2.循環(huán)程序編寫
3.串操作
ds:si es:di si di +-1/2
第八章 子程序設(shè)計
1.子程序定義偽指令、調(diào)用指令、返回指令 2.子程序設(shè)計中對于堆棧操作的要求 3.子程序的設(shè)計
第十二章 輸入與輸出中斷
1.IN、OUT、INT指令的指令格式 2.CPU與外設(shè)之間的接口信號 3.CPU與外設(shè)之間的數(shù)據(jù)傳送方式 4.CPU響應(yīng)硬件可屏蔽中斷的條件 5.8086/8088的中斷類型的分類
6.中斷向量表、中斷向量的概念
7、硬件中斷和軟件中斷的區(qū)別
一 選擇
20分
10-20道 二 判斷改錯
20分
10道 三
簡答
20分
3-4道
四
程序分析
20分
3-4道 五
程序設(shè)計
20分
2道*10分
循環(huán)+分支+子程序
類似:求內(nèi)存中三組數(shù)據(jù)中最小值。(1)子程序
(2)求最小值.N
循環(huán)
分支
第三篇:《C語言及程序設(shè)計》在線作業(yè)答案
一、單選題(共 15 道試題,共 75 分。)V 1.合法的C語言標識符是()。A.abc B.2ab C._a1 D./n
滿分:5 分
2.有兩個字符數(shù)組a、b,則以下正確的輸入
語句是()。A.gets(a,b);B.“scanf(”“%s%s”“,a,b);” C.“scanf(”“%s%s”“,a,b);” D.“gets(”“a”“),gets(”“b”“);”
滿分:5 分
3.若運行以下程序時,從鍵盤輸入25,13,10回車,則輸出結(jié)果為()。
main(){inta1,a2,a3;scanf(“%d%d%d”,a1,a2,a3);printf(“a1+a2+a3=%
dn”,a1+a2+a3);} A.a1+a2+a3=48 B.a1+a2+a3=25 C.a1+a2+a3=10 D.不確定值
滿分:5 分
4.以下為一維整型數(shù)組a的正確說明是
()。A.inta(10);B.“intn=10,a[n];” C.“intn;scanf(”“%d”“,n);” D.“#defineSIZE10;inta[SIZE];inta[n];”
滿分:5 分
5.以下能對二維數(shù)組a進行正確初始化的語句是()。
A.inta[2][]={{1,0,1},{5,2,3}};B.“inta[][3]={{1,2,3},{4,5,6}};” C.“inta[2][4]={{1,2,3},{4,5},{6}};” D.“inta[][3]={{1,0,1},{},{1,1}};”
滿分:5 分
6.函數(shù)rewind(fp)的作用是:使文件位置
指針()。A.重新返回文件的開頭 B.返回到前一個字符的位置
C.指向文件的末尾
D.自動移至下一個字符的位置
滿分:5 分
7.以下敘述中不正確的是()
A.在C程序中,調(diào)用函數(shù)時,只能把實參的值傳送給形參,形參的值不
能傳送給實參
B.在C程序的函數(shù)中,最好使用全局變量 C.在C程序中,形參只是局限于所在函數(shù) D.在C程序中,函數(shù)名的存儲類別為外部
滿分:5 分
8.以下程序段()。intx=1,y=4;printf(x B.輸出:x=1 C.輸出:y=1 D.輸出:y=4 滿分:5 分 9.下列四組選項中,均是不合法的用戶標識符的選項是______。 A.AP_0do B.floatgoto_A C.b-agotoint D._123tempINT 滿分:5 分 10.已知字母A的ASCII碼為(65)10,變量ch1為字符型,則執(zhí)行語句 ch1='A'+'6'-'3';后,ch1中的值為()。 A.D B.68 C.一個不確定的值 D.C 滿分:5 分 11.若x為float型變量,則以列程序段結(jié)果是()x=1234.6789;printf(“%- 2.1f”,x); A.輸出格式描述符的域?qū)挾炔粔?,不能?/p> 出 B.輸出為1234.7 C.輸出為1234.6 D.輸出為-1234.6 滿分:5 分 12.sizeof(float)是()。A.雙精度型表達式 B.一個整型表達式 C.一個函數(shù)調(diào)用 D.一個不合法的表達式 滿分:5 分 13.071^052的結(jié)果是() A.32 B.16 C.23 D.22 滿分:5 分 14.若有定義:intx=7;floata=2.5,b=4.7;則表達式a+x%3*(int)(a+b)%2/4 的值是()。 A.2.5 B.2.75 C.3.5 D.0 滿分:5 分 15.有下列語句和賦值語句:(1)charstr[]=”iamaboy.”(2)charstr [12]=”iamaboy.”(3)char*p=”iamaboy.”(4)p=”iamaboy.”下列說法正 確的是()A.只有(1)、(2)正確 B.只有(3)、(4)正確 C.只有(1)、(3)、(4)正確 D.只有(3)正確 滿分:5 分 1c2c 3 D4d5b6a 7b8c9c 10a 11B12B13A14A15B 二、判斷題(共 5 道試題,共 25 分。)V 1.聲明語句int a[]={0};可以對 一維數(shù)組a進行正確初始化。 A.錯誤 B.正確 T滿分:5 分 2.在c語言中,函數(shù)形參的存儲類型是自 動類型的變量 A.錯誤 B.正確 F 滿分:5 分 3.函數(shù)必須有返回值,否則不能使用函數(shù) A.錯誤 B.正確 F 滿分:5 分 4.已知int a[]={1,2,3,4},y,*p=&a[1];則執(zhí)行語句y(*--p)++;變量y的值是3。 A.錯誤 B.正確 F 滿分:5 分 5.C語言fread()函數(shù)的功能是從文件fp中讀取n個字符存入指定的內(nèi)存 。A.錯誤 B.正確 T 滿分:5 分 第一章 程序設(shè)計算法概述 一.選擇題 (一)基本概念 1、一個C語言程序總是從()。 A、主過程開始執(zhí)行 B、主 函數(shù)開始執(zhí)行 C、子程序開始執(zhí)行 D、主 程序開始執(zhí)行 【答案】B 2、下面四個選項中,均是C語言關(guān)鍵字的選項是()。 A、auto enum include B、switch typedef continue C、signed union scanf D、if struct type 【答案】B 3、下面四個選項中,均是合法整型常量的選項是()。 A、160-0xffff 01B、-0xcdf 01a 0xe C、-01 986,012 0668 D、-0x48a 2e5 0x 【答案】A 4、以下不正確的C語言標識符是()。 A、int B、a_1_2 C、ab1exe D、_x 【答案】A 5、以下是正確的C語言標識符是()。 A、#define B、_123 C、%d D、n 【答案】B 6、下列四組選項中,均不是C語言關(guān)鍵字的選項是()。 A、define IF type B、getc char printf C、include scanf case D、while go pow 【答案】A 7、下列不屬于C語言關(guān)鍵字的是()。 A、default B、register C、enum D、external 【答案】D 8、合法的C語言標識符是()。 A、ab&c B、2ab C、_a1 D、/n 【答案】C 9、下列四組選項中,均是不合法的用戶標識符的選項是______。 A、A P_0 do B、float goto _A C、b-a goto int D、_123 temp INT 【答案】C 二.填空題 1.在C語言中的實型變量分為兩種類型,它們是 和。 【答案】單精度型(或float型) 雙精度型(或:double型) 2.C語言規(guī)定,可執(zhí)行程序的開始執(zhí)行點是。 【答案】程序中的main()函數(shù) 3.C語言中三中基本的程序結(jié)構(gòu) 是 、和。 【答案】順序結(jié)構(gòu);分支(選擇)結(jié)構(gòu);循 環(huán)結(jié)構(gòu) 4.一個C源程序必須包含一個。 【答案】main函數(shù) 5.在C語言中,char型數(shù)據(jù)在內(nèi)存中的存 儲形式是。 【答案】ASCII碼 6.用計算機實現(xiàn)算法的過程稱 為。 【答案】程序設(shè)計 7.C源程序的基本單位是。 【答案】函數(shù) 8.int型數(shù)據(jù)(2byte)可表示的數(shù)值范圍 為。 【答案】-32768—32767 9.C語言的標識符只能由三種字符組成,它們是 【答案】字母、數(shù)字、下劃線 三.判斷題:(正確:T;錯誤:F) 1.在C程序中main函數(shù)必須位于程序的最 前面 【答案】F 2.C語言本身沒有輸入輸出語句 【答案】T 3.一個C源程序可由一個或多個函數(shù)組成 【答案】T 4.在C程序中,注釋說明只能位于一條語 句的后面 【答案】F 四.簡答-完善程序-分析程序 1、c語言程序的總體結(jié)構(gòu)是怎樣的。 【答案】 一個完整的c語言程序,是由一個、且只能由一個main()函數(shù)(又稱主函數(shù))和若 干個其他函數(shù)結(jié)合而成的,或僅由一個 main()函數(shù)構(gòu)成。 2、c語言程序的基本單位是什么?它的結(jié)構(gòu) 又如何? 【答案】 函數(shù)是c語言程序的基本模塊單元。 任何函數(shù)(包括主函數(shù)main())都是由函數(shù)說明和函數(shù)體兩部分組成。其一般結(jié)構(gòu)如 下: [函數(shù)類型] 函數(shù)名(函數(shù)參數(shù)表) { 說明語句部分; 執(zhí)行語句部分;} 3、主函數(shù)main()在程序中的地位如何。程序總是從哪個函數(shù)開始執(zhí)行,到哪個函數(shù)執(zhí) 行完后結(jié)束? 【答案】 main()函數(shù)的作用相當于其他高級語言中的主程序;其他函數(shù)的作用相當于子程序。 一個c語言程序,總是從main()函數(shù)開始執(zhí)行,而不論其在程序中的位置。當主函數(shù)執(zhí)行完畢時,亦即程序執(zhí)行完畢。習慣上,將主函數(shù)main()放在最前頭。 4、C語言用戶標識符的定義方式是什么? 【答案】 c語言規(guī)定標識符只能由字母、數(shù)字和下劃線3種字符組成,且第一個字符必須為字母或下劃線,同時c語言還規(guī)定標識符不能為 c語言的關(guān)鍵字。 5、說明算法可以采用哪幾種控制結(jié)構(gòu)組合。 【答案】 算法的控制結(jié)構(gòu)給出了算法的基本框架,不僅決定了算法中各操作的執(zhí)行順序,也直接反映了算法的設(shè)計是否符合結(jié)構(gòu)化原則。一個算法一般可以用順序、選擇、循環(huán)三種基本控制結(jié)構(gòu),通過順序或嵌套組合而成。 6、算法的基本特征是什么? 【答案】 一個算法,一般應(yīng)具有以下幾個基本特征??尚行浴⒋_定性、有窮性、一個輸入、零個 或多個輸出。 7、常見的過程設(shè)計工具有哪些?為什么可以N-S圖代替?zhèn)鹘y(tǒng)的程序流程圖? 【答案】 常見的過程設(shè)計工具有:程序流程圖、N-S圖、PAD圖和HIPO圖。為了避免流程圖在描述程序邏輯時的靈活性,提出了用方框圖來代替?zhèn)鹘y(tǒng)的程序流程圖,通常也把這種圖 稱為N-S圖。 8、“在源文件的一行上可以有多條預(yù)處理命令”是否正確,為什么? 【答案】 通常,預(yù)處理命令位于源文件的開頭,也可以寫在函數(shù)與函數(shù)之間;不能在一行上寫多條預(yù)處理命令:宏名一般習慣用大寫字母表示,以便與變量名相區(qū)別,但這并非規(guī)定,也可用小寫字母。 五.程序設(shè)計題 1.已知三角形的三邊長,求其面積。假設(shè)輸入的三邊能構(gòu)成三角形,三角形的面積公式 為: Area=,其中S=(a+b+c)/2。 【參考答案】 #include “math.h” Main() { Float a,b,c,s,area; Printf(“請輸入三角形的三邊:”); Scanf(“%f,%f,%f”,&a,&b,&c); S=(a+b+c)/2.0; Area=sqrt(s*(s-a)*(s-b)*(s-c)); Printf(“三角形的三邊為:%7.2f, %7.2f, %7.2fn”,a,b,c); Prinft(“三角形的面積為:%7.2fn”,area); } 2.編寫程序讀入3個雙精度數(shù),求它們的平均值,并保留此平均值小數(shù)點一位,對小數(shù)點后第二位進行四舍五入,并輸出結(jié)果。 【參考答案】 #include “stdio.h” mian() { double x,y,z; double aver; long temp; printf(“n請輸入三個雙精度數(shù):” scanf(“%lf%lf%lf”,&x,&y,&z); aver=(x+y+z)/3; temp=aver*10; temp=(aver*10-temp)*2+temp; aver=temp/10.0;); printf(“n平均值為:%.1lf”,aver); } 3.輸入兩個整數(shù),求出它們的商數(shù)和余數(shù)并 進行輸出。 【參考答案】 #include “stdio.h” main() { int x,y; int shang ,yu; printf(“n請輸入兩個整數(shù):”); scanf(“%d%d”,&x,&y);” shang=x/y; yu=x%y; printf(“%d%d的商為:%d,余數(shù)為%d”,x,y,shang,yu); } 第二章 數(shù)據(jù)類型、運算符與表達式 一.選擇題 1、若num、a、b和c都是int型變量,則執(zhí)行表達式num=(a=4,b=16,c=32)后num的值為()。 A、4B、16 C、32 C D、52 【答案】C 2、若有變量說明:int a=0,b=0,c=0;,以下符合C語言語法的賦值表達式是()。 A、a=9+b+c=a+9 B、a=9+b;c=a+9; C、a=(9+b,b++) D、a=9+b++=a+7 【答案】C 3、若有以下類型說明語句:char a;int b;float c;double d;則表達式a*b-2*d+c的結(jié)果類型為()。 A、float B、char C、int D、double 【答案】D 4、下面四個選項中,均是合法浮點數(shù)的選 項是()。 A、+1e+1 5e-9.4 03e2 B、-.60 12e-4-8e5 C、123e 1.2e-.4 +2e-1 D、-e3.8e-4 5.e-0 【答案】B 5、下面四個選項中,均是合法轉(zhuǎn)義字符的選項是()。 A、''' '' 'n' B、'' '