学时安排:理论学时24,实验学时24推荐教材及参考书目:1.《C语言程序设计》张磊高教出版社2.《全国计算机等级考试二级教程-C语言程序设计》教育部考试中心3.《C语言程序设计》谭浩强清华大学出版社考试形式:上机考试高度重视网址:jwc.wfu.edu.cn/sjjpkc/cyy第1章程序设计概述C语言程序设计第1章程序设计概述主要内容1.1程序设计的基本概念1.2C语言概述1.3使用VC++6.0实现C语言程序1.……2.……3.……1.口述2.信函1.______________2.________________3.__________4._____________3.传真语句被逐条执行程序员老板秘书程序(program):为解决某一问题而设计的一系列指令,能被计算机识别和执行。1.1程序设计的基本概念程序设计语言类型程序设计语言计算机能够理解和识别的一种语言体系,它按照特定的规则组织计算机指令,使计算机能够自动进行各种操作处理。机器语言、汇编语言、高级语言。C语言属于面向过程的高级语言。C语言程序按照C语言规则组织起来的一组命令。C语言程序示例/*programe01.c*/#includestdio.hvoidmain(){inti=1,sum=0;while(i=100){sum=sum+i;i=i+1;}printf(1+2+...+%d=%d\n,i-1,sum);}1.1.2C程序运行过程1几个基本概念源程序:用高级语言或汇编语言编写的程序称为源程序,以ASCII码形式存储。C源程序的扩展名为“.C”(.CPP)。目标程序:源程序经过“编译程序”翻译所得到的二进制代码称为目标程序。目标程序的扩展名为“.OBJ”。可执行程序:目标程序与库函数连接,形成完整的可在操作系统下独立执行的程序。可执行程序的扩展名为“.EXE”。2C程序上机步骤一、编辑:将源程序输入计算机内存中→修改源程序→将改正后的源程序保存为磁盘文件。——以ASCII码形式输入和存储----扩展名为.C或.CPP(源程序)二、编译:先进行语法检查,并将无语法错误的源程序翻译成二进制形式的目标代码----扩展名为.OBJ(目标程序)三、链接:将各模块的二进制目标代码与系统标准模块连接,得到一个可执行文件----扩展名为.EXE(可执行程序)四、执行:执行经过编译和连接的可执行目标文件。编辑键盘输入源程序A.c编译目标程序A.obj链接可执行程序A.exe执行结果编译和执行C程序C源程序目标文件可执行程序C语言函数库编译连接源程序:是用户创建的文件,以“.c”为文件扩展名保存目标文件:是编译器的输出结果。这类文件的常见扩展名为.obj”01形式头文件:含有函数的声明和预处理语句,用于帮助访问外部定义的函数。头文件的扩展名为“.h”。可执行文件:是连接器的输出结果。可执行文件的扩展名为“.exe”。3使用VC++6.0实现C程序的基本步骤1.建立源程序文件3.构建可执行文件2.编译源程序4.运行可执行文件启动VC++6.0系统使用“File”→“New”命令,打开VC++6.0的程序编辑窗口录入编辑源程序,保存文件使用“Build”→“Compile”命令对源程序进行编译,生成二进制目标代码文件。程序通过编译之后,使用“Build”→“Build”命令将编译阶段生成的目标文件和系统的库函数文件等连接起来,生成扩展名是“.exe”的可执行文件。使用“Build”→“!Execute”命令运行程序,获得执行结果。1.2C语言概述1.2.1C语言的产生和发展1.2.2C语言程序的基本结构1.2.3标识符与保留字重点重点1.2.1C语言的产生和发展C语言之父,UNIX之父DennisM.Ritchie(丹尼斯·利奇)丹尼斯·利奇(DennisM.Ritchie)和肯·汤普森(KenThompson)著名的K&R组合在1983年两人联合接受了计算机最高奖图灵(Turing)奖BellLabs贝尔实验室1999年4月27日,美国时任总统克林顿在白宫向他们两人授予全美技术勋章,这是对他们成就的最高评价。1.2.2C语言程序的基本结构1简单C程序介绍观察下面两个程序有什么共同的地方:#includestdio.hvoidmain(){printf(ThisisaCprogram!\n);}#includestdio.hvoidmain(){inta,b,sum;a=2;b=3;sum=a+b;printf(sumis%d\n,sum);}#includestdio.hvoidmain(){printf(ThisisaCprogram!\n);}编译预处理命令函数C语言程序的两大部分:⑴编译预处理命令:以“#”开头;一般放在程序的最前面#include表示文件包含,即将后面文件的内容包含到本程序中stdio.h是包含了输入输出函数的头文件⑵函数:一个程序中可以有多个,必须有一个main函数#includestdio.hvoidmain(){printf(ThisisaCprogram!\n);}⑵函数:用于实现程序要求的功能包括函数首部和函数体两部分:函数首部:即函数的第一行,包括函数类型、函数名、参数(放在括号内,可以没有参数)函数体:即由{开始、到}结束的内容函数首部函数体#includestdio.hvoidmain(){printf(ThisisaCprogram!\n);}⑴、main是函数名,称为主函数。每个程序必须有且只能有一个main函数。程序总是从main函数开始执行。⑵、void用于说明函数值的类型,void表示函数空值(没有值)。⑶、函数体由一对大括号括起来;范围以“{”开始,“}”结束。⑷、printf是C语言的标准输出函数,表示把“”内的字符串按原样输出到显示器上(除非遇到%或\)。⑸、“\n”是换行符,即输出完后回车换行。⑹、每个语句必须以分号“;”结束。ThisisaCprogram!EG101.CC语言程序的基本结构:#includestdio.hvoidmain(){}例.输出下列图形:***********verygood***********#includestdio.hvoidmain(){}printf(***********\n);printf(verygood\n);printf(***********\n);printf(***********\nverygood\n***********\n);原则:一行不要写的太长!例2:#includestdio.hvoidmain()/*主函数*/{inta,b,sum;/*定义三个整型变量*/a=2;b=3;/*为变量a,b赋值*/sum=a+b;printf(sumis%d\n,sum);}说明:⑴、“/*…*/”表示注释部分,以“/*”开始,以“*/”结束;注释只是对程序的说明,仅起帮助阅读程序的作用,不影响程序的运行,可以放在程序的任意位置。注意不能嵌套注释(即/*…/*…*/…*/)。⑵、定义变量后,系统就为其分配相应大小的存储单元,用于存放其值。C语言要求变量必须先定义,后使用。absum⑶、“=”为赋值运算符,把“=”右边表达式的值赋值给左边的变量⑷、“%d”表示以“十进制整数”形式输入输出数据,输出时代以一个十进制整数值,该值由“,”后边对应的变量或表达式提供sumis5eg102.c更常用的形式:#includestdio.hvoidmain(){inta,b,sum;scanf(%d%d,&a,&b);sum=a+b;printf(sumis%d\n,sum);}说明:⑴、scanf是C语言的标准输入函数,“&”的含义是得到后面变量的地址。即将输入的数按前面指定的格式给后面指定的变量⑵、“%d”表示输入输出一个整数。eg102.c可以是任意两个整数,即程序执行前不能确定a、b的值例3:输出图案程序#includestdio.hvoidmain(){voidp_s();p_s();p_s();p_s();}voidp_s(){printf(**********\n);}2程序的基本结构#include…#include…#define…/*预处理命令*/voidmain(){声明部分/*定义本函数中用到的变量*/执行部分/*完成本函数功能的语句*/}其他函数{声明部分执行部分}说明:1、C程序由函数构成。一个C程序由一个或多个函数组成,因此函数是C程序的基本组成单位。2、一个C程序不论由多少个函数组成,都有且仅有一个main函数(主函数)。3、C程序总是从main函数开始执行,而不论main函数在程序的什么位置,即可以将main函数放在程序的任何位置。4、每一个语句都必须以分号结束,分号是C语句的必要组成部分,但预处理命令、函数头和“}”之后不能加分号。5、C程序可以用/*……*/进行注释,并且允许出现在任何位置。6、以“#”开头的命令称为预处理命令,他在程序编译之前由预处理程序负责完成。7、一个函数由两部分组成:函数首部(函数头)和函数体(说明部分和执行部分)。8、C语言本身没有输入输出语句,输入输出操作是由库函数来完成的。在使用输入输出函数之前必须用”#includestdio.h”文件包含命令把输入输出函数包含进来。1.2.3标识符与保留字1.标识符在程序中使用的变量名、函数名等统称。除库函数的函数名由系统定义外,其余都由用户自定义。标识符构成任何一个标识符只能是由字母(A~Z,a~z)、数字(0~9)和下划线“_”构成的字符串,其他符号不能出现在标识符中,并且标识符的第一个字符必须是字母或下划线。合法标识符aBOOK1max_addnum_1非法标识符3sum不允许以数字开头ab#cd使用了非法字符“#”book-1出现非法字符“-”(减号)1.2.4标识符与保留字2.保留字保留字(也称关键字)是由C语言规定的用于定义变量类型、命令字等具有特定意义的标识符。例如:int专门用于定义数据类型while是循环控制命令。⑴C语言的保留字都具有一定的使用规则,必须按相应的规则使用保留字。⑵程序中定义的标识符不能与系统的保留字同名。1.3程序设计示例例1-5设计计算矩形面积的程序。3.编写程序2.算法设计4.调试运行程序1.问题分析⑴设矩形的边长为a和b、矩形面积为s,则s=a×b。⑵通过键盘输入等方式为矩形边长a、b提供数据。⑶程序执行后要输出计算结果。2.算法设计3.编写程序4.调试运行程序⑴输入a、b的值。⑵计算a×b,并存储到s中。⑶输出s。3.编写程序4.调试运行程序开始输入a、ba×b→s输出s结束流程图⑴假设该矩形都是整型数据,因此,要使用int对a、b、s进行说明。⑵使用scanf()函数输入数据a、b。⑶使用“s=a*b”计算矩形面积,并存储到s中。⑷使用printf()函数输出计算结果s。⑸把上面的一些具体语句放在main()函数中。程序清单1.3程序设计示例3.编写程序2.算法设计4.调试运行程序1.问题分析⑴假设该矩形都是整型数据,因此,要使用int对a、b、s进行说明。⑵使用scanf()函数输入数据a、b。⑶使用“s=a*b”计算矩形面积,并存储到s中。⑷使用printf()函数输出计算结果s。⑸把上面的一些具体语句放在main()函数中。#includestdio.hvoidmain(){inta,b,s;printf(Inputa,b:);scanf(%d,%d,&a,&b);s=a*b;printf(Area:%d\n,s);}例1-5设计计算矩形面积的程序。1.3程序设计示例4.调试运行程序⑴建立源程序文件。①启动VC++6.0,使用“File”→“New”命令,打开“new”窗口,选用“Files”选项卡,在主窗口中选择“C++SourceFile”项,在“File”对话框中输入文件名,在“Locat