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

正文內(nèi)容

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

2024-11-13 03:52 本頁面
 

【文章內(nèi)容簡介】 義 61 【 例 】 :在一個有 10個元素的數(shù)組 a中找出值最大的元素及其位置。 分析: 這里采用“ 打擂臺 ”算法。 設(shè)置一個擂臺 (變量 max),先將一個數(shù) (通常是 a[0])放在擂臺上 (max=a[0])。 用下一元素 (a[1])與擂臺上的數(shù) (max)進行比較,大者留臺上。 將第三個元素 (a[2])再與臺上的數(shù)比較,同樣是大者留臺上。 如此比下去直到所有的數(shù) (a[1]~a[9])都上臺比過為止。最后留在臺上的就是大者。 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]放在擂臺上 for(i=1。i10。i++) if(a[i]max) //如果擂臺 max上的數(shù)字小 { max=a[i]。 //就將 a[i]留在擂臺上 j=i。 //記錄擂臺上數(shù)在數(shù)組中的位置 } printf(”max=%d ,其位置為: %d\n”,max,j)。 } 63 【 例 】 用冒泡排序法對 n個整數(shù)進行升序排序。 注意:元素的序號從 0開始,程序如下: 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 【 例 】 用選擇排序法對 10個整數(shù)進行升序排序。 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個元素的數(shù)組中,用二分查找法(也稱折半查找法 )在數(shù)組中查找指定的元素。 分析 : 二分法 查找要求數(shù)組元素是 有序 的。 二分法查找基本思路是 (以升序為例 ):在一個區(qū)間 [l,r]中計算中點位置 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個數(shù) !\n“,x,i)。 } 69 字符數(shù)組可以整個字符串一次輸入 /輸出(使用數(shù)組名),但在使用數(shù)組名整體一次輸出時,注意字符串結(jié)束符 ‘ \0’。 在實際操作時,要 特別注意字符串中有無字符轉(zhuǎn)義序列。 第一部分 語法與語義 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”。 第一部分 語法與語義 71 , 若初始化的元素比數(shù)組的元素少 , 則其余元素初始化為: ; “ int a[3]={3}?!眲t a[2]= ; “ int a[3]={1,3,5,7}?!眲t會 ; “ 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行語句錯 第一部分 語法與語義 72 A, 使得其中每個元素的數(shù)據(jù)依次為: 0、 0、 0, 錯誤的定義語句是: 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}。 第一部分 語法與語義 73 六、函數(shù) 1. 函數(shù)的基本知識 (1).函數(shù)定義 函數(shù)定義時,有返回值要注意函數(shù)的返回值類型與 return語句后的表達式類型相一致,函數(shù)沒有返回值時( void),則用 return ;語句。 函數(shù)可以嵌套調(diào)用,但不可以嵌套定義。在一個函數(shù)的函數(shù)體中定義另一個函數(shù)是非法的。 第一部分 語法與語義 74 (2).函數(shù)調(diào)用 調(diào)用函數(shù)時,實參和形參要求一一對應(yīng)。 函數(shù)調(diào)用有兩種:作為表達式的函數(shù)調(diào)用和函數(shù)調(diào)用語句。對于沒有返回值的函數(shù)調(diào)用只能通過函數(shù)調(diào)用語句實現(xiàn)。 (3).函數(shù)調(diào)用參數(shù)傳遞 參數(shù)傳遞有三種:值傳遞、地址傳遞和引用傳遞。 第一部分 語法與語義 75 (4).作用域(難點)與存儲類 在 C++中,作用域共分為五類:塊作用域;文件作用域;函數(shù)原型作用域;函數(shù)作用域;類作用域。 局部變量: 在一個函數(shù)內(nèi)部定義的變量或在一個塊中定義的變量稱為局部變量。 全局變量: 在函數(shù)外定義的變量或用extern說明的變量稱為全局變量。全局變量的作用域稱為文件作用域,即在整個文件中都可以訪問。 第一部分 語法與語義 76 (1)設(shè)有函數(shù)定義調(diào)用語句 “ f((e1,e2),(e3,e4,e5))。”,則實參個數(shù)是 A 。 (A) 2 (B) 3 (C) 4 (D) 5 (2)下列函數(shù)中對調(diào)用它的函數(shù)沒有起到任何作用的是 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。} 第一部分 語法與語義 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?。 } 第一部分 語法與語義 78 2. 遞歸函數(shù) 在利用遞歸方法求值時,必須注意三點: ; ; 。 關(guān)鍵是找到遞歸公式和遞歸的結(jié)束條件。 遞歸函數(shù)在調(diào)用時分兩部分:遞推和回歸。 第一部分 語法與語義 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)。} 第一部分 語法與語義 80 (2).以下程序的輸出結(jié)果是( 15 )。 include long fib(int n) { if(n2) return(fib(n1)+fib(n2))。 else return 5*n。 } void main() { coutfib(3)。} 第一部分 語法與語義 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?。} 第一部分 語法與語義 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?。} 第一部分 語法與語義 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?。} 第一部分 語法與語義 84 定義的 重載函數(shù)必須具有 :相同的函數(shù)名但具有不同的參數(shù)個數(shù)或不同的參數(shù)類型。 調(diào)用重載該函數(shù)時,將根據(jù)實參的數(shù)據(jù)類型和重載函數(shù)的形參匹配,確定調(diào)用其中的一個重載函數(shù)。 第一部分 語法與語義 85 靜態(tài) 類型 變量有確定的初值。靜態(tài) 類型 變量對全局變量和局部變量有不同的含義。 靜態(tài) 類型 變量只能初試化一
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1