C语言程序设计(清华大学出版社)ppt课件
合集下载
C语言PPT课件

第34页/共92页
3.2 C语言的基本数据类型及其表示
3.2.4 字符型数据及其表示 4.字符串常量 说明: C语言对字符串常量的长度不加限制,编译程序总是自动地在字符串的结 尾加上一个转意字符’\0’(即ASCII码是0,所对应的字符是空),作为 字符串常量的结束标志。对字符串操作时,这个结束标志是非常重要的。
3.2.1 常量与变量 2.符号常量 在C语言中,常量还可以用标识符来表示。 C语言中用宏定义命令对符号常量进行定义,其定义形式如下: #define <标识符> <常量>
第18页/共92页
3.2 C语言的基本数据类型及其表示
3.2.1 常量与变量
3.变量 变量是在程序运行过程中可以改变的量。
C语言提供的基本变量类型有:
无值类型(空类型) void
第16页/共92页
3.2 C语言的基本数据类型及其表示
3.2.1 常量与变量
1.常量 常量是指在程序运行时其值不能改变的量。C语言提供的常量有:
整型常量
数值常量Байду номын сангаас
常量
实型常量
字符常量
字符常量
字符串常量
例如,123,3.14,-3000等都是常量。
第17页/共92页
3.2 C语言的基本数据类型及其表示
第5页/共92页
2.2 C程序的基本结构
2.2.1 简单的C程序介绍 2.2.2 C程序的基本组成
第6页/共92页
2.2.1 简单的C程序介绍
例1 (P24例2-1) /*文件名:A1.C*/ /*This is a hello C program.*/ main() { printf("*********************\n"); printf(" Happy New Year!\n"); printf("*********************\n"); } 说明:双引号内的字符串按原样输出,“\n”是换行符。
3.2 C语言的基本数据类型及其表示
3.2.4 字符型数据及其表示 4.字符串常量 说明: C语言对字符串常量的长度不加限制,编译程序总是自动地在字符串的结 尾加上一个转意字符’\0’(即ASCII码是0,所对应的字符是空),作为 字符串常量的结束标志。对字符串操作时,这个结束标志是非常重要的。
3.2.1 常量与变量 2.符号常量 在C语言中,常量还可以用标识符来表示。 C语言中用宏定义命令对符号常量进行定义,其定义形式如下: #define <标识符> <常量>
第18页/共92页
3.2 C语言的基本数据类型及其表示
3.2.1 常量与变量
3.变量 变量是在程序运行过程中可以改变的量。
C语言提供的基本变量类型有:
无值类型(空类型) void
第16页/共92页
3.2 C语言的基本数据类型及其表示
3.2.1 常量与变量
1.常量 常量是指在程序运行时其值不能改变的量。C语言提供的常量有:
整型常量
数值常量Байду номын сангаас
常量
实型常量
字符常量
字符常量
字符串常量
例如,123,3.14,-3000等都是常量。
第17页/共92页
3.2 C语言的基本数据类型及其表示
第5页/共92页
2.2 C程序的基本结构
2.2.1 简单的C程序介绍 2.2.2 C程序的基本组成
第6页/共92页
2.2.1 简单的C程序介绍
例1 (P24例2-1) /*文件名:A1.C*/ /*This is a hello C program.*/ main() { printf("*********************\n"); printf(" Happy New Year!\n"); printf("*********************\n"); } 说明:双引号内的字符串按原样输出,“\n”是换行符。
C语言程序设计PPT课件 第5章 数组程序设计

