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

正文內(nèi)容

c語(yǔ)言強(qiáng)化訓(xùn)練(第一、二部分)(編輯修改稿)

2024-11-13 03:52 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 義 61 【 例 】 :在一個(gè)有 10個(gè)元素的數(shù)組 a中找出值最大的元素及其位置。 分析: 這里采用“ 打擂臺(tái) ”算法。 設(shè)置一個(gè)擂臺(tái) (變量 max),先將一個(gè)數(shù) (通常是 a[0])放在擂臺(tái)上 (max=a[0])。 用下一元素 (a[1])與擂臺(tái)上的數(shù) (max)進(jìn)行比較,大者留臺(tái)上。 將第三個(gè)元素 (a[2])再與臺(tái)上的數(shù)比較,同樣是大者留臺(tái)上。 如此比下去直到所有的數(shù) (a[1]~a[9])都上臺(tái)比過(guò)為止。最后留在臺(tái)上的就是大者。 62 include void main() { int i,j,max,a[10]={6,9,8,5,2,4,7,3,1,0}。 max=a[0]。 j=0。 //將 a[0]放在擂臺(tái)上 for(i=1。i10。i++) if(a[i]max) //如果擂臺(tái) max上的數(shù)字小 { max=a[i]。 //就將 a[i]留在擂臺(tái)上 j=i。 //記錄擂臺(tái)上數(shù)在數(shù)組中的位置 } printf(”max=%d ,其位置為: %d\n”,max,j)。 } 63 【 例 】 用冒泡排序法對(duì) n個(gè)整數(shù)進(jìn)行升序排序。 注意:元素的序號(hào)從 0開(kāi)始,程序如下: for (i=0。 in1。 i++) for (j=n1。ji。 j) { if (a[j]a[j1]) { t=a[j]。 a[j]=a[j1]。 a[j1]=t。 } } 64 include void main() { int a[10]={12,5,34,26,18,8,4,22,9,15}。 int n=10,i,j,t。 for (i=0。 in1。 i++) for (j=n1。ji。 j) { if (a[j]a[j1]) {t=a[j]。a[j]=a[j1]。a[j1]=t。} } for (i=0。 in1。 i++)printf(“%d\t”,a[i])。 printf(“\n”)。 } 65 【 例 】 用選擇排序法對(duì) 10個(gè)整數(shù)進(jìn)行升序排序。 include void main() { int a[10]={12,5,34,26,18,8,4,22,9,15}。 int n=10,i,j,t。 for (i=0。 in1。 i++) for (j=i+1。jn。 j++) if (a[i]a[j]) {t=a[i]。a[i]=a[j]。a[j]=t。} for (i=0。 in1。 i++)printf(“%d\t”,a[i])。 printf(“\n”)。 } 66 【 例 】 用順序查找法在數(shù)組中查找指定的元素。 include void main() { int a[10]={12,5,34,26,18,8,4,22,9,15}。 int x,i,n=10。 scanf(“x=%d”,amp。x)。 for (i=0。 in。 i++) if (a[i]==x)break。 if(i==n) printf(“%d不在數(shù)組中! \n”,x)。 else printf(”%d其位置為: %d\n”,x,i)。 } 67 【 例 】 在具有 10個(gè)元素的數(shù)組中,用二分查找法(也稱折半查找法 )在數(shù)組中查找指定的元素。 分析 : 二分法 查找要求數(shù)組元素是 有序 的。 二分法查找基本思路是 (以升序?yàn)槔?):在一個(gè)區(qū)間 [l,r]中計(jì)算中點(diǎn)位置 m=(l+r)/2,如果a[m]就是要查找的 x,則查找成功! 68 include void main() { int y[10]={5,7,8,14,25,36,44,50,69,80}。 int i,n,m,x。scanf(“輸入要查找的數(shù) :%d”,amp。x)。 n=0。m=9。 i=(n+m)/2。 while(n=mamp。amp。y[i]!=x) { if(y[i]x) n=i+1。 if(y[i]x) m=i1。 i=(n+m)/2。 } if(y[i]!=x) printf(No found!\n“)。 else printf(“數(shù) %d在數(shù)組的第 %d個(gè)數(shù) !\n“,x,i)。 } 69 字符數(shù)組可以整個(gè)字符串一次輸入 /輸出(使用數(shù)組名),但在使用數(shù)組名整體一次輸出時(shí),注意字符串結(jié)束符 ‘ \0’。 在實(shí)際操作時(shí),要 特別注意字符串中有無(wú)字符轉(zhuǎn)義序列。 第一部分 語(yǔ)法與語(yǔ)義 70 例: ___7,2____。 main() { char a[7]=“a0\0a0\0”。int i,j。 i=sizeof(a)。j=strlen(a)。 printf(“%d %d”,i,j)。 } char a[]=“a123\123\\\0ef”。 第一部分 語(yǔ)法與語(yǔ)義 71 , 若初始化的元素比數(shù)組的元素少 , 則其余元素初始化為: ; “ int a[3]={3}?!眲t a[2]= ; “ int a[3]={1,3,5,7}?!眲t會(huì) ; “ int a[3]?!眲t a[2]的值 。 : 。 int x。scanf(“%d”,amp。x)。 float z,y[x]={1,2,3,4,5,6,7,8}。 //A z=y[3]。 //B 4 3 D. A行語(yǔ)句錯(cuò) 第一部分 語(yǔ)法與語(yǔ)義 72 A, 使得其中每個(gè)元素的數(shù)據(jù)依次為: 0、 0、 0, 錯(cuò)誤的定義語(yǔ)句是: A. int A[]={3,9,4,8,0,0,0}。 B. int A[7]={3,9,4,8,0,0,0}。 C. int A[]={3,9,4,8}。 D. int A[7]={3,9,4,8}。 第一部分 語(yǔ)法與語(yǔ)義 73 六、函數(shù) 1. 函數(shù)的基本知識(shí) (1).函數(shù)定義 函數(shù)定義時(shí),有返回值要注意函數(shù)的返回值類型與 return語(yǔ)句后的表達(dá)式類型相一致,函數(shù)沒(méi)有返回值時(shí)( void),則用 return ;語(yǔ)句。 函數(shù)可以嵌套調(diào)用,但不可以嵌套定義。在一個(gè)函數(shù)的函數(shù)體中定義另一個(gè)函數(shù)是非法的。 第一部分 語(yǔ)法與語(yǔ)義 74 (2).函數(shù)調(diào)用 調(diào)用函數(shù)時(shí),實(shí)參和形參要求一一對(duì)應(yīng)。 函數(shù)調(diào)用有兩種:作為表達(dá)式的函數(shù)調(diào)用和函數(shù)調(diào)用語(yǔ)句。對(duì)于沒(méi)有返回值的函數(shù)調(diào)用只能通過(guò)函數(shù)調(diào)用語(yǔ)句實(shí)現(xiàn)。 (3).函數(shù)調(diào)用參數(shù)傳遞 參數(shù)傳遞有三種:值傳遞、地址傳遞和引用傳遞。 第一部分 語(yǔ)法與語(yǔ)義 75 (4).作用域(難點(diǎn))與存儲(chǔ)類 在 C++中,作用域共分為五類:塊作用域;文件作用域;函數(shù)原型作用域;函數(shù)作用域;類作用域。 局部變量: 在一個(gè)函數(shù)內(nèi)部定義的變量或在一個(gè)塊中定義的變量稱為局部變量。 全局變量: 在函數(shù)外定義的變量或用extern說(shuō)明的變量稱為全局變量。全局變量的作用域稱為文件作用域,即在整個(gè)文件中都可以訪問(wèn)。 第一部分 語(yǔ)法與語(yǔ)義 76 (1)設(shè)有函數(shù)定義調(diào)用語(yǔ)句 “ f((e1,e2),(e3,e4,e5))?!?,則實(shí)參個(gè)數(shù)是 A 。 (A) 2 (B) 3 (C) 4 (D) 5 (2)下列函數(shù)中對(duì)調(diào)用它的函數(shù)沒(méi)有起到任何作用的是 C 。 (A) void f1(double amp。x){x。} (B) double f2(double x){return 。} (C) void f3(double x){x。} (D) double f4(double *x){*x。return *x。} 第一部分 語(yǔ)法與語(yǔ)義 77 (3)以下程序輸出的第一行是 0 1 2 3 4 第二行是 15 。 include (作用域 ) int k。 void main(void) { k=10。 for(int i=0。i5。i++){ int k。k+=i。 //由于重新定義變量 k, 所以就有不同的作用域 coutk? ?。k++。::k++。} cout?\n?k?\n?。 } 第一部分 語(yǔ)法與語(yǔ)義 78 2. 遞歸函數(shù) 在利用遞歸方法求值時(shí),必須注意三點(diǎn): ; ; 。 關(guān)鍵是找到遞歸公式和遞歸的結(jié)束條件。 遞歸函數(shù)在調(diào)用時(shí)分兩部分:遞推和回歸。 第一部分 語(yǔ)法與語(yǔ)義 79 (1).以下程序的輸出結(jié)果是( vrg )。 include void func2(int i)。 char s[]=“verygood!” void func1(int i) { coutst[i]。if(i3){i=+2。func2(i)。}} void func2(int i) { coutst[i]。if(i3){i=+2。func1(i)。}} void main() { int i=0。func1(i)。} 第一部分 語(yǔ)法與語(yǔ)義 80 (2).以下程序的輸出結(jié)果是( 15 )。 include long fib(int n) { if(n2) return(fib(n1)+fib(n2))。 else return 5*n。 } void main() { coutfib(3)。} 第一部分 語(yǔ)法與語(yǔ)義 81 (3)以下程序輸出的第一行是 1 1 第二行是 4 1 最后一行是 x=10 。 include void fun(int n,int *s) { int f1,f2。 if(n==1||n==2)*s=1。 else { fun(n1,amp。f1)。fun(n2,amp。f2)。 *s=2*f1+f2+1。 coutf1?\t?f2?\n?。}} void main(void) {int x。fun(4,amp。x)。cout”x=”x?\n?。} 第一部分 語(yǔ)法與語(yǔ)義 82 (4)以下程序輸出的結(jié)果是 dcba 。 include void show(char *s) {if(*s){show(s+1)。cout*s。}} void main(void) { show(“abcd\0efg\0hij”)。 cout?\n?。} 第一部分 語(yǔ)法與語(yǔ)義 83 (5)以下程序輸出的第一行是 123 第二行是 321 第三行是 123 。 include void p1(char s[],int i) { if(s[i]!=0)p1(s,i+1)。 couts[i]。} void p2(char s[],int i) { couts[i]。 if(s[i]!=0)p2(s,i+1)。} void main(void) { char str[]=”123”。coutstr?\n?。 p1(str,0)。cout?\n?。 p2(str,0)。cout?\n?。} 第一部分 語(yǔ)法與語(yǔ)義 84 定義的 重載函數(shù)必須具有 :相同的函數(shù)名但具有不同的參數(shù)個(gè)數(shù)或不同的參數(shù)類型。 調(diào)用重載該函數(shù)時(shí),將根據(jù)實(shí)參的數(shù)據(jù)類型和重載函數(shù)的形參匹配,確定調(diào)用其中的一個(gè)重載函數(shù)。 第一部分 語(yǔ)法與語(yǔ)義 85 靜態(tài) 類型 變量有確定的初值。靜態(tài) 類型 變量對(duì)全局變量和局部變量有不同的含義。 靜態(tài) 類型 變量只能初試化一
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1