函式庫補充資料 1.

Slides:



Advertisements
Similar presentations
While 迴圈 - 不知重複執行次數
Advertisements

C语言程序设计 主讲教师 :张群燕 电话:
親愛的老師您好 感謝您選用本書作為授課教材,博碩文化準備本書精選簡報檔,特別摘錄重點提供給您授課專用。 說明: 博碩文化:
“八皇后”问题 崔萌萌 吕金华.
第一章 C语言概述 计算机公共教学部.
第三章 仓储技术作业过程.
C语言程序设计 第八章 函数.
C语言程序设计 第十二章 位运算.
第一章 程序设计入门.
C语言程序设计 课程 第5章 数组 主讲:李祥 博士、副教授 单位:软件学院软件工程系.
高级语言程序设计 主讲人:陈玉华.
第一章 C语言概述.
图形化函数库及操作 叶安胜. 图形化函数库及操作 叶安胜 EasyX 库背景 Turbo C的图形函数库的使用是很简单的,可是TC 本身环境太老了。 VC ++6.0编辑和调试环境都很优秀,也有适合教学的免费版本。可惜在 VC 想画条直线画个圆都很难,还要注册窗口类、建消息循环等等,初学者会受严重打击的。
循环结构又称为重复结构:用来处理需要重复处理的问题,它是程序中一种很重要的结构。
Do.For.While.正三角.倒正三角.倒九九乘法表
函數 授課:ANT 日期:2009/3/24.
選擇排序法 通訊一甲 B 楊穎穆.
C的發展史 C程式初體驗 C程式設計基本注意事項 上機實習課程
第3章 顺序结构程序设计 本章要点: 格式化输出函数──printf() 格式输入函数——scanf() 字符输出函数——putchar()
函數 授課:ANT 日期:2011/3/28.
Chap 10 函数与程序结构 10.1 函数的组织 10.2 递归函数 10.3 宏定义 10.4 编译预处理.
第4章 选择结构程序设计 4.1 选择结构和条件判断 4.2 用if语句实现选择结构 4.3关系运算符和关系表达式
C程序设计.
If … else 選擇結構 P27.
搜尋資料結構 Search Structures.
STRUCTURE 授課:ANT 日期:2010/5/12.
QQ: 李祥 QQ: 欢迎多种方式的学习交流,祝大家学有所成.
程式撰寫流程.
第5章 堆疊(Stacks) 5-1 堆疊的基礎 5-2 堆疊的表示法 5-3 堆疊的應用 - 運算式的計算與轉換
計數式重複敘述 for 迴圈 P
程式設計實習課(四) ----C 函數運用----
第5讲 结构化程序设计(Part II) 周水庚 2018年10月11日.
第七章 函数及变量存贮类型 7.1 函数基础与C程序结构 7.2 函数的定义和声明 7.3 函数的调用 7.4 函数的嵌套与递归
網路遊戲版 幸福農場168號.
C语言概述 第一章.
第1讲 C语言基础 要求: (1) C程序的组成 (2) C语言的标识符是如何定义的。 (3) C语言有哪些基本数据类型?各种基本数
C语言大学实用教程 第5章 函数与程序结构 西南财经大学经济信息工程学院 刘家芬
第一章 程序设计和C语言 主讲人:高晓娟 计算机学院.
C++语言程序设计 C++语言程序设计 第三章 控制语句 第十一组 C++语言程序设计.
C 语言程序设计 程序的循环结构 电大崇信县工作站 梁海亮.
Introduction to the C Programming Language
C语言程序设计 教案 崔武子制作
函式庫補充資料.
浙江长征职业技术学院—计算机与信息技术系—相方莉制作
Chap 5 函数 5.1 计算圆柱体积 5.2 使用函数编写程序 5.3 变量与函数.
7.1 C程序的结构 7.2 作用域和作用域规则 7.3 存储属性和生存期 7.4 变量的初始化
C程序设计.
第一章 C语言概述 教师:周芸.
C语言程序设计 李祥 QQ:
C++程式設計入門 變數與運算子 作者:黃建庭.
项目1 C程序设计起步 学习目标: 通过该项目你可以知道: C语言的用途。 C语言的基本符号和关键字。 C语言程序的结构及特点。
第2章 数据类型、运算符与表达式 本章要点: 基本数据类型 常量和变量 算术运算符和算术表达式 关系运算符和关系表达式
第二章 类型、对象、运算符和表达式.
Introduction to the C Programming Language
第二章 基本数据类型 ——数据的表示.
第二讲 基本数据类 型及数组等 此为封面页,需列出课程编码、课程名称和课程开发室名称。
隨機數 (亂數) 10後,取餘數 n = rand(); 利用 Code::Block 驗證一下 n = rand() %10; 998
本节内容 函数嵌套调用的内存布局 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
第3章 最简单的C程序设计 3.1 顺序程序设计举例 3.2 数据的表现形式及其运算 3.3 C语句 3.4 数据的输入输出.
第五章 逻辑运算和判断选取控制 §5.1 关系运算符和关系表达式
程式設計--linear search 通訊一甲 B 楊穎穆.
第1章 数据结构基础概论 本章主要介绍以下内容 数据结构研究的主要内容 数据结构中涉及的基本概念 算法的概念、描述方法以及评价标准.
第二章 数据类型、运算符和表达式 §2.1 数据与数据类型 §2.2 常量、变量和标准函数 §2.3 基本运算符及其表达式 目 录 上一章
C/C++基礎程式設計班 C語言入門、變數、基本處理與輸入輸出 講師:林業峻 CSIE, NTU 3/7, 2015.
C/C++基礎程式設計班 陣列 講師:林業峻 CSIE, NTU 3/14, 2015.
Chap 10 函数与程序结构 10.1 圆形体积计算器 10.2 汉诺塔问题 10.3 长度单位转换 10.4 大程序构成.
第三章 流程控制 程序的运行流程 选择结构语句 循环结构语句 主讲:李祥 时间:2015年10月.
本节内容 指针类型 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
Introduction to the C Programming Language
隨機函數.
Presentation transcript:

