Cachel wood
这个作者很懒,什么都没留下…
展开
-
C语言文件的打开、关闭、读写
文章目录文件指针重定向文本文件和二进制文件文本文件二进制文件打开文件模式关闭文件从命令行获取文件名字符的输入、输出行的输入、输出文件定位文件指针FILE *fp1, *fp2;重定向通常我们强制程序从文件读入而不是从键盘获得输入,方法是在命令行中放上文件的名字,并在前面加上字符<:demo:<in.dat //输入重定向demo:>out.dat //输出重定向demo: < in.dat > out.dat文本文件和二进制文件文本文件字节表示字符原创 2021-01-01 11:38:57 · 409 阅读 · 0 评论 -
C语言预处理器和宏、条件编译
预处理器像是个小软件,可以在编译之前处理C语言程序。宏(macro)#define指令定义了一个宏——用来代表其他东西的一个名字,包括常量和表达式。#include指令告诉预处理器打开一个特定的文件,将它的内容作为正在编译的文件的一部分包含进来。预处理器会删除#define指令,会引入stdio.h指令,并且替换之后所有的#define定义的指令的内容。观察预处理器的输出大部分c的编译器提供了一种方法来观察预处理器的输出。#define N = 10#define INC(x) x+1#原创 2020-12-20 23:16:48 · 207 阅读 · 0 评论 -
C语言结构、联合和枚举(struct、union、enum)
文章目录结构结构变量结构变量的初始化结构类型结构标记typedef嵌套的数组和结构结构数组的初始化联合枚举枚举标记和typedef枚举作为整数结构结构变量结构:具有不同数据类型的值(成员)的集合。联合跟结构很类似,不同在于联合的成员共享同一存储空间。struct{ int number; char name[NAME_LEN+1]; int on_hand;} part1,part2;//part1,part2都是具有相同结构类型的结构变量结构成员通过名字而不是位置访问(与数组的区别原创 2020-12-20 22:14:48 · 506 阅读 · 0 评论 -
C语言实现Schelling模型(谢林模型)
#include<stdio.h>#include<stdlib.h>#include<unistd.h>#include<Windows.h>#include<time.h>#define N 30#define DIRECTION 8#define STATUS 6 //改变初始化条件:empty:poor:rich=2:3:1#define EMPTY 0#define POOR 1#define RICH 2in原创 2020-11-29 00:04:50 · 904 阅读 · 0 评论 -
C语言实现数字走马灯
代码来自老师,仅做学习使用。#include <stdio.h>#include<unistd.h>#include<Windows.h>//for windows#define MAX_DIGITS 10#define CLEAR "cls"//"cls" for windowsconst int segments[10][7] = { {1, 1, 1, 1, 1, 1, 0}, // code for 0 {0, 1, 1, 0,.原创 2020-11-28 23:58:49 · 2166 阅读 · 2 评论 -
Windows在cmd命令行环境下运行c程序
现在有许多便利的编译器,例如DevC++,sublime,vscode等等,在这些编译器里面我们添加必要的插件就可以直接运行C语言程序。但是还有一种我们可以采取的普适的运行C程序的方法——在cmd命令行环境下运行C程序。...原创 2020-11-19 14:31:23 · 6866 阅读 · 0 评论 -
C语言字符串用法大全
C语言指针是非常重要的一块内容,也是比较难的一块内容。接下来我们来讨论一下有关指针的知识。原创 2020-11-19 14:27:15 · 767 阅读 · 0 评论 -
C语言tolower函数和strlwr(toupper和strupr)的区别
C语言有两种把大写字母转换成小写字母的方式,它们之间有许多有趣的区别,接下来我们来探究一下。原创 2020-11-19 14:25:39 · 1463 阅读 · 0 评论 -
C语言strlen函数和sizeof的区别
C语言字符串的两种计算长度的方式,事实上两者有许多不同,我们可以来探究一下。原创 2020-11-19 14:23:18 · 348 阅读 · 0 评论 -
C语言main函数的两个参数(int argc和char *argv[ ])
命令行信息不仅对操作系统命令可用,它对所有程序都是可用的。为了能够访问这些命令行参数(C标准中称为程序参数),必须把main函数定义为含有两个参数的函数,这两个参数通常命名为argc和argv∶int main(int argc,char *argv[]){……}argc(“参数计数”)是命令行参数的数量(包括程序名本身),argv(“参数向量”)是指向命令行参数的指针数组,这些命令行参数以字符串的形式存储。argv[0[指向程序名,而从argv[1]到argv [argc-1]则指向余下的命令原创 2020-11-21 11:13:11 · 1179 阅读 · 1 评论 -
C语言数组用法大全
数组:arrays与列表:list的比较数组:元素定位、检索方便,但是不容易增删列表:元素增删方便,但是定位比较繁琐数组的类型是必需的,用于计算移动偏移量数组的长度是必需的,用于决定空间分配数组的元素类型必须一致(所占长度相同)数组的地址是它的首字节的基地址静态数组:指的是长度固定的数组(fixed arrays)变长数组:长度不固定的数组(variable arrays),变长数组不能初始化#include<stdio.h>int main(void){ int n;原创 2020-11-07 21:37:07 · 693 阅读 · 0 评论 -
C语言存储期限、作用域和链接
文章目录局部变量静态局部变量形式参数外部变量(全局变量)外部变量的利与弊声明说明符autostaticexternregister变量的性质局部变量自动存储期限:局部变量的存储期限在包含该变量的函数被调用时自动分配,函数返回时收回。块作用域:从变量声明的点开始一直到所在函数体的末尾。静态局部变量形式参数形式参数拥有和局部变量一样的性质,即自动存储期限和块作用域。唯一区别在于每次函数调用时对形式参数自动进行初始化。外部变量(全局变量)静态存储期限文件作用域:从变量被声明的点开始一直到所在文件原创 2020-10-29 00:07:32 · 520 阅读 · 0 评论 -
c语言换硬币
7-69 换硬币 (20分)将一笔零钱换成5分、2分和1分的硬币,要求每种硬币至少有一枚,有几种不同的换法?输入格式:输入在一行中给出待换的零钱数额x∈(8,100)。输出格式:要求按5分、2分和1分硬币的数量依次从大到小的顺序,输出各种换法。每行输出一种换法,格式为:“fen5:5分硬币数量, fen2:2分硬币数量, fen1:1分硬币数量, total:硬币总数量”。最后一行输出“...原创 2020-04-24 13:26:21 · 3432 阅读 · 3 评论 -
c语言水仙花数
7-93 水仙花数 (20分)水仙花数是指一个N位正整数(N≥3),它的每个位上的数字的N次幂之和等于它本身。例如:153=13+53+33.153=1^3+5^3+3^3.153=13+53+33.本题要求编写程序,计算所有N位水仙花数。输入格式:输入在一行中给出一个正整数N(3≤N≤6)。输出格式:按递增顺序输出所有N位水仙花数,每个数字占一行。输入样例:3输出...原创 2020-04-24 12:07:29 · 3740 阅读 · 3 评论 -
C语言随机数函数
rand()简介1 使用该函数首先应在开头包含头文件<stdlib.h> #include<stdlib.h> //(C++建议使用#include<cstdlib>)2 在标准的C库中函数rand()可以生成0~RAND_MAX之间的一个随机数,其中RAND_MAX 是stdlib.h 中定义的一个整数,它与系统有关。rand()函数没有输入参数,直接通过表达式rand()来引用;例如可以用下面的语句来打印两个随机数: printf("Random原创 2020-10-11 08:18:47 · 3969 阅读 · 0 评论 -
C语言 #define和const的区别,问号运算符,鲁棒性
角度1:就定义常量说的话:const 定义的常数是变量 也带类型, #define 定义的只是个常数 不带类型。角度2:就起作用的阶段而言:define是在编译的预处理阶段起作用,而const是在 编译、运行的时候起作用。角度3:就起作用的方式而言:define只是简单的字符串替换,没有类型检查。而const有对应的数据类型,是要进行判断的,可以避免一些低级的错误。rand()简介1 使用该函数首先应在开头包含头文件<stdlib.h> #include<stdlib原创 2020-10-01 23:45:30 · 180 阅读 · 0 评论 -
C语言幻影字符(scanf保留回车缓冲区问题)
C语言读取两个数字,不会出现奇怪问题#include<stdio.h>int main(void){ printf("Enter two numbers:"); int a,b; // would wait for non blank characters scanf("%d\n",&a); scanf("%d",&b); printf("Get two numbers: %d %d\n",a,b); return 0;}PS E:\vscode -原创 2020-09-23 16:49:30 · 810 阅读 · 0 评论 -
C语言scanf(“%1d“),按单位读取整数
请输入一个三位数,然后将它逆序输出一般的思路我们可以对于确定位数的数字,不妨用取余运算来解决#include <stdio.h>int main(){ int n; scanf("%d",&n); int m=n; printf("%d ",n%10); n /=10; printf("%d ",n%10); printf("%d ",m/100); return 0;}3455 4 3常规做法就.原创 2020-09-23 16:26:15 · 7465 阅读 · 0 评论 -
C语言格式化输出方法总结
不管是C语言还是python,在格式化输出的时候有一部分规则是相同的,但是由于两者的语法规则有一些区别,所以我们还是单独拿出来讨论,之后再对比两者的相同和不同之处。原创 2020-09-21 23:30:44 · 634 阅读 · 0 评论 -
c语言正序输出整数的各位数字
7-37 输出整数各位数字 (15分)本题要求编写程序,对输入的一个整数,从高位开始逐位分割并输出它的各位数字。输入格式:输入在一行中给出一个长整型范围内的非负整数。输出格式:从高位开始逐位输出该整数的各位数字,每个数字后面有一个空格。输入样例:123456输出样例:1 2 3 4 5 6一般的思路就是先得出这个数的位数,然后从高位开始分割,每个数字后面跟一个空格。特别...原创 2020-04-23 23:09:16 · 9737 阅读 · 2 评论 -
c语言高精度小数
高精度小数(10分)题目内容:由于计算机内部表达方式的限制,浮点运算都有精度问题,为了得到高精度的计算结果,就需要自己设计实现方法。(0,1)之间的任何浮点数都可以表达为两个正整数的商,为了表达这样两个数的商,可以将相除的结果以多个整数来表示,每个整数表示结果的一位。即商的第一位用一个整数来表示,第二位用另一个整数来表示,以此类推,就可以输出一个高精度的除法结果了。如16/19的结果0.8...原创 2020-04-23 22:55:32 · 931 阅读 · 0 评论