清华大学C语言教学课件(共16个PPT)第1个
合集下载
C语言全套课件(清华大学出版社) PPT

2.1 算法的概念
为了有效地进行解题,不仅需要保证 算法正确,还要考虑算法的质量,选择合 适的算法。希望方法简单,运算步骤少。 计算机算法可分为两大类别: • 数值运算算法:求数值解,例如求方程的 根、求函数的定积分等。 • 非数值运算:包括的面十分广泛,最常见 的是用于事务管理领域,例如图书检索、 人事管理、行车调度管理等。
1.3 简单的C语言程序介绍
注意:
函数的声明部分和执行部分都可缺省,例如:
void dump ( ) { }
这是一个空函数,什么也不做,但是合法的函数。
1.3 简单的C语言程序介绍
小结:
(3) C程序总是从main函数开始执行的,与main函数 的位置无关。 (4) C程序书写格式自由,一行内可以写几个语句, 一个语句可以分写在多行上,C程序没有行号。 (5) 每个语句和数据声明的最后必须有一个分号。 (6) C语言本身没有输入输出语句。输入和输出的操 作是由库函数scanf和printf等函数来完成的。C对 输入输出实行“函数化”。
S1:使p=1。 S2:使i=2 S3:使p×i,乘积仍放在变量p中,可表示为:p×ip S4:使i的值加1,即i+1i S5:如果i不大于5,返回重新执行步骤S3以及其后 的步骤S4和S5;否则,算法结束。最后得到p的值就 是5!的值。
如果题目改为:求1×3×5×……×1000 算法只需作很少的改动: S1:1→p S2:3 → i S3:p×i → p S4:i+2 → p S5:若i≤11,返回S3。否则,结束。
1.1C语言出现的历史背景 • 1983年,美国国家标准化协会(ANSI)根据C语 言各种版本对C的发展和扩充,制定了新的标 准ANSI C ,比标准C有了很大的发展。 • 1988年K & R按照 ANSI C修改了他们的《The C Programming Language》。 • 1987年,ANSI公布了新标准——87 ANSI C。 • 1990年,国际标准化组织接受了87 ANSI C为 ISO C 的标准(ISO9899—1990)。 • 1994年,ISO又修订了C语言标准。 • 目前流行的C语言编译系统大多是以ANSI C为 基础进行开发的。
C语言程序设计清华大学郑莉PPT课件

向 • 是现实世界中一个实际存在的事物。
• 可以是有形的(比如一辆汽车),也可以是无形的(比如一项计划)。
对 • 是构成世界的一个独立单位,具有:
象 • 静态特征:可以用某种数据来描述
的 • 动态特征:对象所表现的行为或具有的功能
方
法
第13页/共702页
面向对象的基本概念
面
——对象
向
对 象
• 面向对象方法中的对象:
信
息
的 表
┌控制信息 │
示 信息┤
与
│
存
┤
│
储
└ 浮点数 └数据信息
┌ 字符数据
息┤
第27页/共702页
┌ 指令 ┤ └ 控制字
┌ 定点数 ┌ 数值信息 ┤ │ └ 非数值信
└逻
计算机的数字系统
信 息 的
表 示
• 计算机采用的是二进制数字系统。 • 基本符号:0、1 • 进位原则:逢二进一 • 优点:
维护
面 将 软 件 交 付 使 用 后 , 工 作 并 没 有 完 结 , 还 要 根 据 软 件 的 运 行 情 况 和 用 户 的 需 求 , 不 断 改 进 系 统 。 向 使 用 面 向 对 象 的 方 法 开 发 的 软 件 , 其 程 序 与 问 题 域 是 一 致 的 , 因 此 , 在 维 护 阶 段 运 用 面 向 对 象 的 方 法
发生联系。
对 象 的 方 法
第17页/共702页
面向对象的基本概念
面 — — 继 承 • 继承对于软件复用有着重要意义,是面向对象技术能够提高软件开发效率的重要原因之一。 向 • 定义:特殊类的对象拥有其一般类的全部属性与服务,称作特殊类对一般类的继承。 对 • 例如:将轮船作为一个一般类,客轮便是一个特殊类。
C语言程序设计案例教程(清华大学出版社)第1章课件(xin)

