C语言程序设计 主讲教师 :张群燕 电话:13628007285
课程主要内容 掌握程序设计语言 掌握程序设计的基本方法 熟悉程序设计工作环境
希望及祝愿 必须按照要求交实验报告! 祝愿:学习进步,生活愉快 课前预习,认真听讲 善于联系实际 注重上机实践 掌握规律,举一反三 考核方式: 平时表现(考勤、随堂提问、作业、随堂测验等): 10% 上机实验(每次实验结束后需提交实验报告):30% 期末考试(机考):60% 祝愿:学习进步,生活愉快 C语言程序设计——第一章 C语言概述 SCS-SWPU
回忆-计算机系统 计算机系统 机器语言 汇编语言 高级语言 软件系统 运算器 控制器 硬件系统 存储器 一:面向过程高级语言(C语言、BASIC、PASCAL、FORTRAN) 二:面向对象高级语言(Visual Basic、 Visual C++、 Visual Foxpro、 Delphi、 Java等)。 输入设备 输出设备 计算机系统 系统软件 机器语言 软件系统 计算机语言编写 汇编语言 应用软件 高级语言
程序、程序设计、程序设计语言 程序:使用语言给计算机的一组指令序列 程序设计:为求解特定问题而编写的正确有效的程 序 程序设计语言:编写程序所用的语言 程序设计语言是由字、词和语法规则构成的一个系统。
其重要性不仅仅体现在一般意义上的编程能力, 更体现在引导学生实现问题求解思维方式的转换 为什么要学习C语言 计算机专业知识体系结构 必备的专业技能 C语言被广泛使用 C语言可作为程序设计入门语言 其重要性不仅仅体现在一般意义上的编程能力, 更体现在引导学生实现问题求解思维方式的转换 ——培养学生的计算思维能力。
学习资源 参考书籍: 网站: 课程网站 《C程序设计》,谭浩强编著,清华大学出版社 《C 程序设计语言》,Brian W.Kernighan,清华大学 出版社 《C高级实用程序设计》,王士元,清华大学出版社 网站: http://www.csdn.net http://baidu.com 课程网站 http://swpu.fy.chaoxing.com/portal/(可以在教务处网 站的网络课堂中访问“西南石油大学课程中心”) C语言程序设计——第一章 C语言概述 SCS-SWPU
第一章 C语言概述 C语言的发展历史 C语言的特点 认识C程序 C程序的上机步骤 什么是编程 1.1 1.2 1.3 1.4 1.5 C语言程序设计——第一章 C语言概述 SCS-SWPU
Ritchie和Thompson在开发UNIX C语言程序设计——第一章 C语言概述 SCS-SWPU
C语言的创始人__Dennis M. Ritchie(丹尼森.里奇) 并用C语言编写了UNIX第五版 1977年《可移植的C语言编译程序》 1978年《The C Programming Language》标准C ANSI制定了统一的C标准, 即:ANSI C 在1973年,B语言也给人“煮”了一下,美国贝尔实验室的D.M.RITCHIE在B语言的基础上最终设计出了一种新的语言,他取了BCPL的第二 个字母作为这种语言的名字,这就是C语言。 D.M.RITCHIE用之改写了原来用汇编编写的UNIX,(即UNIX第5版),但当时仅限于贝尔实验室使用 1977年,为了使UNIX操作系统推广, Dennis M.Ritchie 发表了不依赖于具体机器系统的C语言编译文本《可移植的C语言编译程序》。 1978年由美国电话电报公司(AT&T)贝尔实验室正式发表了C语言。同时由B.W.Kernighan和D.M.Ritchit合著了著名的“THE C PROGRAMMING LANGUAGE”一书。通常简称为《K&R》,也有人称之为《K&R》标准。但是,在《K&R》中并没有定义一个 完整的标准C 语言, 1983年,由美国国家标准协会(American National Standards Institute)在此基础上制定了一个C 语言标准,于一九八三年发表。通常 称之为ANSI C。 1987年,随着微型计算机的日益普及, C语言出现了许多版本。由于没有统一的标准,使得这些C语言之间出现了一些不一致的地方。为了 改变这种情况,美国国家标准研究所(ANSI)为C语言制定了一套ANSI标准——87 ANSI C. 1988年K & R按照 ANSI C修改了他们的《The C Programming Language》。 1990年,国际标准化组织接受了87 ANSI C为ISO C 的标准(ISO9899—1990)。 1994年,ISO又修订了C语言标准。 目前流行的C语言编译系统大多是以ANSI C为基础进行开发的。 1997 ISO C C语言程序设计——第一章 C语言概述 SCS-SWPU
接受美国国家技术勋章 获图灵奖 C语言程序设计——第一章 C语言概述 SCS-SWPU
C语言的新应用 可以通过C语言把把地震勘探的数据用数学函数描述出来,要想看到函数的结果,就可以通过MATLAB形象的把函数结果显示出来,因为C提供了很多与其他应用程序的接口。 C语言程序设计——第一章 C语言概述 SCS-SWPU
C语言的新应用 很多大片,如阿凡达,它的房子等可以用3D MAX建模,然后对这些模型用C语言编程控制,如地球的颤抖,用这一句C语言就可以实现,用随机函数让这些模块偏移一定的距离来实现。 C语言程序设计——第一章 C语言概述 SCS-SWPU
第一章 C语言概述 C语言的发展历史 C语言的特点 认识C程序 C程序的上机步骤 什么是编程 1.1 1.2 1.3 1.4 1.5 C语言程序设计——第一章 C语言概述 SCS-SWPU
1.2 C语言的特点 语言简洁、紧凑、灵活 运算符和数据类型丰富 程序设计结构化、模块化 生成目标代码质量高 可移植性好 > > C语言程序设计——第一章 C语言概述 SCS-SWPU
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语言概述 SCS-SWPU
9种控制语句 if( )~else~ for( )~ while( )~ do~while( ) continue break switch goto return < C语言程序设计——第一章 C语言概述 SCS-SWPU
34种运算符 算术运算符:+ - * / % ++ -- 关系运算符:< <= == > >= != 算术运算符:+ - * / % ++ -- 关系运算符:< <= == > >= != 逻辑运算符:! && || 位运算符 :<< >> ~ | ^ & 赋值运算符:= 及其扩展 条件运算符:?: 逗号运算符:, 指针运算符:* & 求字节数 :sizeof 强制类型转换:(类型) 分量运算符:. -> 下标运算符:[] 其它 :( ) - C语言程序设计——第一章 C语言概述 SCS-SWPU
C的数据类型 < C语言程序设计——第一章 C语言概述 SCS-SWPU
结构化程序设计 三大基本结构 顺序结构 选择结构 循环结构 函数 模块化程序设计 < C语言程序设计——第一章 C语言概述 SCS-SWPU
第一章 C语言概述 C语言的发展历史 C语言的特点 认识C程序 C程序的上机步骤 什么是编程 1.1 1.2 1.3 1.4 1.5 C语言程序设计——第一章 C语言概述 SCS-SWPU
1.3 认识C程序 要输出: hello word! 例 1.1 输出字符串: This is a C program. #include <stdio.h> void main () { printf (“This is a C program. \n”); } /*包含头文件*/ //主函数 /*函数体开始*/ /*输出一句话*/ /*函数体*/ /*函数体结束*/ This is a C program. - C语言程序设计——第一章 C语言概述 SCS-SWPU
1.3 认识C程序 例 1.2 求整数:3+1=? 要计算: (x+y)*x 3 + 1 = 4 例 1.2 求整数:3+1=? 要计算: (x+y)*x /*包含头文件*/ #include <stdio.h> void main ( ) { int x,y,z; x=3; y=1; z=x+y; printf (“%d+ %d=%d\n”,x,y,z); } /*主函数*/ /*定义变量*/ /*给变量赋值*/ /*函数体*/ /*计算3+1*/ //输出结果 3 + 1 = 4 C语言程序设计——第一章 C语言概述 SCS-SWPU
1.3 认识C程序 #include <stdio.h> void main(形参表) { 说明部分; 执行部分; } /*编译预处理命令*/ /*主函数*/ 每个C程序必须有一个主函数main { }是函数开始和结束的标志,不可省 把一个文本文件的内容包含到该命令处 调用库函数是必须使用!! /*函数体*/ 每个C语句以分号结束 C语言程序设计——第一章 C语言概述 SCS-SWPU
1.3 认识C程序 例1.3:求两个整数中的最大值 我们碰到了哪些C语言的函数? int max ( int x , int y) { int z ; if ( x>y) z = x ; else z = y ; return ( z ); } void main() { int a , b , c ; scanf ( “%d , %d ” ,& a ,& b ) ; c = max ( a , b); printf ( “ max = % d ” , c) ; 用户自 定义函数 入口 主函数 C语言程序设计——第一章 C语言概述 SCS-SWPU
C程序的书写特点 (1) C程序是由函数构成的。 (2) 一个函数由两部分组成,结构如下: 一个C源程序有且仅有一个main函数 程序执行从main开始,在main中结束,其它函数 通过嵌套调用得以执行。 (2) 一个函数由两部分组成,结构如下: 函数类型 函数名(形参表) { 定义部分; 执行部分; } 函数的首部 #include <stdio.h> void main ( ) { int x,y,z; x=3; y=1; z=x+y; printf (“%d+ %d=%d\n”,x,y,z); } 函数体 C语言程序设计——第一章 C语言概述 SCS-SWPU
C程序的书写特点 优秀程序员的素质之一: (3) C程序书写格式自由,习惯用小写字母,大小写敏感 (6) 每个语句和数据定义的最后必须有一个分号。 #include <stdio.h> void main ( ) { int x,y,z; x=3; y=1; z=x+y; printf (“%d+ %d=%d\n”,x,y,z); } 优秀程序员的素质之一: 使用TAB缩进 {}对齐 有足够的注释 有合适的空行 C语言程序设计——第一章 C语言概述 SCS-SWPU
第一章 C语言概述 C语言的发展历史 C语言的特点 认识C程序 C程序的上机步骤 什么是编程 1.1 1.2 1.3 1.4 1.5 C语言程序设计——第一章 C语言概述 SCS-SWPU
1.4 C程序的上机步骤 1、编辑 2、编译 3、连接 4、运行 生成C的源文件,扩展名为*.C 生产目标文件,扩展名为*.OBJ 将目标程序文件f.obj输入内存, 与系统提供的库函数等连接,生产可执 行文件,扩展名为*.exe。 4、运行 最后把可执行文件调入内存并使 之运行,得到结果。 源程序 目标程序 可执行程序 内容 程序设计语言 机器语言 可执行 不可以 可以 文件名后缀 .C .obj .exe
1.4 C语言的上机步骤 VC++6.0环境下的开发过程 第一步启动VC 点击“开始”-“程序”启动VC ++6.0 第二步:建立C源文件 “文件”-“新建”-“文件”-选“C++ Source File”-输入文件名-“确定” 第三步:编译->连接->运行 C语言程序设计——第一章 C语言概述 SCS-SWPU
例:VC++6.0 的使用 1. 安装VC++ 6.0和进入VC+ +6.0集成环境 (1) Visual C++ 6.0适用于Windows环境。首先在所用的计算机上安装Visual C++ 6.0系统。安装完后,双击Visual C++ 6.0图标,就能进入VC++ 6.0集成环境 。
(2) 在VC++主窗口的顶部是VC++的主菜单栏 。其中包含9个 项∶File Edit View Insert Project Build Tools windows Help; 主窗口的左侧是项目工作区窗口(用来显示所设定的工作区的 信息),右侧是程序编辑窗口(用来输入和编辑源程序)。
2. 输入和编辑源程序 (1)新建一个源程序 ① 在VC++主窗口的主菜单栏中选择“File” ,然后选择 “New ”
单击屏幕上出现的“New”对话框上方的“Files”,在其下 菜单中选择“C++ Source File”项;然后在对话框右半 “Location”文本框中输入准备编辑的源程序文件的存储路 径(假定为 D:\cc );在其上方的File(文件)文本框中 输入准备编辑的源程序文件的名字(输入c1-1.c ) 。
②输入和编辑源程序 单击“OK” 按钮后,回到VC++主窗口程序,编辑窗口已激 活,即可输入和编辑源程序。在输入过程中如发现有错 误,可以利用全屏幕编辑方法进行修改编辑。
3. 程序的编译 单击主菜单栏中的“Build”,在其下拉菜单中选择“Complie c1-1.c”项。
在单击编译命令后,屏幕上出现一个是否同意建立一个默认的项目工作区的对话框单击“Yes”(是) 按钮后开始编译。 也可以不用选择菜单的方法,而用“Ctrl+F7”来完成编译。 编译完成后,调试窗口出现编译信息,如果无错生成目标文件c1-1.obj,否则指出错误位置和性质。
生成目标文件后,把程序和系统提供的资源(如函数据库、头文件)建立连接。选择“Build”→“Build test.exe” 。 4. 程序的连接 4. 生成目标文件后,把程序和系统提供的资源(如函数据库、头文件)建立连接。选择“Build”→“Build test.exe” 。
执行连接后,在调试输出窗口中显示连接时的信息,生成可执行文件c1-1.exe。 说明: 选择菜“Build”→“Build”( 或按“F7”键)一次完成编 译与连接。但提倡初学者 分步进行编译和链接,因 为程序出错的机会较多, 最好等到上一步完全正确 后才进行下一步
执行c1-1.exe 文件,选择“Build”→“! Execute c1-1.exe ” 5 程序的执行 执行c1-1.exe 文件,选择“Build”→“! Execute c1-1.exe ”
程序执行后,屏幕切换到输出结果的窗口,显示输出结果。 第1行: 程序的输出 第2行:是VC++在输出完运行结果后由VC++6.0系统自动加上的一行信息,通知用户∶“按任何一键以便继续”。
二级真题练习 真题1:下列叙述中错误的是( )【2006.4】 A)C语言源程序经编译后生成后缀为.obj的目标程序 42 真题1:下列叙述中错误的是( )【2006.4】 A)C语言源程序经编译后生成后缀为.obj的目标程序 B)C程序经过编译、连接步骤之后才能形成一个真正 可执行的二进制机器指令文件 C)用C语言编写的程序称为源程序,它以文本形式存 放在一个文本文件中 D)C语言中的每条可执行语句和非可执行语句最终都 将被转换成二进制的机器指令
第一章 C语言概述 C语言的发展历史 C语言的特点 认识C程序 C程序的上机步骤 什么是编程 1.1 1.2 1.3 1.4 1.5 C语言程序设计——第一章 C语言概述 SCS-SWPU
总结:程序设计的过程 需求分析 设计算法 编写程序 调试程序 C语言程序设计——算法的描述 SCS-SWPU
Thank You !