教材与课时安排
?教材
C程序设计 谭浩强编著 清华大学出版社
?课时安排
授课, 72学时
第一章 C语言概述
C语言发展历史
C语言特点
简单的 C程序介绍
C程序上机步骤
§ 1.1 C语言发展历史
?程序设计语言的发展












面向过程
面向对象
CPU指令系统,由 0,1序列构成的指令码组成
如,10000000 加
10010000 减
用助记符号描述的指令系统
如 ADD A,B
面向机器的语言
程序设计是数据被加工的过程
客观世界可以分类,对象是类的实例
对象是数据和方法的封装
对象间通过发送和接受消息发生联系程序设计关键是定义类,并由类派生对象
冯,诺依曼结构,
计算机
运算器
控制器
存储器
主机:
I/O设备:键盘、显示器等
中央处理器 CPU
>>
C语言程序设计 第一章 C语言概述
?C语言发展过程
?产生背景
?产生过程
?时间,1972~1973
?地点,美国贝尔实验室
?目的,UNIX操作系统
?设计人, Ken.Thompson和 Dennis.M.Ritchie
?C标准
?标准 C,K&R合著,The C Programming Language》
?ANSI C,1983年
?87 ANSI C,1987年
?1990年国际标准的 ANSI C
< >
C语言程序设计 第一章 C语言概述
§ 1.2 C语言特点
?语言简洁、紧凑、灵活
?运算符和数据类型丰富
?程序设计结构化、模块化
?生成目标代码质量高
?可移植性好
< >
> > >
>>
中级语言
C语言程序设计 第一章 C语言概述
>
32个关键字, (由系统定义,不能重作其它定义 )
auto break case char const
continue default do double else
enum extern float for goto
if int long register return
short signed sizeof static struct
switch typedef unsigned union void
volatile while
<
C语言程序设计 第一章 C语言概述
9种控制语句,
if( )~else~
for( )~
while( )~
do~while( )
continue
break
switch
goto
return
<
C语言程序设计 第一章 C语言概述
例 C语言与 Pascal语言比较
C语言 Pascal语言 含义
{ } BEGIN….END 复合语句
if(e) s; IF(e) THEN s 条件语句
int i ; VAR i:INTEGER 定义 i为整型变量
int a[10]; VAR a:ARRAY[1..10] OF INTEGER 定义整型数组 a
int f(); FUNCTION f():INTEGER 定义 f为返值整型的函数
int *p; VAR p:?INTEGER 定义 p为指向整型变量的指针
i+= 2; i=i+2 赋值 i+2?i
i++,++i; i=i+1 i自增值
结论,C比 Pascal简练,源程序短 。
<
C语言程序设计 第一章 C语言概述
34种运算符:
算术运算符,+ - * / % ++ --
关系运算符,< <= == > >= !=
逻辑运算符:! && ||
位运算符, << >> ~ | ^ &
赋值运算符,= 及其扩展
条件运算符,?:
逗号运算符:,
指针运算符,* &
求字节数, sizeof
强制类型转换,(类型)
分量运算符,,->
下标运算符,[]
其它, ( ) -
<
C语言程序设计 第一章 C语言概述
C