1.1C语言的发展
★ C语言特点
中级语言 -处于汇编语言与高级语言之间的一种过渡型 程序设计语言; -是一种结构化程序设计语言,便于模块化程 序设计; -具有丰富的运算符与数据类型; -语言简洁,使用方便灵活,语法限制不严格, 程序设计自由度大; -生成的目标代码质量高,程序执行效率高; -具有较高的移植性。
>
★ 原码、反码和补码
在计算内部,所有信息都用二进制表示,通常以“0”表 示正数的符号,以“1”表示负数的符号,当符号和数值都用二 进制数0和1表示后,这样的数叫机器数或机器码。机器码可采 用不同的码制来表示,常用的有原码、反码和补码三种表示法。
单字节的十进制数
10 -10 127
原码
00001010 10001010 01111111
【实例1-2】求两个数中的最大数
#include <stdio.h> main() /*主函数*/ { int x,y,t; /*说明语句,定义整型变量x,y,t */ int max(int,int); /* 函数声明语句*/ printf (“ please input x,y:”); scanf (“%d,%d”,&x,&y); /* 输入x,y的值 */ t= max(x,y); /* 函数调用语句 */ printf(“x=%d,y=%d,max=%d”,x,y,t); /* 输出x,y,t的值 */ } int max(int a, int b) /* 函数max */ { if(a>b) /* 条件语句 */ return a; else return b; }
反码
00001010 11110101 01111111
补码
00001010 11110110 01111111
清华大学C语言教学课件(共16个PPT)第1个共26页

清华大学C语言教学课件(共16个PPT) 第1个
•
6、黄金时代是在我们的前面,而不在 我们的 后面。
•
7、心急吃不了热汤圆。
•
8、你可以很有个性,但某些时候请收口 (蹩脚 的工人 总是说 工具不 好)。
•
10、只要下定决心克服恐惧,便几乎 能克服 任何恐 惧。因 为,请 记住, 除了在 脑海中 ,恐惧 无处藏 身。-- 戴尔. 卡耐基 。
55、 为 中 华 之 崛起而 读书。 ——周 恩来
谢谢!
51、 天 下 之 事 常成 于困约 ,而败 于奢靡 。——陆 游 52、 生 命 不 等 于是呼 吸,生 命是活 动。——卢 梭
53、 伟 大 的 事 业,需 要决心 ,能力 ,组织 和责任 感。 ——易 卜 生 54、 唯 书 籍 不 朽。——乔 特
•
6、黄金时代是在我们的前面,而不在 我们的 后面。
•
7、心急吃不了热汤圆。
•
8、你可以很有个性,但某些时候请收口 (蹩脚 的工人 总是说 工具不 好)。
•
10、只要下定决心克服恐惧,便几乎 能克服 任何恐 惧。因 为,请 记住, 除了在 脑海中 ,恐惧 无处藏 身。-- 戴尔. 卡耐基 。
55、 为 中 华 之 崛起而 读书。 ——周 恩来
谢谢!
51、 天 下 之 事 常成 于困约 ,而败 于奢靡 。——陆 游 52、 生 命 不 等 于是呼 吸,生 命是活 动。——卢 梭
53、 伟 大 的 事 业,需 要决心 ,能力 ,组织 和责任 感。 ——易 卜 生 54、 唯 书 籍 不 朽。——乔 特
清华大学殷仁昆教授数据结构C语言描述PPT课件

第2页/共18页
数据结构课程的地位
• 是介于数学、计算机硬件和计算机软件三 者之间的一门核心课程数据结构课程的地 位。
关系
数学
对象
对象
关系
软件
硬件
关系
操作
操作
第3页/共18页
• 数据结构是一门研究非数值计算的程序设 计问题中计算机的操作对象及其之间关系 与操作的学科。是介于数学、计算机硬件 和计算机软件三者之间的一门核心课程, 属于计算机学科中的一门综合性专业基础 课程。
第5页/共18页
选修课课程设置与数据结构的关系
数据结构基础
计算机科学基础
算法与数 据结构Ⅱ
文件处理 (数据库)
算法设计与分析
软件工程
系统模拟
图形学
第6页/共18页
数值计算解决问题的一般步骤:
• 数学模型→选择计算机语言→编出程序 →测试→最终解答。
• 数值计算的关键是:如何得出数学模型 (方程)?
第8页/共18页
求解非数值计算的问题的步骤:
• 主要考虑的是设计出合适的数据结构及相 应的算法。即首先要考虑对相关的各种信 息如何表示、组织和存储?
• 可以认为:数据结构是一门研究非数值计 算的程序设计问题中计算机的操作对象以 及它们之间的关系和操作的学科。
第9页/共18页
数据结构课程的特点
• 数据结构课程是计算机专业基础课,主 要训练学生在系统开发中的数据设计、 算法设计与分析及数据组织的能力,它 是后续多门课程,如数据库、操作系统、 编译原理、网络系统基础等的基础,对 于从事计算机系统开发的人员,是必修 课程之一。
• 自觉预习、遵守纪律、认真听课、及时复 习;
• 按时、独立、认真地完成每次作业; • 完成作业方式:
数据结构课程的地位
• 是介于数学、计算机硬件和计算机软件三 者之间的一门核心课程数据结构课程的地 位。
关系
数学
对象
对象
关系
软件
硬件
关系
操作
操作
第3页/共18页
• 数据结构是一门研究非数值计算的程序设 计问题中计算机的操作对象及其之间关系 与操作的学科。是介于数学、计算机硬件 和计算机软件三者之间的一门核心课程, 属于计算机学科中的一门综合性专业基础 课程。
第5页/共18页
选修课课程设置与数据结构的关系
数据结构基础
计算机科学基础
算法与数 据结构Ⅱ
文件处理 (数据库)
算法设计与分析
软件工程
系统模拟
图形学
第6页/共18页
数值计算解决问题的一般步骤:
• 数学模型→选择计算机语言→编出程序 →测试→最终解答。
• 数值计算的关键是:如何得出数学模型 (方程)?
第8页/共18页
求解非数值计算的问题的步骤:
• 主要考虑的是设计出合适的数据结构及相 应的算法。即首先要考虑对相关的各种信 息如何表示、组织和存储?
• 可以认为:数据结构是一门研究非数值计 算的程序设计问题中计算机的操作对象以 及它们之间的关系和操作的学科。
第9页/共18页
数据结构课程的特点
• 数据结构课程是计算机专业基础课,主 要训练学生在系统开发中的数据设计、 算法设计与分析及数据组织的能力,它 是后续多门课程,如数据库、操作系统、 编译原理、网络系统基础等的基础,对 于从事计算机系统开发的人员,是必修 课程之一。
• 自觉预习、遵守纪律、认真听课、及时复 习;
• 按时、独立、认真地完成每次作业; • 完成作业方式:
清华大学C 课程PPT课件

