《C语言程序设计基础与试验》由会员分享,可在线阅读,更多相关《C语言程序设计基础与试验(38页珍藏版)》请在金锄头文库上搜索。
1、C C语言程序设计基础与试语言程序设计基础与试验验C C语言程序设计基础与试验语言程序设计基础与试验教学要求掌握程序设计语言的基本知识常用算法初步的程序设计能力学习方法自主学习重视上机实践2如何尽快学会用如何尽快学会用C C语言进行程序设计语言进行程序设计了解程序设计语言(C语言)模仿、改写、编写通过不断的编程实践,逐步领会和掌握程序设计的基本思想和方法。3教材和参考书教材和参考书C语言程序设计,何钦铭、颜晖主编,高等教育出版社,2008C语言编程(第3版),美Stephen,G.Kochan,张小潘译,电子工业出版社,2006C语言教程(第4版),美AlKelley,IraPohl,徐波译,
2、机械工业出版社,2007标准C语言基础教程(第4版),美GaryJ.Bronson,单先余等译,电子工业出版社,2006C程序设计语言,美BrianW.Kernighan,DennisM.Ritchie,徐宝文等译,机械工业出版社,20064ChapChap 1 1 引引 言言一个C语言程序程序与程序设计语言C语言的发展历史与特点实现问题求解的过程51.1 1.1 一个一个C C语言程序语言程序例1-1求阶乘问题。输入一个正整数n,输出n!。#include/*编译预处理命令*/intmain(void)/*主函数*/intn;/*变量定义*/intfactorial(intn);/*函数声明
3、*/scanf(%d,&n);/*输入一个整数*/printf(“%dn”,factorial(n);/*调用函数计算阶乘*/return0;intfactorial(intn) /*定义计算n!的函数*/inti,fact=1;for(i=1;i(大于)20程序设计语言的语法程序设计语言的语法C语言的主要语法单位(1)表达式:运算符与运算对象组合就形成了表达试。如,2+3*4(2)变量定义:变量也有数据类型,所以在定义变量时要说明相应变量的类型。如:inti;(3)语句:语句是程序最基本的执行单位,程序的功能就是通过对一系列语句的执行来实现的。(4)函数定义与调用21程序设计语言的语法程序设
4、计语言的语法语句:表达式语句:表达式加分号“;”分支语句:实现分支控制过程if(ab)x=a;elsex=b;循环语句:实现循环控制的过程sum=0;/*初始化sum和i*/i=1;while(i=100)/*while循环语句*/sum=sum+i;i=i+1;复合语句:用一对“”,将若干语句顺序组合在一起就形成了一个程序段。22程序设计语言的语法程序设计语言的语法函数定义与调用:函数是完成特定任务的独立模块,函数的使用最主要涉及到函数的定义与调用。输入输出:C语言没有输入输出语句,用库函数 printf、scanf等实现。23程序的编译与编程环境程序的编译与编程环境 程序的编译编译器程序计
5、算机直接能理解的指令序列编译器:对源程序进行词法分析、语法与语义分析,生成可执行的代码。直接指出程序中的语法错误编程环境包括编辑程序(Edit)、编译(Compile)、调试(Debug)等过程。掌握程序设计语言:根据语言的语法,用语言表达数据、实现程序的控制,并会使用编程环境。24C C 语言上机过程语言上机过程源程序test.cpptest.obj可执行代码test.exe编译编译连接连接 运行运行251.3 1.3 C C语言的发展历史与特点语言的发展历史与特点 历史1972年:贝尔实验室的DennisRitchie在B语言的基础上设计并实现了C语言。1978年:B.W.Kernigha
6、n和D.Ritchie(简称K&R)合著的TheCProgrammingLanguage是各种C语言版本的基础,称之为旧标准C语言。1983年:美国国家标准化协会(ANSI)制定了新的C语言标准,称ANSIC。26C C语言的特点语言的特点 1C语言是一种结构化语言2C语言语句简洁、紧凑,使用方便、灵活32个关键字,9种控制语句,程序书写形式自由。3C语言程序易于移植C语言将与硬件有关的因素从语言主体中分离出来,通过库函数或其他实用程序实现它们。4C语言有强大的处理能力5生成的目标代码质量高,运行效率高27C C语言的特点语言的特点 6数据类型检查不严格,表达式出现二义性,不具备数据越界自动检
7、查功能,运算符的优先级与结合性对初学者难于掌握。C语言中大小写字母代表不同含义281.4 1.4 实现问题求解的过程实现问题求解的过程 问题:求1100间所有偶数的和。1问题分析与算法设计求在一定范围内(1100)、满足一定条件(偶数)的若干整数的和,求累加和。思路:设置一个变量(sum),其初值为0,然后在1100的数中(i)寻找偶数,将它们一个一个累加到sum中。一步累加:sum=sum+i;重复累加,用循环语句实现,在循环过程中:(1)判别i是不是偶数:用分支控制语句来实现。(2)对循环次数进行控制:通过i值的变化29问题分析与算法设计问题分析与算法设计 思路确定算法算法:一组明确的解决
8、问题的步骤,它产生结果并可在有限的时间内终止。算法的描述:自然语言伪代码流程图:算法的图形表示法30sum = 0i = 1i = 100i 是偶数?是偶数?sum=sum+ii=i+1输出输出sum真真真真假假假假31实现问题求解的过程实现问题求解的过程2编辑程序生成程序的源文件,C语言源文件的后缀为.c/.cpp#includeintmain(void)inti,sum=0;for(i=1;i=100;i+)if(i%2=0)sum=sum+i;printf(%d,sum);return0;32实现问题求解的过程实现问题求解的过程3程序编译连接编辑程序后,用该语言的编译程序对其进行编译,以
9、生成二进制代码表示的目标程序(.obj),与编程环境提供的库函数进行连接(Link)形成可执行的程序(.exe)。编译程序指出语法错误语法错误VS逻辑错误33实现问题求解的过程实现问题求解的过程4运行与调试经过编辑、编译、连接,生成执行文件后,就可以在编程环境或操作系统环境中运行该程序。如果程序运行所产生的结果不是你想要的结果,这是程序的语义错误(逻辑错误)。调试:在程序中查找错误并修改错误的过程。调试的方法设置断点单步跟踪调试是一个需要耐心和经验的工作,也是程序设计最基本的技能之一。34开始开始结果结果语法语法错误错误源程序源程序.c / .cpp目标程序目标程序.obj可执行程序可执行程序.exe编辑编辑编译编译连接连接运行运行连接连接错误错误运行运行错误错误C C语言程序的调试、运行步骤语言程序的调试、运行步骤35本章要点本章要点什么是程序?程序设计语言包含哪些功能?程序设计语言在语法上包含哪些内容?结构化程序设计有哪些基本的控制结构?C语言有哪些特点?C语言程序的基本框架如何?形成一个可运行的C语言程序主要步骤?如何用流程图描述简单的算法?36Thank you!37结束结束