你永远不会独行

C语言II博客作业01

这个作业属于哪个课程 https://edu.cnblogs.com/campus/zswxy/CST2020-4
这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2020-4/homework/11772
这个作业的目标 回顾上学期所学内容,了解文件相关知识
学号 20209068

1本周作业

1.1题目:给定一个十进制正整数N,写下从1开始,到N的所有整数,然后数一下其中出现的所有“1”的个数。

问题一:写出一个函数f(N),返回1到N之间出现的”1“的个数,比如f(12)=5;

思路:设置一个循环,运用一个数除以十的余数为一的特性计算会出现‘1’的次数。

12 5
50 15
1000000000 50001
改进思路:使用自定义函数。

问题二:满足条件”f(N)=N“的最大的N是多少?

思路:基本框架延用上个问题,运用if-else语句甄别最大值。

解释说明:无法得出答案,程序陷入死循环;数字范围过大,若要运行需花费大量时间。
改进思路:可以利用手动计算缩小数字范围,但在算法上没有找到解决方案。

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



1.3:用自己的语言回答两个问题,并给出所查阅资料的引用

问题一:什么是文件缓冲系统?工作原理如何?

文件缓冲系统即暂时存放读取期间文件数据的一定空间,这个空间不同于最为基本的存储介质,其依托于固定磁盘,来自于主存储器。当系统所需处理文件与I/O设备在速度上不匹配,则需要此类系统暂时存放其文件,为I/O设备提供缓存作用;其原理基于ANSI标准C库函数,使用库中函数处理相对应函数以提高效率。

问题二:什么是文本文件和二进制文件?

文本文件可以储存以ASCII形式存在的相关符号或是机内码(文字),其作为计算机中一种简单的文件形式,不能储存其他任何文件;二进制文件区别于文本文件的最大不同就是可以储存字符以外的数据,它和文本文件共同组成了计算机文件。

2本周学习总结

2.1学习进度条

周数 本周所学内容 学习时间 还存在的问题
第一周 计算机文件的相关知识 10h 上学期所学知识存在纰漏

2.2累积代码行和博客字数

2.3学习内容总结和感悟

本周学习主要是关于文件的写入和计算机文件的相关知识,同时也对上学期所学内容进行了回顾。
寒假没有怎么主动去学习C语言,原本所学的东西忘记了很多;现在首先要做的还是对之前所学知识进一步巩固!

posted @ 2021-03-07 21:03  mane  阅读(62)  评论(0编辑  收藏  举报