C语言教案第12章PPT课件
合集下载
C语言课件第12章 位运算

1.
位运算规则: 位运算规则: A 0 0 1 1 B 0 1 0 1 A&B 0 0 0 1 A|B 0 1 1 1 A^B 0 1 1 0 ~a 1 1 0 0
例12.1 若 a=(15)10=(00001111)2, a=(15) b=(80)10=(01010000)10 则: a&b = 0000 0000, a|b = 0101 1111, a^b =01011111 , ~a = 1111 0000
/*设 a 为待处理的数据,转换成二进制为00001000, /*设 为待处理的数据,转换成二进制为00001000, b用来保存将a的高4位清0后的结果*/ 用来保存将a的高4位清0后的结果* main() { unsigned char a,b,c; a=8; b=a&0x0f; c=b|0xa0; /*c用于保存最终结果*/ b=a&0x0f; c=b|0xa0; /*c用于保存最终结果 用于保存最终结果* printf("%x" printf("%x",c); }
4)左移,右移运算实现将一个数的各个二进制位向左,向 4)左移,右移运算实现将一个数的各个二进制位向左,向 右移若干位. 左移:将一个数的各个二进制位左移若干位,高位左移 左移:将一个数的各个二进制位左移若干位, 后舍弃,低位补0 后舍弃,低位补0 . 若定义: 若定义: int a=8; 即a= 0000 1000 0010 0000 0000 右移:将一个数的各个二进制位右移若个位,低位右移 右移:将一个数的各个二进制位右移若个位, 后舍弃, 还是补1 后舍弃,高位补 0还是补1,要区别有符号数还是无符号 无符号数高位补0 有符号数高位补原符号位. 数:无符号数高位补0,有符号数高位补原符号位. 若定义 unsigned int a=8; 即 00001000, a=8; 00001000, 则语句 a=a>>2 ;将 a 的各二进制位右移 2 位,空出的 高位补 0.结果为: 0000 0010 , 则语句a=a<<2; 则语句a=a<<2;
数据结构C语言版严蔚敏清华大学出版社课件第十二章 .ppt

“批处理”,就是将这两个文件“合”为 一个新的主文件。具体操作相当于 “归并两个有序表”。
2020/1/21
16
但有两点不同:
(1)对于事务文件中的每个操作 首先要判别其“合法性”
(2)事务文件中可能存在多个操 作是对主文件中同一个记录 进行的
2020/1/21
17
批处理的时间分析:
假设主文件中含有n个记录,事 务文件中含有m个记录,则对事务文 件进行排序的时间复杂度为
插入:当查找不成功时,将记录插入 在相应的基桶或溢出桶内;
删除:对被删记录作特殊标记。
2020/1/21
48
4. 优点:记录随机存放,不需要进行排
序;插入、删除方便,存取速 度快;节省存储空间,不需要 索引区。
缺点:不能进行顺序存取;在经过多 次插入和删除操作之后,需进 行“重组文件”的操作。
2020/1/21
35
3.文件重组
在经过多次的插入和删除操作之 后,大量的记录进入文件的“溢出 区”,而“基本存储区”中出现很 多已被删去的记录空间,此时的文 件结构很不合理。因此,对ISAM文 件, 需要周期地进行重整。
2020/1/21
36
4.柱面索引的位置
ISAM文件占有多个柱面,其柱 面索引本身占有一个柱面,为使 “磁头”的平均移动距离最小,柱 面索引应设在数据文件所占全部柱 面的中间位置上。
… ...
索引集
B+树 顺序集
...
...
... 数据集
2020/1/21
控制区域
控制区间
39
2. 控制区间是用户进行一次存取的 逻辑单位,可看成是一个逻辑磁道。 但它的实际大小和物理磁道无关。
C语言讲义第12章.ppt

fwrite(内存地址,长度,次数,文件指针);
float x;
fread ( &x , sizeof(float), 1, fp);
fwrite( &x , 4 , 1 , fp);
19
若有以下的定义和说明
#include”stdio.h” struct std { char num[6];
char name[8]; float mark[4]; } a[30]; FILE *fp;
文件尾部,此时可以进行追加或读操作。
10
如果是二进制文件,则在方式后加“b”。
如果不能正确完成文件的打开操作,函数fopen将返 回错误信息,即返回空指针值NULL。
if ( (fp=fopen (“file1.C”, “r” ) )= =NULL) { printf(“cannot open this file\n”);
main( )
printf(“%d,%f\n” ,_r_.n_u_m__,_r_.t_o_t_a_l _);
{ FILE *f;
f=fopen( “bin.dat”, “rb”); }
reout(f);
}
fanf 函数 是格式化的读写函数,与printf和scanf相仿,但 其读写对象不是终端而是磁盘文件。 fprintf(文件指针,格式字符串,输出列表); fscanf(文件指针,格式字符串,输入列表);
设文件中以二进制形式存有10个班的学生 数据, 且已正确打开,文件指针定位于文件 开头,若要从文件中读30个学生的数据放入 ss数组中,以下不能实现此功能的语句是
A) for (i=0;i<30;i++) fread(&a[i], sizeof(struct std), 1L, fp);
c第12章 上 机 实 验ppt课件

精品课件
2
实验一 C程序的运行环境
一、实验目的
1. 了解在计算机上如何录入、编辑、编译、连接和运行一个C程序。 2. 通过设计和调试简单的C程序,初步了解C程序的特点。 二、实验内容
1. 确保计算机操作系统中已安装了Turbo C。 2. 启动Turbo C。 (1) 将操作方式转入到MS-DOS方式。 (2) 假 设 Turbo C所在的目录为 C:\tc, 则 调用 Turbo C的 命 令 一般 为
(4) 2. 程序修改题
(5) 3. 程序编写题
(4) (1) 用选择法对10个整数作排序。10个整数用scanf函数
输入。
(5) (2) 编写连接两个字符串的程序。
精品课件
8
实验七 函 数
一、实验目的 1. 掌握定义函数的方法。 2. 掌握函数实参与形参的对应关系,以及“值传递”的方式。 3. 掌握函数的嵌套调用和递归调用的方法。 4. 掌握用“Project”菜单管理多个源程序文件的方法
C:\tc\tc,执行此命令后屏幕上将出现Turbo C的工作环境。 3. 熟悉Turbo C集成环境。
了解Turbo C界面的组成,各菜单命令、各功能键的作用。下面将详 细介绍各菜单命令及相应功能键的作用。
4. 编辑及运行一个简单的C源程序。 5. 重新开始编辑和运行另一个程序。 6. 人为地制造一些语法错误。 7. 独立完成教材第一章思考与练习中的第四大题。 8. 退出Turbo C环境。
不同类型数据间的混合运算规律。 4. 进一步掌握C语言简单程序设计的几个步骤。
二、实验内容 输入程序(教材p238),编译、运行、分析。
精品课件
4
实验三 顺序结构程序设计
一、实验目的 1. 掌握各种类型数据的输入输出方法,能正确运用各种格式字符。 2. 掌握C语言中顺序结构程序的设计方法,为以后作好准备。
C语言教案:第12章.ppt

sum=a+b;
printf(“sum is %d\n”,sum);
}
18
2020/4/17
main()/*主函数*/ {int a,b,c;
程序三:
scanf(“%d,%d”,&a,&b);
c=max(a,b);
printf(“max=%d”,c);}
int max(int x,int y)/*子函数*/
(3)预处理命令字
3、运算符 运算符由一个/多个字符组成
25
2020/4/17
2.3 基本数据类型
数据类型: 基本数据类型(自我说明,值不可再分) 构造数据类型(用构造的方法定义) 指针类型(值为地址) 空类型(无返回值)
常量:程序运行中其值不改变。
变量:程序运行中其值改变。
26
2020/4/17
(4)无符号整型数:0——9 后缀加u
28
2020/4/17
2、整型变量 基本整型、短整型、长整型、无符号整型
类型符
取值范围
int
-32768---32767
short int
:
long int
-2147483648-----
2147483647
unsigned long 0---4294967295
二、赋值运算与赋值表达式
1、作用:将一个数据赋予一个变量
= : 赋值号 右结合
如:A=B=C=5
A=(B=(C=5))
2、“=”号两端数据类型不同时的转换规则
(1)整型=实型 舍去小数部分
(2)实型=整型 值不变,依浮点形式存放
(3)整型=字符型 值放低8位,高8位为0
(4)字符型=整型
C语言与程序设计ppt-第12章递归

第12章 递 归
华中科技大学计算机学院 卢萍
华中科技大学计算机学院C语言课
2021/4/25
程组
1
本章讲授内容
递归(recursion)是一项非常重要的编 程技巧,可以使程序变得简洁和清晰,是 许多复杂算法的基础。本章介绍 递归、递归函数的概念; 递归的执行过程; 典型问题的递归函数设计; 分治法与快速排序; 回溯法; 递归在动态规划等算法中的应用。
12
【例12.3】 设计一个求解汉诺塔问题的算法。
这是一个典型的用递归方法求解的问题。要移动n个 盘子,可先考虑如何移动n 1个盘子。分解为以下3 个步骤:
(1)把A上的n-1个盘子借助C移到B。 (2)把A上剩下的盘子(即最大的那个)移到C。 (3)把B上的n-1个盘子借助A移到C。 其中,第(1)步和第(3)步又可用同样的3步继
2021/4/25
华中科技大学计算机学院C语言课程组
2
12.1 递归概述
递归是一种函数在其定义中直接或间接调用 自己的编程技巧。递归策略只需少量代码就 可描述出解题过程所需要的多次重复计算, 十分简单且易于理解。
递归调用:函数直接调用自己或通过另一函 数间接调用自己的函数调用方式
递归函数:在函数定义中含有递归调用的函 数
续分解,依次分解下去,盘子数目n每次减少1,直 至n为1结束。这显然是一个递归过程,递归结束条 件是n为1。
2021/4/25
华中科技大学计算机学院C语言课程组
13
函数move(n,a,b,c)
为了更清楚地描述算法,可以定义一个函数 move(n,a,b,c)。该函数的功能是:将n个盘 子从木桩a上借助木桩b移动到木桩c上。算法 的第(1)步和第(3)步的实现都是递归调 用,分别为move(n-1,a,c,b)和move(n1,b,a,c)。
C++教学课件:第12章 特性

第12章 特性
•特性的基本概念 •特性的使用 •预定义通用特性类 •自定义特性类 •使用反射访问特性
12.1特性概述
• C#语言可以创建直接或间接派生于抽象类System.Attribute的类, 称之为特性(Attribute)类
• 一个关于特性类的声明定义一种新特性,特性可以被放置在其他 声明上,即附加到各种程序实体(包括类型、方法、属性等), 以添加元数据信息,如编译器指令或数据描述
行时生成该类型的一个实例,将对其的引用放到其基础类型的一个变量中, 然后调用该基础类型的虚方法。
通过接口实现。在运行时,构建该类型的一个实例,将对其的引用放到其接 口类型的一个变量中,然后调用该接口定义的虚方法。
通过委托实现。让该类型实现一个方法,其名称和原型都与一个在编译时就 已知的委托相符。在运行时先构造该类型的实例,然后在用该方法的对象及 名称构造出该委托的实例,接着通过委托调用你想要的方法。这个方法相对 与前面两个方法所作的工作要多一些,效率更低一些。
• 根据约定,所有特性类都以单词“Attribute”结束,以 区分于其它类。但是,在代码中,可以省略特性后缀 “Attribute”
12.3 预定义通用特性类
• ConditionalAttribute类:条件方法 • ObsoleteAttribute类:标记为一个建议不再使用的实体 • AttributeUsageAttribute类 • 全局特性
件。标记为条件方法的调用取决于是否定义了预处理 符号:如果定义了该符号,则包含调用;否则省略调 用
12.3.2 ObsoleteAttribute类
• Obsolete特性是ObsoleteAttribute的别名,可应用于除程 序集、模块、参数或返回值以外的所有程序元素,将 该实体标记为一个建议不再使用的实体,即该元素在 产品的未来版本中将被移除
•特性的基本概念 •特性的使用 •预定义通用特性类 •自定义特性类 •使用反射访问特性
12.1特性概述
• C#语言可以创建直接或间接派生于抽象类System.Attribute的类, 称之为特性(Attribute)类
• 一个关于特性类的声明定义一种新特性,特性可以被放置在其他 声明上,即附加到各种程序实体(包括类型、方法、属性等), 以添加元数据信息,如编译器指令或数据描述
行时生成该类型的一个实例,将对其的引用放到其基础类型的一个变量中, 然后调用该基础类型的虚方法。
通过接口实现。在运行时,构建该类型的一个实例,将对其的引用放到其接 口类型的一个变量中,然后调用该接口定义的虚方法。
通过委托实现。让该类型实现一个方法,其名称和原型都与一个在编译时就 已知的委托相符。在运行时先构造该类型的实例,然后在用该方法的对象及 名称构造出该委托的实例,接着通过委托调用你想要的方法。这个方法相对 与前面两个方法所作的工作要多一些,效率更低一些。
• 根据约定,所有特性类都以单词“Attribute”结束,以 区分于其它类。但是,在代码中,可以省略特性后缀 “Attribute”
12.3 预定义通用特性类
• ConditionalAttribute类:条件方法 • ObsoleteAttribute类:标记为一个建议不再使用的实体 • AttributeUsageAttribute类 • 全局特性
件。标记为条件方法的调用取决于是否定义了预处理 符号:如果定义了该符号,则包含调用;否则省略调 用
12.3.2 ObsoleteAttribute类
• Obsolete特性是ObsoleteAttribute的别名,可应用于除程 序集、模块、参数或返回值以外的所有程序元素,将 该实体标记为一个建议不再使用的实体,即该元素在 产品的未来版本中将被移除
12-C程序初步课件

• 每个语句最后必须有一个 分号“;”
• 区分大小写字母;
• 注释/*……*/可以写在程 序的任何位置上。
main()
/*主函数*/
{
printstar();
print_message();
printstar();
}
printstar()
/*子函数1*/
{
printf(“\n**********”);
/*编译预处理*/
int main( )
/*主函数*/
{
int a,b,sum;
/*定义变量为整型*/
a=123;
/*变量赋值*/
b=456;
sum=a+b;
/* 求和 */
printf(″sum is d\n″,sum); /* 输出和*/
return 0;
}
说明:程序进行运算,并在屏幕上输出一行信息:sum is 579。
• Code::Blocks -简称CB()
1 程序设计与C语言简介
例1:第一个C程序。
#include <stdio.h> int main() {
printf (″How are you! \n″); return 0; }
说明: 程序运行结果是在屏幕上输出: How are you!
2
例2:计算两数之和,并在屏幕上显示结果。
#include <stdio.h>
4
C程序的结构
• 一个C程序可以由多个源程序文件组成,每个源程序文件由
一个或多个函数构成。
C程序
… … 源程序文件1
源程序文件i
源程序文件n
预编译命令
函数1 … 函数n
• 区分大小写字母;
• 注释/*……*/可以写在程 序的任何位置上。
main()
/*主函数*/
{
printstar();
print_message();
printstar();
}
printstar()
/*子函数1*/
{
printf(“\n**********”);
/*编译预处理*/
int main( )
/*主函数*/
{
int a,b,sum;
/*定义变量为整型*/
a=123;
/*变量赋值*/
b=456;
sum=a+b;
/* 求和 */
printf(″sum is d\n″,sum); /* 输出和*/
return 0;
}
说明:程序进行运算,并在屏幕上输出一行信息:sum is 579。
• Code::Blocks -简称CB()
1 程序设计与C语言简介
例1:第一个C程序。
#include <stdio.h> int main() {
printf (″How are you! \n″); return 0; }
说明: 程序运行结果是在屏幕上输出: How are you!
2
例2:计算两数之和,并在屏幕上显示结果。
#include <stdio.h>
4
C程序的结构
• 一个C程序可以由多个源程序文件组成,每个源程序文件由
一个或多个函数构成。
C程序
… … 源程序文件1
源程序文件i
源程序文件n
预编译命令
函数1 … 函数n
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
学习结束学生应达到三会—— 会读程序、会编程序、会调程序。
3
03.12.2020
三、教学环境:
采用多媒体教学环境:黑板、投影、程序编 制、演示、调试等。
四、参考教材:
[1]C程序设计,谭浩强,清华大学出版社
[2] The C Programming Language (Second Edition)
,Brian W.Kernighan & Dennis M.Ritchie
[3] C语言大全,王子恢等译 电子工业出版社
五、课程验收:平时、实验、作业、期末
六、教学时数:48/15 4
03.12.2020
第一章 程序设计基础
5
03.12.2020
一、计算机基础知识
1、计算机系统组成 2、计算机基本工作过程 3、DOS基本知识
2.1 C程序的组成结构及特性
一、程序结构
程序一:
main() { printf(“This is a c program. \n”); }
17
03.12.2020
程序二:
# include <stdio.h>
main()
/*求两数之和*/
{int a,b,sum; /*定义变量*/
a=123;b=456;
2006年2月
1
03.12.2020
教师பைடு நூலகம்况及联系方式:
计算机科学与技术学院
计算机语言教研室
王庆北
Add:综合实验楼214房间 E-mail:zyzy@
Tel:
2
03.12.2020
一、教学内容: C语言程序设计的基本语法、基本句
法、基本结构和基本程序设计方法。
二、教学目的:
{int z; if (x>y) z=x;
else z=y;
return(z);} 19
03.12.2020
二、C语言程序的结构特性:
(1)C 文件可以由一个/多个C源程序组成
(2)C 源程序可以由一个/多个函数组成
(3)C 文件有且仅有一个主函数(main函数)
(4)C 源程序中可以有预处理命令。
• 编译(Compile)
– 扩展名为.obj的文件
• 链接(Link)
– 形成最后的可执行文件 – 扩展名为.exe的文件
• 运行 (Run)
13
03.12.2020
四、C语言的产生及发展简介
ALGOL60(1960)
CPL(1963) BCPL(1967)
B(1970)
C(1973)
14
03.12.2020
变量名:由数字、字母、下划线组成 例:判断下列哪些为合法变量名
Sum 、M.D.john 、SUM 、$123
lotus_1_2_3 、basic 、 a>b
变量必须先定义,后使用。
保证程序中变量名使用正确 目的: 编译时为其分配相应的存储单元
编译时据此检查该量运算是否合法
23
03.12.2020
二、C语言词汇
1、标识符 标识符:变量名、函数名、标号
标识符的组成:字母、数字、下划线
(字母/下划线开头)
注意:
(1)标准C 不限制标识符长度 (2)字母大小写有区别
(3)标识符的命名应见名知意
24
03.12.2020
2、关键字(保留字) 关键字:具有特定意义的字符串
(1)类型说明符: (2)语句定义符
(3)预处理命令字
3、运算符 运算符由一个/多个字符组成
25
03.12.2020
2.3 基本数据类型
数据类型: 基本数据类型(自我说明,值不可再分) 构造数据类型(用构造的方法定义) 指针类型(值为地址) 空类型(无返回值)
常量:程序运行中其值不改变。
变量:程序运行中其值改变。
26
03.12.2020
(5)每个说明/语句以分号结尾。
(6)标识符、关键字之间必须至少加一个
空格以示间隔。
20
03.12.2020
(7)一个函数由两部分组成: 函数的说明部分:函数名后有一对圆括号 函 数 体 部 分:变量定义 执行部分
(8)C 程序书写格式自由 (9)C 语言本身没有输入、输出语句。 (10)可以用/*。。。。。*/对C源程序做注解
五、C语言的特点
1、语言简洁、紧凑、使用方便、灵活 2、运算符丰富 3、数据结构丰富
4、具有结构化的控制语句
5、语法限制不严格、程序设计自由度大
6、可以直接对硬件进行操作
7、目标代码质量高、程序执行效率高
8、程序可移植性好 15
03.12.2020
第二章 数据类型、运算符与表达式
16
03.12.2020
11
03.12.2020
三、程序设计语言的工作原理
1、计算机语言的翻译方式
(1)解释方式:
解释程序
高级语言源程序
解释并执行
运算结果
(2)编译方式:
高级语言 源程序
编译程序 编译
机器语言 程序
12
操作系统
执行
运算结果
03.12.2020
2、程序设计语言的工作原理
• 编辑(Edit)
– 扩展名为.c的文件
sum=a+b; printf(“sum is %d\n”,sum);
}
18
03.12.2020
main()/*主函数*/ {int a,b,c;
程序三:
scanf(“%d,%d”,&a,&b);
c=max(a,b);
printf(“max=%d”,c);}
int max(int x,int y)/*子函数*/
运算器
操作命令
CPU 大脑
03.12.2020
利用计算机解题的过程
问题分析 给出模型 找出公式 编辑程序 运行程序 输出结果
9
03.12.2020
二、计算机语言系统简介
1、计算机语言分类 (1)机器语言 (2)汇编语言 (3)高级语言
10
03.12.2020
2、常用计算机语言简介
BASIC FORTRAN PASCAL PROLOG COBOL C JAVA
21
03.12.2020
2.2 C语言的字符集
一、基本字符 1、字母 A——Z 、 a——z
2、数字 0——9
3、空白符 空格、制表符、换行符
4、标点和特殊字符
22
03.12.2020
分隔符 逗号:用于类型说明和函数参数表中 空格:用于语句中各词间间隔
分号:用于语句间隔
5、注释符(/* */) 帮助阅读程序,不参加编译
6
03.12.2020
计算机系统的组成:
输入/输出 设备
存储器
运算器
控制器
7
03.12.2020
执行结果
计算机基本工作过程
“冯·诺依曼机”结构
源程序 和输入数据
输出结果
输入/输出 设备
计算结果
记忆 装置
取出数据
存储器 存入数据
眼睛 和耳 朵
输入输出 取出 命令 程序指令
存取命令
控制器
8
程 序 和 数 据
3
03.12.2020
三、教学环境:
采用多媒体教学环境:黑板、投影、程序编 制、演示、调试等。
四、参考教材:
[1]C程序设计,谭浩强,清华大学出版社
[2] The C Programming Language (Second Edition)
,Brian W.Kernighan & Dennis M.Ritchie
[3] C语言大全,王子恢等译 电子工业出版社
五、课程验收:平时、实验、作业、期末
六、教学时数:48/15 4
03.12.2020
第一章 程序设计基础
5
03.12.2020
一、计算机基础知识
1、计算机系统组成 2、计算机基本工作过程 3、DOS基本知识
2.1 C程序的组成结构及特性
一、程序结构
程序一:
main() { printf(“This is a c program. \n”); }
17
03.12.2020
程序二:
# include <stdio.h>
main()
/*求两数之和*/
{int a,b,sum; /*定义变量*/
a=123;b=456;
2006年2月
1
03.12.2020
教师பைடு நூலகம்况及联系方式:
计算机科学与技术学院
计算机语言教研室
王庆北
Add:综合实验楼214房间 E-mail:zyzy@
Tel:
2
03.12.2020
一、教学内容: C语言程序设计的基本语法、基本句
法、基本结构和基本程序设计方法。
二、教学目的:
{int z; if (x>y) z=x;
else z=y;
return(z);} 19
03.12.2020
二、C语言程序的结构特性:
(1)C 文件可以由一个/多个C源程序组成
(2)C 源程序可以由一个/多个函数组成
(3)C 文件有且仅有一个主函数(main函数)
(4)C 源程序中可以有预处理命令。
• 编译(Compile)
– 扩展名为.obj的文件
• 链接(Link)
– 形成最后的可执行文件 – 扩展名为.exe的文件
• 运行 (Run)
13
03.12.2020
四、C语言的产生及发展简介
ALGOL60(1960)
CPL(1963) BCPL(1967)
B(1970)
C(1973)
14
03.12.2020
变量名:由数字、字母、下划线组成 例:判断下列哪些为合法变量名
Sum 、M.D.john 、SUM 、$123
lotus_1_2_3 、basic 、 a>b
变量必须先定义,后使用。
保证程序中变量名使用正确 目的: 编译时为其分配相应的存储单元
编译时据此检查该量运算是否合法
23
03.12.2020
二、C语言词汇
1、标识符 标识符:变量名、函数名、标号
标识符的组成:字母、数字、下划线
(字母/下划线开头)
注意:
(1)标准C 不限制标识符长度 (2)字母大小写有区别
(3)标识符的命名应见名知意
24
03.12.2020
2、关键字(保留字) 关键字:具有特定意义的字符串
(1)类型说明符: (2)语句定义符
(3)预处理命令字
3、运算符 运算符由一个/多个字符组成
25
03.12.2020
2.3 基本数据类型
数据类型: 基本数据类型(自我说明,值不可再分) 构造数据类型(用构造的方法定义) 指针类型(值为地址) 空类型(无返回值)
常量:程序运行中其值不改变。
变量:程序运行中其值改变。
26
03.12.2020
(5)每个说明/语句以分号结尾。
(6)标识符、关键字之间必须至少加一个
空格以示间隔。
20
03.12.2020
(7)一个函数由两部分组成: 函数的说明部分:函数名后有一对圆括号 函 数 体 部 分:变量定义 执行部分
(8)C 程序书写格式自由 (9)C 语言本身没有输入、输出语句。 (10)可以用/*。。。。。*/对C源程序做注解
五、C语言的特点
1、语言简洁、紧凑、使用方便、灵活 2、运算符丰富 3、数据结构丰富
4、具有结构化的控制语句
5、语法限制不严格、程序设计自由度大
6、可以直接对硬件进行操作
7、目标代码质量高、程序执行效率高
8、程序可移植性好 15
03.12.2020
第二章 数据类型、运算符与表达式
16
03.12.2020
11
03.12.2020
三、程序设计语言的工作原理
1、计算机语言的翻译方式
(1)解释方式:
解释程序
高级语言源程序
解释并执行
运算结果
(2)编译方式:
高级语言 源程序
编译程序 编译
机器语言 程序
12
操作系统
执行
运算结果
03.12.2020
2、程序设计语言的工作原理
• 编辑(Edit)
– 扩展名为.c的文件
sum=a+b; printf(“sum is %d\n”,sum);
}
18
03.12.2020
main()/*主函数*/ {int a,b,c;
程序三:
scanf(“%d,%d”,&a,&b);
c=max(a,b);
printf(“max=%d”,c);}
int max(int x,int y)/*子函数*/
运算器
操作命令
CPU 大脑
03.12.2020
利用计算机解题的过程
问题分析 给出模型 找出公式 编辑程序 运行程序 输出结果
9
03.12.2020
二、计算机语言系统简介
1、计算机语言分类 (1)机器语言 (2)汇编语言 (3)高级语言
10
03.12.2020
2、常用计算机语言简介
BASIC FORTRAN PASCAL PROLOG COBOL C JAVA
21
03.12.2020
2.2 C语言的字符集
一、基本字符 1、字母 A——Z 、 a——z
2、数字 0——9
3、空白符 空格、制表符、换行符
4、标点和特殊字符
22
03.12.2020
分隔符 逗号:用于类型说明和函数参数表中 空格:用于语句中各词间间隔
分号:用于语句间隔
5、注释符(/* */) 帮助阅读程序,不参加编译
6
03.12.2020
计算机系统的组成:
输入/输出 设备
存储器
运算器
控制器
7
03.12.2020
执行结果
计算机基本工作过程
“冯·诺依曼机”结构
源程序 和输入数据
输出结果
输入/输出 设备
计算结果
记忆 装置
取出数据
存储器 存入数据
眼睛 和耳 朵
输入输出 取出 命令 程序指令
存取命令
控制器
8
程 序 和 数 据