




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、C语言程序设计语言程序设计信息学院信息学院 谢群英谢群英 C语言程序设计语言程序设计n讲授要求讲授要求n把握程序设计语言的根基学问把握程序设计语言的根基学问n常用算法常用算法n初步的程序设计功底初步的程序设计功底n学习方式学习方式n自主学习自主学习n重视上机践行重视上机践行似何完快学会用似何完快学会用C语言履行程序设计语言履行程序设计n领会程序设计语言领会程序设计语言(C语言语言)n仿照、改写、编写仿照、改写、编写n通过接续的编程践行通过接续的编程践行,追步领会和把握程序追步领会和把握程序设计的根基理念和方式设计的根基理念和方式.教材和参考书教材和参考书nC语言程序设计
2、语言程序设计,何钦铭、颜晖主编何钦铭、颜晖主编,高等教诲出版高等教诲出版社社,2021nC语言编程(第语言编程(第3版)版),美美Stephen, G.Kochan,张张小潘译小潘译,电子产业出版社电子产业出版社,2021nC语言教程(第语言教程(第4版)版),美美Al Kelley, Ira Pohl,徐波徐波译译,机械产业出版社机械产业出版社,2021n规格规格C语言根本教程(第语言根本教程(第4版)版),美美Gary J. Bronson,单先余等译单先余等译,电子产业出版社电子产业出版社,2021nC程序设计语言程序设计语言,美美Brian W. Kernighan, Dennis M
3、. Ritchie,徐宝文等译徐宝文等译,机械产业出版社机械产业出版社,2021Chap 1 引引 言言n一个一个C语言程序语言程序n程序与程序设计语言程序与程序设计语言nC语言的进展历史与特点语言的进展历史与特点n实现咨询题求解的环节实现咨询题求解的环节本章要点本章要点n啥是程序?程序设计语言见谅哪些功能?啥是程序?程序设计语言见谅哪些功能?n程序设计语言在语法上见谅哪些内容?程序设计语言在语法上见谅哪些内容?n结构化程序设计有哪些根基的操纵结构?结构化程序设计有哪些根基的操纵结构?nC语言有哪些特点?语言有哪些特点?nC语言程序的根基框架似何?语言程序的根基框架似何?n形成一个可运行的形成
4、一个可运行的C语言程序需要通过哪些语言程序需要通过哪些环节?环节?n似何用流程图描述简单的算法?似何用流程图描述简单的算法?1.1 一个一个C语言程序语言程序例例1-1求阶乘咨询题求阶乘咨询题.输入一个正整数输入一个正整数n,输出输出n!. #include * 编译预操作号令编译预操作号令 *int main(void) * 主函数主函数 *int n; * 变量定义变量定义 *int factorial(int n); * 函数表明函数表明 * scanf(%d, &n); * 输入一个整数输入一个整数 *printf(“%dn”, factorial(n); * 调用函数统计阶乘
5、调用函数统计阶乘 * return 0; int factorial(int n) * 定义统计定义统计 n! 的函数的函数 *int i, fact = 1; for(i = 1; i (大于)(大于)合法的标识符和变量名合法的标识符和变量名:sum, average, _total, Class, S_name, lotus_1, BASIC 不合法的标识符和变量名不合法的标识符和变量名: M.D.john, ¥124, # 333,3d65, ab推断下列符号中推断下列符号中,哪些是合法的变量名?哪些是合法的变量名?a3B 3aB +a -b *x $ _b5_ next_ day e_
6、2 OK? Intger MAXNUMBER i*j程序设计语言的语法程序设计语言的语法n C语言的关键语法单位语言的关键语法单位n(1)表达式)表达式: 运算符与运算对象组合便形成运算符与运算对象组合便形成了表达式了表达式.似似,2 + 3 * 4n(2)变量定义)变量定义C语言中语言中, 变量须先定义变量须先定义,后使用后使用 似似: int student ; student=30; 那么如果写成那么如果写成student=30, 那么未定义那么未定义, 编译时指出其错编译时指出其错.似似: a % b 示意示意a与与b整除求余整除求余,那么那么a,b必须为整型量必须为整型量.一旦变量被
7、定义一旦变量被定义, 那么那么:类型确定类型确定,可为其安排相应数量的存储单元可为其安排相应数量的存储单元. 可查抄其运算的合法性可查抄其运算的合法性.程序设计语言的语法程序设计语言的语法其中其中,(3)语句语句: 语句是程序最根基的履行单位语句是程序最根基的履行单位,程序的功能便是程序的功能便是通过对一系列语句的履行来实现的通过对一系列语句的履行来实现的.表达式语句表达式语句:表达式加分号表达式加分号“;” 分支语句分支语句:实现分支操纵环节实现分支操纵环节 if (a b) x = a;else x = b;循环语句循环语句:实现循环操纵的环节实现循环操纵的环节 sum = 0; * 初始
8、化初始化sum和和i *i = 1; while (i = 100) * while循环语句循环语句 * sum = sum + i; i = i + 1;复合语句复合语句:用一对用一对“ ”,将如果干语句次序组合在共同便形成将如果干语句次序组合在共同便形成了一个复合语句了一个复合语句.程序设计语言的语法程序设计语言的语法(4)函数定义与调用)函数定义与调用 函数是完成特定任务的独站模块函数是完成特定任务的独站模块,函数的使用函数的使用最关键涉及到函数的定义与调用最关键涉及到函数的定义与调用.(5)输入输出)输入输出:C语言没有输入输出语句语言没有输入输出语句,用库函数用库函数printf、s
9、canf等实现等实现.程序的编译与编程环境程序的编译与编程环境 n 程序的编译程序的编译n 编译器编译器n 程序程序 统计机直截了当能懂得的指令序列统计机直截了当能懂得的指令序列n编译器编译器:对源程序履行词法、语法与语义对比对源程序履行词法、语法与语义对比,生成可履行生成可履行的代码的代码.n 编程环境编程环境n包罗编纂程序(包罗编纂程序(Edit)、编译()、编译(Compile)、调试)、调试(Debug)等)等.n n把握程序设计语言把握程序设计语言:依照语言的语法依照语言的语法,用语言表达信息、实用语言表达信息、实现程序的操纵现程序的操纵,同时会使用编程环境同时会使用编程环境.C 语
10、言上机环节语言上机环节n源程序源程序n test.cpp test.objn 可履行代码可履行代码n n test.exe编译编译毗邻毗邻 运行运行1.3 C语言的进展历史与特点语言的进展历史与特点 n 历史历史n 1972年年:贝尔尝试室的贝尔尝试室的Dennis Ritchie在在B语言的根本上设计同时实现了语言的根本上设计同时实现了C语言语言.n1978年年:B.W.Kernighan和和D.Ritchie(简称(简称K & R)合著的)合著的The C Programming Language是各种是各种C语言版本的根本语言版本的根本,称之称之为旧规格为旧规格C语言语言.n19
11、83年年:美国国家规格化协会(美国国家规格化协会(ANSI)拟定)拟定了新的了新的C语言规格语言规格,称称ANSI C. 1.3 C 1.3 C语言的特点语言的特点 只有通过学习只有通过学习, ,方可懂得方可懂得C C之特点之特点, ,先简叙之先简叙之: :1. 1. 简洁、紧凑、方便、灵活简洁、紧凑、方便、灵活 32 32个关键字个关键字,9,9种操纵语句种操纵语句, ,程序书写形式自由程序书写形式自由, ,关关键用小写字母键用小写字母, ,压缩统统不必要成分压缩统统不必要成分. .2. 2. 运算符富厚运算符富厚 除了最根基的、除了最根基的、% %等运算外等运算外, , 还将括号、赋值、类
12、型强制变形等均做为运算还将括号、赋值、类型强制变形等均做为运算 符符, ,共有共有3434种运算符种运算符. .3. 3. 信息结构富厚信息结构富厚 有整型、实型、字符型、数组类型、指针类型、有整型、实型、字符型、数组类型、指针类型、 结构体类型、共同体类型等结构体类型、共同体类型等. .4. 4. 具有结构化的操纵语句具有结构化的操纵语句 C C语言是结构化语言语言是结构化语言. .提供了大量程序设计功提供了大量程序设计功能能, ,撑持如果干循环结构撑持如果干循环结构. .似似if elseif else语语句句,dowhile,dowhile语句语句,switch,switch语句语句,f
13、or,for语句语句. .5. 5. 语法严格语法严格, ,但有灵活性但有灵活性 似似: :对数组下标越界不作查抄;信息类型可对数组下标越界不作查抄;信息类型可彼此通用彼此通用: :整型、字符型通用整型、字符型通用. .6. C6. C语言是中级语言(高级语言中的低级语言)语言是中级语言(高级语言中的低级语言) 低级语言低级语言: :可直截了当对硬件履行操纵(内存地址的可直截了当对硬件履行操纵(内存地址的操纵、操纵、 位操纵等)位操纵等). .依靠于统计机硬件依靠于统计机硬件, ,可读性可读性 和可移植性较差和可移植性较差. .高级语言高级语言: :可读性、可移植性较好可读性、可移植性较好.
14、.但难以实现汇编但难以实现汇编 语言的某些功能(直截了当对硬件操语言的某些功能(直截了当对硬件操纵)纵). .7. 7. 生成意图代码质量高生成意图代码质量高, ,履行功效高履行功效高. .8. 8. 可移植性优于汇编语言可移植性优于汇编语言. .C C语言将与硬件有关的身分从语言主体中分别出语言将与硬件有关的身分从语言主体中分别出来来, ,通过库函数或其他有效程序实现它们通过库函数或其他有效程序实现它们. .1.4 实现咨询题求解的环节实现咨询题求解的环节 咨询题咨询题:求求1100间全部偶数的和间全部偶数的和.1咨询题对比与算法设计咨询题对比与算法设计 求在必然范畴内(求在必然范畴内(11
15、00)、满足必然前提)、满足必然前提(偶数偶数)的如果干整数的和的如果干整数的和,求累加和求累加和. 思路思路:设置一个变量设置一个变量(sum),其初值为其初值为0,接着在接着在1100的数的数(i)中寻觅偶数中寻觅偶数,将它们一个一个累将它们一个一个累加到加到sum中中.一步累加一步累加:sum = sum + i; 重复累加重复累加,用循环语句实现用循环语句实现,在循环环节中在循环环节中:(1) 判不判不 i 是不是偶数是不是偶数:用分支操纵语句来实现用分支操纵语句来实现.(2) 对循环次数履行操纵对循环次数履行操纵:通过通过 i 值的改变值的改变咨询题对比与算法设计咨询题对比与算法设计
16、 思路思路 确定算法确定算法算法算法:一组明白的解决咨询题的环节一组明白的解决咨询题的环节,它产生结它产生结论同时可在有限的时候内终止论同时可在有限的时候内终止.算法的描述算法的描述:自然语言自然语言伪代码伪代码流程图流程图:算法的图形示意法算法的图形示意法 sum = 0i = 1i = 100i 是偶数?是偶数?sum=sum+ii=i+1输出输出sum真真真真假假假假实现咨询题求解的环节实现咨询题求解的环节2编纂程序编纂程序生成程序的源文件生成程序的源文件,C语言源文件的后缀为语言源文件的后缀为 .c .cpp#include int main(void)int i, sum = 0;
17、for(i = 1; i = 100; i+) if (i%2 = 0) sum = sum + i; printf(%d, sum); return 0; C语言许可定义变量时赋予初值. 似: int i = 6; float x=8.35; char c =6;*也可对某个变量赋初值: int a, b,c = 6;对三个变量赋初值时写成对三个变量赋初值时写成: int a=6, b=6, c=6; 不能不能: int a=b=c=6; 定义变量时赋初值现实上是在运行时履行一个赋初值语句: int a=6;相当于: int a; a=6;int i, sum = 0;相当于相当于: int
18、 i; int sum=0; 或或: int i; int sum; sum=0;实现咨询题求解的环节实现咨询题求解的环节3程序编译毗邻程序编译毗邻编纂程序后编纂程序后,用该语言的编译程序对其履行编用该语言的编译程序对其履行编译译,以生成二进制代码示意的意图程序以生成二进制代码示意的意图程序(.obj),与编程环境提供的库函数履行毗邻(与编程环境提供的库函数履行毗邻(Link)形成可履行的程序形成可履行的程序(.exe).编译程序指出语法错误编译程序指出语法错误 语法错误语法错误VS逻辑错误逻辑错误实现咨询题求解的环节实现咨询题求解的环节4运行与调试运行与调试通过编纂、编译、毗邻通过编纂、编译、毗邻,生成履行文件后生成履行文件后,便能够在便能够在编程环境或操纵系统环境中运行该程序编程环境或操纵系统环境中运行该程序.似果程序运行所产生的结论不是你想要的结论似果程序运行所产生的结论不是你想要的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高考数学研究型题目试题及答案
- 软件设计中的非功能需求分析试题及答案
- 法学概论考试中的平衡原则与试题及答案
- 法学概论中的比较法研究及试题与答案
- 2025年软考网络环境与管理试题及答案
- 法学概论的动态发展与应对策略试题及答案
- 有效梳理考试范围和内容2025年计算机二级VB考试试题及答案
- 网络安全知识考察试题及答案
- 高考作文写作技巧与试题及答案
- 2025至2030年中国多功能平底炒锅行业投资前景及策略咨询研究报告
- 2024年山东出版集团有限公司招聘笔试参考题库含答案解析
- 氮化镓射频器件
- 习题课 理想气体的状态方程及状态变化图像
- 手术室甲状腺切除术手术配合护理查房
- 建筑工程各类材料送检取样规范(资料员)
- 六年级下册综合实践活动教案-我爱阅读 全国通用
- Rexroth (博世力士乐)VFC 3610系列变频器使用说明书
- 余华《活着》赏析ppt
- 第8章-GNSS测量与定位-课件
- 卫生院外伤处置方案
- 某地面工程电力安装EC总承包工程技术文件
评论
0/150
提交评论