已閱讀5頁,還剩3頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
C語言程序設(shè)計 實驗報告專業(yè) 信息安全 班級 1103 日期 成績 實驗組別 第 1次實驗 指導(dǎo)教師 學(xué)生姓名 嚴志穎 學(xué)號 U201114113 同組人姓名 實驗名稱 編譯預(yù)處理實驗 一、實驗?zāi)康? 掌握文件包含、宏定義、條件編譯、assert宏的使用;2 練習(xí)帶參數(shù)的宏定義、條件編譯的使用;3 練習(xí)assert宏的使用;4 使用codeblocks開發(fā)環(huán)境中的調(diào)試功能:單步執(zhí)行、設(shè)置斷點、觀察變量值。二、實驗任務(wù)1源程序改錯題下面是用宏來計算平方差、交換兩數(shù)的源程序,在這個源程序中存在若干語法和邏輯錯誤。要求在計算機上對這個例子程序進行調(diào)試修改,使之能夠正確完成指定任務(wù)。#include stdio.h#define SUM a+b#define DIF a-b#define SWAP(a,b) a=b,b=avoid main int b, t; printf(Input two integers a, b:); scanf(%d,%d, &a,&b); printf(nSUM=%dn the difference between square of a and square of b is:%d,SUM, SUM*DIF); SWAP(a,b); Printf(nNow a=%d,b=%dn,a,b);2源程序修改替換題下面是用函數(shù)實現(xiàn)求三個數(shù)中最大數(shù)、計算兩數(shù)之和的程序,在這個源程序中存在若干語法和邏輯錯誤。要求:1)對這個例子程序進行調(diào)試修改,使之能夠正確完成指定任務(wù);2)用帶參數(shù)的宏替換函數(shù)max,來實現(xiàn)求最大數(shù)的功能。void main(void) int a, b, c; float d, e; printf(Enter three integers:); scanf(%d,%d,%d,&a,&b,&c); printf(nthe maximum of them is %dn,max(a,b,c);printf(Enter two floating point numbers:);scanf(%f,%f,&d,&e);printf(nthe sum of them is %fn,sum(d,e);int max(int x, int y, int z) int t; if (xy) t=x; else t=y; if (tz) t=z; return t;float sum(float x, float y) return x+y;3跟蹤調(diào)試題 下面程序利用R計算圓的面積s,以及面積s的整數(shù)部分。#define Rvoid main(void)float r, s;int s_integer=0; printf (input a number: ); scanf(%f,&r); #ifdef R s=3.14159*r*r; printf(area of round is: %fn,s); s_integer= integer_fraction(s); printf(the integer fraction of area is %dn, s_integer); assert(s-s_integer)1.0); #endifint integer_fraction(float x) int i=x; return i;1)修改程序,使程序編譯通過且能運行;2)單步執(zhí)行。進入函數(shù)decimal_fraction時watch窗口中x為何值?在返回main時, watch窗口中i為何值?3)排除錯誤,使程序能正確輸出面積s值的整數(shù)部分,不會輸出錯誤信息assertion failed。4編程設(shè)計題(1)三角形的面積是,其中,a,b,c為三角形的三邊,定義兩個帶參數(shù)的宏,一個用來求s,另一個用來求area。編寫程序,用帶參數(shù)的宏來計算三角形的面積。(2)用條件編譯方法來編寫程序。輸入一行電報文字,可以任選兩種輸出:一為原文輸出;二為變換字母的大小寫(如小寫a變成大寫A,大寫D變成小寫d),其他字符不變。用#define命令控制是否變換字母的大小寫。例如,#define CHANGE 1 則輸出變換后的文字,若#define CHANGE 0則原文輸出。三、實驗步驟及結(jié)果1源程序改錯題修改后的程序如下:#include #define SUM (a+b)#define DIF (a-b)#define SWAP(a,b) t=a,a=b,b=tint main(void) int a,b,t; printf(Input two integers a b:); scanf(%d%d, &a,&b); printf(nSUM=%dnthe difference between square of a and square of b is:%d,SUM,SUM*DIF); SWAP(a,b); printf(nNow a=%d,b=%dn,a,b); return 0;運行結(jié)果:2源程序修改替換題(1):修改后的程序#includeint max(int x, int y, int z) int t; if (xy) t=x; else t=y; if (tz) t=z; return t;float sum(float x, float y) return (x+y);int main() float d, e; int a,b,c; printf(Please input three numbers:); scanf(%d%d%d,&a,&b,&c); printf(nThe max of them is %dn,max(a,b,c); printf(Enter two float numbers:); scanf(%f%f,&d,&e); printf(nThe sum of them is %.2fn,sum(d,e); return 0;運行結(jié)果:(2)替換后的程序:#include#define sum (d+e)#define max(int x, int y, int z) (if(xy) t=y ;else t=x ;if(tz) t=z ;return t)int main() float d, e; int a,b,c; printf(Please input three numbers:); scanf(%d%d%d,&a,&b,&c); printf(nThe max of them is %dn,max(a,b,c); printf(Enter two float numbers:); scanf(%f%f,&d,&e); printf(nThe sum of them is %.2fn,sum); return 0;運行結(jié)果:3跟蹤調(diào)試題(1)修改后的程序:#include#define Rint integer_fraction(float x);int main() float r, s; int s_integer; printf(Input a number:); scanf(%f,&r); #ifdef R s=3.14159*r*r; printf(The area of round is: %fn,s); s_integer=integer_fraction(s); printf(The integer fraction of area is %dn,s_integer); assert(s-s_integer)1.0); #endif return 0;int integer_fraction(float x) int i=x; return i;(2)單步調(diào)試:(3)運行結(jié)果:4編程設(shè)計題(1)計算三角形面積的帶宏的程序如下:#include#include#define S(a,b,c) (a+b+c)/2#define AREA(s,a,b,c) sqrt(s*(s-a)*(s-b)*(s-c)int main() float a,b,c,s,area; printf(Input three edges of the trianglen); scanf(%f%f%f,&a,&b,&c); s=S(a,b,c); area=AREA(s,a,b,c); printf(area=%.2fn,area); return 0;運行結(jié)果:(2)源程序如下:#include#define N 100#define CHANGE 1int main() char strN; int i=0; printf(Please enter a str:); gets(str); while(stri!=0)#if CHANGE while(stri=A&stri=a&stri=A&stri=Z) stri=stri+a-A;
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年太陽能電池及組件項目規(guī)劃申請報告模范
- 2025年旅游景區(qū)管理服務(wù)項目申請報告模范
- 2024-2025學(xué)年銅山縣數(shù)學(xué)三上期末質(zhì)量檢測試題含解析
- 2025年氯金酸項目申請報告模范
- 財務(wù)類實習(xí)報告模板合集5篇
- 2025年汽車隔音材料項目申請報告模板
- 畢業(yè)財務(wù)實習(xí)報告4篇
- 餐廳服務(wù)員的辭職報告15篇
- 我與青少年科技活動600字獲獎?wù)魑?0篇范文
- 個人寒假實習(xí)報告
- 設(shè)計驗證和生產(chǎn)確認[福特FORD]
- 工作場所空氣中有害物質(zhì)監(jiān)測的采樣規(guī)范課件159-2004
- 醫(yī)院醫(yī)用氣體管路的設(shè)計計算(2014)
- 土地儲備專項債券發(fā)行操作流程
- 沙鍋餐飲行業(yè)管理公司采購管理手冊
- 合同范本之采購合同誰保管
- 農(nóng)村小學(xué)生上下學(xué)交通安全教育的研究
- 雍琦版法律邏輯學(xué)課后習(xí)題答案全
- 學(xué)校暑期維修方案
- 國家自然科學(xué)基金進展報告
- 小車多方式運行的PLC控制——PLC控制系統(tǒng)課程設(shè)計
評論
0/150
提交評論