
C语言学习之路
冲冲冲
Y4tacker
关于我:Web安全、Java安全研究弟中弟
学校:四川大学(2019级)
写给自己:宁静致远,淡泊明志
展开
-
C语言文件分割与文件合并(Dev C、VC等都可过编译)
一、文件分割首先要实现,文件的分割,很明显就得知道文件到底有多大,并将这个数据的n分之一作为每次文件操作的标准;int file_size(FILE *fp){ int size = 0; while(!feof(fp)){ fgetc(fp); size++; } rewind(fp); return size-1;}这个函数实现了文件大小的读取,以字节为单位,一定...原创 2020-01-29 20:51:18 · 26908 阅读 · 3 评论 -
(接上篇)C语言实现文件合并功能
????太简单了,完全就是练手的,大家看看吧,不懂的就评论区问吧!!!加油!!!#include<stdio.h>#define SIZE 1024void execute();int main(){ execute();}void execute(){ FILE *fp1; FILE *fp2 = fopen("final.txt","wb"); char nam...原创 2020-01-26 09:54:58 · 28553 阅读 · 2 评论 -
C语言实现文件分割功能
首先要实现这个功能,一开始便要知道要分割的文件的文件大小int sizefile(FILE *fp){ int sizef=0; while(!feof(fp)){ fgetc(fp); sizef++; } rewind(fp); return sizef-1;}上面这个函数实现了文件大小读取,唯一要注意的是,要将指针重新放回头部;#include<stdio....原创 2020-01-25 19:55:05 · 27476 阅读 · 4 评论 -
C语言实现日历功能
今天参考网上各路大神代码,然后自己利用思路打了一遍#include<stdio.h>#define MONTHS 12int runnian_day(int,int,int);int is_runnian(int);int get_days(int, int, int); ...原创 2020-01-22 17:52:10 · 26236 阅读 · 2 评论 -
C语言栈生成方向以及内存存放方向(小端对齐)
????首先这是一个很详细的图片,看下,简单记忆一下:1、栈的生成方向#include<stdio.h>void fun1(){ int z = 10; //栈底(高地址) int x = 20; int c = 30; int d = 40; //栈顶(低地址) printf("变量z地址:%#x\n",&z); printf("变量x地址:%#x...原创 2020-01-16 19:54:39 · 24070 阅读 · 1 评论 -
C语言 ------ main与子函数在栈区、堆区以及全局区内存的使用
????首先有这样几种情况:①main函数在栈区开辟的内存,所有子函数均可以使用;②main函数在堆区开辟的内存,所有子函数均可以使用;③子函数在栈区开辟的内存,子函数1和2均可以使用,但main不可以;④子函数1在堆区开辟的内存,main、子函数1和2都可以使用;⑤子函数2在全局区开辟的内存,子函数1和main均可以使用;具体的解释在下面这串代码中的注释讲的很清楚!!!#include...原创 2020-01-16 19:30:35 · 27008 阅读 · 0 评论 -
C语言的一些常见错误(2)
(参考书籍C Language Demystified)一、首先看看下面的这个代码#include<stdio.h>#include<stdio.h>void main(){ char st[]="When you go home?"; printf("%s\n",st); printf("%c\n",st[5]); printf("%s\n",st[5...原创 2020-01-10 15:43:06 · 23857 阅读 · 0 评论 -
C语言的一些常见错误(1)
一、输入格式配对错误①案例一:#include<stdio.h>void main(){ double x,y; scanf("%f%f",&x,&y)}改正:将%f改为%lf;如果是float定义的变量,则可用%f;Add:f与e作用相同且可以互相替换,如%f、%e、%le;%g------用于输出实数,根据数值大小自动选择f或者e格式;利用c...原创 2020-01-09 20:13:12 · 23737 阅读 · 5 评论 -
逆向做出来的
main函数里面/************************************************* 这是电话本管理程序的主程序文件。* *************************************************/#include <stdio.h>#include <Windows.h>...原创 2019-12-18 23:29:15 · 17470 阅读 · 0 评论 -
链表(持续更新 先搭建框架)
一、静态链表和动态链表#include<stdio.h>#include<malloc.h>struct Linknode{ int num; struct Linknode *next;};//静态链表 void test1(){ struct Linknode node1 = { 10 , NULL}; struct Linknode node...原创 2019-12-10 23:12:20 · 17308 阅读 · 0 评论 -
C语言文件操作总结
1、文件的写 今天也要冲冲冲首先还是先看一个简单的例子:include<stdio.h> int main(){ FILE *fp; //声明一个文件指针,指向文件缓冲区的首地址 char ch; if( (fp = fopen("file_1.txt","a")) == NULL ) //w+打开可读写文件,若文件存在则清零,不存在则新建文件,a 模式不清...转载 2019-12-04 13:26:46 · 17451 阅读 · 0 评论 -
第十一周课堂作业(二)
太懒了 毕竟这道题解法太明显 直接上代码吧 今天也要冲冲冲!!!方法一:#include <stdio.h>#include <string.h>enum{ red,white,blue}; int main(){ int s[10]; int n; int count=0; int i=0; int rr,nx,lb; int temp...原创 2019-12-02 13:41:43 · 17415 阅读 · 2 评论 -
第十一周课后练习题(一)
实现一个成绩管理程序: 直接先上代码PPT里面说给学号、姓名占用的内存要求动态分配,既然如此不如直接给所有的结构体都动态分配当然在看之前希望你们先看下我上一篇的代码不然typedef不太好理解,当然也可以不用typedef,毕竟这只是简化输出可以看一下我上一篇博客哦https://blog.csdn.net/solitudi/article/details/103249389...原创 2019-11-26 23:06:14 · 17289 阅读 · 0 评论 -
关于typedef的一些常用点
今天讲解typedefC 语言提供了 typedef 关键字,我们可以用它来创建数据类型别名 今天也要冲冲冲!!!1、使用typedef简化结构体关键字 (struct)还记得有一次课堂作业曾经那个学生成绩管理系统中struct student{ char name[10]; double yuwen; double math; double english; do...原创 2019-11-26 07:32:32 · 17365 阅读 · 0 评论 -
第八章编程上机题(详细解析)
编程题:希望大家copy之前还是自己先想一想哈随机构造50个句子使用4个名为article(冠词),noun(名词),verb(动词),preposition(介词)的指向字符串的指针数组。数组article包含“the”,“a”,“one”,“some”和“any”;数组noun包含“boy”,“girl”,“dog”,“town”和“car”;数组verb包含“drove”,“jum...原创 2019-11-18 22:34:07 · 14563 阅读 · 0 评论 -
用宏定义替代简单的自定义函数
首先我们得知道预编译又叫预处理。预编译不是编译,而是编译前的处理。这个操作是在正式编译之前由系统自动完成的。首先我们来复习一下宏定义基本用法:#define M 10 //切记不能再后面加分号以下是我在百度百科里面找到的相关内容#define 宏名 字符串;带参宏定义的一般形式为:#define 宏名(参数表) 字符串;C语言中,可以用 #define 定义一个标识符来表示一个...原创 2019-11-18 13:18:14 · 17001 阅读 · 0 评论 -
实现一个成绩管理程序(不用结构体和使用结构体两种)
每天都告诉自己要努力向前冲!!! 冲冲冲!!!题目要求:输入多个学生的学号(由字母与数字组成)、姓名(由字符或者汉字组成)、语文、英语、数学三门课程的成绩计算每个学生的平均成绩和总分按总分由高到低的顺序输出学生的学号、姓名、语文成绩、英语成绩、数学成绩、总分、平均分学号、姓名占用的内存要求动态分配,实现过程中可以用指针、数组等,不得用结构体structure#include&...原创 2019-11-17 22:10:13 · 14807 阅读 · 0 评论 -
输入两个长度不定的字符串,将它们合并,并按各字符ASCII码从小到大顺序输出(使用指针)
C语言第九周作业二内容为本周第九周课后作业以下combine函数内的东西可以用strcat替代题目内容:输入两个长度不定的字符串,将它们合并,并按各字符ASCII码从小到大顺序输出思路:很简单,先用combine实现字符串的组合,接着用sort按照冒泡排序实现题目要求!!!#include<stdio.h>#include<string.h>#define M...原创 2019-11-17 19:04:49 · 15680 阅读 · 0 评论 -
输入一个整数数组(元素个数=10),选出最小值和最后一个元素交换,选出最大值和第一个元素交换,输出处理后的数组(使用指针))
C语言课后习题编程作业***内容为本周第九周课后作业 ***输入一个整数数组(元素个数=10),选出最小值和最后一个元素交换,选出最大值和第一个元素交换,输出处理后的数组。 要求:用函数实现交换,并在交换中使用到指针。输入的具体数据可以与示例图不相同。 每天都告诉自己冲就完事了!!!~~*欢迎大家提出宝贵的意***思路:***(大佬们嘴下留情,但是希望大佬有更好的思路让我进步)我...原创 2019-11-17 18:44:58 · 16431 阅读 · 0 评论