• 引入了类的机制,最初的C++被称为“带类
语 的C” 言 • 1983年正式取名为C++ 概 • 从1989年开始C++语言的标准化工作 述 • 于1994年制定了ANSI C++标准草案
• 于1998年11月被国际标准化组织(ISO)批 准为国际标准。2003年发布了C++标准第二 版,成为目前的C++
j = 50000;
i = j;//将unsigned short赋值给signed short变量
cout <<" The short int is:"<< i <<endl; //整型数值溢出
cout <<" The short unsigned int is:"<< j<<endl;
return 0; }
15
第15页/共99页
基 数据类—型整型数据及取值范围
本
数 类型
说明符 位数 数值范围
据 短整
short 16 -32768~32767
类 基本
int
32 -231~(231-1)
型 长整
long
32 -231~(231-1)
和 无符号
表 unsigned short 16 0~65535
达 式
unsigned int unsigned long
赋值运算符和—赋值—表达赋式值表达式举例 基
本 数 据
a=5
表达式值为5
a=b=c=5 表达式值为5,a,b,c均为5
类
a=5+(c=6) 表达式值为11,a为11,c为6
C语言程序设计教程ppt课件完整版pptx

C语言的应用领域
计算机系统基本概念
计算机系统的组成 操作系统的基本概念 计算机中的数与编码
编程环境与工具安装配置
01
常见的C语言编程环境
02
安装与配置C语言编译器
使用集成开发环境(IDE)进行C语言编程
03
第一个C程序:Hello, World!
01
C程序的基本结 构
02
编写Hello, World!程序
应用场景
适用于需要根据特定条件提前终 止循环或跳过某些循环操作的情 况。
04 函数与模块化设计
函数定义和调用
01
函数定义
包括函数名、参数列表、返回值 类型和函数体等部分,用于描述 函数的功能和实现细节。
函数调用
02
03
函数声明
通过函数名和参数列表来调用函 数,实现相应功能并获取返回值 。
在使用函数之前,需要对函数进 行声明,以便编译器识别函数的 存在和调用方式。
THANKS FOR WATCHING
感谢您的观看
指针运算符
包括取地址运算符&和取值运算符*,分别 用于获取变量的内存地址和通过指针访问内 存中的数据。
动态内存分配函数(malloc, free)使用方法
malloc函数
用于在堆区动态分配指定大小的内存空间,并返回 分配内存的起始地址。
free函数
用于释放之前通过malloc函数分配的内存空间,防 止内存泄漏。
动态规划思想
动态规划是一种在数学、计算机科学和经济学中 使用的,通过把原问题分解为相对简单的子问题 的方式来求解复杂问题的方法。动态规划常用于 优化重叠子问题的计算。
回溯与分支限界法
回溯法是一种通过探索所有可能的候选解来找出 所有解的算法,而分支限界法是一种通过剪枝来 减少搜索空间的优化算法。回溯与分支限界法常 用于解决组合优化问题。
计算机系统基本概念
计算机系统的组成 操作系统的基本概念 计算机中的数与编码
编程环境与工具安装配置
01
常见的C语言编程环境
02
安装与配置C语言编译器
使用集成开发环境(IDE)进行C语言编程
03
第一个C程序:Hello, World!
01
C程序的基本结 构
02
编写Hello, World!程序
应用场景
适用于需要根据特定条件提前终 止循环或跳过某些循环操作的情 况。
04 函数与模块化设计
函数定义和调用
01
函数定义
包括函数名、参数列表、返回值 类型和函数体等部分,用于描述 函数的功能和实现细节。
函数调用
02
03
函数声明
通过函数名和参数列表来调用函 数,实现相应功能并获取返回值 。
在使用函数之前,需要对函数进 行声明,以便编译器识别函数的 存在和调用方式。
THANKS FOR WATCHING
感谢您的观看
指针运算符
包括取地址运算符&和取值运算符*,分别 用于获取变量的内存地址和通过指针访问内 存中的数据。
动态内存分配函数(malloc, free)使用方法
malloc函数
用于在堆区动态分配指定大小的内存空间,并返回 分配内存的起始地址。
free函数
用于释放之前通过malloc函数分配的内存空间,防 止内存泄漏。
动态规划思想
动态规划是一种在数学、计算机科学和经济学中 使用的,通过把原问题分解为相对简单的子问题 的方式来求解复杂问题的方法。动态规划常用于 优化重叠子问题的计算。
回溯与分支限界法
回溯法是一种通过探索所有可能的候选解来找出 所有解的算法,而分支限界法是一种通过剪枝来 减少搜索空间的优化算法。回溯与分支限界法常 用于解决组合优化问题。
C语言课件第1章C语言概述

