![](https://img-blog.csdnimg.cn/20190918140213434.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
C语言入门
本科时写的一些C语言入门文章
丸子家的银河龙
阿尔可
展开
-
C语言生成随机数
今天班里要投票,我就想到要写个随机数生成程序。首先,C语言里生成随机数的函数是rand();这个rand生成的其实是伪随机数,是由随机数种子按一定公式生成的周期很长的数列。用srand函数来改变随机数种子srand(这里填unsigned类型的数据)如果在srand里放上时间种子,就大致可以当做是随机数了。srand(time(NULL));生成一个输出1-4的随机数#includ...原创 2020-03-28 15:48:37 · 3405 阅读 · 0 评论 -
C语言创建一个简单的图书管理系统(简单界面 完整代码)
我用system函数换成白底蓝字了#define _CRT_SECURE_NO_WARNINGS#define BOOK_NAME 32#define LIBRARY_SIZE 16#define ID_SIZE 12#define KEY_SIZE 12#define STUDENTS_NUMBER 16#include<stdio.h>#include<str...原创 2020-01-06 19:51:07 · 7357 阅读 · 0 评论 -
C语言创建简单学生成绩管理系统(数组)
C语言创建简单成绩管理系统数组实现头文件及宏定义#define SIZE 10#include<stdio.h>#include<string.h>#include<stdlib.h>typedef struct student{ char Name[8]; char ID_number[10]; int math; int englis...原创 2019-12-19 11:10:49 · 4031 阅读 · 0 评论 -
C语言创建简单的学生成绩管理系统
C语言创建一个简单的学生成绩管理系统链表实现实现输入、排序、统计、打印及存入文件等功能。先写main函数菜单,把要完成的功能添加上去int main(){ system("color F1"); int sl; char file[8]={'\0'}; char Dele[8]={'\0'}; StudentsList *L; L=(StudentsList*)malloc(...原创 2019-12-19 11:10:56 · 1561 阅读 · 0 评论 -
C语言图的一些操作
用图来储存航班信息并进行一些简单操作C11标准下完整代码如下直接复制粘贴会产生编译错误是因为不同编译器所用的C标准不同。这个最短路径算法有很多乱七八糟的错误(编译可以通过),足以应付结点较少的情况。因为这个程序意义不大,我也懒得改了。想深入了解最短路径输出的私聊我。#define ERROR -1#define MAXVEX 40#define MAXSIZE 8#define I...原创 2019-11-21 23:08:05 · 341 阅读 · 0 评论 -
C语言结构体赋初值
C语言结构体赋初值旧的C标准不支持在定义结构体的时候赋值,例如VS2010和VC++6.0之前我发现我写的在VS2019上运行正常的程序复制到VC6上就报错,一方面是因为旧的C标准不支持一些新函数比如scanf_s和get_s,另一方面是某些特性改变了,比如旧的C标准不支持在定义结构体的时候赋值,在定义结构体的时候并没有分配空间,所以会报错比如下面这样就会报错:typedef struct...原创 2019-11-07 16:13:55 · 6480 阅读 · 2 评论 -
C语言3*3矩阵运算
通过重载运算符实现加法运算通过函数实现转置运算#define _CRT_SECURE_NO_WARNINGS#define SWAP(a,b){a=a+b;b=a-b;a=a-b;}#include<stdio.h>#include<stdlib.h>typedef struct Matrix { int first[3]; int second[3]; ...原创 2019-11-08 10:09:09 · 9814 阅读 · 0 评论 -
结构体里创建构造函数
结构体里的构造函数创建一个结构体而不想用函数对他进行初始化?试试构造函数#define INIT_SIZE 10#include<stdio.h>#include<stdlib.h> //malloc在这个文件里typedef struct Sqlist{ int* list; int length; int size; Sqlist() //构造...原创 2019-09-28 12:28:06 · 1225 阅读 · 0 评论 -
C语言数组排序
有些时候要用char型的数组来储存学号、证件号,这时候的排序就不能简单的用比较大小的方式来完成了。可以使用C语言头文件#include<string.h>的库函数: strcmp(str_1,str_2)来完成在结构体里重载了运算符>下面是strcmp的简单使用及冒泡排序typedef struct Student { char id_number[11] = { '\...原创 2019-09-27 11:39:59 · 1426 阅读 · 0 评论 -
改变传入函数的参数
##小白自学过程中的积累一般函数传入的参数1是复制了参数1并传入,即传入一个和参数1相同的参数2,所以参数1本身并没有被改变。void statistic(int &number,int &character,char *str_m){ number = 0; character = 0; while (*str_m!='\0') { if (*str_m <=...原创 2019-09-06 18:23:59 · 859 阅读 · 0 评论 -
fwrite结构体变量到文件输出乱码的解决办法
fwrite烫烫烫在写学校的C语言作业时遇到了一些问题作业要求统计学生姓名、学号、成绩存入到结构体数组,然后输出到txt文件里,但是我刚开始的时候打开文件发现了一堆烫烫烫,我以为是自己输入到结构体的时候出错了,但是我用printf()把结构体数组的信息显示出来却发现是正确的,后来百度了一下发现是由于int类型的数据写入到文件里格式就会变成人眼中的乱码(电脑眼里还是一样的东西),于是我把int型...原创 2019-09-13 12:16:54 · 5848 阅读 · 5 评论 -
空指针赋值
空指针赋值上学期刚学C语言的时候很迷,老师说要避免野指针,但是空指针似乎又没办法赋值,就只好尽量减少指针的使用。今天查了一下发现是这样赋值的:先把要赋值的变量的地址赋给空指针,然后才能把变量的值赋给该指针。 e = &L.list[i - 1]; *e = L.list[i - 1];e是之前定义的一个空指针...原创 2019-09-20 21:46:21 · 6100 阅读 · 1 评论 -
unsigned char 类型数据似乎不能用作赋值
unsigned char 类型的数据似乎不能用作赋值的量起初我以为给unsigned char类型的数组赋值也要用unsigned char类型的变量才行#include<stdio.h>#include<stdlib.h>int main(){ unsigned i=0; unsigned char str[256]; printf("|%d|\n", ...原创 2019-09-07 10:12:13 · 4155 阅读 · 1 评论 -
C语言结构访问内部成员
C语言结构访问其内部成员如果是结构体(非数组)访问其内部成员,需要用->。如果是结构数组,则访问其内部成员需要用. printf("%s", students[0].name);储存字符串的时候不需要加取地址符号& printf("请输入该学生的姓名: "); scanf("%s", students[0].name);另外用scanf_s储存结构体变量好像是会出现...原创 2019-09-13 11:32:24 · 314 阅读 · 0 评论 -
C语言中的switch用作目录
##switch用作目录非计算机大二小白在自学过程中的一点积累#include<stdio.h>#include<stdlib.h>#define NUM 3void input_grade(int grade[NUM][3]){ int i, j, k, temp_n, temp_m, temp_e, retry; for (i = 0; i < N...原创 2019-08-31 13:16:12 · 411 阅读 · 0 评论