View
334
Download
0
Embed Size (px)
Citation preview
主讲教师:李艺[email protected]
C语言程序设计第一章 C语言概述
1-2
主要内容主要内容
1.1 C1.1 C语言出现的历史背景语言出现的历史背景
1.2 C1.2 C语言的特点语言的特点
1.3 C1.3 C语言程序介绍语言程序介绍
1.4 C1.4 C语言程序的上机实现语言程序的上机实现
1-3
课程教材潭浩强 《 C 程序设计 ( 第三版 )
清华大学出版社, 2005 年 7 月 参考教材
任选 课程课时
理论课: 40 学时实验课: 20 学时
1-4
1.1 C1.1 C 语言出现的历史背景语言出现的历史背景
C语言出现的历史背景 在 C 语言诞生以前,系统软件主要是用汇编语言编写的。由于汇
编语言程序依赖于计算机硬件,其可读性、可移植性差;但高级语言又难以实现对计算机硬件的直接操作,人们盼望有一种兼有汇编语言和高级语言特性的新语言。
C语言是贝尔实验室于 70 年代初研制出来的,后来又被多次改进,并出现了多种版本。 80 年代初,美国国家标准化协会( ANSI ),根据C语言问世以来各种版本对C语言的发展和扩充,制定了 ANSI C 标准( 1989 年再次做了修订)。
目前,在微机上广泛使用的C语言编译系统有 Microsoft C 、 Turbo C 、 Borland C 等。虽然它们的基本部分都是相同的,但还是有一些差异, 使用时要注意个版本C系统的特点和规定。
1-5
1.2 C语言的特点
C 语言同时具有汇编语言和高级语言的优势。 语言简洁、紧凑,使用方便、灵活。关键字一共只有 36 个 运算符极其丰富,有 34 种运算符。 数据结构丰富,能实现各种各样的数据结构 具有结构化的控制语句:选择、循环语句 语法限制不太严格:多个语句可以在同一行,而一个语句可以在
不同行,不检查数组下标是否越界等。 可以直接访问物理地址,能进行位操作,能实现汇编语言的大部
分功能。 生成的目标代码质量高,程序执行效率高。 可移植性好(较之汇编语言)。
1-6
1.2 C语言的特点
C 语言的特征 能在很多操作系统中应用
UNIX, DOS, Windows, MacOS 等 使用范围广泛
应用软件的开发OS 的开发机械控制
Address演算, Bit演算 语言规范相对简单
1-7
1.3 简单的 C程序介绍
例 :输出 This is C program ,输完后换行void main( )
{
printf ("This is C program\n");
}
该程序只有一个名为main 的主函数,函数体(花括号内的内容)只有一个语句: printf输出语句
C 程序的特点 C 程序由函数组成,每个程序都必须有一个名为main
的主函数,且主函数只能有一个
1-8
1.3 简单的 C程序介绍
例:求两数之和void main()
{ int a,b,sum; /* 定义变量 */
a=123; b=456; /* 以下三行为程序的执行部分 */
sum=a+b;
printf("sum is %d\n",sum);
}
C 程序特点函数由函数首部和函数体构成,函数体由变量声明部
分和执行部分组成,执行部分必须在声明部分后面。
1-9
1.3 简单的 C程序介绍
函数定义的一般格式为:函数类型 函数名(形参类型 1 形参 1 ,形参类型 2 形
参 2 ){ 声明部分 执行部分 }
程序的执行是从主函数开始到主函数结束,其它函数的执行是通过函数调用实现的
书写格式自由。一行内可以写几个语句,一个语句也可以分几行书写。
1-10
1.3 简单的 C程序介绍
每个 C 语句以分号“;”结束,分号是语句的组成部分
C中的输入与输出是通过函数实现 7 ,程序中包含在 /*与 */ 之间的内容为注释,其作用
是供理解程序用。 C++中可用 //
1-11
1.3 简单的 C程序介绍
编译工作过程
源文件*.c 、 *.cpp
C 编译程序VC++ 6.0
目标文件*.obj
没有错误
目标文件*.obj
目标文件*.obj
有错误反馈错误信息
修正
Linker连结
可执行文件*.exe
1-12
1.4 C1.4 C 语言程序的上机实现语言程序的上机实现
上机实现 C 语言程序的基本步骤 编辑( Edit ) 编译( Compile )连接( Link ) 运行( Run )
C 语言的支持系统 Turbo C 2.0 、 Turbo C 2.0 Visual C++ 6.0也支持 C 语言程序 其他
1-13
启动 TC2.0
1.4 C1.4 C 语言程序的上机实现语言程序的上机实现
1-14
录入源程序使用“ Edit”命令,使 TC集成环境进入编辑状态,录入源程序
1.4 C1.4 C 语言程序的上机实现语言程序的上机实现
1-15
编译、连接源程序使用“ Compile”命令,对源程序进行编译、连接,生成可执行文件
1.4 C1.4 C 语言程序的上机实现语言程序的上机实现
1-16
运行程序编译连接完成后,使用“ Run”命令运行程序。
也可以完成编辑后直接使用“ Run”命令运行程序,此时 TC2.0 系统会自动调用编译、连接功能,首先进行编译连接,然后再运行程序。窗口切换
按 Alt+F5 组合键实现程序窗口和运行结果窗口的切换,这是查看程序运行结果时常用的一种方法。
1.4 C1.4 C 语言程序的上机实现语言程序的上机实现
1-17
1.启动 VC++ 6.0
1.4 C1.4 C 语言程序的上机实现语言程序的上机实现
1-18
2.创建一个新工程(1) 选择“ File”→“New”命令,弹出“ New” 对话框 .
(2) 设置 Projects (工程)类型和名称。在“ New” 对话框中,切换到“ Projects” 选项卡,选择 Projects类型为Win32 Console Application ,在右边的“ Projec
t name”文本框中输入工程文件名称。(3) 设置工程文件的存储位置。单击“ Location”文本框后
面的省略号按钮,从弹出的对话框中,选择要放置新建工程文件的文件夹。
(4) 单击“ OK”按钮,弹出如图 1-10所示的对话框,单击“ Finish”按钮,在弹出的新窗口中单击“ OK”按钮。
1.4 C1.4 C 语言程序的上机实现语言程序的上机实现
1-19
3.建立源程序文件(1) 选择“ File”→“New”命令,弹出“ New” 对话框,切换到“ Files”
选项卡,选择 C++ Source File 选项,并选择“ Add to project”复选框,激活其下面的选项,然后在“ File”文本框内输入源文件名。
(2)单击“OK”按钮,弹出编辑窗口,此时即可编写程序。
1.4 C1.4 C 语言程序的上机实现语言程序的上机实现
1-20
4.编译连接和运行源程序( 1 )编译。选择“ Build”→“Compile hello.cpp”命令,系
统开始对当前的源程序进行编译,在编译过程中,将所发现的错误显示在编辑窗口下方的“ Build”窗口中。根据错误提示,修改程序后再重新编译,如果还有错误,再继续修改、编译,直到没有错误为止。
( 2 )连接。编译无误后进行连接,选择“ Build”→“Build pr
oject_1.exe”命令。同样,对出现的错误要进行更改,直到编译连接无错为止。
( 3 )运行程序。选择“ Build”→“!Execute project_1.exe”
命令,即运行当前的程序。
1.4 C1.4 C 语言程序的上机实现语言程序的上机实现
1-21
问题:编写程序,计算 1+2+3+4+……+n ( n≥1 )
1.问题分析。2.设计算法。
用 s表示累加结果,用 i表示当前要累加的数值步骤① 为 i 和 s赋初值,使 i=1,s=0 ;步骤② 输入 n 的值;步骤③ 判断 n 的值,若 n≥1则执行步骤④;否则,转步骤⑨;步骤④ 判断 i 的值,若 i≤n 则执行步骤⑤;否则,转步骤⑧;步骤⑤ s加上 i ;步骤⑥ i加上 1 ;步骤⑦ 转步骤④;步骤⑧ 显示 s 的值;步骤⑨ 结束。
1.4 C1.4 C 语言程序的上机实现语言程序的上机实现
1-22
3.用流程图表达算法。
1.4 C1.4 C 语言程序的上机实现语言程序的上机实现
开始开始
1→i, 0→s1→i, 0→s
n≥1n≥1
输入输入 nn 的值的值
i≤ni≤n
s+i→s, i+1→is+i→s, i+1→i
显示显示 ss 的值的值
结束结束
no
noyes
yes
1-23
1.4 C1.4 C 语言程序的上机实现语言程序的上机实现
4.程序设计void main()
{ int i,s,n; i=1;
s=0;
printf("Input n: ");
scanf("%d",&n);
if (n>=1)
{ while(i<=n)
{ s=s+i;
i=i+1;
}
printf("sum=%d\n",s);
}
}
1-24
1.4 C1.4 C 语言程序的上机实现语言程序的上机实现
5.编辑调试运行程序
1-25
小结
算法它包括问题计算和问题处理过程两个方面。一个问题可以有不同的算法,一个算法在经过有限步骤之后能够结束。
算法的描述方法有多种,用计算机语言描述的算法是计算机程序。 程序语法错误在编译阶段能够被系统发现并指出来,而逻辑错误系
统无法检查。 C 语言是一种结构化的高级语言, C 语言程序是由若干个函数构成
的,有且仅有一个称main()函数的为主函数。任何函数都具有如下的一般结构:
函数类型 函数名 ()
{ 函数体 } C 语言程序中,标识符的大小写形式具有不等价性。 C 语言程序的上机实现分为编辑、编译、连接和运行四个过程,其中
的编辑可以通过任何文本编辑软件实现。