C语言笔记
文章平均质量分 71
马大哈先生
新人一枚,请大家多多关照!
展开
-
scanf_s的特殊输入方式:scanfz_s(“%[^\n]%*c“,str);
语法:#include <stdio.h>int scanf_s( const char *format, ... ); scanf_s()函数根据由format(格式)指定的格式从stdin(标准输入)读取,并保存数据到其它参数. 它和printf()有点类似. format(格式)字符串由控制字符,空白字符和非空白字符组成. 控制字符以一个%符号开始,如下:控制字符 说明%c 一个单一的字符%d 一个十进制整数%i 一个整数%e, %f...转载 2020-07-09 17:49:28 · 1230 阅读 · 0 评论 -
C语言 逐行读txt文件中的内容进行修改后写到新文件中
将test.txt文件中这种格式的数据转化成test1.txt中的这种数据, 代码如下:#include <stdio.h>#include "securec.h"#include <string.h>#include <stdlib.h>#define MAX_LINE 1024 ...原创 2020-04-30 19:34:45 · 6399 阅读 · 0 评论 -
C语言中以字符串形式输出枚举变量
每个枚举常量对应一个整形数字,很多时候可以像整形一样使用,这个大家都知道;但是如果要求打印枚举变量名的字符串,办法也有很多,查看网上方法几乎都需要转换,要么用数组,下面要说的是一种可以算是直接打印的新方法;#include <stdio.h>#define ENUM_CHIP_TYPE_CASE(x) case x: return(#x);enum cvmx_c...转载 2020-04-24 11:00:44 · 2231 阅读 · 0 评论 -
C笔记(十二)——指针小结
原创 2020-03-10 16:44:00 · 267 阅读 · 0 评论 -
C语言笔记(十七)——sizeof()、strlen()与str.length()
求数组长度:1、sizeof()关键字:根据sizeof ()关键字可以获得数据类型或变量在内存中所占的字节数,所以数组所占总的字节数除以一个元素所占的字节数就是数组的长度。如下代码所示,数组 a 是 int 型的,每个元素占 4 字节,所以长度为 10 的数组在内存中所占的字节数就是 40。而总的字节数除以一个元素所占的字节数就是数组的长度,如下面这个程序::# include &...原创 2020-03-10 10:14:55 · 2993 阅读 · 0 评论 -
C语言笔记(十七)——枚举类型
1.1 枚举定义 枚举(enumerated type)声明代表整数常量的符号名称,关键字enum创建一个新的枚举类型。实际上,enum常量是int类型的。 #include <stdio.h> enum A { red, yellow, black }; int main() { // ye...转载 2018-07-02 09:21:16 · 778 阅读 · 0 评论 -
C语言笔记(十四)——内存四区
一、内存四区内存中各个程序都是存储在不同区域的,而每个区域又包含了相同的四个区:代码区,静态区,堆区,栈区。1.1代码区 代码区code,程序被操作系统加载到内存的时候,所有的可执行代码(如a = 3;)都加载代码区,也叫代码段,这块内存是不可以在运行期间修改的。1.2 静态区 所有的全局变量以及程序中的静态变量都存储到静态区,比较如下两段代码的区别1.3栈区 栈stac...原创 2018-06-27 10:06:51 · 267 阅读 · 0 评论 -
C语言笔记(十五)——结构体、联合体、枚举与typedef
一、结构体#include <stdio.h>struct student//student是结构体名字{ char name[100]; int age; int sex;}; //说明了结构体的数据成员类型.不能直接用student,需要在主函数中定义变量int main(){ /**********定义结构体的方法1*********...原创 2018-06-28 18:49:35 · 277 阅读 · 0 评论 -
C语言笔记(十六)——联合体
1.1 定义 联合体union是一个能在同一个存储空间存储不同类型数据的类型。联合体所占的内存长度等于其最长成员的长度,也叫共用体。联合体虽然可以有多个成员,但同一时间只能存放其中一种。union A{ int a; char b;};int main(){ union A a; a.a = 10246; printf(" %d\n", si...转载 2018-06-28 19:40:03 · 215 阅读 · 0 评论 -
malloc.h头文件以及malloc函数
malloc.h,动态存储分配函数头文件,当对内存区进行操作时,调用相关函数.。malloc函数是一种分配长度为num_bytes字节的内存块的函数,可以向系统申请分配指定size个字节的内存空间。说通俗点就是动态内存分配,当无法知道内存具体位置的时候,想要绑定真正的内存空间,就需要用到动态的分配内存。malloc 函数返回的是 void * 类型。void* 表示未确定类型的指针。C,C+...转载 2018-07-25 14:44:34 · 5963 阅读 · 0 评论 -
C语言笔记(十三)——作用域
一、作用域 就是一个变量或者函数起作用的地方。一个c语言变量的作用域可以是代码块作用域、函数作用域或者文件作用域。 (1)代码块作用域:代码块是{}之间的一段代码。int main(void){ int a = 0; a = 10; { int a = 100;//此处a的作用域是在这个{}范围内 } printf("a...原创 2018-06-23 16:41:40 · 393 阅读 · 0 评论 -
C语言笔记(十二)——一维指针(一)
一、指针1.1 指针的概念 指针是一个变量,指针存放的内容是一个地址,该地址指向一块内存空间1.2 指针变量的定义 int *p;//定义一个int类型的指针变量 *p;//代表指针所指内存的实际数据 注:指针变量只能存放地址,不能将一个int型变量直接赋值给一个指针。p = 10;将整数10赋值给变量p,这种写法是不可以的int main()...原创 2018-06-07 19:16:58 · 668 阅读 · 0 评论 -
C语言笔记(十二)——二维指针(二)
1.1 指针数组 int *p [5];定义 说明 int i; 定义整型变量i int *p; 定义一个指向int的指针变量p int a[10] 定义一个数组名为a的int数组 int *p[10] 定义一个指针数组,其中每个数组元素指向一个int型变量的地址 int (*p)[10] 定义一...原创 2018-06-20 20:09:18 · 376 阅读 · 0 评论 -
C笔记(七)——选择结构if,switch,条件运算符
一、if语句 if表达式的形式: 1、if(表达式) 语句1; else 语句2; 2、if(表达式1) 语句1; else if (表达式2) 语句2; else if (表达式3) 语句3; ... ...原创 2018-04-07 19:57:30 · 538 阅读 · 0 评论 -
C笔记(四)——整型数据
整型变量的分类一、int整数类型1.1 int常量、变量 int表示的是4个字节,32位的二进制整数,在内存中占据4个字节的空间。取值范围在-2^31~(2^31)-11.2 printf输出int值 %d:输出一个有符号的10进制整数; %u:输出一个无符号的10进制整数;注:待输出数是正数时,结果与其他结果相同。待输出数是负数时,%u会把负数的补码...原创 2018-03-31 15:30:07 · 235 阅读 · 0 评论 -
C笔记(五)——char字符型数据
1、字符常量、字符变量 字符常量:用单撇号括起来的一个字符。如'a'、‘$’、‘?’等。 字符变量:用来存放字符常量,只能存放一个字符。如:char c1;c1='a'; char的本质就是一个整数,一个只有一个字符的整数。2、printf输出char %c:表示输出一个字符,而不是一个整数。3、转移字符及其作用(打印不出来的char转义符) \n:换行,将当前位置移...原创 2018-03-31 16:19:47 · 955 阅读 · 0 评论 -
C笔记(六)——浮点型数据,算术运算和表达式
一、浮点型数据1、浮点常量、变量 分类:在32位系统中各类浮点的位数float:单精度浮点型,4个字节 doule:双精度浮点型,8个字节 long double:长双精度浮点型2、printf输出浮点数 %f:指定该实数以小数形式输出。 浮点数的效率很低,若只计算整数,则要避免使用浮点数二、算术运算和表达式2.1 自增...原创 2018-03-31 16:44:39 · 1978 阅读 · 0 评论 -
C笔记(二)——程序的组成要素
#include <stdio.h> //使用prientf库函数之前,必须include <stdio.h>int main(void)//函数名。注:int main()有两种表达方式,一种是int main(),一种是int main(void)。若()里没有void,代表这个函数可以有参数,也可以没参数。有void的话,明确表达了这个函数没有任何参数。{ ...原创 2018-03-28 11:17:31 · 2119 阅读 · 0 评论 -
C笔记(八)——循环控制
一、while语句 while语句用来实现“当型”循环结构。一般形式为: while(表达式) { 语句} 若条件为真,继续循环;条件为假(0),循环结束。while(1)是死循环的写法。通常不知道其循环次数二、do...while语句 先执行循环体,再判断循环条件是否成立。其一般形式为 do...原创 2018-04-10 19:56:24 · 181 阅读 · 0 评论 -
C笔记(九)——数组和字符串
一、数组 //数组必须先定义,后引用1.1 一维数组的定义表现形式:类型说明符 数组名【常量表达式】; //常量表达式中可以包括常量和符号常量,不能包含变量例如:int array [10]; 定义了一个叫array的一维数组,从array[0]-array[9]一共有10个元素,每个元素都是int型的。说明:(1)array [0] = 10; 给第一个...原创 2018-04-16 10:41:42 · 485 阅读 · 2 评论 -
C笔记(一)——C语言的数据类型
目录一、计算机存储数据的最基本单元:二、高级语言中引入数据类型的目的三、C语言的数据类型四、C语言程序中的数据形式:常量(constant)和变量(variable)4.1 常量: 4.1.1 #define 定义宏常量 在main函数外,常量名为大写 4.1.2 const常量 //常量名一般为小写或者大写加小写结合的形式。4.2 变量4.2.1 变...原创 2018-03-29 15:03:57 · 193 阅读 · 0 评论 -
C笔记(十)——函数的定义和调用以及多文件编译
一、函数的定义和调用1.1 函数的组成 通常情况下,函数包括返回值类型、函数名、参数列表和函数体4部分。其中,返回值类型、函数名和参数列表构成了一个函数原型,而函数体表示函数的实现。 返回值类型 函数名(参数列表) { 函数体; } 通常,函数名可以是任何合法的标识符。 函数的参数列表是可选的,若函数不需...原创 2018-05-09 19:00:02 · 644 阅读 · 0 评论 -
C笔记(十一)——递归函数
一、定义:函数自己调用自己,有先序递归和后序递归#include <stdio.h>void text(int n){ if(n > 0) //终止条件 { n--; printf("n = %d\n", n); //先序递归,代码顺序执行 text(n);//函数递归,即自己调用自己 pri...原创 2018-05-13 20:23:26 · 244 阅读 · 0 评论 -
C笔记(三)——进制与进制转换,原/补码
进制转换一、二进制数:位、字节与字 位:只有0、1两种状态,简称bit; 字节:由8个二进制数组成,称为8位,简称BYTE 字:由两个字节组成,简称DWORD。1字=2字节=32位 例如:U盘的单位是GB(GBYTE),字节。网速Mb,bit。二、八进制 以8为基数的数制系统(0-7),C语言中0表示八进制,即0123表示八进制123。-0...原创 2018-03-30 15:16:20 · 759 阅读 · 0 评论