基本类型
构造类型
指针类型
空类型 void
定义类型 typedef
数值类型
字符类型 char
枚举类型 enum
整 型
浮点型
单精度型 float
双精度型 double
短整型 short
长整型 long
整型 int
数组
结构体 struct
共用体 union
<
C语言程序设计 第一章 C语言概述
§ 1.3 简单 C程序介绍
例 1.1 第一个程序 Hello,World!
/* example1.1 The first C Program*/
#include <stdio.h>
main()
{
printf(“Hello,World!”);
}
C语言程序设计 第一章 C语言概述
>
注释
编译预处理
函数
语句
输出:
Hello,World!
例 1.2
/* example1.1 calculate the sum of a and b*/
#include <stdio.h>
/* This is the main program */
main()
{ int a,b,sum;
a=10;
b=24;
sum=add(a,b);
printf(”sum=%d\n",sum);
}
/* This function calculates the sum of x and y */
int add(int x,int y)
{ int z;
z=x+y;
return(z);
}
运行结果:
sum=34
函数
语句
预处理命令
注释
C语言程序设计 第一章 C语言概述
>
?格式特点
?习惯用 小写 字母,大小写敏感
?不使用行号,无程序行 概念
?可使用空行和空格
?常用 锯齿形 书写格式
< >
C语言程序设计 第一章 C语言概述
main( )
{ ……………….
………………
…………..
…………..
………
……….
……………
…………….
……………….
………………..
}
main( )
{
int i,j,sum;
sum=0;
for(i=1; i<10;i++)
{
for(j=1;j<10;j++)
{
sum+=i*j ;
}
}
printf(“%d\n”,sum);
}
优秀程序员的素质之一,
?使用 TAB缩进
?{}对齐
?有足够的注释
?有合适的空行
?结构特点
?函数与主函数
?程序由一个或多个函数组成
?必须有且只能有一个主函数 main()
?程序执行从 main开始,在 main中结束,其它函数通过嵌
套调用得以执行。
?程序语句
?C程序由语句组成
?用,;”作为语句终止符
?注释
?/* */为注释,不能嵌套
?不产生编译代码
< >
例,/*This is the main /* of example1.1*/ */
非法
?编译预处理命令
C语言程序设计 第一章 C语言概述
编辑
链接
编译
执行
§ 1.4 C程序的上机步骤
?C程序开发步骤
< >
开 始
编 辑
编 译
连 接
执 行
有错?
结果正确?
结 束

源程序
f i l e,c
目标程

f i l e, obj
库函数和
其它目标
程序
可执行
目标程


正确
不正确
file.exe
C语言程序设计 第一章 C语言概述
程序代码的录入,
生成源程序 *.c
语法分析查错,翻译
生成目标程序 *.obj
与其它目标程序或库
链接装配,生成可执行
程序 *.exe
?′ 3ì Dò ?? ±ê 3ì Dò ?é ?′ D 3ì Dò
?ú èY 3ì Dò éè ?? ó? ?? ?ú ?? ó? ?? ?ú ?? ó? ??
?é ?′ D 2? ?é ò? 2? ?é ò? ?é ò?
?? ?t ?? oó ×,c, o b j, e x e
?Turbo C集成开发环境
?配置要求
?UNIX,PC-DOS,MS-DOS,UCDOS操作系统
?硬盘容量约 2M,448K RAM运行空间
?安装 Turbo C
?创建子目录
?Install
?若不是可安装盘,将文件拷贝到对应的目录下
TC
*.* INCLUDE LIB
*.* SYS *.*
< >
C语言程序设计 第一章 C语言概述
?进入 Turbo C
?D:\TC>TC.exe?
?主控菜单
?文件操作 FILE,New Load Save Write to
?编辑操作 EDIT:插入 /修改 块 查找 /替换
?编译链接 COMPILE LINK MAKE
?执行 RUN
?退出 Turbo C
?Alt +x
?Alt+F,Q
?帮助 Help
?F1
?Ctrl+F1
< >
C语言程序设计 第一章 C语言概述
基本操作:
F10-----调用主菜单
F2------存盘
F3------打开
Alt+F9------Compile
Ctrl+F9------Run
Alt+F5------User Screen
?常用热键
文本编辑:
????-------移动光标
PgUp,PgDn------上下翻页
Ctrl+PgUp,Ctrl+PgDn------文件首尾
Home End
Ddelete Insert
Bkspace
块操作,
Ctrl+KB-------块开始标记 Ctrl+KK--------块结束标记
Ctrl+KC-------块拷贝 Ctrl+KV--------块移动
Ctrl+KY-------块删除 Ctrl+KH--------块隐藏
程序调试:
F8-----Step over F7-------Trace into
F4-----Goto Cursor Ctrl+F7--------Add Watch
Ctrl+F8------Toggle Breakpoint Ctrl+F2--------Program Reset
窗口操作:
F5-----窗口缩放
F6-----窗口切换
C语言程序设计 第一章 C语言概述