欢迎来到天天文库
浏览记录
ID:38409531
大小:749.50 KB
页数:57页
时间:2019-06-12
《第4章 计算机系统软件与工具软件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、计算机导论刘师少Lss@zjtcm.net第4章计算机系统软件与工具软件内容提要计算机软件可分为系统软件、应用软件和实用工具软件三大类。系统软件是计算机系统中最接近硬件的一层软件,它与具体的应用领域无关。计算机系统中的其他软件一般都通过系统软件发挥作用。在使用计算机的过程中需要许多应用软件和工具软件来为我们服务,了解并学会使用这类软件是很有必要的。本章将介绍程序设计语言翻译系统、操作系统、办公软件以及几种常用的工具软件。对办公软件仅作简单介绍。4.1程序设计语言翻译系统计算机硬件只能识别并执行机器指令,但人们普遍习惯于使用高
2、级程序设计语言或汇编语言来编写程序。为了让计算机能够理解高级程序设计语言或汇编语言并执行用它编写的程序,必须要为它配备一个“翻译”,这就是所谓的程序设计语言翻译系统。程序设计语言翻译系统是一类系统软件,它能够将使用某一种源语言编写的程序翻译成为与其等价的使用另一种目标语言编写的程序。使用源语言编写的程序称为源程序,使用目标语言编写的程序称为目标程序。图4-1汇编程序翻译器示意图汇编源程序二进制机器语言程序汇编程序翻译器输入输出图4-1汇编程序翻译器示意图输出一行10个星号“*”语句是?printf("**********
3、");输出两行10个星号“*”语句是?printf("**********");printf("**********");问题的提出输出100行10个星号“*”语句是?用循环结构解决for(i=1;i<=100;i++)sum=sum+2;sum=sum+1;sum=0;不确定sum013sum=sum+3;6……sum=sum+100;5050sum=sum+i;规律是:表示为:for(i=1;i<=100;i++)sum=sum+i;是for语句【例4.1】for语句的引例。求1+2+3+…+100的值并将其结果
4、放在变量sum中。6.1for语句#includemain(){inti,sum=0;for(i=1;i<=100;i++)sum=sum+i;printf("1+2+3+...+100=%d",sum);}运行结果:1+2+3+...+100=5050循环体关键字forfor(i=1;i<=100;i=i+1)printf(“**********”);输出100行10个星号“*”语句是?i++【例4.2】在3~100之间所有3的倍数中,找出个位数为2的数。编程点拨:用i%10表示个位数3~100内
5、3的倍数有3,6,9,12,15,18,21,24,27,30,33,36,39,42,…,99for(i=3;i<=100;i=i+3)if(i%10==2)…将最小的3的倍数3赋给i当i的值小于等于100时输出i的值i个位数是2?真假i的值增3流程图#includemain(){inti;for(i=3;i<=100;i=i+3)if(i%10==2)printf("%4d",i);printf("");}输出:按4个字符位输出整数124272_分支结构循环结构顺序结构用三种基本结构能写
6、出所有复杂程序【例4.3】从键盘输入十个数,求其中最大值。【例4.3】从键盘输入十个数,求其中最大值#includemain(){inta,max,i;printf("max=%d",max);}scanf("%d",&a);printf("%d",a);printf("Inputdata:");输入第一个数并输出max=a;第一个数存入max输入后九个数并输出for(i=1;i<=9;i++){scanf("%d",&a);printf("%d",a);if(max7、值在最前最后中间某一位置的情况思考:100个数中求最大,如何修改?for(i=1;i<=100;i++)sum=sum+(float)1/i;先思考:如何求【例4.4】求表达式的值。再思考:如何解决正负相间的问题for(i=1;i<=100;i++)sum=sum+(float)1/i;sign=1;{}sign=-sign;signsign=1sum=sum+1/1i=1sign=-1sum=sum-1/2i=2sign=1sum=sum+1/3i=3……符号翻转完整程序sign=1;for(i=1;i<=100;i++)8、{sum=sum+(float)sign/i;sign=-sign;}sum=0.0;printf("sum=%f",sum);}#includemain(){inti,sign;floatsum;运行结果sum=0.688172【例4.4】输出斐波纳契(Fibona
7、值在最前最后中间某一位置的情况思考:100个数中求最大,如何修改?for(i=1;i<=100;i++)sum=sum+(float)1/i;先思考:如何求【例4.4】求表达式的值。再思考:如何解决正负相间的问题for(i=1;i<=100;i++)sum=sum+(float)1/i;sign=1;{}sign=-sign;signsign=1sum=sum+1/1i=1sign=-1sum=sum-1/2i=2sign=1sum=sum+1/3i=3……符号翻转完整程序sign=1;for(i=1;i<=100;i++)
8、{sum=sum+(float)sign/i;sign=-sign;}sum=0.0;printf("sum=%f",sum);}#includemain(){inti,sign;floatsum;运行结果sum=0.688172【例4.4】输出斐波纳契(Fibona
此文档下载收益归作者所有