You are on page 1of 25

C 语言程序设计

第一讲 C 语言 概述

课程要求
• 课前请做好预习,不能缺课
• 单独准备一个作业本
• 认真、独立、按时完成作业
• 重视上机实践,有效利用宝贵的上机时间

参考教材
谭浩强, C 程序设计,清华大学出版社
C 语言程序设计
第一讲 C 语言 概述

第一讲 C 语言概述

C 语言发展历史 >
C 语言特点 >
C 程序格式和结构特点 >
C 程序上机步骤 >
C 语言程序设计
第一讲 C 语言 概述

§ 1.1 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 语言 概述

 C++ : C 语言的扩充版本,提供了面向
对象功能,名称 C++ 包含了 C 的增量
运算符( ++ ),以说明 C++ 是 C 的增
量版本。
 Java :它源于 C/C++ ,在 1991 年产生
于由 Sun 公司的 James Gosing 主持的
一个新项目。虽然项目失败,但由于
1993 年网络盛行,而使用 Java 可以创
建带有动态内容的 Web 页面,因此
Java 随着网络的盛行而逐步被广泛应用

C 语言程序设计
第一讲 C 语言 概述

 C# : C# 是微软开发的下一代软件开发
语言, C# 是从 C/C++ 家族中演化而来
的它和 C++ 的百分之九十九的语法都相
同,但 C# 比 C++ 有更多的优点:语言
简洁实用,完全面向对象,安全可靠等

Java 和 C# 都源于 C/C++ ,并消除
了其中的某些复杂之处,扩展了新的功
能,提高了语言的安全性。但 C# 来自于
C/C++ 特性要多些。
C 语言程序设计
第一讲 C 语言 概述

§ 1.2 C 语言特点
适应性强,应用范围广
语言简洁、紧凑、灵活 > >
运算符和数据类型丰富 > >
程序设计结构化、模块化
生成目标代码质量高
可移植性好
  综上所述,C语言把高级语言的基本结构与低级语言的高效
实用性很好地结合起来,它一方面在计算机程序语言研究方面具有
一定价值,由它引出了许多后继语言;另一方面, C 语言对整个计
算机工业和应用的发展都起了很重要的推动作用。正因为如此, 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~
switch
for( )~
while( )~
do~while( )
continue
break
goto
return

<
C 语言程序设计
第一讲 C 语言 概述

34 种运算符:
算术运算符: + - * / % ++ --
关系运算符: < <= == > >= !=
逻辑运算符:! && ||
位运算符 : << >> ~ | ∧ &
赋值运算符: = 及其扩展
条件运算符: ?:
逗号运算符: ,
指针运算符: * &
求字节数 : sizeof
强制类型转换: ( 类型)
分量运算符: . ->
下标运算符: []
其它 :( ) -

<
C 语言程序设计
第一讲 C 语言 概述
短整型 short
整 型 普通整型 int
长整型 long
数值类型
单精度型 float
浮点型
基本类型 双精度型 double
字符类型 char

数组
C 结构体 struct

构造类型 共用体 union

类 枚举类型 enum

指针类型
空类型 void

< 定义类型 typedef


C 语言程序设计
第一讲 C 语言 概述
1.3 C 程序格式和结构特点
例 1.1 第一个程序 This is a program!

/* example1.1 The first C Program*/ 注释


#include <stdio.h> 编译预处理命令
main() 函数
{
printf(“This is a program! \n”); 语句
}
输出:
This is a program!
函数由两部分组成:函数的说明部分,包括函数名、函数类
型、参数名和参数类型;函数体,包括变量定义和执行部分。

>
C 语言程序设计
第一讲 C 语言 概述
例 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 语言 概述

格式特点
习惯用小写字母,大小写敏感
不使用行号,无程序行概念 main(
main() )
{ { ……………….
可使用空行和空格
int………………
i , j , sum;
常用锯齿形书写格式 sum=0; …………..
for(i=1; i<10;i++)
…………..
优秀程序员的素质之一 : { ………
 使用 TAB 缩进 for(j=1;j<10;j++)
……….
 {} 对齐 { ……………
 有足够的注释 sum+=i*j ;
…………….
 有合适的空行 }
……………….
} ………………..
} printf(“%d\n”,sum);
}
C 语言程序设计
第一讲 C 语言 概述
结构特点
函数与主函数
程序由一个或多个函数组成,函数是 C 程序的基本单

必须有且只能有一个主函数 main()
程序执行从 main 开始,在 main 中结束,其它函数通过
嵌套调用得以执行。
程序语句
C 程序由语句组成
非法
用“ ;” 作为语句终止符,是不可缺少的部分
例: /*This is the main /* of example1.1*/
注释 */
/* */ 为注释,不能嵌套
不产生编译代码

<
C 语言程序设计
第一讲 C 语言 概述
§ 1.4 C 程序的上机步骤
C 程序开发步骤 程序代码的录入 ,
开 始
编辑 生成源程序 *.c

