C语言II博客作业01

C语言II博客作业01

这个作业属于哪个课程 https://edu.cnblogs.com/campus/zswxy/SE2020-2
这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/SE2020-2/homework/11769
这个作业的目标 <了解文件的使用,检测程序的准确性>
学号 <20209142>

一、本周教学内容&目标

第6章 回顾数据类型和表达式,第12章 文件

二、本周作业

2.1 题目:给定一个十进制正整数N,写下从1开始,到N的所有整数,然后数一下其中出现的所有“1”的个数。
要求:
1.贴出代码图片,写出解题思路,列出测试数据。
代码:

解题思路:

对正整数N进行除10余1分析,通过for循环,将数依次增加,再输入另一个变量m进行数代替,利用while的特性,将m进行处理,对若出现1的情况进行统计,最后的输出结果用sum表示,再插入一个运行时间表示函数,可以更加精准的计算时间。


2.给出不同测试数据的运算时间,如果你的运算时间不变,说明你的测试数据不够大。

3.思考针对足够大的数据,如何减少运算时间,并给出在原有算法基础上的改进算法和改进思路。

减少相对的变量,对算法步骤进行思考,使用最简便的算法步骤,提高计算效率,对各种变量表达式进行计算,在正确的基础上减少运算时间。

2.2 将上题中多组测试数据写入文件,并给出测试程序以检测你的代码有没有问题,贴出你的代码、运行结果和文件内容。

2.3 用自己的语言回答两个问题,并给出所查阅资料的引用。
1.什么是文件缓冲系统?工作原理如何?

文件缓冲系统:系统给正在使用的文件的一个空间,对文件进行处理。
{系统会自动的在内存区为每一个正在使用的文件开辟一块“缓冲区”,“缓冲区”的大小一般由各个C的规定,一般的为512Byte即0.5K大小。}


工作原理:系统给的空间有读入顺序和大小,大的空间能力也强,空间大小由机器决定。
{当执行读文件的操作时,从磁盘文件将数据先读入内存“缓冲区”,将装满后再从内存“缓冲区”依次读入接收的变量。“缓冲区”装满后再写入文件,内存“缓冲区”的大小影响着实际操作外存的次数,内存“缓冲区”越大,则操作外存的次数就少,执行速度就快、效率高。一般来说,文件“缓冲区”的大小随机器决定。}

2.什么是文本文件和二进制文件?

文本文件:文本文件是一种顺序结构,处理信息能力比较差,包括范围也比较差。
{文本文件是一种计算机文件,它是一种典型的顺序文件,其文件的逻辑结构又属于流式文件。文本文件中除了储存文件有效字符信息(包括能用ASCLL码字符表示的回车、换行等信息外,不能储存其他任何信息。文本文件是一种由若干行字符构成的计算机文件。通常,通过在文本文件最后一行后放置文件结束标志来指明文件的结束。文本文件是指一种容器,而纯文本是指一种内容,文本文件可以包含纯文本。}


二进制文件:除了文本文件,其他的都是二进制文件。二进制文件由ASCLL码及其他字符进行处理。
{二进制文件是指包含在ASCLL及扩展ASCLL字符中编写的数据或程序指令的文件。图形文件及文字处理程序等计算机程序都属于二进制文件,这些文件含有特殊的格式及计算机代码。二进制文件的编码长,灵活率高但是译码难度高。}

2.4 请给出本周学习总结。

1 学习进度条。

周/日期 这周所用的时间 代码行
第一周 45h 351

2 累积代码行和博客字数。

3 学习内容总结和感悟。

感悟:通过这次学习,我对自己的认识更加清楚,有许多问题没有得到解决,许多知识点没有掌握。文件的知识对以后代码的检测有很大的作用。对文件的理解更加的深刻。各种结构没有用熟练,有些字符型没有认识。对计算机代码的运行速度有一定的认识,了解了代码必须要简便,自己必须对自己的代码负责。这次的学习对思维逻辑有一定的提高,知道了文件的类型,和一次检测多种数据。提高了自己的代码准确性。
原文地址:https://www.cnblogs.com/869869tmz/p/14480858.html