没有幻灯片标题

Download Report

Transcript 没有幻灯片标题

超越电子
http://avrmcu.51.net
教材、参考书与课时安排
教材
C程序设计 谭浩强编著 清华大学出版社
参考书
C语言程序设计教程
C高级实用程序设计
课时安排
授课 :48学时
C综合编程训练:2周
谭浩强
王士元
高等教育出版社
清华大学出版社
上机安排
上机地点:计算中心机房
上机时间:第4、6、8、10~18周的周四晚
5:10~9:10
上机内容:
第4、6、8、10~12周共24学时:随教学进度的基础训
练(上机调试每次课堂作业)
第13~18周共24学时:C编程训练大作业
要求:
 所有作业必须独立完成
 作业必须经上机调试通过
 上机考勤3次缺席,按不及格处理
 发现上机时间上网,按缺席一次处理
课程要求
课前请做好预习
保持课堂安静,头脑清醒,思维活跃
认真、独立、按时完成并提交作业
重视上机实践,有效利用宝贵的上机时间
第一章 C语言概述
C语言发展历史
C语言特点
C程序格式和结构特点
C程序上机步骤
C语言程序设计
第一章 C语言概述
§ 1.1 C语言发展历史
程序设计语言的发展
程序设计是数据被加工的过程
机
汇
器
编
语
语
冯.诺依曼结构:
言
言
高
级
语
言
运算器
面向过程
面向对象
中央处理器CPU
主机: 控制器
CPU指令系统,由0、1序列构成的指令码组成
客观世界可以分类,对象是类的实例
面向机器的语言
用助记符号描述的指令系统
如:10000000
加 对象是数据和方法的封装
计算机
存储器
程序设计关键是定义类,并由类派生对象
如 ADD
A, B
10010000
减 对象间通过发送和接受消息发生联系
I/O设备:键盘、显示器等
> >
52 54 56 58 60 62 64 66 68 70 72 74 76 78 80 82 84 86 88 90 92 94 96
Ada
Modula-2
Pascal
ALGOL60
ALGOL68
CPL BCPL B
C
Smalltalk 80
C++
Java
Simula 67
BASIC
FORTRAN
ANSI-BASIC QBASIC VB
FORTRAN90
FORTRAN77
PL/1
COBOL
LISP
PROLOG
<
>
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语言与Pascal语言比较
C语言
Pascal语言
{ }
BEGIN….END
if(e) s;
IF(e) THEN s
int i ;
VAR i:INTEGER
int a[10]; VAR a:ARRAY[1..10] OF INTEGER
int f();
FUNCTION f():INTEGER
int *p;
VAR p:INTEGER
i+= 2;
i=i+2
i++,++i;
i=i+1
结论:C比 Pascal简练,源程序短。
<
第一章 C语言概述
含义
复合语句
条件语句
定义i为整型变量
定义整型数组a
定义f为返值整型的函数
定义p为指向整型变量的指针
赋值i+2i
i自增值
C语言程序设计
第一章 C语言概述
34种运算符:
算术运算符:+ - * / % ++ -关系运算符:< <= == > >= !=
逻辑运算符:! && ||
位运算符 :<<
>>
~ | ^ &
赋值运算符:= 及其扩展
条件运算符:?:
逗号运算符:,
指针运算符:* &
求字节数 :sizeof
强制类型转换:(类型)
分量运算符:. ->
下标运算符:[]
其它
:( ) <
C语言程序设计
第一章 C语言概述
短整型short
整 型
整型int
长整型long
数值类型
单精度型float
浮点型
基本类型
字符类型char
数组
C
数
据
类
型
结构体struct
构造类型
共用体union
枚举类型enum
指针类型
空类型void
<
定义类型typedef
双精度型double
<
C语言程序设计
第一章 C语言概述
§1.3 C程序格式和结构特点
例1.1 第一个程序 Hello,World!
/* example1.1 The first C Program*/
#include <stdio.h>
编译预处理
main()
函数
{
语句
printf(“Hello,World!”);
}
输出:
Hello,World!
>
注释
C语言程序设计
第一章 C语言概述
/*
example1.1 calculate the sum of a and b*/
例1.2 #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语言概述
格式特点
习惯用小写字母,大小写敏感
main() )
不使用行号,无程序行概念 main(
{ { ……………….
可使用空行和空格
int………………
i , j , sum;
常用锯齿形书写格式
sum=0;
…………..
for(i=1;
i<10;i++)
…………..
{
优秀程序员的素质之一:
………
for(j=1;j<10;j++)
 使用TAB缩进
……….
{ ……………
 {}对齐
sum+=i*j ;
 有足够的注释
…………….
}
 有合适的空行
……………….
} ………………..
} printf(“%d\n”,sum);
}
< >
C语言程序设计
第一章 C语言概述
结构特点
函数与主函数
 程序由一个或多个函数组成
 必须有且只能有一个主函数main()
 程序执行从main开始,在main中结束,其它函数通过嵌
套调用得以执行。
程序语句
 C程序由语句组成
 用“;”作为语句终止符
非法
注释 例: /*This is the main /* of example1.1*/ */
 /*
*/为注释,不能嵌套
 不产生编译代码
编译预处理命令
<
>
C语言程序设计
第一章 C语言概述
§1.4 C程序的上机步骤
C程序开发步骤
开 始
编 辑
源程序
编辑
程序代码的录入,
生成源程序*.c
编译
语法分析查错,翻译
生成目标程序*.obj
链接
与其它目标程序或库
链接装配,生成可执行
程序*.exe
file.c
编 译
有
有错?
无
可执 行
目标 程
序
file.exe
库函数和
执 行
执行
其它目标
程序
结果正确?
正确
结 束
>
file.obj
连 接
不正确
<
目标程
序
源程序
目标程序 可执行程序
内容
程序设计语言 机器语言 机器语言
可执行
不可以
不可以
可以
文件名后缀
.c
.obj
.exe
C语言程序设计
第一章 C语言概述
Turbo C集成开发环境
配置要求
 UNIX,PC-DOS,MS-DOS,UCDOS操作系统
 硬盘容量约2M,448K RAM运行空间
安装Turbo C
 创建子目录
 Install
 若不是可安装盘,将文件拷贝到对应的目录下
TC
*.*
*.*
<
>
LIB
INCLUDE
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语言程序设计
常用热键
基本操作:
F10-----调用主菜单
F2------存盘
F3------打开
Alt+F9------Compile
Ctrl+F9------Run
Alt+F5------User Screen
块操作:
第一章 C语言概述
文本编辑:
-------移动光标
PgUp,PgDn------上下翻页
Ctrl+PgUp,Ctrl+PgDn------文件首尾
Home
End
Ddelete Insert
Bkspace
窗口操作:
Ctrl+KB-------块开始标记 Ctrl+KK--------块结束标记 F5-----窗口缩放
Ctrl+KC-------块拷贝
Ctrl+KV--------块移动
F6-----窗口切换
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
C语言程序设计
预备知识:DOS(Disk
第一章 C语言概述
Operating System)基础
DOS基本概念
对计算机系统软硬件资源进行控制与管理
是用户和计算机间的接口
MS-DOS和PC-DOS
DOS的组成
引导程序
I/O设备管理程序:IO.SYS 或 IBMBIO.COM
文件管理和功能调用程序:MSDOS.SYS或IBMDOS.COM
命令处理程序:COMMAND.COM
C语言程序设计
第一章 C语言概述
例 磁盘上有如下文件:
ABCD.XYZ
CBCD.XYZ
文件概念:存储在磁盘上的一组相关信息
ABCT.XYZ
ABTTS.XYZ
文件名 : 〈文件标识符〉[.〈扩展名〉]
ABID.XYZ
TEXTS.TXT
文件名中的通配符
ABYD.TXT
ABCD.BAS
DOS中常用扩展名及其表示文件类型
 用途:指定文件组,避免重复操作
.COM
系统程序文件
可省略
最长8个字符
? 与 *
1. ?B?D.XYZ
2. AB*.XYZ
.EXE
可执行文件
1~3个字符
可用字符:
ABCD.XYZ
批处理文件 ABCD.XYZ
表示文件类型
英文字母 .BAT
.BAK ABID.XYZ
备份文件 ABCT.XYZ
数字0~9
CBCD.XYZ
ABID.XYZ
.TXT
文本文件
其它字符: $ @ _ ! # % & { } ( )等
ABTTS.XYZ
.SYS
系统文件
不可用字符:“ . / \ [ ] : | < > + = ; , 空格
.OBJLPT1 PRN 目标文件
DOS设备名:CON
AUX COM
3. *.TXT库文件
.LIB A:~Z:
NUL
.DAT ABYD.TXT
数据文件
TEXTS.TXT
.C
C源程序文件
DOS文件
4. *.*
所有文件
C语言程序设计
第一章 C语言概述
DOS目录
用途: 对文件进行有效组织管理
\
树型目录结构
USER
WANG
DOC
DOS
ZHAO ZHANG
EXE
CODE
根目录
子目录
TC
INCLUDE
LIB
SYS
当前目录:用户目前正在其中工作的目录
绝对路径:以根目录为起点的路径
路径
相对路径:从当前目录开始的路径
若当前目录为TC
例例绝对路径
\USER\ZHAO\DOC\ch1.doc
相对路径 INCLUDE\stdio.h
C语言程序设计
第一章 C语言概述
DOS命令
内部命令:在COMMAND.COM中,驻留内存
外部命令:以文件形式驻留在磁盘(.com .exe .bat)
DOS命令格式:
命令名 [参数][选择项]
常用的内部命令:
常用的外部命令:
常用DOS命令
DIR
显示磁盘文件目录
FORMAT
磁盘格式化
COPY
拷贝文件
DISKCOPY
例
A:\>
FORMAT
A:软盘间拷贝
/S/V
系统服务命令:
目录操作命令:
文件操作命令:
磁盘操作命令:
TYPE
显示文本文件
XCOPY
拷贝目录和文件
DATE
显示和设置日期
DIR
显示目录清单
例
C:\>DIRA:\HELLO.C
A:\*.C
/P
TYPE
显示文件内容
例
C:\>TYPE
格式化A驱软盘,将DOS系统文件存入,
FORMAT
磁盘格式化
例
A:\>FORMAT
A: /S
RENAME
更改文件名
PRINT
打印文件
TIME
显示和设置时间
MD
建立子目录
例
C:\>MD
\WINZIP
RENDISKCOPY
更改文件名
例
C:\>REN
C:\*.TXT
*.TMP
复制软盘
例
A:\>DISKCOPY
A:
B:
并为其加上卷标
DEL
删除磁盘文件
FDISK
硬盘分区
CLS
清屏幕
改变当前目录
例
C:\>CD
\TC
DEL CD删除文件
例
C:\>DEL
A:\*.*
DATE
显示和设置日期
删除子目录 例 C:\>COPY
例 C:\>RDC:\TC\*.C
\USER\WANG
COPYRD复制文件
A:
TIME
显示和设置时间
TREE
显示目录结构 例例 C:\>XCOPY
C:\>TREE C:
/F A: /S
XCOPY
复制子目录及文件
\USER
CLS
清除显示屏幕