欢迎进入程序姆界C语言程序设计
C语言程序设计
C语言程序设计■教学要求口掌握程序设计语言的基本知识口了解常用算法学习方法7口培养自主学习口锻炼实践能力
C语言程序设计 ◼ 教学要求 掌握程序设计语言的基本知识 了解常用算法 ◼ 学习方法 培养自主学习 锻炼实践能力
如何尽快学会用C语言进行程序设计■从模仿开始■学会改写■然后是设计
如何尽快学会用C语言进行程序设计 ◼ 从模仿开始 ◼ 学会改写 ◼ 然后是设计
本章要点■什么是计算机语言?什么是程序?1C语言有哪些特点?C语言程序的基本组成?■什么是算法?如何描述简单的算法?
本章要点 ◼ 什么是计算机语言?什么是程序? ◼ C语言有哪些特点? ◼ C语言程序的基本组成? ◼ 什么是算法?如何描述简单的算法?
1.2程序与程序设计语言■程序口人们为解决某种问题用计算机可以识别的代码编排的一系列加工步骤。■程序设计语言口提供了一种表达数据与处理数据的功能口要求程序员按照语言的规范编程
1.2 程序与程序设计语言 ◼ 程序 人们为解决某种问题用计算机可以识别的代码 编排的一系列加工步骤。 ◼ 程序设计语言 提供了一种表达数据与处理数据的功能 要求程序员按照语言的规范编程
1.2程序与程序设计语言■指令与程序■程序设计语言的功能■程序设计语言的语法■程序的编译与编程环境
1.2 程序与程序设计语言 ◼ 指令与程序 ◼ 程序设计语言的功能 ◼ 程序设计语言的语法 ◼ 程序的编译与编程环境
程序与指令■指令:每一个指令完成一个最基本的功能如实现一次加法运算或实现一次两个数的大小判别■计算机的指令系统:计算机所能实现的指令的集合掌到手,看上去就象一个清单■程序:一系列计算机指令的有序组合
程序与指令 ◼ 指令:每一个指令完成一个最基本的功能 如实现一次加法运算 或实现一次两个数的大小判别 ◼ 计算机的指令系统:计算机所能实现的指令的集合 拿到手,看上去就象一个清单 ◼ 程序:一系列计算机指令的有序组合
程序与指令虚拟的计算机指令系统(7条指令,看上去很象计算机最初始的语言,机器语言或汇编语言)口指令1:InputX将当前输入数据存储到内存的X单元口指令2:OutputX将内存单元的数据输出。口指令3:AddXYZ将内存X单元的数据与Y单元的数据相加并将结果存储到Z单元。口指令4:SubXYz将内存X单元的数据与Y单元的数据相减并将结果存储到Z单元。口指令5:BranchEqXYP比较X与Y,若相等则程序跳转到P处执行,否则继续执行下一条指令。口指令6:JumpP程序跳转到P处执行。口指令7:SetXY将内存Y单元的值设为X
程序与指令 ◼ 虚拟的计算机指令系统(7条指令 ,看上去很象计算机最初 始的语言,机器语言或汇编语言) 指令1:Input X 将当前输入数据存储到内存的X单元 指令2:Output X 将内存X单元的数据输出。 指令3:Add X Y Z 将内存X单元的数据与Y单元的数据相加并将 结果存储到Z单元。 指令4:Sub X Y Z 将内存X单元的数据与Y单元的数据相减并将 结果存储到Z单元。 指令5:BranchEq X Y P 比较X与Y,若相等则程序跳转到P处执 行,否则继续执行下一条指令。 指令6:Jump P 程序跳转到P处执行。 指令7:Set X Y 将内存Y单元的值设为X
程序与指令■输入3个数A,B和C,求A+B+C的结果Input A;输入第1个数据到存储单元A中Input B;输入第2个数据到存储单元B中Input C;输入第3个数据到存储单元C中Add A B D;将A、B相加并将结果存在D中Add C D D;将C、D相加并将结果存在D中
程序与指令 ◼ 输入3个数A, B和C,求A+B+C的结果 Input A; 输入第1个数据到存储单元A 中 Input B; 输入第2个数据到存储单元B 中 Input C; 输入第3个数据到存储单元C 中 Add A B D; 将A、B相加并将结果存在D 中 Add C D D; 将C、D相加并将结果存在D 中 Output D; 输出D的内容
■输入2个数A和B,求A*B的结果程序与指令1. Input A;输入第1个数据到存储单元A中2. Input B;输入第2个数据到存储单元B中3. Set0 X;将X设为0,此处X用以统计A累加的次数4. Set 0 Z;将Z设为0,此处Z用以存放A*B的结果5.BranchEgXB9;判别X与B是否相等;若相等说明A已累加了B次,程序跳转到第9条指令,输出结果6. Add ZAZ;Z=Z+AX=X+17. Add 1 X X;8. Jump 5;程序跳转到第5条指令,继续循环执行第6条、7条指令输出Z的值,该值等于A*B9. Output Z;
◼ 输入2个数A和B,求A*B的结果程序与指令 1.Input A; 输入第1个数据到存储单元A中 2.Input B; 输入第2个数据到存储单元B中 3.Set 0 X; 将X设为0,此处X用以统计A累加的次数 4.Set 0 Z; 将Z设为0,此处Z用以存放A*B的结果 5.BranchEq X B 9; 判别X与B是否相等;若相等说明A 已累加了B次,程序跳转到第9条指令,输出结果 6.Add Z A Z; Z = Z + A 7.Add 1 X X; X = X + 1 8.Jump 5; 程序跳转到第5条指令,继续循环执行第 6条、7条指令 9.Output Z; 输出Z的值,该值等于A*B