下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、1. 5.4實(shí)驗(yàn)五函數(shù)與預(yù)處理一、實(shí)驗(yàn)?zāi)康呐c要求掌握C語言函數(shù)的定義方法、函數(shù)的聲明及函數(shù)的調(diào)用方法。2. 理解函數(shù)實(shí)參與形參的對應(yīng)關(guān)系以及“值傳遞”的方式。3. 掌握全局變量和局部變量動態(tài)變量、靜態(tài)變量的概念和使用方法。4. 掌握動態(tài)存儲分配的方法。5. 掌握宏定義和文件包含處理方法。實(shí)驗(yàn)4學(xué)時二、實(shí)驗(yàn)內(nèi)容程序驗(yàn)證與改錯題(1)程序驗(yàn)證題下面程序執(zhí)行的結(jié)果是什么voidswap(intx,inty)(inttemp;temp=x;x=y;y=temp;voidmain()(inta,b;scanf("%d%d,&a,&b);if(a>b)swap(a,b);p
2、rintf("tWi",a,b);思考:為什么a,b的值沒有交換?答:修改后的函數(shù)為#include<stdio.h>voidswap(int&x,int&y)(inttemp;temp=x;x=y;y=temp;voidmain()(inta,b;scanf("%d%d”,&a,&b);swap(a,b);/if語句被去掉/printf("%dt%dn",a,b);因?yàn)檎{(diào)用函數(shù)中改變的是形參而非實(shí)參,加上&,其意義是改變實(shí)參的地址。If語句中,只有當(dāng)a>b時才交換a,b的值去掉后在任何
3、情況下都交換a,b的值調(diào)用函數(shù)fun計(jì)算:m=1+2+3+4+9+10,并輸出結(jié)果。請驗(yàn)證下面的程序是否符合題目要求。#include"stdio.h”intfun(intn)(intm,i;for(i=1;i<=n;i+)(m+=i;returnm;voidmain()(printf("m=%dn",fun(10);在上面程序的基礎(chǔ)上,修改程序.計(jì)算m=1-2+3-4+-+9-10。答:#include<stdio.h>intfun(intn)(intm=0,i;for(i=1;i<=n;i+)(if(i%2=1)m+=i;elsem-=
4、i;returnm;voidmain()(printf("m=%dn”,fun(10);2程序改錯題以下程序的功能是利用自定義函數(shù)計(jì)算一無符號的整數(shù)各位數(shù)字的乘積。#include<stdio.h>unsignedf(unsignednum)(unsignedk=0;do(k*=num/10;num/=10;while(k);returnk;voidmain()(intx;printf("inputx=:);scanf("%d',x);printf("d',f(x);答:#include<stdio.h>unsig
5、nedf(unsignednum)(unsignedk=1;do(k*=num%10;num/=10;while(num!=0);returnk;voidmain()(intx;printf("inputx=:n");scanf("%d",&x);printf("%d”,f(x);一般編程題編程題1編寫一函數(shù),把輸入的4個數(shù)字字符轉(zhuǎn)換成一個int數(shù)據(jù)存放,如輸入4123這字符轉(zhuǎn)換為4123這個整數(shù),并通過主函數(shù)驗(yàn)證結(jié)果。答:#include<stdio.h>intf(charc)inta;a=int(c)-48;return
6、a;voidmain()inta,b=0;charc;while(c=getchar()!='n')a=f(c);b=b*10+a;printf("%dn",b);printf("%d+%d=%dn”,b,b,b+b);printf("n");編程題2編寫程序求:1*1*1+2*2*2+3*3*3+4*4*4+5*5*5提示:主函數(shù)用來現(xiàn)實(shí)結(jié)果,f1()函數(shù)用來求一個數(shù)的立方,f2()函數(shù)用來求和。#include<stdio.h>intf1(intn)intf2(intm)voidmain()答:1解使用庫函數(shù)#i
7、nclude<stdio.h>voidmain()(inti=4;chartemp;intresult=0;temp=getchar();while(temp!='n')(result*=10;result+=(int)temp-48);temp=getchar();printf("%cn”,temp);printf("%dn”,result);2解使用stdlib庫函數(shù)中的atoi()函數(shù)# include<stdio.h># include<stdlib.h>voidmain()(intnum;charstr30;ge
8、ts(str);num=atoi(str);printf("numtoint:%dn",num);編程題3定義兩個帶參數(shù)的宏,將兩個參數(shù)的值相加和相減,并寫出程序,輸入兩個數(shù)作為使用宏時的實(shí)參。輸出相加和相減后的和與差。答:#include<stdio.h>#defineP(m,n)m+n;#defineQ(m,n)m-n;voidmain()(intm,n,p,q;scanf("%d%d",&m,&n);p=P(m,n);q=Q(m,n);printf("%d=%d+%dn”,p,m,n);printf("
9、;%d=%d-%dn”,q,m,n);編程題4編程輸出2到10000之間的所有完數(shù)。所謂完數(shù)是指因子之和與它本身相等的數(shù)。如6=1+2+3,6是一個完數(shù)。要求:定義函數(shù)factor(m)判斷m是否為完數(shù);由主函數(shù)調(diào)用它,來對所有2到10000之間的所有數(shù)進(jìn)行判斷。#include<stdio.h>#include<math.h>intfactor(intm)inti,s=0;voidmain()inti,m,sum;答:#include<stdio.h>#include<math.h>intfactor(intm)inti,s=0;for(i=1
10、;i<m;i+)if(m%i=0)s+=i;if(s=m)returns;elsereturn0;voidmain()inti,m,sum;m=10000;for(i=2;i<=m;i+)sum=factor(i);if(sum>0)(printf("%d”,sum);printf("n");較難編程題編程題1用函數(shù)調(diào)用實(shí)現(xiàn)求兩個數(shù)的最大公因子和最小公倍數(shù)答:#include<stdio.h>#include<math.h>intf(intm,intn)(inti;for(i=1;i+)(if(m=n)break;if(m
11、>n)m=m-n;elsen=n-m;returnn;intg(intx,inty,intz)(inti;i=x*y/z;returni;voidmain()(inta,b,c,d;scanf("%d%d”,&a,&b);c=f(a,b);d=g(a,b,c);printf("最大公因子:%dn",c);printf("最小公倍數(shù):dn”,d);編程題2用遞歸方法求1+2+3+.+n并將其中素?cái)?shù)去除后之和。#include<stdio.h>#include<math.h>intisprime(intnumber)(.longfact(intn)(voidmain()(intm,sum;.答:#include<stdio.h>#include<math.h>intisprime(intnumber)(inti;for(i=2;i<number;i+)(if(number%i=0)break;if(i=numb
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 初級會計(jì)實(shí)務(wù)-《初級會計(jì)實(shí)務(wù)》??荚嚲?54
- 基于干擾噪聲協(xié)方差矩陣重構(gòu)的穩(wěn)健波束形成算法研究
- 安全防范與電信詐騙應(yīng)對
- 現(xiàn)代農(nóng)業(yè)產(chǎn)業(yè)園發(fā)展與建設(shè)綜合方案
- 科創(chuàng)孵化器項(xiàng)目商業(yè)計(jì)劃書
- 光伏組件回收產(chǎn)業(yè)未來機(jī)遇與發(fā)展報告
- 文化傳媒行業(yè)編導(dǎo)培訓(xùn)總結(jié)
- 2025版高端石材工程采購及售后服務(wù)合同協(xié)議3篇
- 二零二五年度個人汽車維修貸款合同范本4篇
- 二零二五年度公益廣告宣傳海報設(shè)計(jì)與制作合同3篇
- 藝術(shù)哲學(xué):美是如何誕生的學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 北京海淀區(qū)2025屆高三下第一次模擬語文試題含解析
- 量子醫(yī)學(xué)治療學(xué)行業(yè)投資機(jī)會分析與策略研究報告
- 碳纖維增強(qiáng)復(fù)合材料在海洋工程中的應(yīng)用情況
- 公司市場分析管理制度
- 焊接材料制造工-國家職業(yè)標(biāo)準(zhǔn)(2024版)
- 江西省2024年中考數(shù)學(xué)試卷(含答案)
- JJG 705-2014液相色譜儀行業(yè)標(biāo)準(zhǔn)
- 多重耐藥菌病人的管理-(1)課件
- 地雷基本知識課件
- (高清版)TDT 1056-2019 縣級國土資源調(diào)查生產(chǎn)成本定額
評論
0/150
提交評論