版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、.1.3實驗一熟悉 c語言的 vc+6.0 編程環(huán)境一、實驗?zāi)康呐c要求1. 學會使用 visual c+ 集成開發(fā)環(huán)境。2掌握簡單c程序的編寫、編輯、編譯、連接和運行。3初步學會visual c+ 環(huán)境下簡單調(diào)試c 程序的方法。二、實驗內(nèi)容1. 程序運行題( 1)打開 vc+6.0 環(huán)境。(2)在 vc+6.0 環(huán)境的編輯窗口中,輸入如下程序保存為myexp1_1.cpp 。(3)選擇【組建】【編譯 myexp1_1.cpp 】(可按快捷鍵ctrl+f7)命令對程序進行編譯。(4) 選擇【組建】【組建】(按快捷鍵f7)命令對程序進行連接。(5) 單擊【!】按鈕或選擇【組建】【執(zhí)行】菜單項( 按
2、快捷鍵f5), 運行程序。(6) 判斷結(jié)果正確與否。#include void main() int a, b, sum; a=123; b=456;sum=a+b;printf(“n” ,sum);填寫運行結(jié)果:關(guān)閉上面的程序,按上面的步驟再次輸入如下的程序,進行編譯、連接和運行,寫出運行結(jié)果。#include void main() int m=7,n=4;float a=38.4,b=6.4,x; x=m/2+n*a/b+1/2;printf(“ %fn ”,x);填寫運行結(jié)果:.思考 :把前面的語句 x=m/2+n*a/b+1/2; 改為 x=m/2.0+n*a/b+1.0/2; 運行
3、結(jié)果將會是什么 ?2. 程序改錯題程序改錯1: 輸入如下錯誤的程序,然后進行編譯和連接,仔細檢查并修改錯誤,再進行編譯連接,直到?jīng)]有錯誤為止。 運行程序,#include void mian( ) printf(“ we are studying c language!n)程序改錯2輸入并運行下面一個需要在運行時輸入數(shù)據(jù)的程序,程序要求從鍵盤輸入三個實數(shù),輸出它們的和。#include mian( ) float a,b,c,sum;printf( input a,b,c: )scanf(%f %f %f,&a,&b, c);sum=a+b+c;printf(n sum=%fn,sum); 輸
4、入該程序,然后進行編譯和連接,如果出錯,仔細檢查并修改錯誤,再進行編譯連接,直到?jīng)]有錯誤為止。 運行程序,按照輸入輸出示例提示輸入 a、 b、 c 三個變量的值,變量值之間用空格分隔,輸入完畢按回車鍵【 enter 】。 查看運行結(jié)果,判斷結(jié)果正確與否。輸入輸出示例 :input a,b,c: 3 5 6sum=14.0再次運行程序并按如下的格式輸入數(shù)據(jù),觀察結(jié)果是否正確?為什么?input a,b,c: 3,5,6sum=?思考 :改正程序的錯誤后, 把 printf語句中的 %f 改成 %d,再運行程序 , 有什么結(jié)果 ?input a,b,c: 3.5,5.5,6.5結(jié)果:.3. 程序完
5、整題完整題 1二整數(shù)整除程序模板如下:#include void main( ) int a,b, div;printf( input a,b: );scanf(%d%d,&a,&b);/* 提示輸入二個數(shù)*/* 從鍵盤輸入二個數(shù)存儲在變量a,b 中 */* 除法運算 , 相除的結(jié)果放在變量div 中 */* 用%d輸出結(jié)果 */輸入輸出示例 :input a,b : 3 5div=0input a,b : 5 3div=1思考 :把上述 int a,b,div;改成 float a,b,div;scanf(%d%d,&a,&b); 中的 %d改成 %f, 同時把輸出語句中的 %d改成 %f,
6、 運行程序后,再用前面的數(shù)據(jù)輸入,結(jié)果會發(fā)生如何變化?為什么有這樣的變化?input a,b : 3,5div=input a,b : 5,3div=完整題 2仿照教材中例 1-2 程序,在橫線地方填寫語句 , 輸入圓柱體的半徑和高,計算并輸出圓柱體的體積和表面積。#include void main( );/*定義變量 */.printf( 請輸入圓的半徑和高:n);scanf(%f%f, &r,&h);/* 在屏幕上顯示提示信息*/*從鍵盤輸入半徑和高給變量r*/*計算體積 */*計算表面積 */printf(v=%f,s=%fn, v,s);/* 輸出體積和表面積 */輸入與輸出 :請輸
7、入圓的半徑和高:5.0 8.0輸出結(jié)果?試一試 :如果把上述程序中所有的 %f 改成 %d,再次運行程序,仍然輸入“ 5.0 8.0 ”,輸出結(jié)果會是什么?分析結(jié)果。把上述程序中的第一個n 去掉 , 再編譯運行程序, 有什么變化 ?試說出 n 的作用。.2.5實驗二編寫幾個簡單的c程序一、實驗?zāi)康呐c要求1. 掌握 c 語言基本數(shù)據(jù)類型的概念,理解數(shù)據(jù)類型與運算的關(guān)系。2. 掌握簡單變量的定義,算術(shù)表達式和賦值表達式的使用。3. 掌握基本輸出語句的使用。4. 進一步熟悉 c 程序的編輯、編譯、連接和運行的過程。5. 掌握簡單 c 程序查錯方法,編寫幾個簡單程序。6. 實驗 4 學時二、實驗內(nèi)容1
8、. 程序驗證或填空( 1) 編譯和運行下面程序,查看執(zhí)行的結(jié)果:#include int main(void)int si=-1;float f=5;double df=3;printf(si = %d, f = %f, f = %lfn, si,f,df);return 0;若把輸出語句中的格式控制中的格式說明符的順序改變一下,會有什么結(jié)果?再把 %lf 修改為 %f, 運行會有什么結(jié)果?(2)分析程序,并上機運行驗證運行結(jié)果#include“stdio.h”void main( ) printf(“t*n”);printf(“tb* * *n”);printf(“tbb * * * * *
9、n”);(3) 運行程序,并分析結(jié)果。#include“stdio.h”void main( ) int a=10,x=5,y=6; a+=a*=6; x=y+;y=+x;a=x+y;.printf(“%d,%d,%dn”,a,x,y);(4)不用第3 個變量,實現(xiàn)將二個數(shù)進行對調(diào),請?zhí)羁铡?include“stdio.h”void main( ) int a,b;scanf(“%d%d”,&a,&b);printf(“a=%d b=%dn”,a,b);a=;b=;a=;printf(“a=%d b=%dn”,a,b);2. 程序改錯改正下面程序中的多處錯誤。計算某個數(shù)x 的平方 y,并分別以
10、“ y = x*x ”和“ x*x =y”的形式輸出x 和 y 的值。 x 的值由鍵盤輸入。輸出示例 (假設(shè) x 的值為 3):9 = 3*33*3 = 9源程序(有錯誤的程序)#includeint main(void)int y;y = x*x;printf(%d = %d * %d,x);/* 輸出printf(d * %d = %d, y);3. 一般編程題編程題 1編寫程序,輸入二個整數(shù),計算它們的和、差、積、商和余數(shù),并按5+11=16 這樣的輸出格式輸出結(jié)果。編程題 2編寫程序,輸入二個實數(shù),計算它們的和、差、積、商,并按32.24=12.2+20.04 這樣的輸出格式輸出結(jié)果。
11、實數(shù)分別定義為單精度實數(shù)或雙精度實數(shù)。編程題 3編寫程序,從鍵盤輸入一個大寫字母,改用小寫字母輸出。編程題 4求華氏溫度150 對應(yīng)的攝氏溫度。計算公式如下,其中:c 表示攝氏溫度,f 表示華氏溫度。55cf3299要求輸出結(jié)果為:fahr = 150 , celsius = 66.思考:如果使用公式5 ( f32)150 所對應(yīng)的攝氏溫度, 計算結(jié)果是c計算華氏溫度9否一樣?為什么?編程題 5編寫程序, 從鍵盤輸入學生的三門課成績,求其平均成績 (保留小數(shù)點后 1 位)。4. 較難編程題編程題 1當 n 為三位十進制整數(shù)時,分別求出 n 的個位數(shù)字( digit1 )、十位數(shù)字( digit
12、2 )和百位數(shù)字( digit3 )的值。輸出示例:這 里 增n 為整數(shù)152 時,它的個位數(shù)字是2,十位數(shù)字是 5,百位數(shù)字是 1加 了一提示: n 的個位數(shù)字 digit1 的值是n%10,十位數(shù)字 digit2的值是( n/10) %10,百位個題目數(shù)字 digit3 的值是 n/100。編程題 2將從鍵盤輸入的實型十進制數(shù)分離為整數(shù)部分和小數(shù)部分后輸出。如輸入 233.55,輸出為: 233.55=233+0.55 。編程題 3計算定期存款的本金與利息之和。設(shè)銀行定期存款的年利率rate 為 2.25%,存款期為 n年,存款本金為money 元,具體的數(shù)字由鍵盤輸入,編程計算n 年后的
13、本金與利息之和 (提示,利用 pow函數(shù) )。3.5實驗三選擇結(jié)構(gòu)程序設(shè)計一、實驗?zāi)康呐c要求1. 理解 c 語言表示邏輯量的方法,學會正確使用邏輯運算符和邏輯表達式。2. 掌握利用 if 結(jié)構(gòu)實現(xiàn)選擇結(jié)構(gòu)的方法。3. 掌握利用 switch 結(jié)構(gòu)實現(xiàn)多分支選擇結(jié)構(gòu)。4 結(jié)合程序掌握一些簡單的算法,學習調(diào)試程序5 實驗 4 學時二、實驗內(nèi)容1程序改錯題改正下面程序中的錯誤。輸入實數(shù)x,計算并輸出下列分段函數(shù)f(x) 的值(保留1 位小數(shù))。1( x100)xyf (x).x(x100)輸入輸出示例 1(改正后程序的運行結(jié)果)enter x : 100f(100.00 ) = 0.1輸入輸出示例
14、2(改正后程序的運行結(jié)果)enter x : 23f(23.00 ) = 23.0源程序(有錯誤的程序)#include#includevoid main(void)double x;printf(enterx: n);scanf(=%f, x);if(x = 100) y = 1/sqrt(x)else(x != 100) y = x;printf(f(%.2f) = %.1fn,x,y);2一般編程題編程題 1輸入任意三個整數(shù)a,b,c,求 3 個數(shù)中的最大值和最小值。編程題 2輸入 x,計算并輸出下面分段函數(shù) f(x) 的值(保留 2 位小數(shù))。請調(diào)用 sqrt 函數(shù)求平方根,調(diào)用 po
15、w 函數(shù)求冪。(x 1) 22x1(x 0)xf ( x)x(x 0)輸入輸出示例 (共運行3 次)enter x : 10f(10.00) =3.16enter x : 0.5f( 0.50) = 2.75enter x : 0.f(0.00) =0.00成本編程題 3有一函數(shù):x( -5x0 )y=x-1(x=0)x+1(0x10)編寫程序,要求用scanf 函數(shù)輸入x 的值,輸出y 的值。具體要求如下:( 1)用 if 語句實現(xiàn)分支,自變量和函數(shù)值均用實數(shù)類型。( 2)自變量用 scanf 函數(shù)輸入,給一些輸入提示。(3)運行程序,輸入x 的值(分別為 -5x0 , x=0 , 0x10
16、 )三種情況,檢查輸出的y 值是否正確。編程題 4某服裝店經(jīng)營成套服裝的買賣,同時也允許單件銷售。若一次購買不少于70 套,則每套 90 元;若不足 70 套,則每套 110 元;只買上衣每件 70 元;只買褲子每條 60 元。請編寫程序假設(shè)用戶買入 x 件上衣和 y 條褲子,請編寫程序計算相應(yīng)的應(yīng)付款是多少?編程題 5編寫程序?qū)崿F(xiàn):輸入一個整數(shù),判斷它能否被3 、 5 、 7 整除,同時輸出如下信息。( 1) 能同時被 3 、 5 、 7 整除;( 2) 能同時被其中的哪二個數(shù)整除;( 3) 能被其中的哪一個數(shù)整除;( 4) 不能被 3 、 5 、 7 任一個數(shù)整除。3較難編程題編程題 1請
17、用 switch 語句編程計算員工每月的薪水。(exph3_1.cpp)已知某公司員工的保底薪水為500,某月所接工程的利潤profit (整數(shù))與提成的關(guān)系如下(計量單位:元) :profit 1000沒有提成;1000 profit 2000提成 10%;2000 profit 5000提成 15%;5000 profit 10000提成 20%;10000 profit提成 25%。分析:為使用 switch 語句,必須將利潤profit 與提成的關(guān)系, 轉(zhuǎn)換成某些整數(shù)與提成的關(guān)系。分析本題可知,提成的變化點都是1000 的整數(shù)倍( 1000、2000、5000、 ),如果將利潤prof
18、it 整除 1000,則相鄰兩個區(qū)間的重疊。為解決相鄰兩個區(qū)間的重疊問題,最簡單的方法就是:利潤 profit 先減 1(最小增量),然后再整除 1000 即可:profit 1000對應(yīng) 01000 profit 2000對應(yīng) 12000 profit 5000對應(yīng) 2、 3、45000 profit 10000對應(yīng) 5、 6、7、 8、 9.10000 profit對應(yīng) 10、 11、12、 編程題 2編寫程序?qū)崿F(xiàn)如下功能:輸入二個運算數(shù)(exp1,exp2)和一個運算符(op),計算表達式 exp1 op exp2的值,其中op 可以為 +、 - 、 * 、/ 、%五個符號中的任一種(提
19、示:用 switch語句實現(xiàn))。4.5實驗四循環(huán)結(jié)構(gòu)程序設(shè)計一、實驗?zāi)康呐c要求1 熟練掌握用while 語句, do-while 語句實現(xiàn)循環(huán)的方法。2 熟練掌握用for 語句實現(xiàn)循環(huán)的方法。3 對循環(huán)語句的三種形式進行分析、比較,以掌握各種形式的共同之處與其特點。4 掌握循環(huán)結(jié)構(gòu)的嵌套,掌握break 語句和 continue 語句在循環(huán)體中的作用。5 實驗 4 學時二、實驗內(nèi)容1. 程序驗證題與改錯題(1)程序驗證從鍵盤輸入一個整數(shù),在屏幕上將其逆序數(shù)輸入,例如輸入8193,輸出 3918。#includevoid main()int x,number;printf( 請輸入一個整數(shù):);
20、scanf(%d,&x);dox=number%10;number=number/10;printf(%d, x);while(number!=0);printf(n);.如果輸入的是一個負整數(shù),程序應(yīng)該如何改?(2)程序改錯計算表達式1+2!+3!+ 10!的值,改正下面程序中的多處錯誤。源程序(有錯誤的程序)#includevoid main(void)int sum1,sum2, i,j;for(i=1;i10;i+)for(j=1,jb)swap(a, b);printf( “%dt %d ”, a,b);思考:為什么a,b 的值沒有交換?. 調(diào)用函數(shù) fun 計算: m=1+2+3+
21、4+9+10 , 并輸出結(jié)果。請驗證下面的程序是否符合題目要求。#include” stdio.h”int fun(intn)intm, i;for (i=1; i=n; i+)m+=i;returnm;void main()printf(m=%dn, fun(10);在上面程序的基礎(chǔ)上,修改程序.計算 m=1-2+3- 4+9-10 。( 2)程序改錯題下列程序的功能是利用自定義函數(shù)計算一無符號的整數(shù)各位數(shù)字的乘積。#includeunsigned f(unsigned num)unsigned k=0;dok*=num/10;num/=10;while(k);return k;void m
22、ain()int x;printf(“ input nx=:” );scanf(“ %d” , x);printf(“ %d” , f(x);2一般編程題編程題 1編寫一函數(shù), 把輸入的 4 個數(shù)字字符轉(zhuǎn)換成一個int 數(shù)據(jù)存放, 如輸入4123 這字符轉(zhuǎn)換為4123 這個整數(shù),并通過主函數(shù)驗證結(jié)果。編程題 2編寫程序求: 1*1*1+2*2*2+3*3*3+4*4*4+5*5*5提示:主函數(shù)用來現(xiàn)實結(jié)果,f1( ) 函數(shù)用來求一個數(shù)的立方,f2( ) 函數(shù)用來求和。.#include int f1(int n)int f2(int m)void main()編程題 3 定義兩個帶參數(shù)的宏,將
23、兩個參數(shù)的值相加和相減,并寫出程序,輸入兩個數(shù)作為使用宏時的實參。輸出相加和相減后的和與差。編程題 4編程輸出2 到 10000 之間的所有完數(shù)。所謂完數(shù)是指因子之和與它本身相等的數(shù)。如6=1+2+3 , 6 是一個完數(shù)。要求:定義函數(shù)factor(m)判斷 m 是否為完數(shù);由主函數(shù)調(diào)用它,來對所有2 到 10000 之間的所有數(shù)進行判斷。#include #include int factor(int m)int i,s=0;void main()inti,m,sum;3較難編程題編程題 1 用函數(shù)調(diào)用實現(xiàn)求兩個數(shù)的最大公因子和最小公倍數(shù)編程題 2 用遞歸方法求1+2+3+ +并將其中素數(shù)去
24、除后之和。#include #include int isprime (int number)long fact(int n).void main()int m,sum;6.4實驗六數(shù)組一、 實驗?zāi)康呐c要求1. 掌握一維數(shù)組的定義、賦值和輸入輸出的方法。2. 理解一維數(shù)組的存儲方法及下標的表示方法。3. 掌握與數(shù)組有關(guān)的算法 (特別是排序算法 )。4. 掌握二維數(shù)組的定義、賦值和輸入輸出的方法。5. 理解二維數(shù)組的存儲方法及下標的表示方法。6. 實驗 4 學時。二、實驗內(nèi)容這里有改動1程序驗證題與改錯題( 1)程序驗證題 給定一個整型數(shù)組 a,要求求出其中小于 0 的元素的個數(shù)。請驗證下面的程
25、序是否符合題目要求。#define n 10void main()int an=11,2,4,-1,5,-3,-66,0,10,-5;int i;/* 變量 i 用于 for 循環(huán) */int count=0;/* 變量 count 用于技術(shù),初始化為0*/for (i=0;in;i+)if(ai0)count+;/* 如果元素ai0 , count 計數(shù) +1*/printf(%dn,count); 給定一個整型二維數(shù)組 a(3,3) ,要求求出對角線元素的和。請驗證下面的程序是否符合題目要求。.#include #define n 3void main()int ann=1,2,3,4,5
26、,6,7,8,9;int i,j;/* 變量 i,j 用于 for 循環(huán) */int sum=0;/* 變量 sum 用于求和,初始化為0*/for (i=0;in;i+)for(j=0;jn;j+)if (i=j)sum+=aij;/* 如果是對角線元素,sum+aij*/printf(%dn,sum);return 0;注 1:在程序驗證題的基礎(chǔ)上,修改程序,求出數(shù)組a 中大于 a0 的元素之和。注 2:對上述程序進行優(yōu)化,消除內(nèi)循環(huán),實現(xiàn)同樣的效果。在的基礎(chǔ)上,修改程序,求出數(shù)組a 中反對角線元素之和。提示:內(nèi)循環(huán)用逆序;i+j=n-1 。(2)程序改錯題2一般編程題編程題 1:從鍵盤輸
27、入 10 個整型數(shù)據(jù),放入數(shù)組 a 中,求其最大值、最小值及其所在元素的下標位置,并輸出。程序提示:定義 10 個元素的數(shù)組,用 for 循環(huán)語句逐一輸入數(shù)據(jù);定義最大值變量和最小值變量,用 for 循環(huán)語句遍歷所有數(shù)組元素,逐一比較查找最大值和最小值。編程題 2:給定一個字符數(shù)組a,要求將數(shù)組的內(nèi)容倒置。如:執(zhí)行前數(shù)組的內(nèi)容為1,2,3,4,5,6,7,8執(zhí)行后數(shù)組的內(nèi)容為8,7,6,5,4,3,2,1提示:用 i 表示數(shù)組的第一個元素的下標;用j 表示數(shù)組最后一個元素的下標。交換 ai 和 aj ,當 ie。若找到相等元素,則返回元素下標,否則返回 -1 表示無此數(shù)。7.4實驗七字符與字符
28、串處理一、實驗?zāi)康呐c要求1. 掌握 c 語言字符型數(shù)據(jù)的概念,理解字符型與整型數(shù)據(jù)之間的關(guān)系。2. 掌握字符的輸入與輸出。3. 掌握轉(zhuǎn)義字符常量、字符串常量的使用。4. 掌握字符、字符串與字符數(shù)組的輸入與輸出。5. 掌握字符串函數(shù)的使用 字符串數(shù)組的使用。6. 實驗課時 2 學時二、實驗內(nèi)容1程序改錯題 調(diào)試下列程序,使之具有如下功能:任意輸入兩個字符串(如: ningbo 和 china) ,.并存放在a,b 兩個數(shù)組中。然后把較短的字符串放在a 數(shù)組,較長的字符串放在b 數(shù)組。并輸出。程序中的 strlen 是庫函數(shù),功能是求字符串的長度,它的原型保存在頭文件 string.h 中。調(diào)試時
29、注意庫函數(shù)的調(diào)用方法,不同的字符串輸入方法,通過錯誤提示發(fā)現(xiàn)程序中的錯誤。#include #includevoid main()char a10,b10,ch;int c,d,k;scanf(%s,&a);scanf(%s,&b);/* error */printf(a=%s,b=%sn,a,b);c=strlen(a);d=strlen(b);if(cd)for(k=0;kd;k+)/* error */ch=ak;ak=bk;bk=ch;ak=0;/* error */printf(a=%sn,a);printf(b=%sn,b); 下列 給定 程序中,函數(shù) fun 的功能是: 依次取出
30、字符串中所有數(shù)字字符,形成新的字符串, 并取代原字符串。 請改正函數(shù)fun 中的錯誤, 使它能得出正確的結(jié)果。注意:不要改動 main 函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)!#include void fun(char *s)int i,j;for(i=0;j=0;sj!=0;i+)/* error */if(si=0 & si=9)sj+=si;sj=0” ;/* error */void main()char item80;printf(nenter a string :);gets(item);printf(nnthe string is : %sn,item);fun(item)
31、;.printf(nnthe string of changing is : %sn,item);2.一般編程題編程題 1請編一個函數(shù)fun(char*s) ,該函數(shù)的功能是把字符串中的內(nèi)容逆置。例如:字符串中原有的字符串為abcdefg,則調(diào)用該函數(shù)后,串中的內(nèi)容為gfedcba。注意:部分源程序給出如下。 請勿改動主函數(shù) main 和其他函數(shù)中的任何內(nèi)容, 僅在函數(shù) fun 的花括號中填入所編寫的若干語句。#include #include #definen81void fun ( chars)/* 請?zhí)顚懲暾?*/void main()charan;printf ( enterastri
32、ng :);gets ( a );printf ( the original string is: );puts( a );fun( a );printf(n);printf ( the string after modified : );puts (a);編程題 2請編寫輸入以下圖案(1)、( 2)的程序,圖案的行數(shù)由輸入的值確定。(1)(2).3較難編程題編程題 1編寫程序:程序功能是從鍵盤接收一個字符串,然后按照字符順序從小到大進行排序,例如,若輸入edcba,則應(yīng)輸出abcde。#include#includevoid main()int i,j;char string100, c;p
33、rintf(please input a string:);gets(string);/* 請?zhí)顚懲暾?*/printf(result:%sn, string);編程題 2編寫程序:程序功能是統(tǒng)計子串substr 在母串 str 中出現(xiàn)的次數(shù)。要求編寫并調(diào)用函數(shù)fun 的功能是: 從 str所指字符串中, 找出 substr所指子串的個數(shù)作為函數(shù)值返回。例如,當 str所指字符串中的內(nèi)容為abcdabfab ,substr所指字符串的內(nèi)容為ab,則函數(shù)返回整數(shù) 3。#include count(charstr,charsubstr)/* 請?zhí)顚懲暾?*/void main()char str8
34、0,substr80;int n;gets(str);gets(substr);printf(%dn,count(str,substr);.8.4實驗八指針一、 實驗?zāi)康呐c要求1. 理解和掌握指針的概念,定義和使用指針變量。2. 掌握函數(shù)之間指針的傳遞關(guān)系。3. 掌握通過指針操作數(shù)組中元素的方法。4. 實驗 2 學時二、實驗內(nèi)容1程序調(diào)試(1)調(diào)試本程序,了解運算符* 與 & 的用法,并注意容易出錯的地方。#includevoid main()float x;float *xptr;/xptr=&x;/,此處是否可以用*xptr=&x; ?x=7.9;printf(“ the address
35、of x is n%x” ,&x);printf(“ the value of xptr is n%x” ,xptr);printf(“ the value of x is n%f” ,x);printf(“ the value of *xptr is %fn” ,*xptr); / 程序運行結(jié)果如下:在上面的程序中,注意區(qū)別*ptr 的不同意義。語句中的* 表示此處的xptr 是作為一個指針變量來定義的,而語句中的*則表示取變量xptr 所指向的值,在本題中就是變量x 的值,這時的 * 可以作為運算符來看待。這也可以理解為什么語句中用了xptr=&x而不是*xptr=&x ,因為在運算過程中 *xptr 所表示的就是 x,如果將 x 的地址賦給 x,肯定會產(chǎn)生錯誤。明白了 * 與 & 的用法后,可以接著看下面一個例子,分析其出錯的原因。( 2)調(diào)試程序。下面程序中有錯誤,請調(diào)試修改輸入 3 個整數(shù),按從小到大的順序輸出。#include“ stdio.h”void main( )int a,b,c ;int *p1,*p2,*p3 ; /定義 3 個指針變量 void s *p1,int *p2) ;scanf( “ %d,%d,%d” ,&a,&b,&c);.p1=&a ;p2=&b ;p3=&c ;/3 個指針分別指向3 個整型變量/用
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 虛擬現(xiàn)實技術(shù)在美妝個護行業(yè)的應(yīng)用探索-洞察分析
- 虛擬化內(nèi)存安全模型-洞察分析
- 2025年上外版三年級英語下冊月考試卷含答案
- 巖溶地貌演化機制-第4篇-洞察分析
- 2025年華東師大版九年級地理上冊階段測試試卷含答案
- 二零二五年度照明燈具OEM定制加工合同示范文本3篇
- 2025年上外版八年級科學下冊月考試卷
- 二零二五年度打井工程環(huán)保設(shè)施建設(shè)及運維合同4篇
- 銀行流程管理課程設(shè)計
- 二零二五年度高端防盜門定制銷售服務(wù)合同范本4篇
- 專升本英語閱讀理解50篇
- 施工單位值班人員安全交底和要求
- 中國保險用戶需求趨勢洞察報告
- 數(shù)字化轉(zhuǎn)型指南 星展銀行如何成為“全球最佳銀行”
- 中餐烹飪技法大全
- 靈芝孢子油減毒作用課件
- 現(xiàn)場工藝紀律檢查表
- 醫(yī)院品管圈與護理質(zhì)量持續(xù)改進PDCA案例降低ICU病人失禁性皮炎發(fā)生率
- 新型電力系統(tǒng)研究
- 烘干廠股東合作協(xié)議書
- 法院服務(wù)外包投標方案(技術(shù)標)
評論
0/150
提交評論