C语言程序设计 将军 主讲者:江 军
自我介绍 姓 名:江 军 E-mail :287238530@qq.com Q Q :287238530
教学安排 总 学 时: 48 hour 理论教学: 40 hour 上机操作: 8 hour
成绩计算 平时成绩: 50分 平时成绩=考勤+课堂表现+上机+作业 期末考试: 50分
可以让你今后衣食无忧,能够无忧无虑地生活。 C语言的功能? 学好C语言,成为C高手, 可以让你今后衣食无忧,能够无忧无虑地生活。 编写系统软件。 编写应用软件。 数据计算。 信息处理。 图形处理。 兴趣是最好的老师!
程序示例 演示程序1:数值计算(π值计算) 演示程序2:图形处理(光芒四射的射线、随机圆圈、bgidemo.c、涂鸦之作、小游戏俄罗斯方块) 演示程序3:信息处理(成绩管理系统)
参 考 书 主要参考书: C程序设计 谭浩强编著 清华大学出版社 C语言大学实用教程 苏小红 电子工业出版社 标准C语言基础教程 Gray J.Bronson 电子工业出版社 网站:http://www.vcgood.com/ C语言帝国 http://bbs.bccn.net/ C语言论坛 http://www.vcok.com/ 唯C空间
第1章 C语言概述 基本内容: 重点: 了解C语言结构和特点。 了解C语言编辑、编译、运行等上机操作步骤。 掌握算法的概念及特点,了解算法的描述方法。 重点: C程序的结构、特点、算法的概念。
1.1 C语言的简单历史 C语言的历史:C语言诞生于上个世纪的70年代. 1963年英国剑桥大学推出了CPL(Combined Programming Language)语言. 1967年剑桥又推出 BCPL 语言。(Basic) 1970年美国贝尔实验室的 Thompson(汤姆森)以BCPL为基础,推出 B(取 BCPL的第一个字母)语言。 1972到1973年贝尔实验室的 Ritchie (里奇) 在B语言的基础上设计出了C语言(取BCPL的第二个字母)。
C语言的设计者 Dennis M. Ritchie(丹尼斯.里奇)
里奇接受美国国家技术勋章(右为当时的美国总统克林顿)
Ritchie和Thompson用C语言在开发UNIX操作系统
1.2 C 程序实例 1.2.1 三个实例: 1. C程序实例(1) 2. C程序实例(2) 3. C程序实例(3) 1.2.1 三个实例: 《 C程序设计》 (Visual C++ 6.0环境) 1. C程序实例(1) 2. C程序实例(2) 3. C程序实例(3)
C程序实例(1) 1.C程序实例1 《 C程序设计》 (Visual C++ 6.0环境) 【例1.1】输出一行信息:This is a C program. 程序名为l1_1.cpp。 #include "stdio.h" /*文件包含*/ void main() /*主函数*/ { printf("This is a C program.\n"); /*输出信息*/ } 程序输出结果: This is a C program. 程序演示
[例1.1]程序演示 单击运行 运行结果 弹出运行结果窗口 输入源程序 返回例题 返回本节目录
Stop here!
C程序实例(2) 2.C程序实例2 《 C程序设计》 (Visual C++ 6.0环境) 【例1.2】输入两个整数,输出它们的和。 程序名为l1_2.cpp。 #include "stdio.h" /*文件包含*/ void main() /*主函数*/ { int a,b,c; /*声明定义变量a,b和c*/ scanf("%d%d",&a,&b); /*输入变量a和b的值*/ c=a+b; /*计算c等于a与b的和值*/ printf("c=%d\n",c); /*输出变量c的值*/ } 运行程序输入: 90<CR> 7 <CR> 程序结果: C=97 程序演示 返回本节目录
[例1.2]程序演示 单击运行 输入90和7,并以回车作分隔符和输入结束符。 运行结果 弹出运行结果窗口 输入源程序 返回例题 返回本节目录
C程序实例(3) 3.C程序实例3 《 C程序设计》 (Visual C++ 6.0环境) 【例1.3】输入两个整数,通过调用函数计算它们的和,然后输出和值。 程序名为l1_3.cpp。 #include "stdio.h" /*文件包含*/ int sum(int x,int y) /*定义sum函数*/ { int z; /*声明定义变量z*/ z=x+y; /*计算z等于x与y的和值*/ return (z); /*将z的值返回,通过sum带回调用处*/ } void main() /*主函数*/ int a,b,c; /*声明定义变量a,b和c*/ scanf("%d%d",&a,&b); /*输入变量a和b的值*/ c=sum(a,b); /*调用sum函数,将得到的值赋给c*/ printf("c=%d\n",c); /*输出变量c的值*/ 运行程序输入: 90 7<CR> 程序结果: C=97 程序演示 返回本节目录
[例1.3]程序演示 单击运行 输入90和7,并以空格作间隔符,以回车作输入结束符。 运行结果 弹出运行结果窗口 输入源程序 返回本节目录 返回例题 返回本节目录
1.2.2 C程序的开发过程 1.编辑:Edit 2.编译: Compile 《 C程序设计》 (Visual C++ 6.0环境) (1)编辑指编辑创建源程序是将编写好的C语言源程序代码录入到计算机中,形成源程序文件(.c 或 .cpp的文件)。 (2)用Visual C++ 6.0环境提供的全屏幕编辑器。 (3)在VC 6.0环境中的源程序文件,默认的扩展名为.cpp,而在Turbo C 2.0环境中的源程序文件的扩展名为.c。 (1)编译源程序就是由C系统提供的编译器将源程序文件的源代码转换成目标代码的过程(. obj 的文件)。 (2)编译过程主要进行词法分析和语法分析,在分析过程中如果发现错误,将错误信息显示在屏幕上通知用户。经过编译后的目标文件的扩展名为.obj。 返回本节目录
1.2.2 C程序的开发过程 3.连接:Link 4.运行:Run 《 C程序设计》 (Visual C++ 6.0环境) (1)连接过程是将编译过程中生成的目标代码进行连接处理,生成可执行程序文件的过程。 (2)在连接过程中,时常还要加入一些系统提供的库文件代码。经过连接后生成的可执行文件的扩展名为.exe。 运行可执行文件的方法很多,可在C系统下执行“运行”命令。也可以在操作系统下直接执行可执行文件。 可执行的程序文件运行后,将在屏幕上显示程序执行的结果。
Visual C++ 6.0 Turbo C++3.0 WINtc Turbo C 2.0集成开发环境 常用的集成开发环境 C语言程序设计 第一章 C语言概述 常用的集成开发环境 Visual C++ 6.0 Turbo C++3.0 WINtc Turbo C 2.0集成开发环境
1.2.3 Visual C++ 6.0集成环境 利用Visual C++ 6.0集成环境开发C程序的过程如下: 2.编辑源程序文件 3.编译和连接 4.执行
1.2.3 Visual C++ 6.0集成环境 1.启动Visual C++ 6.0环境: 方法:单击 “开始”->“程序”->“Microsoft Visual studio 6.0”->“Microsoft Visual C++ 6.0”命令,启动Visual C++,VC6主窗口如下: 菜单栏 项目工作区 标题栏 输出区 工具栏 状态栏 文件编辑区
1.2.3 Visual C++ 6.0集成环境 2. 编辑源程序文件: 《 C程序设计》 (Visual C++ 6.0环境) 单击该选项 输入项目名 《 C程序设计》 (Visual C++ 6.0环境) (1)建立新工程项目 ①单击“文件”-“新建”,弹出 “新建”对话框。 单击“工程” 选择新项目位置 ②单击“工程”选项卡;单击 “Win32 Console Application” 选项;“工程”文件框中输入项 目名,如“gc1”和“位置”框输入 或选择新项目所在位置,单击 “确定”按钮。 弹出“Win32 Console Application Step 1of 1”对话框。 单击“确定” 单击“完成” 单击“Win32 Console Application” 单击“确定” ③单击“An empty project”按钮和“完 成”按钮。系统显示“新建工程信息”对 话框。单击“确定”按钮。
1.2.3 Visual C++ 6.0集成环境 2. 编辑源程序文件 《 C程序设计》 (Visual C++ 6.0环境) 输入文件名 (2)建立新项目中的文件 ①单击“文件”-“新建”,弹 出“新建”对话框。 单击“文件” 选择“添加工程” 单击“C++ Source file” ② 选择“文件”选项卡。单击 “C++ Source File”选项,在 “文件”文件框中输入文件名, 单击“确定”按钮。系统自动 返回VC6主窗口。 输入源程序 单击“确定” ③显示文件编辑区窗口,在文件编辑 区窗口输入源程序文件。
1.2.3 Visual C++ 6.0集成环境 3. 编译和连接 《 C程序设计》 (Visual C++ 6.0环境) 单击“编译” 方法一:选择主窗口菜单栏中“组建”菜单中的编译 单击“Build” 方法二:单击主窗口编译工具栏上的 “Build”按钮进行编译和连接。 (1)系统对程序文件进行编译和连接,生成以项目名称命名的可执行目标代码文件.exe。 (2)编译连接过程中,系统如发现程序有语法错误,则在输出区窗口中显示错误信息,给出错误的性质、出现位置和错误的原因等。如果双击某条错误,编辑区窗口右侧出现一个箭头,指示再现错误的程序行。用户据此对源程序进行相应的修改,并重新编译和连接,直到通过为止。
1.2.3 Visual C++ 6.0集成环境 4. 执行 《 C程序设计》 (Visual C++ 6.0环境) 方法一:单击“组建”菜单中“执行”命令。 方法二:单击主窗口编译工具栏上的 “Build Execute”按钮来执行编译连接后的程序。 单击“编译” 单击“Build Execute” 运行成功,屏幕上输出执行结果,并提示信息:“Press any key to continue”。此时按任意键系统都将返回VC6主窗口。 在执行程序过程中出现运行错误。用户要修改源程序文件并且重新编译、连接和执行。
1.3 C程序的基本结构 《 C程序设计》 (Visual C++ 6.0环境) 1.3.1 C程序的结构特点 1.3.2 C程序的书写格式
1.3.1 C程序的结构特点 C是由函数构成的,任何函数(包括主函数main())都是由函数首部和函数体两部分组成。 其一般结构如下: 《 C程序设计》 (Visual C++ 6.0环境) C是由函数构成的,任何函数(包括主函数main())都是由函数首部和函数体两部分组成。 其一般结构如下: [函数类型] 函数名(函数参数表)/*首部:函数说明部分*/ { 语句说明部分; 语句执行部分; } /*函数体部分*/
1.3.1 C程序的结构特点 1. C程序是由函数构成的。 2. 函数由函数首部(说明)和函数体组成。 3. C程序总是从main函数开始执行。 4.C程序语句和数据定义必须以分号“;”结束。 5.C语言严格区分大小写。 6.C语言数据输入和输出是由库函数实现的。 7.C语言用/*注释内容*/形式进行程序注释。 一个C源程序可由一个main函数和若干个其他函数组成,其中必须有一个且只能有一个main函数。 函数说明部分包括函数返回值类型、函数名、形式参数类型、函数的形式参数(形参)名。函数体即函数说明部分就是下面的用一对大括号括起来的部分{……} 。 C程序总是从主函数第一条语句开始执行,直到主函数{}里最后一条语句。 C语言中,分号是程序语句的结束标志,也是C语句必要组成部分。 如变量a和变量A系统认定为两个不同的变量。 C语言本身没有输入输出语句。输入和输入操作是由库函数scanf和printf等函数来实现的。 在“/*”和“*/”之间的所有字符都为注释符,C系统不对注释符进行编译 。
1.3.2 C程序的书写格式 1. C程序书写格式自由。 2.C程序书写采用缩进格式。 3.程序中适当使用注释信息。 《 C程序设计》 (Visual C++ 6.0环境) 1. C程序书写格式自由。 2.C程序书写采用缩进格式。 3.程序中适当使用注释信息。 对于短语句可以多条语句书写在同一行,也可以将长语句分写在多行。但需要注意,多条语句写在一行上,用“;”作为分隔符,一条语句写在多行上,用“\”作为连接符。我们提倡一行一条语句的风格。 根据语句的从属关系,程序书写时采用缩进格式,使程序语句的层次结构清晰,提高程序的可读性。同一层次语句要左对齐,不同层次的语句要缩进若干个字符,这样程序层次清楚,便于阅读和理解。 在书写程序时,适当地加入注释同样可增加程序的可读性。 可以是成对的:/* 注释内容 */ 多行注释符 也可以是:// 单行注释符
编写系统软件(如Foxpro unix Windows) 1.4 C语言的特点 C语言特点 语言简洁、紧凑、灵活 运算符和数据类型丰富 程序设计结构化、模块化 生成目标代码质量高 可移植性好 熟练的程序员都能用c语言编程 既有高级语言的特点,又有低级语言的特点 编写系统软件(如Foxpro unix Windows) 效率高,可移植性比较好 中级语言
习题一 1.3, 1.5, 1.6