您好,欢迎访问三七文档
《C程序设计》课程讲义第1页共10页第1章C语言概述【教材】《C程序设计》(第二版)谭浩强编著清华大学出版社【习题集】《C程序设计试题汇编》谭浩强主编鲍有文等编清华大学出版社【推荐参考书】1、《C程序设计教程》[美]H.M.Deitel,P.J.Deitel著,薛万鹏等译机械工业出版社2000年7月第1版2、《计算机二级教程:C程序设计》刘瑞挺主编南开大学出版社3、《二级教程——C语言基础知识及问题解答》本书编写组高等教育出版社2000年7月第1版本课程阶段上机作业1.编程求已知系数值的一元二次方程实根的通用程序。(第一章C语言概述)2.编程求任意系数值(a,b,c值由键盘输入)的一元二次方程任意根(实根、复根)的通用程序。(第二章数据类型、运算符与表达式)3.加入可循环使用功能,直到回答“N”时才终止。(第三章C程序的流程设计)4.加入软件封面、说明和帮助文档功能。(第四章模块化程序设计)5.加入密码验证功能(使用所编写一元二次方程通用程序时必须输入正确密码),如果连续三次密码输入均错,程序自动结束。(第五章数组)6.课程设计:加入菜单选择功能,可进行以下内容程序处理——①求一元二次方程任意根②简单屏幕游戏(如五子棋)③小学算术测验系统(含随机出题、自动评分、查看正确答案、错题重做功能)④简单通信录(要求使用结构体和磁盘文件读写)【说明】学生应按学习进度,依次完成规定的作业。平时检查:上机进行。最后作业提交形式:源程序(书面或电子邮件)一份,可执行程序一个。程序封面上应标明软件名称、版本号、编程者姓名、班级、完成日期和功能菜单。参考示例:******************************************《高级语言程序设计》课程设计**中小学生电子助手******************************************程序设计:XX系XX专业XXXXXXX年XX月XX日选择菜单a、一元二次方程求根b、五子棋游戏c、小学四则运算测验d、通信录请选择(a、b、c或d):_《C程序设计》课程讲义第2页共10页第1章C语言概述第1章C语言概述【计划课时】授课4课时+上机4课时1.学习特点①学习编程好比学习写作·学习数据类型、控制结构、语法规则等(犹如识字、造句、填空、改错)——打基础(授课为主,所谓“师傅引进门”)·掌握程序分析、算法与编程(犹如阅读欣赏、文章体裁、谋篇布局、灵感形成)——写文章(多看多练,所谓“修行靠自己”)②循次渐近,先学会阅读/分析程序,摹仿编程,熟练掌握各种常见程序模块,由易入难,从简单程序开始逐渐掌握复杂编程技术③多看参考书和现有程序(多角度理解)④重视上机,切实掌握程序调试技术(程序是调试出来的,不是“编”出来的)2.听课要求·切实掌握各章主要内容(预习/听课/消化/归纳)·在预习基础上,听课为主,笔记为辅,课后弄懂书上程序(会分析,会流利写出)3.考核方式作业(书面/上机)、期中考、期未考、课程设计1.1C语言出现的历史背景P1-21.C语言的诞生与发展⑴在C语言诞生以前,系统软件主要是用汇编语言编写的。由于汇编语言程序依赖于计算机硬件,其可读性和可移植性都很差;但一般的高级语言又难以实现对计算机硬件的直接操作(这正是汇编语言的优势),于是人们盼望有一种兼有汇编语言和高级语言特性的新语言。⑵C语言是贝尔实验室于70年代初研制出来的,后来又被多次改进,并出现了多种版本。80年代初,美国国家标准化协会(ANSI),根据C语言问世以来各种版本对C语言的发展和扩充,制定了ANSIC标准(1989年再次做了修订)。63年67年70年72年贝尔78年ALGOL60─→CPL─→BCPL─→B语言─→C语言─→可移植(标准C)83年87年90年─→ANSIC─→87ANSIC─→ISOC·ALGOL(algorithmiclanguage算法语言)·CPL(复合编程语言)·BCPL(基本复合编程语言)·ANSI(美国国家标准化协会)·ISO(国际标准化组织)2.从软件类型来看——·面向过程常用—TurboC(PC机版)·面向对象常用—C++/VisualC++(可视化)最新出现的是用于为Windows和Web应用程序提供动态开发环境的VisualC++.NET《C程序设计》课程讲义第3页共10页第1章C语言概述1.2C语言的特点C语言同时具有汇编语言和高级语言的优势。⑴语言简洁、紧凑,使用方便、灵活。⑵运算符极其丰富。⑶生成的目标代码质量高,程序执行效率高。⑷可移植性好(较之汇编语言)。⑸可以直接操纵硬件。⑹在C语言中,除实现顺序、选择和循环三种基本结构等的9条控制语句外,输入输出操作均由标准库函数来实现。所以学习C语言,不仅要学习这9条控制语句和各种运算符,而且要学习并掌握常用标准库函数的使用。1.3简单的C程序介绍【例一】求圆面积程序AREA.C/*给定半径,求圆的面积*/#definePI3.14159/*编译预处理——宏定义*/#includestdio.h/*编译预处理——文件包含*/#includemath.h/*编译预处理——文件包含*/main()/*主函数*/{floatr,s;/*定义变量r、s类型为单精度实型*/r=1.0;/*变量r赋初值*/s=PI*pow(r,2);/*求圆面积s*/printf(“半径R=%f时,面积S=%f\n”,r,s);/*输出(显示)计算结果*/}如果运行之,结果为:半径R=1.000000时,面积S=3.141590如果将程序中r=1.0改为r=2.0,结果为:半径R=2.000000时,面积S=12.566360【程序讲解】1.注释部分/*……*/这部分内容不会被编译,也不会被执行;可出现在程序中的任何位置。P52.编译预处理——程序编译、执行前系统自动进行的特殊处理(以#开头,结束处无分号)①宏定义#definePI3.14159参见P39和P187(带参数的后述)PI——符号常量(宏名,最好用大写,以区别于一般变量)3.14159——宏体(可以是一个表达式)作用:用简单符号代表宏体部分内容(编译时会先自动替换)意义:直观/多次使用/便于修改《C程序设计》课程讲义第4页共10页第1章C语言概述注意:#define可出现在程序的任一位置(作用范围由此到程序未尾)【例二】#defineWIDTH80#defineLENGTHWIDTH+40s=LENGTH*20/*S=80+40*20=88*/②文件包含#includestdio.hP194stdio.h——“头文件”(标准前导文件)C语言是一种装配式语言,许多常规的工作,如输入、输出、数学函数、符号常量等,往往事先由人做成各种“程序模块”(库函数),存放在各种所谓“头文件”(.h)中。使用时只需进行以下处理——·#include“头文件名”或#include头文件名·在程序的执行部分调用该库函数:函数名(参数)文件包含的作用,就是根据需要把相应的某个“头文件”的内容在编译时先整体嵌入所编的源程序中。编译时用户也可以将自己设计的模块等做成“头文件”,供其他程序“包含”。使用“文件包含”功能的优点:·“现代程序设计方法认为,程序设计是一种艰巨的劳动,人在进行程序设计的过程中,犯错误的机会很多,如果能找到已经验证的程序模块使用,是提高程序设计效率和程序可靠性的有效措施。”·大大减少用户重复劳动量——用户只需将含有所需功能模块(函数等)的头文件“包含”进来,并在程序适当位置加以“调用”(所谓“站在巨人肩膀上”)。TurboC提供了三百多个标准库函数,存放在若干个头文件中(见P381)。常用有:stdio.h标准输入/输出函数math.h数学函数stdlib.h常用函数一个好的C程序员不应是一个事无巨细都要从头做起的“工匠”,而应是一个“策划师”+“组装师”。所以逐步熟悉并掌握常用函数等现有功能模块,是学习C程序设计的一个重要内容。3.主函数main(){……}C语言是一种函数式语言,它的一个函数实际上就是一个功能模块——程序的基本组成是函数。一个C程序是由一个固定名称为main的主函数和若干个其他函数(可没有)组成。一个C程序必须有一个/也只能有一个主函数。主函数在程序中的位置可以任意,但程序执行时总是从主函数开始,一般在主函数中结束。源程序AREA.C(用户编写)头文件stdio.h(系统提供)头文件math.h(系统提供)源程序AREA.Cstdio.hmath.h《C程序设计》课程讲义第5页共10页第1章C语言概述主函数的一般形式:main(){声明部分(定义数据类型)简单程序可能没有此部分(P4例1.1)执行部分(给出操作指令)输入、赋值、计算、控制、输出等}主函数可以调用其他各种函数(包括用户自己编写的)。但其他函数不能调用主函数。为了提高源程序的可读性,函数体宜采用缩进格式书写。建议每一层缩进距离为三个空格。其他函数:·标准函数——只能调用。方法是:函数名(参数)·自编(定义)函数:(详见教材第八章,P143)定义部分函数类型函数名(形式参数)形式参数类型定义{函数体}调用方法:函数名(参数)4.语句(均以分号结束)①数据类型定义语句(声明语句)变量类型关键字变量名;floatr,s;定义r、s为单精度实型变量intr,s;定义r、s为整型变量所有变量都要先定义后使用。a.变量类型关键字字符型(描述文字性的数据)char·整型(在机内是准确表示的)int·实型(在机内一般是近似表示的)float(有效数字6位)double(有效数字16位)b.变量名P40C语言标识符(变量名、符号常量名、函数名等)命名规则:组成:字母、数字、下划线开头:字母、下划线(尽量不用,因下划线开头一般为系统变量)长度:≤32字符(TurboC)超过32位的无效(会被自动截去)注意:大小写为不同字符(变量名通常小写,以区别于符号常量)尽量做到见名知义r—radiuss—surfacev—volume不要与关键字(32个,见P375附录Ⅱ)同名【注意】函数体内的数据类型定义语句(声明语句)必须任何可执行语句之前,否则会出现语法错误。建议把函数中的声明语句和可执行语句用空行分开。②赋值语句变量名=表达式(常量,也可以是变量、函数、算式等);r=1.0;赋值s=PI*pow(r,2)/4;计算表达式值并赋值pow()见P382【变量初始化】变量赋初值亦可在数据类型定义时进行:floatr=1.0,s;把变量声明语句与赋值语句结合在一起的语句,术语上称为“初始化语句”。函数体数值型《C程序设计》课程讲义第6页共10页第1章C语言概述③输出语句printf(“半径R=%f时,面积S=%f\n”,r,s);【注意】C语言本身没有输入、输出语句,其功能要借用有关函数实现。%f——格式字符串\n——控制字符引号中其他部分照原样显示输出。a.格式字符串——替换引号外对应表达式的值后输出(显示)字符型:%c单字符%s字符串数值型:%d整数(十进制)%f实数(小数形式,默认为6位小数)【例】intx=5;floaty=3;printf(“a=%d,b=%f,c=%s”,x,y,“abcdefg”);输出结果:a=5,b=3.000000,abcdefg如果改为printf(“a=%d,b=%f,c=%s”,x+2,y*3,“abcdefg”);输出结果:a=7,b=9.000000,abcdefgb.控制字符(转义字符)——按定义输出动作或特殊字符见P48表3.35.小结①C语言程序的基本结构一个C程序是由一个固定名称为main的主函数和若干个其他函数(可没有)组成。其基本结构一般形式如下:②C语言程序的基本特点1.C语言是一种函数式语言,其程序基本组成是函数;2.每个C程序必须有一个/也只有一个主函数main;3.不管主函数在程序中的位置如何,程序执行总是从主函数开始;4.所有变量必须先定义(规定数据类型),后使用;5.每个语句必须用分号“;”结束;(注意是“每个语句而不是每行语句”)
本文标题:第1章c语言概述
链接地址:https://www.777doc.com/doc-2244519 .html