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

正文內容

[工學]第5章程序的組織結構(已修改)

2025-10-23 18:47 本頁面
 

【正文】 1 ? 結構化程序設計方法的核心是自頂向下,逐步求精,具體的實現策略是將復雜的問題逐步分解成相對簡單的子問題,這樣將有利于降低解決問題的難度,提高程序開發(fā)的效率。將一個問題分解成若干個子問題的過程稱為模塊化 ? 在 C程序中,模塊用函數實現。函數是構成 C程序的基本單位。它由函數首部和函數體兩個部分組成,函數首部包含函數的返回類型、函數名稱和參數表的聲明,函數體包含實現特定功能所需要執(zhí)行的語句序列 第 5章 程序的組織結構 函數概述 2 ? 數學函數 y=f(x) z=g(x,y) ? 函數的內容 f(x)=x2+5x+2 g(x,y)=3x+5y ? 函數的調用 y=f(5) 、 y=f(a) 、 y=f(a+3) 函數的概念 函數關系 自變量(定義域) 函數值 (值域) 改變自變量的名稱不影響函數關系 代入數據 3 C語言的函數(函數的定義) int fact(int n) { int k, t = 1。 for( k=1。 kn。 k++) t = t * k。 return t。 } 參數 (形式參數 ) (自變量) 參數類型 (定義域) 函數值的類型 (值域) 函數名 (函數關系) 函數體 (函數的內容) 返回值 (函數值的形式) C函數的調用 y = fact(5) 實際參數 (代入數據) 4 ? C函數 ? 函數形式 int fact(int n) ? 函數內容 int fact(int n){ 函數體 return 表達式 } ? 定義域 、 值域 參數的數據類型 、 返回值的數據類型 ? 調用 fact(表達式 ) C語言函數與數學函數的對比 ? 數學函數 ? 函數形式 f(x) ? 函數內容 f(x) = x! ? 定義域 、 值域 隱含 ? 調用 f(表達式 ) 5 C程序的一般結構 ? 一個 C程序一般分為若干個程序模塊,每一個模塊用來實現一個特定的功能 ? 可以用一個或幾個函數來實現一個功能模塊 main f1( ) f2( ) f11( ) f21( ) f22( ) 6 函數的調用過程 main( ) { …… f1( )。 … f2( )。 …… } f1( ) { … f11( )。 … } f21( )。 f2( ) { … … f22( )。 } f11( ) { … } f21( ) { … } f22( ) { … } 7 標準函數 ? C語言提供了很多標準函數,它們被放置在一起,形成了一個標準函數庫 ? 函數原型 ? 函數原型是指不包含函數體的函數聲明 ? C語言規(guī)定,函數必須先定義后調用 ? C源程序在編譯時,編譯程序要檢查函數調用是否正確。主要檢查調用時的實參的個數和類型是否與函數定義中的一致。如果函數的定義寫在了調用它的語句之后,為了告知編譯程序函數的形式,要在調用之前進行函數聲明 ? 在函數聲明中使用的是函數原型 ? 對于標準函數而言,它們的定義已經在 C語言提供的標準函數庫中,所以,調用時,只需在程序的前面用 include命令將含有相應函數聲明的頭文件加入到程序中即可 ? 常用標準函數的頭文件(見 P126 表 51) 8 例 51:根據給定的兩個坐標點( x1,y1)和( x2, y2),計算兩點之間的距離 ? 問題分析 ? 計算兩點之間距離的公式為 d = ? 在這個公式中含有平方和開平方的運算 ,可以直接利用 C語言提供的標準函數實現這兩個運算 9 ? 算法描述 開始 輸入兩個坐標點 輸出計算結果 結束 計算兩點之間的距離 顯示兩個坐標點 10 include include main( ) { int x1, y1, x2, y2。 double distance。 printf(\nEnter 2 coordinates(x1,y1,x2,y2)\n)。 scanf(%d%d%d%d, amp。x1, amp。y1, amp。x2, amp。y2)。 printf(\nThe first coordinate is (%d,%d), x1, y1)。 printf(\nThe second coordinate is (%d,%d), x2, y2)。 distance = sqrt(pow(x2x1, 2) + pow(y2y1, 2))。 printf(\nThe distance is %f, distance)。 } 11 ? 產生隨機數的標準函數(隨機數發(fā)生器) ? int rand( ) ? 產生一個 0~最大整數( 32767)之間的隨機整數 ? int random(int num) ? 產生一個 0~num(不含 num)的隨機整數 ? void reandomize( ) ? 初始化隨機數發(fā)生器的函數 隨機數的產生及應用實例 12 例 52 擲骰子游戲 ? 兩個人輪流擲骰子 6次,并將每次投擲的點數累加起來。點數多者獲勝;點數相同平局。請編寫程序,模擬這個游戲的過程,并給出玩 100盤之后 ,誰是最終的獲勝者 ? 問題分析 ? 借助隨機數發(fā)生器,每次產生一個 1~6之間的整數,以此模擬玩者擲骰子的點數 ? 定義兩個 int型變量 d1, d2,用于作為記錄每個人投擲點數的累加器 ? 為了記錄每個人的獲勝盤數,需要再定義兩個 int型變量 c1, c2,用于記錄每個人獲勝的盤數 13 ? 算法描述 開始 輸出最終獲勝者信息 結束
點擊復制文檔內容
教學課件相關推薦
文庫吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號-1