C语言程序设计(第3版)张磊编著 清华大学出版社
5.1.4 数值型一维数组的初始化
例5-3 用一维数组生成Fibonacci数列的前20项,并输出。
#include<stdio.h> void main() {
long int fib[21]; int i; fib[1]=1; fib[2]=1; for(i=3;i<=20;i++)
{
if(str[i]>='0'&&str[i]<='9')
digital[j++]=str[i];
i++;
}
digital[j]='\0';
printf("Output: %s\n",digital);
}
C语言程序设计(第3版)张磊编著 清华大学出版社
/* program e5-6.c*/
5.2.1 字符##串iinncc的lluudd输ee<<入ssttrd输iniog出.h.h>>
}
for(i=0;i<N;i++) printf("%d ",a[i]);
}
C语言程序设计(第3版)张磊编著 清华大学出版社
5.1.4 数值型一维数组的初始化
数组的初始化,是在定义数组的时对数组的各个元素赋初值。 1. 全部元素的初始化 格式
数据类型 数组名[数组长度]={数组全部元素值表} 数据类型 数组名[]={数组全部元素值表} int a[6]={10,20,30,40,50,60}; float r[]={12.5,-3.11,8.6}; 2. 部分元素的初始化 格式 数据类型 数组名[数组长度]={数组前部元素值表} int b[10]={1,2,3}
5.1.4 数值型一维数组的初始化
例5-3 用一维数组生成Fibonacci数列的前20项,并输出。
#include<stdio.h> void main() {
long int fib[21]; int i; fib[1]=1; fib[2]=1; for(i=3;i<=20;i++)
{
if(str[i]>='0'&&str[i]<='9')
digital[j++]=str[i];
i++;
}
digital[j]='\0';
printf("Output: %s\n",digital);
}
C语言程序设计(第3版)张磊编著 清华大学出版社
/* program e5-6.c*/
5.2.1 字符##串iinncc的lluudd输ee<<入ssttrd输iniog出.h.h>>
}
for(i=0;i<N;i++) printf("%d ",a[i]);
}
C语言程序设计(第3版)张磊编著 清华大学出版社
5.1.4 数值型一维数组的初始化
数组的初始化,是在定义数组的时对数组的各个元素赋初值。 1. 全部元素的初始化 格式
数据类型 数组名[数组长度]={数组全部元素值表} 数据类型 数组名[]={数组全部元素值表} int a[6]={10,20,30,40,50,60}; float r[]={12.5,-3.11,8.6}; 2. 部分元素的初始化 格式 数据类型 数组名[数组长度]={数组前部元素值表} int b[10]={1,2,3}
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语言程序设计--第六章(适于清华谭浩强版)PPT优秀课件

