![](https://img-blog.csdnimg.cn/20190918140213434.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
C/C++
C/C++
伦敦看日出
O Captain! My Captain!
展开
-
将链表中所有节点的链接方向“原地”逆转
将链表中所有节点的链接方向“原地”逆转#include<stdio.h>#include<stdlib.h>#define N 10typedef int SLTDateType;typedef struct Node//定义单链表节点{ SLTDateType date; struct Node *next;}Node,*LinkList;SLTDateType LinkList_Init(LinkList &L){ L=(Link原创 2021-03-30 17:22:16 · 2273 阅读 · 0 评论 -
命名空间的using声明
using声明具有如下形式:using namespace :: name命名空间std::std::cin//表示从标准输入读取内容使用作用域操作符(::)的含义:编译器从操作符左侧名字所示的作用域中寻找右侧那个名字。因此:std::cin的意思就是要使用命名空间std中的名字cin。//输入一串字符然后打印#include<iostream>int main(){ char a[10]; std:: cin >> a; std:: cout<<原创 2021-04-19 20:51:05 · 253 阅读 · 1 评论 -
第一篇C++
C++是C语言的继承,也可以说C++包含了C语言。、#include<iostream> //C++的标准输入输出头文件,类似与C语言的stdio.husing namespace std;//C++标准程序库中的所有标识符都被定义于一个名为std的namespace中值得注意的是C++的输入输出头文件后面没**.h**cout<<"hello C++";//cout<<是C++的输出符号当然这里也可以使用C语言中的printf,不过需要加上相应的头文件原创 2021-03-09 15:13:02 · 81 阅读 · 0 评论 -
绝杀C字符函数和字符串函数
文章目录前言求字符串长度strlen介绍strlen直接使用:strlen模拟实现:strlen对比sizeof长度不受限制的字符串函数strcpy直接使用模拟实现:strcat直接使用:模拟实现:strcmp直接使用:模拟实现:长度受限制的字符串函数strncpystrncatstrncmp字符串查找strstrstrtok字符分类函数内存操作函数memcpymemmovememcmp前言C语言中对字符串的处理很是繁琐,但是C语言本身是没有字符串类型的,字符串通常放在常量字符串中或者字符数组中。字符串原创 2021-06-13 19:57:57 · 256 阅读 · 16 评论 -
数据的存储之深度剖析
文章目录数据类型基本归类整形在内存中的存储数据类型基本归类整形家族int --> unsigned int /signed intshort -->unsigned short /signed shortchar -->unsigned char /signed charlong -->unsigned long /signed long注:整型的每一种都分为:无符号(unsigned)和有符号(signed)两种类型。相反float和double总是带符号的。原创 2021-05-26 23:23:55 · 251 阅读 · 2 评论 -
指针
文章目录指针是什么?指针和指针类型野指针指针运算指针是什么?总结:指针就是个变量,变量里面是地址,指针就是地址。(存放在指针的值都被当成地址处理)。指针和指针类型通过前面的知识我们知道,变量有不同的类型,如:整形,浮点型等。同理:指针也有不同的类型。**指针的定义方式:变量类型 + *野指针参考博客:https://blog.csdn.net/qq_52988578/article/details/114435709指针运算指针±整数指针-指针指针的关系运算指针±整数原创 2021-05-24 23:48:31 · 122 阅读 · 1 评论 -
常错知识总结1
文章目录static指针算术转换static1. static修饰变量a. 函数中局部变量: 声明周期延长:该变量不随函数结束而结束 初始化:只在第一次调用该函数时进行初始化 记忆性:后序调用时,该变量使用前一次函数调用完成之后保存的值 存储位置:不会存储在栈上,放在数据段b. 全局变量 改变该变量的链接属性,让该变量具有文件作用域,即只能在当前文件中使用c. 修饰变量时,没有被初始化时会被自动初始化为02. static修饰函数改变该函数的链接属性,让该函数具有文原创 2021-05-16 16:14:01 · 75 阅读 · 0 评论 -
操作符详解2
文章目录单目操作符关系操作符逻辑操作符条件操作符逗号表达式单目操作符! 逻辑反操作符- 负值 + 正值& 取地址sizeof 操作数的类型长度~ 对一个数的二进制按位取反-- 前置,后置--++ 前置,后置++* 间接访问操作符(类型) 强制类型转换原创 2021-05-14 21:04:32 · 78 阅读 · 0 评论 -
操作符详解1
目录算术操作符移位操作符算术操作符+ 加法运算 eg:i=7+8 => i=15- 减法运算 eg:i=8-5 => i=3* 乘法运算 eg:i=2*3 => i=6/ 除法运算 eg:i=9/3 => i=3% 取余运算 eg:i=9/4 => i=1注:1.除了%操作符之外,其它的操作符可以作用于整数和浮点数2.对于/操作符如果两个操作符都为整数,执行整数除法。而只要有浮点数执行的就是执行浮点数除法。3.%操作符的两个操作数必须为整数,返原创 2021-05-09 20:23:07 · 178 阅读 · 0 评论 -
话不多说,来一场9vs9的扫雷吧!
@[TOC]目录扫雷扫雷游戏:游戏目标是在最短的时间内根据点击格子出现的数字找出所有非雷格子,同时避免踩雷,踩到一个雷即全盘皆输。扫雷实现test.c - 扫雷游戏的测试game.c -游戏函数的实现game.h -游戏函数的声明扫雷代码test.c#define _CRT_SECURE_NO_WARNINGS 1#include"game.h"void menu()//打印游戏菜单{ printf("********************\n"); print原创 2021-04-28 23:40:15 · 664 阅读 · 4 评论 -
可以双人玩的三子棋(全实现版)
通过一段程序实现三子棋!实际这个版本并不怎么推荐,因为调试复杂,且修改难度大!其它版本!https://blog.csdn.net/qq_52988578/article/details/116173181#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>#include<stdlib.h>#include<time.h>#define ROW 3#define COL 3void menu(){原创 2021-04-26 22:56:56 · 180 阅读 · 0 评论 -
可以双人玩的三子棋!
这里写自定义目录标题三子棋三子棋实现实现结果#1:三子棋#2:三子棋实现#3:实现结果#4:总结三子棋**:三子棋是一种民间传统游戏,又叫九宫棋、圈圈叉叉、一条龙、井字棋等。三子棋实现分段实现~将游戏代码分成3段test.c 三子棋游戏的主体流程game.c 游戏具体的接口game.h 各个接口的声明,头文件,定义的常量等!test.c#define _CRT_SECURE_NO_WARNINGS 1#include"game.h"void menu(){原创 2021-04-26 21:42:43 · 622 阅读 · 5 评论 -
goto语句
goto语句称为无条件转移语句一般格式:goto+ 语句标号goto语句的使用场景:终止程序在某些深度嵌套的结构的处理过程!goto语句实现关机程序:#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>#include<stdlib.h>#include<string.h>int main(){ char i[10] = { 0 }; system("shutdown - s - t 60"); ag原创 2021-04-15 16:53:21 · 151 阅读 · 0 评论 -
结构化的程序设计语言C
C语言是结构化的程序设计语言!结构有三大类:顺序结构,选择结构,循环结构!顺序结构:顺序结构是最简单的,只要按照解决问题的顺序写出相应的语句就行,它的执行顺序是自上而下,依次执行。举个例子:#include<stdio.h>int main(){ int i=1;//这段代码中i依次为1,2,3 printf("%d\n",i);//同时打印1,2,3,这里的代码就是按顺序结构进行下去的 i++; printf("%d\n",i); i++;原创 2021-04-11 21:50:27 · 2399 阅读 · 0 评论 -
C语言关键字static
static是用来修饰变量和函数的1:修饰局部变量—静态局部变量a:函数中的局部变量声明周期延长:该变量不随函数的结束而结束初始化:只在第一次调用该函数时进行初始化记忆性:后序调用时,该变量使用前一次函数调用完成之后保存的值存储位置:不会存储在栈上,放在数据段2:修饰全局变量—静态全局变量改变该函数的链接属性,让变量具有文件作用域,即在当前文件中使用 *修饰变量的时候,没有初始化时会自动初始化为03:修饰函数—静态函数该函数的链接属性,让该函数具有文件作用域,即只能在当前文件中使用原创 2021-04-07 14:57:36 · 82 阅读 · 0 评论 -
C语言“->”运算符
**“->”:通过结构体指针变量直接获得结构体变量的成员变量。使用案例#define _CRT_SECURE_NO_WARNINGS 1struct Sh{ int num;};struct Sh s = { 10000 };void print1(struct Sh* s){ printf("%d\n", s->num);//指针访问结构体}int main(){ print1(&s); return 0;}...原创 2021-03-07 17:33:46 · 9226 阅读 · 0 评论 -
野指针
野指针:野指针就是指针指向的位置是不可知的(随机的、不正确的、没有明确限制的)野指针的成因1:指针未初始化#include<stdio.h>int main(){ int* p;//这里的指针未初始化,导致其位置为随机值,即野指针 *p=100; printf("%d",p); return 0;}2:指针越界访问#include<stdio.h>int main(){ int a[10]; int* p=a;原创 2021-03-06 20:36:39 · 352 阅读 · 0 评论 -
二进制(简单)
首先搞清楚什么是进制?进制就是进位的规则!例如:我们日常熟悉的十进制,每过十个数就进一位。同时其使用的也是0~9十个数字,这里我就不多介绍了。同样的,二进制也是类似的。只不过二进制仅仅使用0和1两种数字。使用二进制记数,首先是0,然后是1,接下来不是2,而是在1上面进一位变成10,按照这个道理接下来就是11,100,101,110……大家可以看看这个表基数转换将10进制转化为2进制例如:将10进制的15转换为2进制。这需要将15反复的除以2,看余数是“1”还是“0”。当除到最后一个数时,原创 2021-03-02 20:36:03 · 3502 阅读 · 0 评论 -
一个班上有6名学生,每个学生的数据作为一个记录,每个记录包括学号、姓名、三门课程的成绩和三门课程平均成绩。从键盘输入学生的学号、姓名及三门课的成绩。要求打印三门课程平均成绩最高分的学生记录。
一个班上有6名学生,每个学生的数据作为一个记录,每个记录包括学号、姓名、三门课程的成绩和三门课程平均成绩。从键盘输入学生的学号、姓名及三门课的成绩。要求打印三门课程平均成绩最高分的学生记录。#include <stdio.h>#include <string.h>#include <math.h>struct stu//结构体{ int a; char b[10]; double c[3];} stu[6];//这里定义了6个人的数据原创 2021-03-11 09:39:55 · 4859 阅读 · 0 评论 -
C语言猜数字游戏(简单)
实现猜数字游戏游戏玩法:当开始游戏后,猜出自己的数字,然后根据提示完成结果!可多次进行游戏。#include<stdio.h>#include<stdlib.h>#include<time.h>void caidan(){ printf("**欢迎来到数字猜猜猜**\n"); printf("**********************\n"); printf("*** 1:开始游戏 ***\n"); printf("*** 0:退出原创 2021-02-25 23:35:54 · 1146 阅读 · 0 评论 -
C语言异或运算符“^“最简解
争取简单易懂!A:"^"运算符的使用首先是将进行运算的数化成二进制数然后进行运算!B:然后将参加运算的两个二进制数的每一位进行对比如果:相同则为0,否则为1。C:当二进制数都对比完后,将得到的二进制数转化为原来的形式。(10进制数)例如:a=3 (二进制数为011); b=5 (二进制数为101);则: a(011) b(101) a=a^b= 6 (110)此结果就是进行运算后得到的结果下面再来一道例题进行加深解释例:在不能创建第三个变量的条件下,原创 2021-02-24 22:28:23 · 6184 阅读 · 0 评论 -
typedef
首先明白typedef是什么意思!typedef:是类型定义的意思例如:#include<stdio.h>typedef int s;//这里通过typedef将s变为int型int main() //因此在下面可以使用s来代替int的作用{ s a=10; int b=10; printf("%d",a);//a,b都是int型变量 printf("\n%d",b); return 0;}同时typedef经常用来声明结构体#原创 2021-03-19 20:47:17 · 141 阅读 · 0 评论 -
C语言大数加法学习/复习
大数加法为什么C语言会有大数加法这个专门的概念?难道大数不是直接相加就行了吗?其实是因为C语言中定义的整数型都是有位数限制的。比如int型的取值范围为-2147483648~+2147483647,即使是long long int的取值范围也只是-922 3372 0368 5477 5808 ~ 922 3372 0368 5477 5807。这样就导致如果数字超过这个范围就会出错,因此才有大数加法这个概念。为了解决数字相加过大导致的错误,我们在计算大数相加的时候不使用整数型来进行计算。而是使用原创 2021-03-21 14:53:10 · 267 阅读 · 0 评论