C语言编程

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言编程相关的知识,希望对你有一定的参考价值。

1.编写一个程序,从键盘上输入5个学生的身高和体重以及姓名,将其存放在一个结构数组中,将该结构数组中内容写入一个二进制文件stu.dat中。
2.从上题得到的文件中读出5个学生的身高和体重以及姓名,并存放在一个结构数组中,输出其中身高最高和体重最重的学生的信息(姓名、体重、身高)。

先说明,是个类似的东西,而且读写为文本文件,如果写二进制文件,更简单了。
fread()和fwrite()搞定。传递存储空间的地址,大小(B)即可
/* StuManager.h */
#ifndef _STUMANAGER_H_
#define _STUMANAGER_H_

struct student_type

char num[11];
char name[8];
char cls[20];
int score[3];
int ave;
;

int Save();
int Display();

int Input();
int Output();

#endif // _STUMANAGER_H_

/* StuManager.c */

#include <stdio.h>

#include "StuManager.h"

#define STU_NUM 4

struct student_type stud[STU_NUM];

int Save()

FILE *fp = NULL;
int i;

fp = fopen("score.txt", "w");
if (NULL == fp)

printf("cannot open the file to write down records!\n");
return -1;


for (i=0; i<STU_NUM; ++i)

fprintf(fp, "%s\n", stud[i].num);
fprintf(fp, "%s\n", stud[i].name);
fprintf(fp, "%s\n", stud[i].cls);
fprintf(fp, "%d %d %d\n", stud[i].score[0], stud[i].score[1],
stud[i].score[2]);
fprintf(fp, "%d\n", stud[i].ave);
fprintf(fp, "\n");


fclose(fp);

return 0;


int Display()

FILE *fp = NULL;
int i;

fp = fopen("score.txt", "r");
if (NULL == fp)

printf("cannot read the file to show records!\n");
return -1;

for (i=0; i<STU_NUM; ++i)

fscanf(fp, "%s", stud[i].num);
fscanf(fp, "%s", stud[i].name);
fscanf(fp, "%s", stud[i].cls);
fscanf(fp, "%d %d %d", &stud[i].score[0], &stud[i].score[1],
&stud[i].score[2]);
fscanf(fp, "%d", &stud[i].ave);


Output();

fclose(fp);

return 0;


int Input()

int i;

printf("请输入四组学生信息:\n");
for (i=0; i<STU_NUM; ++i)

printf("学号:");
scanf("%s", stud[i].num);
printf("姓名:");
scanf("%s", stud[i].name);
printf("班级:");
scanf("%s", stud[i].cls);
printf("三门课成绩:");
scanf("%d %d %d", &stud[i].score[0], &stud[i].score[1],
&stud[i].score[2]);
printf("\n");


return 0;


int Output()

int i;
printf("\n学生信息:\n");
for (i=0; i<STU_NUM; ++i)

printf("学号:%s\n", stud[i].num);
printf("姓名:%s\n", stud[i].name);
printf("班级:%s\n", stud[i].cls);
printf("三门课成绩:%d %d %d\n", stud[i].score[0], stud[i].score[1],
stud[i].score[2]);
printf("\n");

return 0;


/////////////////////////////////////////////////////////////////////////////////////
// main part
/* Main_Stude.c */

#include <stdio.h>

#include "StuManager.h"

int main(int argc, char *argv[])

Input();
if (Save() < 0)

return 1;

if (Display() < 0)

return 1;


return 0;


// 例子中读写的文件 score.txt
20100101
yang
112
110 123 141
0

20100102
jieam
111
124 143 125
0

20100103
liyude
112
145 132 129
0

20100104
chunwyi
113
135 137 129
0
参考技术A 这个题目很通俗,你去搜下就有了。这个要写起来子文件很多的。

C 语言编程系列

目录

文章目录

语法入门

C 语言编程 — 发展历史概览
C 语言编程 — 配置开发环境
C 语言编程 — HelloWorld

C 语言编程 — 数据类型概览
C 语言编程 — 基本数据类型
C 语言编程 — 指针类型 — 指针(pointer)
C 语言编程 — 构造数据类型 — 数组(array)
C 语言编程 — 构造数据类型 — 字符串(string)
C 语言编程 — 构造数据类型 — 结构体(struct)
C 语言编程 — 构造数据类型 — 位域(bit field)
C 语言编程 — 构造数据类型 — 枚举(enum)
C 语言编程 — 构造数据类型 — 共用体(union)
C 语言编程 — 空类型 — void 类型
C 语言编程 — 自定义类型 — typedef
C 语言编程 — 数据类型转换

C 语言编程 — 变量、常量与作用域
C 语言编程 — 函数
C 语言编程 — 运算符
C 语言编程 — 逻辑控制语句
C 语言编程 — 预处理指令与宏定义
C 语言编程 — 头文件

C 语言编程 — 代码规范
C 语言编程 — 基本语法练习

应用进阶

C 语言编程 — 指令行操作
C 语言编程 — 输入输出操作
C 语言编程 — errno 错误操作
C 语言编程 — assert 断言操作
C 语言编程 — stat 文件操作

C 语言编程 — 内存操作

C 语言编程 — semaphore 信号量操作
C 语言编程 — fork 进程操作
C 语言编程 — pthread 线程操作
C 语言编程 — 线程池设计与实现

深入理解

C 语言编程 — GCC 程序编译原理
C 语言编程 — GCC 程序汇编原理
C 语言编程 — GCC Attribute 语法扩展
C 语言编程 — GCC 内存对齐问题
C 语言编程 — GCC 大端小端问题
C 语言编程 — GDB 程序调试
C 语言编程 — Makefile

用 C 语言开发一门编程语言

用 C 语言开发一门编程语言 — Lispy 功能演示
用 C 语言开发一门编程语言 — 交互式解析器
用 C 语言开发一门编程语言 — 语法解析器运行原理
用 C 语言开发一门编程语言 — 波兰表达式解析器
用 C 语言开发一门编程语言 — 表达式存储器
用 C 语言开发一门编程语言 — 符号表达式解析器
用 C 语言开发一门编程语言 — 引用表达式解析器
用 C 语言开发一门编程语言 — 变量的设计与实现
用 C 语言开发一门编程语言 — 基于 Lambda 表达式的函数设计与实现
用 C 语言开发一门编程语言 — 条件分支的设计与实现
用 C 语言开发一门编程语言 — 字符串的设计与实现
用 C 语言开发一门编程语言 — 更好的语言

C 语言网络编程

互联网协议 — TCP — 报文格式
互联网协议 — TCP — TCP 连接(三次握手、四次挥手)
互联网协议 — TCP — 确认与重传
互联网协议 — TCP — 滑动窗口
互联网协议 — TCP — 流量控制
互联网协议 — TCP — 拥塞控制
C 语言网络编程 — BSD Socket API
C 语言网络编程 — PF_INETv4v6 sockets
C 语言网络编程 — Socket I/O 模式
C 语言网络编程 — Linux I/O 处理流程与优化
C 语言网络编程 — 高并发 TCP 网络服务器

互联网协议 — HTTP 协议与 Web 服务器
互联网协议 — HTTP/1.1 版本
互联网协议 — HTTP/2 版本
C 语言网络编程 — 轻量级 HTTP 服务器设计与实现

以上是关于C语言编程的主要内容,如果未能解决你的问题,请参考以下文章

C语言和ARDUINO语言一样吗

c语言和c++有啥关系

“C语言是中间语言”,中间语言是啥意思?

C语言编程

C语言的发展及其特点

c语言编程问题