主讲:李耀成
联系方式:办公室电话 2738262
转 8201
电子信箱 lyc_csm03@163.com
课程要求
?课前 要 做好预习,按时完成并提交作业
?准备一个练习本,课堂做练习,记实验和思考题
?缺课达到学校规定范围或实验考核不及格的同学取
消期末考试 (考试课,分机试和笔试 )
?出勤的考核方式:课堂提问和上机记录
?实验课固定机器,1班( 1~40) 2班( 41~82) 3班( 83~125)
?认真填写实验报告,按要求提交,只要缺少一份实
验报告就将取消成绩(学校新规定)
?遵守实验室规章制度
第一章 C语言概述
C语言发展历史
C语言特点
C程序格式和结构特点
C程序上机步骤
§ 1.1 C语言发展历史
?程序设计语言的发展












面向过程
面向对象
CPU指令系统,由 0,1序列构成的指令码组成
如,10000000 加
10010000 减
用助记符号描述的指令系统
如 ADD A,B
面向机器的语言
程序设计是数据被加工的过程
客观世界可以分类,对象是类的实例
对象是数据和方法的封装
对象间通过发送和接受消息发生联系 程序设计关键是定义类,并由类派生对象
> >
C语言程序设计 第一章 C语言概述
52 54 56 58 60 62 64 66 68 70 72 74 76 78 80 82 84 86 88 90 92 94 96
Ada
ALGOL60 ALGOL68
Pascal
Modula-2
CPL BCPL B C
C++
Java
LISP
PROLOG
COBOL
FORTRAN77 FORTRAN
PL/1
Simula 67
Smalltalk 80
BASIC ANSI-BASIC QBASIC VB
FORTRAN90
< >
?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写一个输出,
“学习 C语言,其实并不难!”
的程序
例 1.2
/* example1.2 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语言概述
>
模仿例 2写一个求
两个数 a和 b乘积
的 C程序。
注意,
把 变量 sum改为 d
,
,
sum=add(a,b)
,
,
main函数 add函数
?格式特点
?习惯用 小写 字母,大小写敏感
?不使用行号,无程序行 概念
?可使用空行和空格
?常用 锯齿形 书写格式
< >
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
?C:\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语言概述