问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

C语言的一些问题

发布网友 发布时间:2022-05-03 09:26

我来回答

2个回答

热心网友 时间:2022-05-05 12:33

FILE *fp; -- fp 相当于打开后的文件的 id, C 语言用这个id来区分打开的是哪个文件,读还是写还是又读又写又添加,是2进制文件还是ASCII文件。FILE 是系统定义的结构。
fp=fopen("fstu","wb"); -- 打开文件,文件名 fstu, wb--写, 2进制文件, fstu文件 id 是 fp。
fclose(fp); -- 文件用完要关闭文件,让读写缓冲区的内容写入fstu。

stu[] -- 学生结构数组,stu[i]--存第i个学生信息的一个结构,stu[i].n -- 序号。从 1 开始编。数组下标 i 从 0 开始.
if(stu[i].score[j]>100) { j--;continue;} -- 分数大于100,则j减1,跳过循环体内的下面的语句:
s+=stu[i].score[j]; -- 计算分数之和,存入s
执行下一循环,实际作用是让刚才的j循环重做一次,重做输入分数计算。

j 循环 计算了 3 门成绩 之和
stu[i].avr=s/3.0; -- 除3 得平均分,存入 第i个学生信息结构里的 avr 里。

fwrite(&stu[i],sizeof(struct student),1,fp); -- 把第i个学生信息结构里的数值,共 sizeof(struct student) 个 字节内容,写到 fp 的文件fstu里。
继续 i 循环。

热心网友 时间:2022-05-05 13:51

我帮你一条一条的分析,仔细看哦

#include "stdio.h" // 这一条通常用<>代替"",包含头文件
#define SIZE 50 // 宏定义常量,SIZE为50
int sum=0; // 定义变量sum,初始化为0
static char *str[]={"C","Math","English"};// 定义一个指向char类型的指针数组,注意{}里面的元素都是用""括起来的,""表示这是一个字符串,字符串本身就是一个地址,是字符串首个字符的地址

struct student // 定义一个结构
{ int n; // 定义int型变量n
long num; // 定义long型变量num
char name[10]; // 定义char型数组
int age; // 定义int型变量
char addr[10]; // 定义char型数组
int score[3]; // 定义int型变量
float avr; // 定义float变量
} stu[SIZE]; // 这里是定义了一个结构数组stu【SIZE】

void fin()
{ int i,j,s;char f;
FILE *fp; 【这一行的原理和用意】
printf(" Warring! Input? ( y/n ) : \7\7\7"); // \7是转义字符,表示鸣铃
f=getchar();f=getchar(); // 输入字符
if(f!='y') // 比较
return;
fp=fopen("fstu","wb"); 【这一行的fopen("fstu","wb");这一句的来历】 // fopen要么是打开一个已有的文件,要么是创建一个不存在的文件,第一个引号中的部分是文件的绝对路径或者相对路径,第二个引号是打开模式,比如读,写入,读取加写入,或者以文本模式进行或者以二进制模式进行。fp就是最终文件的指针,通过fp访问文件
for(i=0;i<SIZE;i++)
{ printf(" i=%d Input No. (i=-1,return) i=? ",i+1);
scanf("%d",&j);
if (j==-1)
{ printf("\n * * * Press any key return! * * *\n",j);
fclose(fp);getch();return; 【fclose(fp);是怎么回事】 // 关闭文件
}
else
{ printf(" Input num,name,age,addr : ");
stu[i].n=i+1; 【stu[]的含义,或者是什么作用】 // 数组
scanf("%ld%s%d%s",&stu[i].num,stu[i].name,&stu[i].age,stu[i].addr);
s=0;
for(j=0;j<3;j++)
{ printf(" Input %-7s score : ",str[j]);
scanf("%d",&stu[i].score[j]);
if(stu[i].score[j]>100)
{ j--;continue;} 【从这句开始以下几句的含义或是用途】
s+=stu[i].score[j]; // s=s+stu[i].score[j],将s与
结构数组stu中的第i+1个元素的score成员的第j+1个元素相加
}
stu[i].avr=s/3.0;
fwrite(&stu[i],sizeof(struct student),1,fp); // 以二进制模式写入
}
}
fclose(fp); // 关闭文件
}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
怎么网页突然自动关闭 网页为什么会突然自动关闭 网页自动关闭什么原因 怎么在微信里面自己组建群聊 门开在东南角,北面中间有窗,办公桌如何摆放 请推荐一款app导航系统,地图信息准确,界面友好,主要用于在境外... 急求一款app导航系统,地图信息准确,界面别太多杂乱的东西,主要用在境外... 欠了闪银3600,逾期125天,今天算了下,差不多要还6000,不还会怎么样?_百 ... 怎么进出口货物老被查验,难道被盯上了?海关是如何查验的,海关查验... 来料加工海关会查什么 外贸知识:海关查验详解 WOW里关于RL带团问题(BT) C#中接口问题 魔兽世界黑暗议会FST怎么打 the black hourse ( )veally fast中间添什么 FST后面一个字母是什么? fast和quickly的区别。 如:Wang ping walk as _____(快)as Lily does .应该填什么?为什么?谢谢。 f_st英语怎么填好烦,填a fst组成三个单词? 手动吸奶器怎么用?我每次吸只能吸出几滴,难道是我没奶吗 急!我解压了cad2010注册机32位+64位之后,为什么64位注册机自动消失了呢?? 请问华为metbook13安装运行cad注册机的时候总是被系统自带的杀毒软件删除注册机怎么办? 中国人民保险全险包含什么 中国人民财产保险三千多元都报什么 中国人民保险公司有那些险种 在京东网我用手机号登录注册为什么老显示ip登录频繁请稍后再试 手机绑定手机号,显示操作过于频繁,绑定不了,我等了几个小时还是不行,要等多久才行? 一个星期前 我注销了京东账号 现在想从新注册 却告知我手机号码被频繁使用 这个怎么办? 生菜包怎么做好吃 生菜包的做法 花生米除生、煮、炒这三种吃法,还有别的吃法吗? 花生米做法大全的花生米茶 魔兽世界FS在F4开怪用什么技能 盘点20w左右的小钢炮,拥有小钢炮的体验是什么? 少女时代gee里面这三个分别是谁 ofen是什么意思 ofen 与sometimes在用法和意义上的区别? how ofen 是什么意思 very often是什么意思?怎样运用? usually和often有什么区别吗 陌陌裏面中奖是怎麼回事 国际货物运输与保险的计算题~求救! 国际运输与保险考试题1 国际运输与保险案例题求解!! 陌陌百元抽奖可以中奖的为什么突然中不了奖了 国际运输与保险计算题答案 【国际贸易运输与保险】的一道题,希望有人可以帮忙解一下 国际商品贸易的运输保险(计算题) 有关《国际贸易运输与保险》 的问题 Oppoa5手机接不到电话怎么办? 梦见来月经在火车站和老公找公共厕所在厕所月经很多 梦见情人加我闺蜜微信是啥意思?