freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

c語言函數(shù)ppt課件-資料下載頁

2025-01-06 13:57本頁面
  

【正文】 每引用 1次,都會(huì)使目標(biāo)程序增大 1 次。 一般用宏來代表簡短的表達(dá)式比較合適。有些問題,用宏和函數(shù)都可以。 說明: ,字符串內(nèi)的形參通常要用括號括起來以避免出錯(cuò) define SQ(y) y*y main() { int a,sq。 printf(“\n input a number: ”)。 scanf(“%d”,amp。a)。 sq=SQ(a+1)*SQ(a+1)。 printf(“\n sq=%d”,sq)。 …… } 其運(yùn)行結(jié)果為: input a number: 3 sq=13 結(jié)果: input a number: 3 sq=256 所以帶參宏的原樣替換操作決定宏體中參數(shù)兩邊的括號是 絕不能少的。 注意, 有時(shí)在參數(shù)兩邊加括號還不夠,看下面程序: 如果加上括號呢? ( )( ) define SQ(y) (y)*(y) main() { int a,sq。 printf(input a number: )。 scanf(%d,amp。a)。 sq=160/SQ(a+1)。 printf(sq=%d\n,sq)。 } 運(yùn)行本程序如輸入值仍為 3時(shí),希望結(jié)果為 10。但實(shí)際運(yùn)行的結(jié)果如下: input a number:3 sq=160 本程序與前例相比,只把宏調(diào)用語句改為: sq=160/SQ(a+1)。 養(yǎng)成良好的宏定義習(xí)慣: 宏定義不僅應(yīng)在參數(shù)兩側(cè)加括號, 也應(yīng)在整個(gè)字符串外加括號 為什么? 考察分析宏調(diào)用語句,可知在宏代換之后變?yōu)椋? sq=160/(a+1)*(a+1)。 a為 3時(shí),由于“ /”和“ *”運(yùn)算符優(yōu)先級和結(jié)合性相同, 則先作 160/(3+1)得 40,再作 40*(3+1)最后得 define SQ(y) ((y)*(y)) main() { int a,sq。 printf(input a number: )。 scanf(%d,amp。a)。 sq=160/SQ(a+1)。 printf(sq=%d\n,sq)。 } 為得到正確答案 應(yīng)在宏定義中的整個(gè)字符串外加括號 , 程序修改如下: 說明: ,在宏調(diào)用時(shí),把這些語句又代換到源程序內(nèi)??聪旅娴睦?。 define SSSV(s1,s2,s3,v) s1=l*w。s2=l*h。s3=w*h。v=w*l*h。 main() { int l=3,w=4,h=5,sa,sb,sc,vv。 SSSV(sa,sb,sc,vv)。 printf(sa=%d\nsb=%d\nsc=%d\nvv=%d\n, sa,sb,sc,vv)。 } 程序第一行為宏定義,用宏名 SSSV表示 4個(gè)賦值語句, 4 個(gè)形參分別為 4個(gè)賦值符左部的變量。在宏調(diào)用時(shí),把 4 個(gè)語句展開并用實(shí)參代替形參。使計(jì)算結(jié)果送入實(shí)參之中。 “文件包含”處理: 指一個(gè)源文件可以將另外一個(gè)源文件的全部內(nèi)容包含進(jìn)來。即將另外的文件包含到本文件之中。 其一般形式為: include “文件名” 或 include 文件名 兩種格式的區(qū)別僅在于: 1)雙引號: 系統(tǒng)先到當(dāng)前目錄下查找被包含文件,若沒找到,再到系統(tǒng)指定的“包含文件目錄”(用戶在配置環(huán)境時(shí)設(shè)置)查 2)尖括號: 直接到系統(tǒng)指定的“包含文件目錄”去查找。一般地說,使用雙引號比較保險(xiǎn)。 前面已多次用此命令包含過庫函數(shù)的頭文件。 include include 這個(gè)頭文件中就是四條語句,三句文件包含宏命令,一句函數(shù)的聲明。 可以把這些宏定義命令組成一個(gè)頭文件,然后每個(gè)人都可以用 include 命令將這些符號常量包含到自己所寫的源文件中。這樣每個(gè)人就可以不必重復(fù)定義這些符號常量,從而節(jié)省時(shí)間,并減少出錯(cuò)。 例如:輸入一個(gè)句子,統(tǒng)計(jì)單詞個(gè)數(shù)。 首先編寫一個(gè)頭文件 : /**/ include define TRUE 1 define FALSE 0 int isword(char[])。 然后,編寫程序 ,在其中包含該頭文件 include void main() { int n=0。 char str[80]。 gets(str)。 n=isword(str)。 printf(has %d words\n,n)。 } int isword(char c[]) { int i,num=0,word=FALSE。 for(i=0。c[i]!=39。\039。i++) if(c[i]==39。.39。||c[i]==39。\n39。||c[i]==39。 39。) word=FALSE。 else if(!word) { word=TRUE。 num++。 } return num。 } 編譯預(yù)處理時(shí),預(yù)處理程序?qū)⒉檎抑付ǖ谋话募⑵鋸?fù)制到 include命令出現(xiàn)的位置上。 一個(gè) include命令只能指定一個(gè)被包含文件, 若有多個(gè)文件要包含,則需用多個(gè) include命令。 文件包含允許嵌套,即在一個(gè)被包含的文件中又可以包含另一個(gè)文件。 頭文件的進(jìn)一步理解: 常用在文件頭部的,被包含的文件,稱為“標(biāo)題文件”或“頭部文件”,常以“ h”( head)作為后綴,簡稱頭文件。在頭文件中,除可包含宏定義外,還可包含外部變量定義、結(jié)構(gòu)類型定義等。 一條包含命令,只能指定一個(gè)被包含文件。如果要包含 n個(gè)文件,則要用 n條包含命令。 ? 混淆函數(shù)的聲明與定義 ? 參數(shù)傳遞時(shí)試圖用形參影響實(shí)參 ? 函數(shù)調(diào)用時(shí)不理解返回值的意義 ? 靜態(tài)變量在程序中的值 ? 全局變量與局部變量同名時(shí)起作用的那個(gè)變量 ? 在函數(shù)內(nèi)部定義的變量為局部變量,只在本函數(shù)內(nèi)有效,在函數(shù)外定義的變量為全局變量,作用域?yàn)閺亩x位置開始到本源文件結(jié)束 ? 變量從作用域可分為外部變量和內(nèi)部變量,即全局變量和局部變量 ? 變量從生存期的角度看可分為靜態(tài)變量和動(dòng)態(tài)變量 ? 函數(shù)也有內(nèi)部函數(shù)與外部函數(shù),訪問時(shí)有所不同 教學(xué)內(nèi)容 函數(shù) 教學(xué)目標(biāo) 應(yīng)知 了解模塊化程序的結(jié)構(gòu) 掌握函數(shù)的定義方法 掌握函數(shù)的調(diào)用和參數(shù)傳遞 重點(diǎn) 函數(shù)的定義和調(diào)用 形參和實(shí)參 難點(diǎn) 形參與實(shí)參的意義、作用與區(qū)別 參數(shù)的兩種傳遞方式 全局變量和局部變量的作用 例 6 對例 4改進(jìn),定義一個(gè)整型數(shù)組 a[10],要求在一個(gè)函數(shù)中以 數(shù)組元素作實(shí)參 將 a數(shù)組中各個(gè)元素的值加 2。 int a[10]。 給數(shù)組 a賦初值 add2(a[i]) i=0 to 9 output數(shù)組 a return n+2。 add2(int n) include void main() { int add2(int)。 int a[10],i。 printf(Please input array a:\n)。 for(i=0。i10。i++) { printf(a[%d]=,i)。 scanf(%d,amp。a[i])。 } for(i=0。i10。i++) a[i]=add2(a[i])。 printf(加 2以后的數(shù)組為 :\n)。 for(i=0。i10。i++) printf(%3d,a[i])。 printf(\n)。 } int add2(int n) { return n+2。 } 函數(shù)調(diào)用次數(shù)太多 假設(shè)一次傳遞幾十、幾百個(gè)數(shù)據(jù) 例 7 有兩個(gè)數(shù)組 a,b,各有 10個(gè)元素,將它們對應(yīng)地逐個(gè)相比。如果 a數(shù)組中的元素大于 b數(shù)組中的相應(yīng)元素的數(shù)目多于 b數(shù)組中元素大于 a數(shù)組中元素的數(shù)目,則認(rèn)為 a數(shù)組大于 b數(shù)組,并分別統(tǒng)計(jì)出兩個(gè)數(shù)組相應(yīng)元素大于、等于、小于的次數(shù)。 輸入 a[10],b[10] n=0(ab),m=0(ab),k=0(a==b) for i=0 to 10 a[i]b[i] a[i]b[i] T T F F n++ m++ k++ 輸出 n/m/k include void main() { int a[10],b[10],i,n=0,m=0,k=0。 printf(enter array a:\n)。 for(i=0。i10。i++) { printf(a[%d]=,i)。 scanf(%d,amp。a[i])。 } printf(“\nenter array b:\n)。 for(i=0。i10。i++) { printf(b[%d]=,i)。 scanf(%d,amp。b[i])。 } printf(\n)。 for(i=0。i10。i++) if(a[i]b[i]) n++。 else if(a[i]b[i]) m++。 else k++。 printf(a[i]b[i] %d times\na[i]=b[i] %d times\na[i]b[i] %d times\n,n,m,k)。 if(nk) printf(array a is larger than array b\n)。 else if(nk) printf(array a is smaller than array b\n)。 else printf(array a is equal to array b\n)。 } 例 7 有兩個(gè)數(shù)組 a,b,各有 10個(gè)元素,將它們對應(yīng)地逐個(gè)相比。如果 a數(shù)組中的元素大于 b數(shù)組中的相應(yīng)元素的數(shù)目多于 b數(shù)組中元素大于 a數(shù)組中元素的數(shù)目,則認(rèn)為 a數(shù)組大于 b數(shù)組,并分別統(tǒng)計(jì)出兩個(gè)數(shù)組相應(yīng)元素大于、等于、小于的次數(shù)。 輸入 a[10],b[10] n=0(ab),m=0(ab),k=0(a==b) for i=0 to 10 a[i]b[i] a[i]b[i] T T F F n++ m++ k++ 輸出 n/m/k int large(int x,int y) { int flag。 if(xy) flag=1。 else if(xy) flag=1。 else flag=0。 return (flag)。 } for(i=0。i10。i++) if(large(a[i],b[i])==1) n++。 else if(large(a[i],b[i])==0) m++。 else k++。 include void main() { int a=2,b=1。 printf(\n\n)。 { int c。 c=a+b。 } printf(c=%d\n,c)。 } ? 遞歸是一個(gè) 過程直接調(diào)用自己 或通過一系列的過程調(diào)用間接地調(diào)用自己 的過程。遞歸的能力在于用 有限的語句來定義對象的無限集合 。 。 ,遞歸前進(jìn) 。當(dāng)邊界條件滿足時(shí),遞歸返回。 ? 迭代是直接進(jìn)行計(jì)算或處理的過程。 3. 對迭代過程進(jìn)行控制 例子:編寫一個(gè)程序,輸入一個(gè)字符串,統(tǒng)計(jì)其中各個(gè)字符出現(xiàn)的頻度。 char str[100],a[100]。 int c[100]。 gets(str)。 k=fun(str,a,c)。 i=0 to k1 output c[i] i=0 to k1 output a[i] j++。 len=strlen(str)。 k=0。a[0]=str[0]。c[0]=1 i=0 to len1 c[i]=0。 i=1 to len1 jkamp。amp。a[j]!=str[i] j=0。 j==k a[k]=str[i]。c[k]++。k++。 c[j]++。 return k。 T F int fun(char str[],char a[],int c[]) //返回 str中不同字符的個(gè)數(shù) { int i,j,k=0,len=strlen(str)。 //len為 str的長度 a[0]=str[0]。 c[0]=1。 k++。 for(i=1。ilen。i++) c[i]=0。 for(i=1。ilen。i++) //掃描 str中所有字符 { j=0。
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1