函式庫補充資料 1

6-4 函式庫 C語言編譯軟體內部提供了很多常用的函式,它們集中在所謂的程式庫或函式庫 6-4 函式庫 C語言編譯軟體內部提供了很多常用的函式,它們集中在所謂的程式庫或函式庫 使用函式庫中的函式只需將此檔利用#include指令包含進來就可以了 2

6-4.1 數學函式 常用的數學函式(參考課本6-31頁) int abs(int n); double fabs(double x); 6-4.1 數學函式 常用的數學函式(參考課本6-31頁) 函 數 原 型 作    用 表頭檔 int abs(int n); 計算整數n的絕對值(取正值)。 <stdlib.h>或<math.h> double fabs(double x); 計算雙浮點數x的絕對值(取正值)。 <math.h> long labs(long n); 計算長整數n的絕對值(取正值)。 double sqrt(double x); 計算雙浮點數x的平方根值。 double pow(double x, double y); 計算x的y次方值,即xy。 3

6-4.1 數學函式 常用的數學函式 type __max( type a, type b ); 6-4.1 數學函式 常用的數學函式 type __max( type a, type b ); 傳回a和b中數值較大者,可以是任何型態的數值,特別注意的是max前面的底線有兩個。 <stdlib.h> type __min( type a, type b ); 和__max相反,__min傳回a和b中數值較小者。 double floor( double x ); 傳回不大於x的最大整數,如floor(2.8)會傳回2.0;floor(-2.8)傳回-3。 <math.h> double ceil( double x ); 傳回不小於x的最小整數,如ceil(2.8)會傳回3.0;ceil(-2.8)傳回-2。 4

6-4.2 亂數函式 int rand( void ); 所謂亂數(Random number),是由電腦自動產生一個數字 6-4.2 亂數函式 所謂亂數(Random number),是由電腦自動產生一個數字 電腦的亂數其實是由一個亂數產生器產生的,函式名稱是rand,使用前記得將其表頭檔<stdlib.h>包含進來 格式: int rand( void ); 呼叫後會傳回0~32767之間的任意一數 5

6-4.2 亂數函式 例如: 01 //Program name:06-04-02A.c 6-4.2 亂數函式 例如: 01 //Program name:06-04-02A.c 02 #include <stdio.h> 03 #include <stdlib.h> 04 int main() 05 { 06 int i; 07 for (i=0;i<5;i++) 08 printf("%d\n",rand()); 09 system("PAUSE"); 10 return 0; 11 } 執行結果: 41 18467 6334 26500 19169 6

void srand(unsigned int seed); 6-4.2 亂數函式 每次執行程式,產生亂碼的順序卻都相同,這是因為亂數產生器的「種子」(seed)並沒有改變,所產生的亂數都是屬於同一組 改變種子,就會產生另一組亂數 語法: void srand(unsigned int seed); 7

6-4.2 亂數函式 例如: 01 //Program name:06-04-02B.c 6-4.2 亂數函式 例如: 01 //Program name:06-04-02B.c 02 #include <stdio.h> 03 #include <stdlib.h> 04 int main() 05 { 06 int i; 07 srand(100); 08 for (i=0;i<5;i++) 09 printf("%d\n",rand()); 10 system("PAUSE"); 11 return 0; 12 } 執行結果: 365 1216 5415 16704 24504 8

6-4.2 亂數函式 srand((unsigned) time ( NULL ) ); 6-4.2 亂數函式 改了亂數產生器的種子數,以後每次執行時,還是產生同樣的一組亂數 利用讀取系統時間的函式,產生一個種子數,讓亂數產生器每次執行都不一樣 時間函數表頭檔:time.h 使用方法如下: srand((unsigned) time ( NULL ) ); 9

6-4.2 亂數函式 例如: 01 //Program name:06-04-02C.c 6-4.2 亂數函式 例如: 01 //Program name:06-04-02C.c 02 #include <stdio.h> 03 #include <stdlib.h> 04 #include <time.h> 05 int main() 06 { 07 int i; 08 srand((unsigned)time(NULL)); 09 for (i=0;i<5;i++) 10 printf("%d\n",rand()); 11 system("PAUSE"); 12 return 0; 13 } 執行結果: 29921 18871 385 32432 808 10

範例06-04-02D 以程式模擬產生一個10以內加法的測驗,由使用者計算後輸入答案,如果答錯則重新出題,直到答對為止 11

範例06-04-02D 01 //Program name:06-04-02D.c 02 #include <stdio.h> 03 #include <stdlib.h> 04 #include <time.h> 05 int main() 06 { 07 int n1,n2,ans; 08 srand((unsigned)time(NULL)); //重新選擇亂數種子數 09 do { 10 n1=rand()%10; //亂數取10以內的數 11 n2=rand()%10; 12 printf("%d + %d = ",n1,n2); 13 scanf("%d",&ans); 14 if (ans==n1+n2) //如果答對了,跳離do...while迴圈 15 break; 16 printf("答錯了!再來一題...\n"); 17 }while( ans!=(n1+n2) ); 18 printf("答對了!好棒喔!"); 19 system("PAUSE"); 20 return 0; 21 } 12