高级语言程序设计 主讲人:陈玉华
教材和参考书 教材 《C程序设计实例教程》梁 立 解 敏 ,清华大学出版社 参考书 《C程序设计》谭浩强,清华大学出版社 《程序设计基础》吴文虎,清华大学出版社 2018/11/13
本课程的学习要求 课堂 上机实验 课外 2018/11/13
考核办法 笔试成绩(闭卷):70%-80% 平时成绩:20%-30% 平时成绩包括: 上机作业、实验报告、考勤、期中成绩 2018/11/13
第1章 概述 为什么要学程序设计? 为什么要学C程序设计? 2018/11/13
1.1 计算机完成任务——程序化 程序化 机械性 重复性 逻辑性 2018/11/13
1.2 解决问题的方法和步骤——算法 算法: 解决问题的方法和步骤。 算法的三大步: 输入 处理 输出 2018/11/13
【例1-3】求两个数中最大数 输入:? 处理:? 输出:? 2018/11/13
【例1-3】求两个数中最大数 输入:从键盘输入两个数,存于变量a 和b中; 处理:如果a>b则max←a, 否则max←b; 2018/11/13
1.3 用计算机语言表达算法——程序 程序 算法的具体实现 2018/11/13
例:求两个数的最大数。 #include <stdio 例:求两个数的最大数。 #include <stdio.h> void main( ) { int a, b, max; scanf(“%d,%d”, &a, &b); // 输入 if ( a > b ) max = a; // 处理 else max = b; printf (“%d\n”, max); // 输出 } 2018/11/13
1.4 C程序设计的基本思路 C程序的总体结构 #include <stdio.h> // 程序需要标准输入输出函数 void main( ) // 主函数。程序的入口 { // 定义变量 // 程序主体,三个部分:输入、处理、输出 } 2018/11/13
用接近自然语言的高级语言书写程序,再把高级语言写的程序“翻译”成机器语言 从函数库中把需要的函数“链接”到目标程序中 C提供的基本功能 编辑 源程序文件 .CPP 编译 目标程序文件 . OBJ 链接 库函数的文件和其它目标程序文件 可执行程序文件 .EXE 运行 用接近自然语言的高级语言书写程序,再把高级语言写的程序“翻译”成机器语言 用高级语言书写的程序 从函数库中把需要的函数“链接”到目标程序中 2018/11/13
编辑源程序 有错吗? 生成目标文件 有错吗? 生成可执行文件 运行程序 1.5 上机调试程序 编辑源程序 编译 是 有错吗? 否 生成目标文件 链接 是 有错吗? 否 生成可执行文件 运行程序 2018/11/13
计算机只懂机器码(机器语言),而机器码是二进制编码。 一个事实: 计算机只懂机器码(机器语言),而机器码是二进制编码。 计算机里面只有二进制数 2018/11/13
小结 弄清一个问题: 为什么要编程序? 记住一个程序: C程序基本框架。 掌握一个内容: 程序的调试流程。 弄清一个问题: 为什么要编程序? 记住一个程序: C程序基本框架。 掌握一个内容: 程序的调试流程。 了解一个事实: 计算机里只有二进制数。 2018/11/13
上机作业 习题1全部。 2018/11/13
上一次内容回顾 算法 程序 举例:求两个整数的最大数 上机操作 2018/11/13
例:求两个数的最大数。 输入:从键盘输入,放到a,b; 处理:如果a>b则 max←a; 否则 max←b; 输出:显示max的值。 max←a; 如果max < b 则 max←b; 2018/11/13
例:求两个数的最大数。 #include <stdio 例:求两个数的最大数。 #include <stdio.h> void main( ) { int a, b, max; scanf(“%d,%d”, &a, &b); // 输入 max = a; // 处理 if ( max < b ) max = b; printf (“%d\n”, max); // 输出 } 2018/11/13
算法的表示(附录E): 1、自然语言 2、算法语言(伪代码) 3、框图 2018/11/13
流程图: scanf(“%d,%d”, &a, &b); max = a; if ( max < b ) max = b; printf (“%d\n”, max); max←a Yes max < b max←b No 输出max 2018/11/13
PAD图: max←a max < b 输出max scanf(“%d,%d”, &a, &b); 输入a, b max = a; if ( max < b ) max = b; printf (“%d\n”, max); 输入a, b max←a max←b max < b 输出max 2018/11/13
例:求三个整数的最大数。 输入:从键盘输入,放到a,b,c; 处理: max←a; 如果max < b 则 max←b; 如果max < c 则 max←c; 输出:输出max的值。 2018/11/13
max←a 例:PAD图 输入a, b, c max < b max < c 输出max max←b max←c 2018/11/13
课堂练习 求两个整数的和(差、积、商)。 求圆的面积。 2018/11/13
小结: 1、算法的表示方法: 自然语言 算法语言(如C语言) 框图(流程图、PAD图、N-S图) 2、上机操作方法: 编辑源程序、编译、链接、运行 3、排错方法: 确定语法错误、语义错误并定位 2018/11/13
1、求两个整数的差。 2、求三个整数的最小数。 3、求四个整数的最大数和最小数。 上机作业: 1、求两个整数的差。 2、求三个整数的最小数。 3、求四个整数的最大数和最小数。 课后作业(做在作业本上): 分别将上述的三个程序(正确执行后)写在作业本上,并且画出对应的PAD图。 2018/11/13