【第22期】观点:IT 行业加班,到底有没有价值?

《C语言及程序设计》实践项目——文件操作

原创 2015年07月07日 11:10:53

返回:贺老师课程教学链接

【项目1 - 小玩文件】
1、下面程序的功能是统计文本文件abc.txt中的字符个数,请填空将程序补充完整。

#include <stdio.h>
#include <stdlib.h>
int main()
{
    FILE *fp;
    if((fp=fopen("abc.txt",_______))==NULL)  //(1)
    {
        printf("open error!\n");
        exit(1);
    }
    int i=0;
    while(________) // (2)
    {
        fgetc(fp);
        _________; // (3)
    }
    printf("Character: %d\n", i);
    fclose(________);// (4)
    return 0;
}

2、用键盘输入文件名,统计输出文件中每个字母、数字字符出现的次数;
[参考解答]

【项目2-用文本文件保存的学生名单】
文件score.dat中保存的是若干名学生的姓名和C语言课、高数和英语成绩。
(1)定义学生结构体,其中包含姓名、C++课、高数和英语成绩及总分数据成员。

//定义学生结构体
typedef struct 
{
    string name;
    double cpp;
    double math;
    double english;
    double total;
}Student

(2)用对象数组进行存储学生的成绩,读入成绩并计算总分;将总分高于平均总分且没挂科的同学的信息保存到文件pass_score.dat中。

int main( ){
    Student stud[200],t; //stud[200]为保存数据的对象数组
    //从文件score.dat中读入数据,保存到对象数组中

    //总分高于平均总分且没挂科的同学的信息保存到文件pass_score.dat中
    return 0;
}

[参考解答]

【项目3 - 处理C语言源代码的程序】
用C语言写的源程序是一种文本文件。本项目将以C语言的源程序为操作对象,完成对源程序的一系列处理,如判断是否有main函数、将某些行加上注释等。各功能可以分别编制一个程序实现(建议用这种简单的方案),也可以将其集成在一起(向着自己做出IDE努力)。
(1)读入一个C++程序,判断其中是否只有一个main()函数,输出“暂时没有发现问题”,或者“没有main()函数”,或者“不能定义多个main()函数”;
提示1:简单处理,可以只比较判断“main()”,考虑实际上的各种可能,main后面的括号中有任意多个空格及void的都应该算在内。建议按最简单的情形处理。
提示2:建议设计一个函数,将读到的代码与字符串“main()”进行比较。函数用于判断s1是否“包含”在读入的一行s2中,调用时,形参s1处的实参用”main()”即可,这样写提升了“抽象”级别,更容易实现,对应更高的代码质量。
(2)读入一个C语言程序,使程序中的所有左花括号“{”和右花括号“}”都单独占一行,新程序保存到另一个.c文件中,并在屏幕上显示处理过的程序,显示时加上行号。
(3)读入一个C语言程序,输入m、n两个数字,从第m行起的n行代码将作为注释使用(即在这些行前面加上”//”),新程序保存到另一个.c文件中,并在屏幕上显示处理过的程序,显示时加上行号。
[参考解答]

【项目4 - 间隔选职工】
(1)从键盘输入10名职工的工号、姓名和年龄,并保存到二进制文件worker.rec中
用下面的结构体表示一名职工的记录

typedef struct 
{ 
    int num;   //工号
    char name[10];   //姓名
    int age;  //年龄
} Worker;

(2)从文件中读取并显示顺序号为奇数的职工记录。(即第 1,3,5,…号职工的数据)
[参考解答]

【项目5 - 二进制文件浏览器】
(1)做一个类似BinaryViewer的查看二进制文件的程序,输入文件名后,可以以16进制和ASCII对照的方式列出该文件的内容,可以参考下图:
这里写图片描述
提示:循环中,一次读入16个字节,先用16进制形式输出,再用字符形式输出。
(2)通过为main函数加参数,在命令行方式下,输入“命令加文件名”的方式,就可以显示该文件的内容,也采用如上16进制和ASCII对照的形式。
[参考解答]

版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

C语言程序设计实践-C语言应用实践

第10周实践-阅读下面的程序,试运行并理解其中技术手段 上机时,直接到课程主页点击链接,然后复制源码 【阅读1】使用文件输入输出:运行教学视频中关于文件的程序,体会文件的读写: (1)源码1:文...

《C语言及程序设计》实践项目——用循环累加

返回:贺老师课程教学链接 【项目1:分数的累加】编程序,输出1/3-3/5+5/7-7/9…+19/21的结果提示:如果直接解决上面的问题有困难,可以设计一条“由易到难”的路线,逐渐解决其中要解决的问...

程序员升职加薪指南!还缺一个“证”!

CSDN出品,立即查看!

《C语言及程序设计》实践项目——数据的输入

返回:贺老师课程教学链接  C语言及程序设计初步  【阅读程序题】用下面的scanf函数输入数据,使a=3,b=7,x=8.5,y=71.82,问在键盘上如何输入?#include int main...

《C语言及程序设计》实践项目——二维数组

返回:贺老师课程教学链接【项目1-折腾二维数组】创建一个5行4列的二维整型数组,通过初始化,为数组中的前两列的10个元素赋初值,然后:通过键盘输入,使后两列的10个元素获得值;按行序优先输出数组元素;...

《C语言及程序设计》实践项目——字符数组与字符串处理

返回:贺老师课程教学链接【项目1-M$pszi$y是嘛意思?】背景:小明让同学传纸条给小丽。小丽接到会心一笑,大家却不知所云。纸条上写着M$pszi$y,两人暗中约定是,真实字符为实际字符前面的第4个...

《C语言及程序设计》实践项目——用文件输入输出初步

返回:贺老师课程教学链接【项目1-由键盘到文件】(1)从键盘输入一个文件名,以及一个以#结束的字符序列,将输入的字符保存到文件中去。#include "stdio.h" #include "stdli...

《C语言及程序设计》实践参考——编程处理C源代码

返回:贺老师课程教学链接  实践要求【项目5-编程处理C源代码】在CodeBlocks等IDE中都提供了代码格式整理的功能。我们可以编写程序,处理的数据就是用C写的源代码文件。C源文件是一种文本文件,...

C语言及程序设计进阶例程-2 一个程序,多个文件

贺老师教学链接  C语言及程序设计进阶 本课讲解演示:建立多文件的项目main.c#include int max(int x,int y); int main( ) { int a,b,c; ...

C语言及程序设计进阶例程-35 标准文件读写方法

贺老师教学链接 C语言及程序设计进阶 本课讲解示例:以字符为单位复制文件 复制文件a.txt,保存到b.txt中#include#include int main() { FILE *fp...

《C语言及程序设计》实践参考——二进制文件浏览器

返回:贺老师课程教学链接【项目5 - 二进制文件浏览器】 (1)做一个类似BinaryViewer的查看二进制文件的程序,输入文件名后,可以以16进制和ASCII对照的方式列出该文件的内容,可以参考...
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)