2020/6/7
11
计算机是人类发明的一种自动机器, 它能完成的工作就是计算。计算机的最
基本功能是可以执行一组基本操作,每 个操作完成一件很简单的计算工作,例 如整数的加减乘除运算等等。为使计算 机能按人的指挥工作,每种计算机都提 供了一套指令,其中的每一种指令对应 着计算机能执行的一个基本动作。
32个关键字,9种控制语句,程序书写形式自由。
3.C语言程序易于移植
C语言将与硬件有关的因素从语言主体中分离出来, 通过库函数或其他实用程序实现它们。
4.C语言有强大的处理能力 5.生成的目标代码质量高,运行效率高
2020/6/7
35
C语言的特点
6.数据类型检查不严格,表达式出现二义性 ,不具备数据越界自动检查功能,运算符 的优先级与结合性对初学者难于掌握。
– 提供了一种表达数据与处理数据的功能 – 要求程序员按照语言的规范编程
2020/6/7
38
1.3 程序与程序设计语言
• 程序与指令 • 程序设计语言的功能 • 程序设计语言的语法 • 程序的编译与编程环境
/*变量定义 */ /*函数声明 */ /*输入一个整数 */ /*调用函数计算阶乘 */ /*输出计算结果 */
return 0;
} int factorial(int n)
/*定义计算 n! 的函数 */
{
int i, fact = 1; for(i = 1; i <= n; i++)
/*循环*/
• C程序设计语言,[美]Brian W. Kernighan, Dennis M. Ritchie,徐宝文等译,机械工业出版社,2019
2020/6/7
7
清华《C语言程序设计》1概述和数据类型ppt

级语言与数据结构的基本思想,初步学会运用计算机语言解决
实际问题、培养学生程序设计逻辑思想,并为今后进一步使用
其他面向对象的可视化开发工具,开发管理信息系统等应用程
序打下基础。
C语言程序设计
5
第
一
章
C 课程目标:
语
言 简
❖熟记C语言的基本概念
介
❖熟悉C-FREE的上机操作环境
❖会读、会编、会调试C程序
第 一 章
C 语 言 简 介
C语言程序设计
1
第
一 章
C 教材、参考书与课时安排
语
言
– 教材
简
介
C语言程序设计 唐国民 编著 清华大学出版社
– 参考书
C程序设计 谭浩强 清华大学出版社
C高级实用程序设计 王士元 清华大学出版 社
– 课时安排
授课 :60学时
C语言程序设计
2
第
一
章
– 上机安排
C 语
• 上机地点:1幢四楼计算机机房431
• 1987年,ANSI公布了新标准——87 ANSI C。
• 1990年,国际标准化组织接受了87 ANSI C为ISO
C 的标准(ISO9899—1990)。
• 1994年,ISO又修订了C语言标准。
• 目前流行的C语言编译系统大多是以ANSI C为基础
进行开发的。
C语言程序设计
13
第
一 章
二、
– 认真、独立、按时完成并提交作业
– 重视上机实践,有效利用宝贵的上机时间
C语言程序设计
4
第
一
章 一、 C语言程序设计在计算机科学与技术专业中的作用与地位
C语言程序设计教程完整全套教学课件pptx

C语言与高级语言的关系
探讨C语言与Java、Python等高级语 言之间的联系与区别,以及各自适用 的场景。
C语言的特点与优势
阐述C语言高效、灵活、可移植等特 点,以及在系统级编程、嵌入式开发 等领域的广泛应用。
计算机系统基本概念
1 2 3
计算机系统的组成
介绍计算机硬件系统的基本组成,包括中央处理 器、内存、输入/输出设备等。
强制类型转换
通过类型转换运算符来实现,其一般 形式为“(类型说明符)(表达式) ”,其功能是把表达式的运算结果强 制转换成类型说明符所表示的类型。
03
控制结构
顺序结构
顺序结构的概念
按照代码的先后顺序,逐行 执行程序。
顺序结构的流程图
用箭头表示程序执行的顺序 。
顺序结构的应用场景
适用于简单的计算和输出任 务。
局部变量和全局变量
局部变量
在函数内部定义的变量,只在该函数内有效,不同函数中的局部变量互不影响。
全局变量
在函数外部定义的变量,可以在整个程序范围内访问,但过度使用全局变量会降低程序的可维护性和可读性。
模块化设计思想
模块化设计概念
01
将程序划分为若干个独立的功能模块,每个模块完成
特定的功能,提高程序的可维护性和可重用性。
&&、||、!等
运算符和表达式
位运算符
&、|、^、~、<<、>>等
赋值运算符
=、+=、-=、*=、/=等
条件运算符
?
运算符和表达式
逗号运算符
,
表达式
由运算符和操作数组成的式子,用于计算一个值
数据类型转换
自动类型转换
清华大学C语言学习课件

的 程语言把OOD模型中的每个成分书写出
软 件
来,是面向对象的软件开发最终落实的
开 重要阶段。
发
前一页 休息
25
面 测试
向
对 测试的任务是发现软件中的错误。 象 的 在面向对象的软件测试中继续运用面
软 向对象的概念与原则来组织测试,以
件 开
对象的类作为基本测试单位,可以更
发 准确的发现程序错误并提高测试效率。
前一页 休息
7
计 面向对象的语言
算
机 语
优点:
言
使程序能够比较直接地反问题域的本
的
来面目,软件开发人员能够利用人类认识
发
事物所采用的一般思维方法来进行软件开
展
发。
前一页 休息
8
程序设计方法的发展历程
面
——面向过程的程序设计方法
向
对 象 程序的目的:用于数学计算
的 方
主要工作:设计求解问题的过程
程序设计方法的发展历程
面 ——面向过程的结构化程序设计方法
向
对 缺点:可重用性差、数据安全性差、 象 难以开发图形界面的应用
的 方 法
– 把数据和处理数据的过程分离为相互独 立的实体。
– 当数据结构改变时,所有相关的处理过 程都要进行相应的修改。
– 每一种相对于老问题的新方法都要带来 额外的开销。
– 图形用户界面的应用,很难用过程来描 述和实现,开发和维护都很困难。
前一页 休息
12
程序设计方法的发展历程
面
——面向对象的方法
向
对 将数据及对数据的操作方法封装在一
象 起,作为一个相互依存、不可分离的
的 整体——对象。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
// Sample1.c 1 #include <stdio.h>
//预编译命令,将标准输入输出函数 //作为头文件包扩到用户源文件中 2 #include <math.h> //预编译命令,将系统提供的数学函数 //作为头文件包扩到用户源文件中 3 void main( ) //主函数,名为main, //void是类型说明符(无返回值) 4{ //函数体.开始 5 float a,b,c; //声明部分.定义变量类型 6 b=30.0; //执行部分.赋值语句 7 a=sin(b*3.14159/180); //执行部分.赋值语句 8 printf("%f\n",a); //执行部分.输出语句 9} //函数体.结束 12
(2)指数形式: 如 321.54e-6 —312.54 106 —
整数
.
小数
e
指数
14
一、简单的C程序
float —— 32bit double —— 64bit long double —— 128bit
类型 float double long double
比特数 有效数字 32 64 128 6~7 15~16 18~19
20
一、简单的C程序
例:为了醒目,格式控制项中除格式说明之外的 普通字符
printf(“a=%f b=%d", a, b);
输出结果为:
a=85.560000 b=100
换行
printf(“%f\n”,a);
输出a的值后换一行
21
一、简单的C程序
7 数学函数 (1) sin(x) (2) cos(x) (3) exp(x) (4) log(x) (5) log10(x) (6) fabs(x) (7) fmod(x,y) (8) floor(x) (9) pow(x, y) (10) sqrt(x)
计算机程序设计基础
3. 强化实践 这门课主张程序设计是高强度的脑力劳动,不 是听会的、也不是看会的,而是练会的。这可 能与以往的教学安排最大的不同之处。 4. 鼓励和引导探索式的学习 按照建构主义的学习理论,学生(作为学习的 主体)在与客观环境(所学内容)的交互过程 中构建自己的知识结构的。引导学生在解题编 程的实践中探索其中带规律性的认识。将感性 认识升华到理性高度。 5
计算机程序设计基础
授课教师:吴文虎 (教授) 上课地点:东阶教室 上机实验:东主楼Intel机房
1
计算机程序设计基础
一、教学对象
计算机科学与技术系新生(第一学期)
二、教学目标
程序设计的重要性 程序设计的基本概念与基本方法 编程解题的思路与典型方法 数学模型简介 算法及算法步骤 程序结构与相应语句 编码与上机调试 问题规模与时空复杂度估计
7
计算机程序设计基础
9. 学习心态 “自立、自信、自尊、自强”,要求做到 越学越会充满信心。
8
计算机程序设计基础
五、教学内容安排
1. 概论:程序设计的基本概念与基本方 法;怎样才能学好这门基础课 2. 程序的基本结构 3. 编程关键:逻辑思维与问题求解人是 怎样让计算机帮助自己解题的 4. 数据的组织方式一:数组 5. 模块化:函数与函数调用
1 1 x 当x 5.0时,求y的值。 2. y a 2 b 2 , a 3, b 4, 求y。 1 cos 3. y , 60 , 求y。 2 4. y a sin 2 x b sin x cos x c cos 2 x a 2.0, b 1.0, c 1.0, x 45 , 求y。
16
一、简单的C程序
4 对变量的赋值 赋值符号“=” <变量>=<表达式> b = 30.0; // 读作将表达式的值30.0赋给变量b a=sin(b*3.14159/180); // 读作将表达式(正弦函数) // 的值赋给变量a 5 变量赋值特点 (1)先定义,后使用 int d,e,f; 定义三个变量为整数类型 如未定义,则在编译时被查出,认为非法 (2)变量未被赋值前,值为0 (3)对变量赋值过程是“覆盖”过程,用新值去替换旧值 (4)读出变量的值,该变量保持不变 (5)参与表达式运算的所有变量都保持原来的值不变 17
6
计算机程序设计基础
7. 考试方法 不纸上谈兵,不搞笔试,不考死记硬背的东西 上机解题,自动测试 不计失败,只计成功 正在建立试题库,题目随机抽取 8. 学习方法 动手动脑,理论指导下的实践 有条有理的实践。实践出真知 “自学、动手、应用、上网” 在编写大量程序之后,才能感到运用自如。
2
计算机程序设计基础
三、教学重点
程序设计的基本概念,基本方法; 在 C语言的环境下,学会如何针对问题进 行分析,得出数学模型,理出算法并编程 实现; 有条有理有根有据的编程实践; 养成良好的编程风格与习惯; 重在思维方法的学习,鼓励创新。
3
计算机程序设计基础
四、指导思想
1. 立足改革,人的认识要随着时代的前进 而不断深化,在新的形势和环境下,教学要突 破传统观念和传统模式,也要追求高效和完美, 以培养高素质有创造精神的人才为这门课的教 学目标。 2. 以学生为中心 学生是教学的主体,安排教学首先须考虑培养 目标、学生的认知规律和学习特点。 教学的每一个环节都要顾及学生的实际情况, 有利于调动学生学习的积极性,引导学生主动 4 学习。
9
计算机程序设计基础
6. 分治思想:递归算法及其实现。 7. 逻辑指代与物理指代:指针。 8. 数据的组织方式二:结构。 9. 数据的组织方式三:链表与树。 10.数据的组织方式四:文件,数据的永 久存储与重复使用。 11.面向对象程序设计的概念及特点。
10
第一讲 简单的C程序设计
一、简单的C程序
计算机程序设计基础
5. 突出重点 重点放在思路、算法、编程构思和程序实现上。 语句只是表达工具,要求堂上积极思考,尽量 当堂学懂,重在训练利用计算机编程手 段分析问题和解决问题的能力。 6. 养成良好的编程习惯 强调可读性; 变量要加注释; 程序构思要有说明; 学会如何调试程序; 尽可能优化; 对运行结果要做正确与否的分析。
数值范围
10
37
~ 10
38
10
10
307
~ 10
~ 10
15
308
4931
4932
一、简单的C程序
2 声明的作用 为变量分配内存单元,变量名作为内存单元的符号 地址,这件事是在程序编译链接时完成的。 3 变量 其值可以改变的量 b 变量名
30.0 ————变量值
存储单元地址XXXX
通过b可以找到相应的存储单元地址XXXX
24
19
一、简单的C程序
格式控制是用双引号括起来的字符串,称 “转换控制字符串”
%f —— 第一个输出表列的格式说明,以小数 形式输出单、双精度实数,隐含输出6位小数 %d —— 第二个输出表列的格式说明,以带有 符号的十进制形式输出整数(正数不输出符号) 显然,%f是控制实数a的;%d是控制n( ) { 函数体开始 声明部分 执行部分 } 函数体结束
13
一、简单的C程序
讲解这个简单的程序
1 浮点数 floating-point number 指带有小数部分的数,又称实数,C语言中的浮点 数是以十进制数表示的,采用两种形式 (1)小数形式: 如 3 . 1 4 1 5 9
变量赋值过程
未赋值前 执行 d=7
执行 e=d
一、简单的C程序
d 0
7
e 0 0 7
f 0 0 0
7 7 7
1
执行 f=d+e
执行 d=d+1
7
14
8
7
14
18
一、简单的C程序
6 输出语句
printf函数(格式输出函数) 一般形式为 printf(参数1,参数2,参数3,……,参数n) 其中参数1——格式控制 参数2,参数3,……,参数n——输出表列 举例: float a; int b; a = 85.56; b = 100; printf("%f %d", a, b);
x为弧度,double x,double sin(x) cos(x)
e
x
loge x log10 x |x|
整除x/y的余数 求不大于x的最大整数
x
y
x, x 0
22
一、简单的C程序
8 算术运算符 + - * / % 加 减 乘 除 模(取余数)
23
一、简单的C程序
练习: 1. y 1 1 1 1
//预编译命令,将标准输入输出函数 //作为头文件包扩到用户源文件中 2 #include <math.h> //预编译命令,将系统提供的数学函数 //作为头文件包扩到用户源文件中 3 void main( ) //主函数,名为main, //void是类型说明符(无返回值) 4{ //函数体.开始 5 float a,b,c; //声明部分.定义变量类型 6 b=30.0; //执行部分.赋值语句 7 a=sin(b*3.14159/180); //执行部分.赋值语句 8 printf("%f\n",a); //执行部分.输出语句 9} //函数体.结束 12
(2)指数形式: 如 321.54e-6 —312.54 106 —
整数
.
小数
e
指数
14
一、简单的C程序
float —— 32bit double —— 64bit long double —— 128bit
类型 float double long double
比特数 有效数字 32 64 128 6~7 15~16 18~19
20
一、简单的C程序
例:为了醒目,格式控制项中除格式说明之外的 普通字符
printf(“a=%f b=%d", a, b);
输出结果为:
a=85.560000 b=100
换行
printf(“%f\n”,a);
输出a的值后换一行
21
一、简单的C程序
7 数学函数 (1) sin(x) (2) cos(x) (3) exp(x) (4) log(x) (5) log10(x) (6) fabs(x) (7) fmod(x,y) (8) floor(x) (9) pow(x, y) (10) sqrt(x)
计算机程序设计基础
3. 强化实践 这门课主张程序设计是高强度的脑力劳动,不 是听会的、也不是看会的,而是练会的。这可 能与以往的教学安排最大的不同之处。 4. 鼓励和引导探索式的学习 按照建构主义的学习理论,学生(作为学习的 主体)在与客观环境(所学内容)的交互过程 中构建自己的知识结构的。引导学生在解题编 程的实践中探索其中带规律性的认识。将感性 认识升华到理性高度。 5
计算机程序设计基础
授课教师:吴文虎 (教授) 上课地点:东阶教室 上机实验:东主楼Intel机房
1
计算机程序设计基础
一、教学对象
计算机科学与技术系新生(第一学期)
二、教学目标
程序设计的重要性 程序设计的基本概念与基本方法 编程解题的思路与典型方法 数学模型简介 算法及算法步骤 程序结构与相应语句 编码与上机调试 问题规模与时空复杂度估计
7
计算机程序设计基础
9. 学习心态 “自立、自信、自尊、自强”,要求做到 越学越会充满信心。
8
计算机程序设计基础
五、教学内容安排
1. 概论:程序设计的基本概念与基本方 法;怎样才能学好这门基础课 2. 程序的基本结构 3. 编程关键:逻辑思维与问题求解人是 怎样让计算机帮助自己解题的 4. 数据的组织方式一:数组 5. 模块化:函数与函数调用
1 1 x 当x 5.0时,求y的值。 2. y a 2 b 2 , a 3, b 4, 求y。 1 cos 3. y , 60 , 求y。 2 4. y a sin 2 x b sin x cos x c cos 2 x a 2.0, b 1.0, c 1.0, x 45 , 求y。
16
一、简单的C程序
4 对变量的赋值 赋值符号“=” <变量>=<表达式> b = 30.0; // 读作将表达式的值30.0赋给变量b a=sin(b*3.14159/180); // 读作将表达式(正弦函数) // 的值赋给变量a 5 变量赋值特点 (1)先定义,后使用 int d,e,f; 定义三个变量为整数类型 如未定义,则在编译时被查出,认为非法 (2)变量未被赋值前,值为0 (3)对变量赋值过程是“覆盖”过程,用新值去替换旧值 (4)读出变量的值,该变量保持不变 (5)参与表达式运算的所有变量都保持原来的值不变 17
6
计算机程序设计基础
7. 考试方法 不纸上谈兵,不搞笔试,不考死记硬背的东西 上机解题,自动测试 不计失败,只计成功 正在建立试题库,题目随机抽取 8. 学习方法 动手动脑,理论指导下的实践 有条有理的实践。实践出真知 “自学、动手、应用、上网” 在编写大量程序之后,才能感到运用自如。
2
计算机程序设计基础
三、教学重点
程序设计的基本概念,基本方法; 在 C语言的环境下,学会如何针对问题进 行分析,得出数学模型,理出算法并编程 实现; 有条有理有根有据的编程实践; 养成良好的编程风格与习惯; 重在思维方法的学习,鼓励创新。
3
计算机程序设计基础
四、指导思想
1. 立足改革,人的认识要随着时代的前进 而不断深化,在新的形势和环境下,教学要突 破传统观念和传统模式,也要追求高效和完美, 以培养高素质有创造精神的人才为这门课的教 学目标。 2. 以学生为中心 学生是教学的主体,安排教学首先须考虑培养 目标、学生的认知规律和学习特点。 教学的每一个环节都要顾及学生的实际情况, 有利于调动学生学习的积极性,引导学生主动 4 学习。
9
计算机程序设计基础
6. 分治思想:递归算法及其实现。 7. 逻辑指代与物理指代:指针。 8. 数据的组织方式二:结构。 9. 数据的组织方式三:链表与树。 10.数据的组织方式四:文件,数据的永 久存储与重复使用。 11.面向对象程序设计的概念及特点。
10
第一讲 简单的C程序设计
一、简单的C程序
计算机程序设计基础
5. 突出重点 重点放在思路、算法、编程构思和程序实现上。 语句只是表达工具,要求堂上积极思考,尽量 当堂学懂,重在训练利用计算机编程手 段分析问题和解决问题的能力。 6. 养成良好的编程习惯 强调可读性; 变量要加注释; 程序构思要有说明; 学会如何调试程序; 尽可能优化; 对运行结果要做正确与否的分析。
数值范围
10
37
~ 10
38
10
10
307
~ 10
~ 10
15
308
4931
4932
一、简单的C程序
2 声明的作用 为变量分配内存单元,变量名作为内存单元的符号 地址,这件事是在程序编译链接时完成的。 3 变量 其值可以改变的量 b 变量名
30.0 ————变量值
存储单元地址XXXX
通过b可以找到相应的存储单元地址XXXX
24
19
一、简单的C程序
格式控制是用双引号括起来的字符串,称 “转换控制字符串”
%f —— 第一个输出表列的格式说明,以小数 形式输出单、双精度实数,隐含输出6位小数 %d —— 第二个输出表列的格式说明,以带有 符号的十进制形式输出整数(正数不输出符号) 显然,%f是控制实数a的;%d是控制n( ) { 函数体开始 声明部分 执行部分 } 函数体结束
13
一、简单的C程序
讲解这个简单的程序
1 浮点数 floating-point number 指带有小数部分的数,又称实数,C语言中的浮点 数是以十进制数表示的,采用两种形式 (1)小数形式: 如 3 . 1 4 1 5 9
变量赋值过程
未赋值前 执行 d=7
执行 e=d
一、简单的C程序
d 0
7
e 0 0 7
f 0 0 0
7 7 7
1
执行 f=d+e
执行 d=d+1
7
14
8
7
14
18
一、简单的C程序
6 输出语句
printf函数(格式输出函数) 一般形式为 printf(参数1,参数2,参数3,……,参数n) 其中参数1——格式控制 参数2,参数3,……,参数n——输出表列 举例: float a; int b; a = 85.56; b = 100; printf("%f %d", a, b);
x为弧度,double x,double sin(x) cos(x)
e
x
loge x log10 x |x|
整除x/y的余数 求不大于x的最大整数
x
y
x, x 0
22
一、简单的C程序
8 算术运算符 + - * / % 加 减 乘 除 模(取余数)
23
一、简单的C程序
练习: 1. y 1 1 1 1