• 1. C语言程序设计 主讲教师:唐光海 Email: tgh1993@126.com Tel: 67843965 QQ: 472129734
  • 2. 第1章 C语言概述 本章从C程序实例分析着手,使读者从宏观上整体把握和了解C程序的基本结构、C程序的开发调试过程, 对C程序开发设计有较深入的感性认识,进而强化对计算机语言和程序设计的理解,为进一步学习C语言程序设计打下基础。
  • 3. 1.1 程序与程序设计语言什么是程序? 程序是指示计算机每一步动作的有序指令序列 。计算机按照程序中的指令逐条执行,就可以完成相应的操作。 通俗地说:程序是一种解决方案 什么是程序设计 程序设计(programming)是设计、编制、调试程序的方法和过程。 通俗地说,就是用某种语言,按照其语言规则描述问题的解决方案、并运行实现它。
  • 4. 有两个杯子A、B,杯子A盛有水,杯子B盛有油。 问题:怎样把A、B杯中的东西换过来,即A中盛油,B中盛水?A(水)B(油)C解决方案: 增加一个杯子C 把A中的内容倒到C中 把B中的内容倒到A中 把C中的内容倒到B中
  • 5. 程序设计语言程序设计语言分为两类: 低级语言 机器语言 汇编语言 特点:依赖计算机硬件,可读性、可移植性差,速度快 高级语言 特点:接近自然语言,易理解、易学习;具有可移植性; 高级语言要经过解释或者编译程序翻译成为机器语言才能执行
  • 6. 1.2 C语言发展概述和主要特点 C语言既可作为系统软件的程序设计语言,又可作为应用软件的程序设计语言。 尤其是当今计算机应用极为广泛,软件的设计、编写质量要求高,经常与硬件部分打交道,如:嵌入式设计、界面设计等,所以用C语言编写是最理想的。因而C语言也是当前计算机语言中用得最广泛的语言之一。
  • 7. C语言的主要特点优点: 简洁、紧凑、方便、灵活 32个关键字,9种控制语句, 主要用小写字母,压缩一切不必要成分。 运算符丰富 除了最基本的+、-、×、÷、%等运算外,还将括号、赋值、类型强制转换等均作为运算符,共有34种运算符。 数据结构丰富 除基本类型外, 有指针, 结构体、共同体等类型。
  • 8. 具有结构化的控制语句 支持模块化程序设计 语法灵活 如:数据类型可相互通用:整型、字符型通用。 可与机器硬件打交道,直接访问内存地址,具有“高”、“ 低”级语言之功能。 生成目标代码质量高,执行效率高。 可移植性优于汇编语言。 缺点: 语法不够严格; 如果不加注意,C程序的安全性会降低。
  • 9. 1.3 C语言的基本结构1.3.1 第一个程序 【例1.1】输出一行信息:This is a C program. /*****程序名为l1_1.cpp。*****/ #include “stdio.h” /*预处理命令*/ main() /*主函数*/ { printf("This is a C program.\n"); /*输出信息*/ } 程序输出结果: This is a C program. 简单C语言程序的通用形式: 预处理命令 main() { 语句 }
  • 10. 分析与说明 注释:用/*和*/括起来的部分,用于说明程序功能和目的,增强程序的可读性。编译系统会跳过注释,不对其进行翻译。 注释可以出现在程序的任何位置;可以是一行或多行,但不能嵌套使用。例: /*This is the main /* of example1.1*/ */ 非法 预处理命令:以”#”开头的部分。这些命令在编译系统翻译代码之前由预处理程序处理。例1.1中的#include”stdio.h”是请求预处理程序将文件stdio.h包含到程序中来。 预处理命令以“#”开头,单独占一行,没有分号或其他特殊符号。
  • 11. main函数:C程序是函数的集合,每个C程序都必须且只能包含一个主函数main()。C语言的执行从主函数的第一句开始,到主函数的最后一句结束。 语句:程序运行时执行的命令。 分号是C语言的执行语句和说明语句的结束符。注意:C程序不是以换行作为语句的结束,一行可以包含多条语句,一条语句也可以占多行。 C语言严格区分大小写,关键字和特定字使用小写,所以main、include用小写。 printf()函数:C语言提供的标准输出库函数。功能是将两个双引号括起来的内容输出到显示器上。\n换行符,输出到此换行。
  • 12. 1.3.2 第二个程序【例1.2】计算a+b,并在屏幕上显示结果。#include “stdio.h” void main ( ) /*求两个数之和*/ { int a, b, sum; /*定义变量*/ a=1; b=2; sum=a+b; printf(“a add b is %d\n", sum); }
  • 13. 分析和说明 有些程序在产生输出前往往需要执行一系列的计算,因此需要在程序执行过程里有一种临时存储数据的方法,这类存储单元称为变量。 类型:每个变量都必须有一个类型,用来说明变量所存储的数据的种类。类型会影响变量的存储方式以及允许对变量采取的操作。 声明:在使用变量前必须对其进行声明,即变量的定义。指定变量的类型,说明变量的名字。在main函数中包含声明时,必须把声明放在语句的前面。 赋值:变量通过赋值的方式获得值。最简单的用法是:将右边的常量送到左边的 变量中。
  • 14. 1.3.3 printf使用初步printf函数是标准输出函数,其格式是: printf(“格式信息”,数据参数1,数据参数2,…) 用双引号括起来的格式信息用于控制数据参数的输出格式 格式信息中除了冠以”\”和”%”的字符,其它字符原样输出到屏幕上 格式信息中的%和其后面的字符d分别是转换说明符和转换字符,它指定了显式参数时的格式。
  • 15. 例: a=3; b=4; printf ("%d %d", a, b); printf ("a=%d, b=%d", a, b); …结果: 3 4 a=3,b=4格式说明输出列表格式说明输出列表
  • 16. 1.3.4 第三个程序【例1.3】通过调用自定义函数计算a+b,并在屏幕上显示结果。#include “stdio.h” void show(int x,int y); /* 自定义函数说明 */ void main() { int a,b; a=1; b=2; show(a,b); }void show(int x,int y) /* 自定义函数 */ { int sum; sum=x+y; printf(“a add b is %d \n”,sum); }
  • 17. 分析和说明 任何函数(包括主函数main())都是由函数说明和函数体两部分组成。其一般结构如下: [函数类型] 函数名(函数参数表) /*函数说明部分*/ { 说明语句部分; /*函数体部分*/ 执行语句部分; } 程序中函数的排列顺序并不决定它的执行顺序。执行顺序由函数调用来决定。
  • 18. C程序书写格式习惯用小写字母,大小写敏感 用户标识符不能是关键字 不使用行号,无程序行概念 可使用空行和空格 常用锯齿形书写格式main( ) { ………………. ……………… ………….. ………….. ……… ………. …………… ……………. ………………. ……………….. } main( ) { int i , j , sum; sum=0; for(i=1; i<10;i++) { for(j=1;j<10;j++) { sum+=i*j ; } } printf(“%d\n”,sum); }优秀程序员的素质之一: 使用TAB缩进 { }对齐 有足够的注释 有合适的空行
  • 19. 1.4 程序的调试开始编辑编译连接执行有错?结果正确?结束有源程序file.c目标程序file.obj库函数和其它目标程序可执行目标程序无正确不正确file.exe编辑链接编译执行程序代码的录入, 生成源程序*.c语法分析查错,翻译 生成目标程序*.obj与其它目标程序或库 链接装配,生成可执行 程序*.exeC程序开发步骤
  • 20. 1.4.2 在VC6.0环境下调试程序的方法单击运行输入源程序弹出运行结果窗口运行结果
  • 21. 1.启动Visual C++ 6.0环境 方法:单击 “开始”-“程序”-“Microsoft Visual studio 6.0”-“Microsoft Visual C++ 6.0”命令,启动Visual C++,VC6主窗口如下:菜单栏项目工作区标题栏输出区工具栏状态栏文件编辑区
  • 22. 2. 编辑源程序文件(1)建立一个新的工作空间 选择【文件】-【新建】命令,在弹出的“新建”对话框中选择“工作区”选项卡,在右边的工作区名称文本框中输入要建立的工作区名称(例如MyWorkspace),并单击【确定】按钮。
  • 23. (2)建立新工程项目 单击“文件”-“新建”,弹出“新建”对话框。 单击“工程”选项卡;单击“Win32 Console Application”选项;“工程”文件框中输入项目名,如“gc1”和“位置”框输入或选择新项目所在位置,单击“确定”按钮。 弹出“Win32 Console Application步骤 1第 1步”对话框。单击“An empty project”按钮和“完成”按钮。系统显示“新建工程信息”对话框。单击“确定”按钮。
  • 24. (3)建立新项目中的文件 ①单击“文件”-“新建”,弹出“新建”对话框。 ② 选择“文件”选项卡。单击“C++ Source File”选项,在“文件”文件框中输入文件名,单击“确定”按钮。系统自动返回VC6主窗口。 ③显示文件编辑区窗 口,在文件编辑区 窗口输入源程序文 件。
  • 25. 3. 编译和连接 (1)选择主窗口菜单栏中【组建(build)】-【编译(compile)】命令,对源程序进行编译。 (2)选择【组建(build)】-【组建(build)】命令生成可执行程序。 4.执行应用程序 5.关闭工作区