C语言程序设计基础与试验.ppt
C语言程序设计基础与试验,刘新国,1,C语言程序设计基础与试验,教学要求掌握程序设计语言的基本知识常用算法(排序、进制转换等)初步的程序设计能力学习方法自主学习重视上机实践,2,如何尽快学会用C语言进行程序设计,了解程序设计语言(C语言)模仿、改写、编写通过不断的编程实践,逐步领会和掌握程序设计的基本思想和方法。,3,教材和参考书,C语言程序设计,何钦铭、颜晖主编,高等教育出版社,2008C语言编程(第3版),美Stephen,G.Kochan,张小潘译,电子工业出版社,2006C语言教程(第4版),美Al Kelley,Ira Pohl,徐波译,机械工业出版社,2007标准C语言基础教程(第4版),美Gary J.Bronson,单先余等译,电子工业出版社,2006C程序设计语言,美Brian W.Kernighan,Dennis M.Ritchie,徐宝文等译,机械工业出版社,2006,4,Chap 1 引 言,一个C语言程序程序与程序设计语言C语言的发展历史与特点实现问题求解的过程,5,1.1 一个C语言程序,例1-1求阶乘问题。输入一个正整数n,输出n!。#include/*编译预处理命令*/int main(void)/*主函数*/int n;/*变量定义*/int factorial(int n);/*函数声明*/scanf(%d,6,1.1 一个C语言程序,int factorial(int n)/*定义计算 n!的函数*/int i,fact=1;for(i=1;i=n;i+)/*循环乘法*/fact=fact*i;return fact;,7,1.2 程序与程序设计语言,程序为解决实际问题,用计算机可以识别的代码编排的一系列加工步骤。程序执行:对所表达的数据进行处理的过程。程序设计语言(很多:汇编,Basic,C等)提供了一种表达数据与处理数据的功能要求程序员按照语言的规范编程,8,1.2 程序与程序设计语言,程序与指令程序设计语言的功能程序设计语言的语法程序的编译与编程环境,9,程序与指令,指令:计算机的一个最基本的功能如实现一次加法运算或实现一次大小的判别指令系统:计算机所能实现的指令集合 程序:一系列计算机指令的有序组合,10,一个虚拟的计算机指令系统(7指令),11,程序1:输入3个数A、B、C,计算A+B+C,Input A;输入第1个数据到存储单元A中Input B;输入第2个数据到存储单元B中Input C;输入第3个数据到存储单元C中Add A B D;将A、B相加并将结果存在D中Add C D D;将C、D相加并将结果存在D中Output D;输出D的内容,12,程序2:输入2个数A、B,计算A*B,13,程序设计语言的功能,数据表达:表达所要处理的数据流程控制:表达数据处理的流程,14,数据表达,数据表达:一般将数据抽象为若干类型数据类型:对某些具有共同特点的数据集合的称呼数据本身的定义数据可进行的操作和运算例如:整数类型定义:,-2,-1,0,1,2,运算:+、-、*、/、%等,15,数据表达,C语言提供的数据类型基本数据类型:整型、浮点型、字符型等。构造类型:用户定义的,如数组、结构等等。各种数据类型的常量与变量形式常量(常数)与变量,16,流程控制,结构化程序设计方法将复杂程序划分为若干个相互独立的模块模块:一条语句(Statement)、一段程序或一个函数(子程序)等单入口、单出口,17,流程控制,通过3种基本结构组合程序语句和模块函数调用,顺序结构,循环结构,分支结构,18,程序设计语言的语法,程序必须符合语言的语法规则 源程序(源代码)由一系列“单词”按照语法规则组合形成,19,C语言的语法,单词,20,C语言的语法,表达式:运算符与运算对象组合就形成了表达式。如:2+3*4变量定义:变量也有数据类型,所以在定义变量时要说明相应变量的类型。如:int i;语句:语句是程序最基本的执行单位,程序功能通过执行一系列语句实现。函数定义与调用,21,C语言的语句,表达式语句:表达式加分号“;”分支语句:实现分支控制过程 if(a b)x=a;else x=b;循环语句:实现循环控制的过程 sum=0;i=1;while(i=100)sum=sum+i;i=i+1;复合语句:用一对“”和“”,将若干语句顺序组合在一起就形成了一个复合语句。,22,C语言的语句,函数定义与调用:函数是完成特定任务的独立模块函数的定义函数的调用,23,int max(int a,int b)if(a b)return a;else return b;,int x=2,y=3,z;.z=max(x,y);,程序的编译与编程环境,编译程序 编译器 可执行代码(计算机能直接理解的指令序列)编译器:对源程序进行词法分析、语法分析、生成可执行的代码、返回编译结果和错误信息 编程环境编辑(Edit)编译(Compile)调试(Debug),24,C 语言上机过程,源程序 test.cpp test.obj 可执行代码 test.exe,编译,连接,运行,25,1.3 C语言的发展历史与特点,历史 1972年:贝尔实验室的Dennis Ritchie在B语言的基础上设计并实现了C语言。1978年:和D.Ritchie(简称K&R)合著的The C Programming Language是各种C语言版本的基础,称之为旧标准C语言。1983年:美国国家标准化协会(ANSI)制定了新的C语言标准,称ANSI C。,26,C语言的特点,一种结构化语言语句简洁、紧凑,使用方便、灵活易于移植:不包含与硬件有关的因素有强大的处理能力目标代码运行效率高数据类型检查不严格区分大小写,27,1.4 问题求解:求1100之间所有偶数的和,问题分析:求和范围(1100,偶数)算法设计设置一个变量(sum)存储结果设置一个变量x,x从1开始直到100:如果它是偶数,那么把它累加到sum中用循环语句实现x从1开始直到100用if分支语句判断x是否为偶数被2整除的数位偶数,28,问题分析与算法设计,算法的描述:自然语言伪代码流程图算法的图形表示法,29,30,编辑源程序代码,#include int main(void)int sum=0,x=1;while(x=100)if(x%2=0)sum=sum+x;x=x+1;printf(%d,sum);return 0;,31,编译和调试程序,编辑程序后,用相应的编译器对程序进行编译,生成二进制代码表示的目标程序(.obj),与编程环境提供的库函数进行连接形成可执行的程序(.exe)。编译程序指出语法错误 调试程序找出逻辑错误,32,调试程序,如果程序运行所产生的结果不是你想要的结果,这是程序的逻辑错误(语义错误)调试:运行程序,查找并修改错误的过程调试的方法设置断点跟踪执行调试需要耐心和经验,是程序设计中最基本和最重要的技能。,33,C语言程序的调试、运行步骤,34,本章要点,什么是程序?程序设计语言包含哪些功能?程序设计语言在语法上包含哪些内容?结构化程序设计有哪些基本的控制结构?C语言有哪些特点?C语言程序的基本框架如何?形成一个可运行的C语言程序主要步骤?如何用流程图描述简单的算法?,35,