*/
printf("\n");
for (i=2;i<20;i++)
fib[i]=fib[i-1]+fib[i-2];
for (i=1;i<=20;i++)
{ printf("%10d",fib[i-1]);
if (i%5==0) printf("\n");
/*换行,每行输出5个
*/
}
}
15
例6.3 输入100个整数,求出最小的数以及第一个 最小的数在数组中的下标。
例如,int data[5]=1;
13
6.2.4 程序举例 例6.2用数组方式解决Fibonacci数列问题,求出 Fibonacci数列的前20项存储在数组中,并将数 组内容输出。
14
#include "stdio.h"
void main() { int i,fib[20]={1,1};
/*初始化
例6.4 输入100个整数,从小到大排列并输出 。 选择排序
例6.5 输入100个学生的“C程序设计”课程的期 中和期末成绩,算出总评成绩,总评成绩为 “30%×期中成绩+70%×期末成绩”,计算总
评 成绩的分Leabharlann 段情况。本题要使用三个平行的数组才能解决问题。 这三个数组的第i个元素记录了一个学生的期中
但不能是浮点型的变量或浮点型表达式;并且 下标不能大于[数组长度-1],因为超过部分没 有被定义过,是不能正确使用的。
图。 例如:data[4]、data[i+j]、data[i++]都是 合法的引用方式。
9
例6.1用数组方式读入5个整数,并求和。
c语言ppt

2
教学目标: • 了解计算机程序和语言的概念; • 了解C语言的基本构成; • 掌握C程序的运行步骤。 本章重点: • 计算机程序和计算机语言的概念;程序设计的基 本任务;C语言程序的基本构成;运行C程序的步 骤和方法。 本章难点: • C语言程序的基本构成;运行C程序的步骤和方法。
《程序设计基础(C语言)》
《程序设计基础(C语言)》
10
• 编译方式使用编译程序(编译器)。在应用程序 执行之前,就将程序源代码翻译成目标代码(机 器语言),因此其目标程序可以脱离其语言环境 而反复独立执行,使用比较方便、运行效率较高 ,但一旦应用程序需要修改时,必须先修改其源 代码,再重新编译生成新的目标程序才能执行, 很不方便。编译型高级语言有很多,例如Visual C++、Visual FoxPro、Delphi等。
《程序设计基础(C语言)》
• 1995年,ISO对C90做了一些修订,即“1995基准 增补 1(ISO/IEC 9899/AMD1:1995)”。1999年, ISO又对C语言标准进行修订,在基本保留原来的C 语言特征的基础上,针对应用的需要,增加了一 些功能,尤其是C++中的一些功能,命名为 ISO/IEC 9899:1999。2001年和2004年先后进行了 两次技术修正,即2001年的TC1和2004年的TC2。 ISO/IEC 9899:1999及其技术修正被称为C99,C99 是C89(及1995基准增补1)的扩充。 • 本书以C99标准为依据,为了与C89作比较,在本 书的叙述中对C99新增加的功能作特别的说明。
《程序设计基础(C语言)》1.4.2 C和C++
• C++语言是在C语言的基础上,添加了面向对象、 模板等现代程序设计语言的特性而发展起来的。 C++吸收了C语言的诸多优点,同时又添加了面向 对象程序设计的新理念,非常适用于开发复杂的 大型软件,这也是它成为主流程序设计语言的主 要原因。 • 但是,C语言兼顾了接近底层和高性能这两个显著 特性,同时又比C++语言更加简洁,随着当今世界 嵌入式开发技术的发展、大型算法的应用,特别 是搜索引擎、云计算的兴起,C语言的用武之地不 但没有萎缩,反而有逐渐扩展的趋势。
谭浩强教授著、清华大学出版社出版《C程序设计》PPT共41页

40、人类法律,事物有规律,这是不 容忽视 的。— —爱献 生ቤተ መጻሕፍቲ ባይዱ
66、节制使快乐增加并使享受加强。 ——德 谟克利 特 67、今天应做的事没有做,明天再早也 是耽误 了。——裴斯 泰洛齐 68、决定一个人的一生,以及整个命运 的,只 是一瞬 之间。 ——歌 德 69、懒人无法享受休息之乐。——拉布 克 70、浪费时间是一桩大罪过。——卢梭
谭浩强教授著、清华大学出版社出版 《C程序设计》
36、如果我们国家的法律中只有某种 神灵, 而不是 殚精竭 虑将神 灵揉进 宪法, 总体上 来说, 法律就 会更好 。—— 马克·吐 温 37、纲纪废弃之日,便是暴政兴起之 时。— —威·皮 物特
38、若是没有公众舆论的支持,法律 是丝毫 没有力 量的。 ——菲 力普斯 39、一个判例造出另一个判例,它们 迅速累 聚,进 而变成 法律。 ——朱 尼厄斯
C语言程序设计清华大学郑莉PPT课件

象 的 方 法
第18页/共702页
面向对象的基本概念
面 — — 多 态 性 • 多态是指在一般类中定义的属性或行为,被特殊类继承之后,可以具有不同的数据类型或表现出不同的行 向 为 。 这 使 得 同 一 个 属 性 或 行 为 在 一 般 类 及 其 各 个 特 殊 类 中 具 有 不 同 的 语 义 。
• 例如:
对 数 的 加 法 - > 实 数 的 加 法 象- > 复 数 的 加 法 的 方 法
第19页/共702页
面向对象的软件工程
面 • 面向对象的软件工程是面向对象方法在软件工程领域的全面应用。它包括 : 向 • 面向对象的分析(OOA) 对 • 面向对象的设计(OOD)
• 面向对象的编程(OOP)
面向对象的语言
计 算 机
语 言 的
发 展
• 出发点: • 更直接地描述客观世界中存在的事物(对象)以及它们之间的关 系。
• 特点: • 是高级语言。 • 将客观事物看作具有属性和行为的对象。 • 通过抽象找出同一类对象的共同属性和行为,形成类。 • 通过类的继承与多态实现代码重用
第5页/共702页
程序设计方法的发展历程
面 — — 面 向 对 象 的 方法 • 将数据及对数据的操作方法封装在一起,作为一个相互依存、不可分离的整体 ——对象。 向 • 对同类型对象抽象出其共性,形成类。 对 • 类通过一个简单的外部接口,与外界发生关系。 象 • 对象与对象之间通过消息进行通讯。
的 方 法
第11页/共702页
向 • 是现实世界中一个实际存在的事物。
• 可以是有形的(比如一辆汽车),也可以是无形的(比如一项计划)。
对 • 是构成世界的一个独立单位,具有:
第18页/共702页
面向对象的基本概念
面 — — 多 态 性 • 多态是指在一般类中定义的属性或行为,被特殊类继承之后,可以具有不同的数据类型或表现出不同的行 向 为 。 这 使 得 同 一 个 属 性 或 行 为 在 一 般 类 及 其 各 个 特 殊 类 中 具 有 不 同 的 语 义 。
• 例如:
对 数 的 加 法 - > 实 数 的 加 法 象- > 复 数 的 加 法 的 方 法
第19页/共702页
面向对象的软件工程
面 • 面向对象的软件工程是面向对象方法在软件工程领域的全面应用。它包括 : 向 • 面向对象的分析(OOA) 对 • 面向对象的设计(OOD)
• 面向对象的编程(OOP)
面向对象的语言
计 算 机
语 言 的
发 展
• 出发点: • 更直接地描述客观世界中存在的事物(对象)以及它们之间的关 系。
• 特点: • 是高级语言。 • 将客观事物看作具有属性和行为的对象。 • 通过抽象找出同一类对象的共同属性和行为,形成类。 • 通过类的继承与多态实现代码重用
第5页/共702页
程序设计方法的发展历程
面 — — 面 向 对 象 的 方法 • 将数据及对数据的操作方法封装在一起,作为一个相互依存、不可分离的整体 ——对象。 向 • 对同类型对象抽象出其共性,形成类。 对 • 类通过一个简单的外部接口,与外界发生关系。 象 • 对象与对象之间通过消息进行通讯。
的 方 法
第11页/共702页
向 • 是现实世界中一个实际存在的事物。
• 可以是有形的(比如一辆汽车),也可以是无形的(比如一项计划)。
对 • 是构成世界的一个独立单位,具有:
《C程序设计》清华大学出版社 PPT教程 第5章_选择2011

5.3 if语句
21
22
5.3 if语句
if语句的嵌套
在if语句中又包含一个或多个if语句称为if语句的嵌套。 形式: if() if() 语句1 else 语句2 else 内嵌if,A,B又可以是if-else语句 if() 语句3 else 语句4
23
5.3 if语句
-1 (x<0) 例 5.3 有一个函数 y= 0 (x=0),编一程序,输入一个x 值,输出y值。 1 (x>0) 算法: 输入x 若x<0,则y=-1 若x=0,则y=0 若x>0,则y=1 输出y 或 算法: 输入x 若x<0,则y=-1 否则: 若x=0,则y=0 若x>0,则y=1 输出y
1.关系运算:两个量进行“比较的运算” 关系运算符: < <= > >= == !=
高
级别相同 级别相同 低
优先级别: 赋值运算符、关系运算符、算术运算符
低
高
例:a=1,b=-5,c=„a‟时下面表达式的值 c>a+b 结果: 1 c>(a+b) 1 a==b<c a==(b<c) 1 a=(b<c) a=b<c
例5-12:读程序,写出程序完成功能及结果 #include <stdio.h> int main() { float x,y; printf("enter x:"); scanf("%f",&x); if(x==0.)y=1; else y=(x*5+1)/x; printf("\nx=%4.1f\ty=%4.1f\n",x,y); } 改写: 标红部分等价于: y=1; if(x!=0.) y=(x*5+1)/x;