




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 结构化程序设计(结构化程序设计(C语言)语言)主讲:主讲:于波哈尔滨理工大学 软件学院Email: hrbust_Office: 软件学院楼3122课程简介课程简介学分:学分:3.5学分上课时间:上课时间:5-15周 周二 第三大节 507 5-19周 周五 第四大节 507课时:课时:56学时=20学时理论+28学时(翻转+案例)成绩评定成绩评定 总成绩总成绩 = 平时成绩(50%) + 期末成绩(50%) 平时成绩平时成绩 = 自主学习自主学习 + 课堂测验及作业(期中) + 上课出勤 + 上机实验 期末成绩期末成绩 = 上机考试 + 项目实践建议职业职业工程技术人员:工程技术人员:具有
2、软件开发、维护技术。 产品销售人员:产品销售人员:具有软件基础知识、营销知识以及较强的沟通能力。 IT企业经营与管理人员:企业经营与管理人员:既懂技术又懂企业经营管理,同时具有开拓精神的复合型人才。教师与研究人员:教师与研究人员:具有扎实的理论基础,较强的实践能力和创新精神。 (研究生研究生)1. 明确学习目的,搞好职业生涯规划。明确学习目的,搞好职业生涯规划。建议程序员程序员高级软件高级软件工程师工程师项目经理项目经理高级架构师高级架构师职职业业迁迁徙徙具有计算机的相关知识和具有计算机的相关知识和较强的编程能力。较强的编程能力。具有较强的软件设计和实施能具有较强的软件设计和实施能力和较宽的知
3、识面力和较宽的知识面既懂技术又懂管理的复合型既懂技术又懂管理的复合型人才。人才。具具有较强的系统分析与设计、有较强的系统分析与设计、深厚的理论和丰富的领域知识深厚的理论和丰富的领域知识建议1. 明确学习目的,搞好职业生涯规划。明确学习目的,搞好职业生涯规划。实例实例建议2. 为实现职业理想,打好专业基础。为实现职业理想,打好专业基础。7相关相关网站网站 中国大学中国大学MOOC: / (作在线测验,取得成绩作在线测验,取得成绩) 在线练习评判系统在线练习评判系统(OJ):http:/(用学号或姓名注册用学号或姓名注册) 计蒜课:计蒜课:http:
4、/ 百度传课:百度传课:http:/ 腾讯课堂:腾讯课堂:http:/ 网易云课堂:网易云课堂:http:/ fenby:http:/ 实验楼:实验楼:https:/ 极客学院:极客学院:http:/ 慕课网:慕课网:http:/ 新思维:新思维:http:/ C Programming Absolute Beginners Guide . Greg Perry and Dean Miller Beginning C (FIFTH EDITION). Ivor Horton The C Programming Language (2nd Edition). Brian W. Kernighan
5、, Dennis M. Ritchie C Programming: A Modern Approach. K. N. King Practical C Programming . Steve Oualline Expert C Programming Deep C Secrets . Peter van der Linden C语言经典编程语言经典编程282例例. 明日科技明日科技1.1 什么是计算机程序什么是计算机程序1.2 什么是计算机语言什么是计算机语言1.3 C语言的发展及其特点语言的发展及其特点1.4 最简单的最简单的C语言程序语言程序1.5 运行运行C程序的步骤与方法程序的步骤与
6、方法1.6 程序设计的任务程序设计的任务1.1 什么是计算机程序什么是计算机程序程序程序:一组计算机能识别和执行的:一组计算机能识别和执行的指令指令只要让计算机执行这个程序,计算机就只要让计算机执行这个程序,计算机就会会自动地自动地、有条不紊地有条不紊地进行工作进行工作计算机的一切操作都是由计算机的一切操作都是由程序程序控制的,控制的,离开程序,计算机将一事无成离开程序,计算机将一事无成1.2 什么是计算机语言什么是计算机语言计算机语言计算机语言:人和计算机交流信息的、:人和计算机交流信息的、计算机和人都能识别的语言计算机和人都能识别的语言1.2 什么是计算机语言什么是计算机语言计算机语言发展
7、阶段:计算机语言发展阶段:u机器语言机器语言(由(由0和和1组成的指令)组成的指令)u符号语言符号语言(用英文字母和数字表示指令)(用英文字母和数字表示指令)u高级语言高级语言(接近于人的自然语言和数学语言)(接近于人的自然语言和数学语言)l面向面向过程过程的语言的语言 (非结构化的语言、结构化语言)(非结构化的语言、结构化语言)l面向面向对象对象的语言的语言低级语言低级语言1.3 C语言的发展及其特点语言的发展及其特点C语言是国际上广泛流行的计算机高级语言。语言是国际上广泛流行的计算机高级语言。1.3 C语言的发展及其特点语言的发展及其特点C语言的发展:语言的发展:BCPL语言语言B语言语言
8、C语言语言精练、接近硬件,但精练、接近硬件,但过于简单过于简单, 无数据类型无数据类型具有多种数据类型具有多种数据类型1983年图灵奖年图灵奖1.3 C语言的发展及其特点语言的发展及其特点 1972年年 诞生诞生,为实现UNIX操作系; 1983年年 ANSI制定了第一个C语言标准草案(83 ANSI C); 1989年年,ANSI公布了一个完整的C语言标准C89; 1990年年,ISO(International Standard Organization) 接受C89作为国际标准ISO/IEC 9899:1990; 2001、2004年年,先后进行了两次技术修正(TC1和TC2)。ISO/
9、IEC 9899:1999(及其技术修正)被称为 C99。1.3 C语言的发展及其特点语言的发展及其特点C语言是一种用途广泛、功能强大、使语言是一种用途广泛、功能强大、使用灵活的过程性用灵活的过程性(procedural)编程语编程语言,既可用于编写应用软件,又能用于言,既可用于编写应用软件,又能用于编写系统软件。因此编写系统软件。因此C语言问世以后得语言问世以后得到迅速推广。到迅速推广。1.3 C语言的发展及其特点语言的发展及其特点C语言主要特点:语言主要特点:u语言简洁、紧凑,使用方便、灵活。语言简洁、紧凑,使用方便、灵活。l只有只有37个关键字、个关键字、9种控制语句种控制语句l程序书写
10、形式自由,源程序短程序书写形式自由,源程序短1.3 C语言的发展及其特点语言的发展及其特点C语言主要特点:语言主要特点:u运算符丰富。运算符丰富。l有有34种运算符种运算符l把括号、赋值、强制类型转换等都作为把括号、赋值、强制类型转换等都作为运算符处理运算符处理l表达式类型多样化表达式类型多样化1.3 C语言的发展及其特点语言的发展及其特点C语言主要特点:语言主要特点:u数据类型丰富。数据类型丰富。l包括包括:整型、浮点型、字符型、数组类型、整型、浮点型、字符型、数组类型、指针类型、结构体类型、共用体类型指针类型、结构体类型、共用体类型lC99又扩充了复数浮点类型、超长整型又扩充了复数浮点类型
11、、超长整型(long long)、布尔类型、布尔类型(bool)l指针类型数据,能用来实现各种复杂的数据指针类型数据,能用来实现各种复杂的数据结构结构(如链表、树、栈等如链表、树、栈等)的运算。的运算。1.3 C语言的发展及其特点语言的发展及其特点C语言主要特点:语言主要特点:u具有结构化的控制语句具有结构化的控制语句l如如ifelse语句、语句、while语句、语句、dowhile语句、语句、switch语句、语句、for语句语句l用函数作为程序的模块单位,便于实现用函数作为程序的模块单位,便于实现程序的模块化程序的模块化lC语言是完全模块化和结构化的语言语言是完全模块化和结构化的语言1.3
12、 C语言的发展及其特点语言的发展及其特点C语言主要特点:语言主要特点:u语法限制不太严格,程序设计自由度大。语法限制不太严格,程序设计自由度大。l对数组下标越界不做检查对数组下标越界不做检查l对变量的类型使用比较灵活,例如,整对变量的类型使用比较灵活,例如,整型量与字符型数据可以通用型量与字符型数据可以通用lC语言允许程序编写者有较大的自由度,语言允许程序编写者有较大的自由度,因此放宽了语法检查因此放宽了语法检查1.3 C语言的发展及其特点语言的发展及其特点C语言主要特点:语言主要特点:u允许直接访问物理地址,能进行位操作,允许直接访问物理地址,能进行位操作,可以直接对硬件进行操作可以直接对硬
13、件进行操作lC语言具有高级语言的功能和低级语言语言具有高级语言的功能和低级语言的许多功能,可用来编写系统软件的许多功能,可用来编写系统软件l这种双重性,使它既是成功的系统描述这种双重性,使它既是成功的系统描述语言,又是通用的程序设计语言语言,又是通用的程序设计语言1.3 C语言的发展及其特点语言的发展及其特点C语言主要特点:语言主要特点:u用用C语言编写的程序可移植性好。语言编写的程序可移植性好。lC的编译系统简洁,很容易移植到新系统的编译系统简洁,很容易移植到新系统l在新系统上运行时,可直接编译在新系统上运行时,可直接编译“标准链接库标准链接库”中的大部分功能,不需要修改源代码中的大部分功能
14、,不需要修改源代码l几乎所有计算机系统都可以使用几乎所有计算机系统都可以使用C语言语言1.3 C语言的发展及其特点语言的发展及其特点C语言主要特点:语言主要特点:u生成目标代码质量高,程序执行效率高。生成目标代码质量高,程序执行效率高。 1.4最简单的最简单的C语言程序语言程序1.4.1 最简单的最简单的C语言程序举例语言程序举例1.4.2 C语言程序的结构语言程序的结构1.4.1 最简单的最简单的C语言程序举例语言程序举例例例1.1 要求在屏幕上输出以下一行信息。要求在屏幕上输出以下一行信息。 This is a C program.解题思路:解题思路: 在主函数中用在主函数中用printf
15、函数原样输出以函数原样输出以上文字。上文字。1.4.1 最简单的最简单的C语言程序举例语言程序举例#include int main( ) printf (”This is a C program.n”); return 0; 函数的名字,表示函数的名字,表示主函数主函数C程序必须有一个程序必须有一个 main 函数函数1.4.1 最简单的最简单的C语言程序举例语言程序举例#include int main( ) printf (”This is a C program.n”); return 0; 主函数主函数类型类型1.4.1 最简单的最简单的C语言程序举例语言程序举例#include i
16、nt main( ) printf (”This is a C program.n”); return 0; 函数体函数体1.4.1 最简单的最简单的C语言程序举例语言程序举例#include int main( ) printf (”This is a C program.n”); return 0; 输出函数输出函数输出语句输出语句1.4.1 最简单的最简单的C语言程序举例语言程序举例#include int main( ) printf (”This is a C program.n”); return 0; 输出语句输出语句1.4.1 最简单的最简单的C语言程序举例语言程序举例#inc
17、lude int main( ) printf (”This is a C program.n”); return 0; 换行符换行符1.4.1 最简单的最简单的C语言程序举例语言程序举例#include int main( ) printf (”This is a C program.n”); return 0; 当当main函数执行结束前函数执行结束前将整数将整数0作为函数值作为函数值1.4.1 最简单的最简单的C语言程序举例语言程序举例#include int main( ) printf (”This is a C program.n”); return 0; 表示语句结束表示语句结束
18、用到函数库中的输入输出函数时用到函数库中的输入输出函数时1.4.1 最简单的最简单的C语言程序举例语言程序举例C语言允许用两种注释方式:语言允许用两种注释方式:/:单行注释:单行注释u可单独占一行可单独占一行u可出现在一行中其他内容的右侧可出现在一行中其他内容的右侧/*/:块式注释:块式注释u可包含多行可包含多行例例1.2 求两个整数之和。求两个整数之和。解题思路:解题思路:u设置设置3个变量个变量ua和和b用来存放两个整数用来存放两个整数usum用来存放和数用来存放和数u用赋值运算符用赋值运算符“=”把结果传送给把结果传送给sum#include int main( ) int a,b,su
19、m; a = 123; b = 456; sum = a + b; printf(”sum is %dn”,sum); return 0; 定义整型变量定义整型变量a,b,sum对变量对变量a,b赋值赋值将将a与与b的和赋给的和赋给sum#include int main( ) int a,b,sum; a = 123; b = 456; sum = a + b; printf(”sum is %dn”,sum); return 0; 用用sum的值替代的值替代希望输出的字符希望输出的字符例例1.3求两个整数中的较大者。求两个整数中的较大者。解题思路:解题思路:u用一个函数实现求两个整数中的较
20、大者用一个函数实现求两个整数中的较大者u在主函数中调用此函数并输出结果在主函数中调用此函数并输出结果#include int main( ) int max(int x,int y); int a,b,c; scanf(”%d,%d”,&a,&b); c = max(a,b); printf(max=%dn,c); return 0;int max(int x,int y) int z; if (x y) z = x; else z = y; return(z);主函数主函数max函数函数#include int main( ) int max(int x,int y); in
21、t a,b,c; scanf(”%d,%d”,&a,&b); c = max(a,b); printf(max=%dn,c); return 0;int max(int x,int y) int z; if (x y) z = x; else z = y; return(z);将将x和和y中较大者中较大者值返回给主函数值返回给主函数#include int main( ) int max(int x,int y); int a,b,c; scanf(”%d,%d”,&a,&b); c = max(a,b); printf(max=%dn,c); return 0
22、;int max(int x,int y) int z; if (x y) z = x; else z = y; return(z);#include int main( ) int max(int x,int y); int a,b,c; scanf(”%d,%d”,&a,&b); c = max(a,b); printf(max=%dn,c); return 0;int max(int x,int y) int z; if (x y) z = x; else z = y; return(z);因因max函数的定义在函数的定义在main函数之后,需声明函数之后,需声明#inc
23、lude int main( ) int max(int x,int y); int a,b,c; scanf(”%d,%d”,&a,&b); c = max(a,b); printf(max=%dn,c); return 0;int max(int x,int y) int z; if (x y) z = x; else z = y; return(z);输入函数输入函数#include int main( ) int max(int x,int y); int a,b,c; scanf(”%d,%d”,&a,&b); c = max(a,b); printf
24、(max=%dn,c); return 0;int max(int x,int y) int z; if (x y) z = x; else z = y; return(z);输入语句输入语句#include int main( ) int max(int x,int y); int a,b,c; scanf(”%d,%d”,&a,&b); c = max(a,b); printf(max=%dn,c); return 0;int max(int x,int y) int z; if (x y) z = x; else z = y; return(z);输入的数据输入的数据放到
25、放到a,b中中输入格式输入格式a的地址的地址#include int main( ) int max(int x,int y); int a,b,c; scanf(”%d,%d”,&a,&b); c = max(a,b); printf(max=%dn,c); return 0;int max(int x,int y) int z; if (x y) z = x; else z = y; return(z);调用调用max函数函数#include int main( ) int max(int x,int y); int a,b,c; scanf(”%d,%d”,&a,
26、&b); c = max(a,b); printf(max=%dn,c); return 0;int max(int x,int y) int z; if (x y) z = x; else z = y; return(z);8588#include int main( ) int max(int x,int y); int a,b,c; scanf(”%d,%d”,&a,&b); c = max(a,b); printf(max=%dn,c); return 0;int max(int x,int y) int z; if (x y) z = x; else z =
27、y; return(z);8588#include int main( ) int max(int x,int y); int a,b,c; scanf(”%d,%d”,&a,&b); c = max(a,b); printf(max=%dn,c); return 0;int max(int x,int y) int z; if (x y) z = x; else z = y; return(z);实际参数实际参数形式参数形式参数1.4.2 C语言程序的结构语言程序的结构C语言程序的结构特点:语言程序的结构特点:1.一个程序由一个或多个源程序文件组成一个程序由一个或多个源程序文
28、件组成u小程序往往只包括一个源程序文件小程序往往只包括一个源程序文件u例例1.1,例,例1.2只有一个函数只有一个函数u例例1.3有两个函数有两个函数只包括一个源程序文件只包括一个源程序文件1.4.2 C语言程序的结构语言程序的结构C语言程序的结构特点:语言程序的结构特点:一个源程序文件中可以包括三个部分:一个源程序文件中可以包括三个部分:u预处理指令预处理指令u全局声明全局声明u函数定义函数定义#include 等等在函数之外进行的数据声明在函数之外进行的数据声明每个函数用来实现一定的功能每个函数用来实现一定的功能1.4.2 C语言程序的结构语言程序的结构C语言程序的结构特点:语言程序的结构
29、特点:2.函数是函数是C程序的主要组成部分程序的主要组成部分u一个一个C程序是由一个或多个函数组成的程序是由一个或多个函数组成的u必须包含一个必须包含一个main函数(只能有一个)函数(只能有一个)u每个函数都用来实现一个或几个特定功能每个函数都用来实现一个或几个特定功能u被调用的函数可以是库函数,也可以是自被调用的函数可以是库函数,也可以是自己编制设计的函数己编制设计的函数1.4.2 C语言程序的结构语言程序的结构C语言程序的结构特点:语言程序的结构特点:3.一个函数包括两个部分:一个函数包括两个部分:u函数首部函数首部int max ( int x, int y )函数的第函数的第1行行函
30、数类型函数类型函数名函数名参数类型参数类型参数名参数名1.4.2 C语言程序的结构语言程序的结构C语言程序的结构特点:语言程序的结构特点:3.一个函数包括两个部分:一个函数包括两个部分:u函数首部函数首部int max ( int x, int y )若函数无参,在括弧中写若函数无参,在括弧中写void或空括弧或空括弧int main( void) 或或 int main()1.4.2 C语言程序的结构语言程序的结构C语言程序的结构特点:语言程序的结构特点:3.一个函数包括两个部分:一个函数包括两个部分:u函数体函数体l声明部分声明部分定义在本函数中所用到的变量定义在本函数中所用到的变量对本函
31、数所调用函数进行声明对本函数所调用函数进行声明l执行部分:由若干个语句组成,指定在执行部分:由若干个语句组成,指定在函数中所进行的操作函数中所进行的操作可以没有声明部分可以没有声明部分1.4.2 C语言程序的结构语言程序的结构C语言程序的结构特点:语言程序的结构特点:3.一个函数包括两个部分:一个函数包括两个部分:u函数体函数体void dump ( ) 可以是空函数可以是空函数1.4.2 C语言程序的结构语言程序的结构C语言程序的结构特点:语言程序的结构特点:4. 程序总是从程序总是从main函数开始执行函数开始执行5. C程序对计算机的操作由程序对计算机的操作由C语句完成语句完成uC程序书写格式是比较自由的程序书写格式是比较自由的l一行内可以写几个语句一行内可以写几个语句l一个语句可以分写在多行上一个语句可以分写在多行上u为清晰起见,习惯上每行只写一个语句为清晰起见,习惯上每行只写一个语句1.4.2 C
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- ××超市财务预算制度
- ××超市指引牌制度
- 机械工程技能熟练度证明(7篇)
- 心中的老师形象写人作文(9篇)
- 2025年注册会计师考试《会计》财务报表分析模拟试题精讲与解析
- 2025年稀有稀土金属矿项目提案报告
- 2025年江西省事业单位招聘考试综合类专业能力测试试卷(工程类)真题汇编及解析
- 2025年抗贫血药项目规划申请报告模板
- 2025年保育员(一级)儿童教育管理学研究论文案例分析考试试卷
- 2025年德语TestDaF阅读真题试卷:德语心理学研究阅读
- Unit 1 Happy Holiday 第6课时(Project Reading Plus) 2025-2026学年人教版英语八年级下册
- 部编人教版三年级上册语文必记必背
- 2024年西藏公安机关招聘警务辅助人员笔试真题
- 2025-2030中国显示驱动芯片行业竞争风险及前景发展创新研判报告
- 2024年昆明市公安局招聘勤务辅警真题
- 客房部内部管理制度
- 河南开封工程职业学院招聘笔试真题2024
- 小学生数学学习习惯的培养讲座
- DeepSeek+AI大模型赋能制造业智能化供应链解决方案
- 2025河南省豫地科技集团有限公司社会招聘169人笔试参考题库附带答案详解析集合
- 开标室使用管理制度
评论
0/150
提交评论