编 辑 语法分析查错,翻译
源程序 编译 生成目标程序 *.obj
file.c
编 译

与其它目标程序或库

有错? 目标程 链接 链接装配 , 生成可执行

无 file.obj 程序 *.exe
连 接
可执 行
目标 程 库函数和
执行
序 其它目标 ²ÂÊý.exe ħ·½.exe
file.exe 执 行
程序

不正确
结果正确?
源程序 目标程序 可执行程序
正确
内容 程序设计语言 机器语言 机器语言
结 束
可执行 不可以 不可以 可以
文件名后缀 .c .obj .exe
C 语言程序设计
第一讲 C 语言 概述

1. 编辑

编辑是将 C 语言的源程序输入计算机,并以文
本文件的形式存储在磁盘。编辑是建立 C 源程序文件的
过程 , 源程序文件的扩展名为 .c 或 .cpp 。

编辑可以用任何文字处理软件完成,一般用编
译器本身集成的编辑器进行编辑。
C 语言程序设计
第一讲 C 语言 概述

2. 编译

C 语言是以编译方式实现的高级语言, C 程序的实现
必须经过编译程序对源程序进行编译,生成目标代码程序。
目标代码程序的扩展名为 .obj 。

编译前先进行预处理。编译过程主要进行词法分
析和语法分析。

编译有错时,在屏幕上列出错误的位置和种类。
此时 , 要返回到编辑步骤修改源程序,修改后,再进行编
译。
C 语言程序设计
第一讲 C 语言 概述

3. 链接

编译形成的目标代码程序机器可以识别,但
还不能直接执行,还需要将目标代码程序与库文件进
行链接处理,链接工作由链接程序完成。经过链接,
生成可执行文件。可执行文件的扩展名为 .EXE 。

  链接有错同样需返回到编辑步骤修改源程序 , 修
改后 , 再进行编译、链接。
C 语言程序设计
第一讲 C 语言 概述

4. 运行

一个 C 源程序经过编译、连接后生成了可执行文
件。运行可执行文件 , 可通过编译系统下的运行功能 , 也可
像执行 DOS 的外部命令一样 , 输入执行文件名运行。

程序运行后 , 一般在屏幕上显示运行结果。根据
运行结果可以判断程序是否还有算法方面的错误。

编译时产生的错误是语法错误 , 运行时出现的错
误是逻辑错误。出现逻辑错误时需要修改算法 , 重新编辑、
编译、 运行程序。
C 语言程序设计
第一讲 C 语言 概述

上机操作
启动 TU RB O C
只需执行 TC.EXE 文件,即可启动 TURBO C 进入 TURBO C
的操作界面。启动 TURBO C 后 , 主操作界面如图所示。
C 语言程序设计
第一讲 C 语言 概述

1) 组成

TURBO C 主操作界面由主菜单区、编辑窗口、信息
窗口、热键区四部分组成。

   TURBO C 的操作采用菜单驱动 , 主菜单包括 File


(文件操作)、 Edit (编辑操作)、 Search (查找)、
Run (运行操作)、 Compile (编译操作)、 Debug
(跟踪排错)、 Project (工程文件)、 Options (编译
选择)及 Windows (窗口选择)各项。

  热键区提供常用操作的快速功能键方式 , 如 F1 (帮
助)、 F2 (保存文件)、 F3 (打开文件)、 F9 (编
译)、 CTRL+F9 (运行)、 F10 (菜单)等。
C 语言程序设计
第一讲 C 语言 概述
2) 主窗口

当前操作窗口为主窗口(工作窗口),主窗口为双
线框表示,按 F6 可切换主窗口,按 F5 可缩放主窗口。

3) 菜单选择

方式一:按 F10 进入主菜单区,通过菜单项的大写


字母选择相应菜单项,或通过光标控制键(→、 ←、 ↑、
↓)移动高亮度光棒至相应菜单项 , 按回车选择相应菜单项

  方式二:用热键 ALT 加相应菜单项的大写字母,选择相


应菜单项。

对子菜单项的选择,操作方法类似。
C 语言程序设计
第一讲 C 语言 概述
常用热键
基本操作:
F10----- 调用主菜单
F2 ------ 存盘
F3 ------ 打开
Alt+F9------Compile
Ctrl+F9-----Run 文本编辑:
Alt+F5------User Screen ------- 移动光标
PgUp,PgDn------ 上下翻页
Ctrl+PgUp,Ctrl+PgDn------ 文件首尾
Home End
Delete Insert
Backspace
窗口操作:
F5----- 窗口缩放
F6----- 窗口切换
C 语言程序设计
第一讲 C 语言 概述

作业与上机
• 编写一个程序,输出两个整数的积。
• 编写一个程序,输出以下信息:
*******************
I love China!
*******************
6. 编写一个程序,输出一个图形如心形
或菱形。

You might also like