C/C++
本专栏介绍一些C/C++ 一些基本知识,以及相关用法。
隔壁de小刘
这个作者很懒,什么都没留下…
展开
-
C语言编译错误
直接Ctrl+f 搜索即可1. [Error] stray ‘\243’ in program一、语法错误就是你编写的程序里面使用了不规范的关键字或者变量名之类的错误,笼统得说就是编译都无法通过的程序,编译器无法识别你写的程序。二、代表编译器在编译源文件时遇到了不可识别的非法字符。其值为ascii码值243。这一个值并不在合法的英文字符范围(0~127)范围内,所以一般都是由于误输入造成的...原创 2020-04-02 19:07:03 · 2379 阅读 · 0 评论 -
并查集例题
题目描述假如已知有n个人和m对好友关系(存于集合r)。如果两个人是直接或间接的好友(好友的好友的好友…),则认为他们属于同一个朋友圈。请写程序求出这n个人里一共有多少个朋友圈。输入输入包含多个测试用例,每个测试用例的第一行包含两个正整数 n、m,1 < = n,m< =100000。接下来有m行,每行分别输入两个人的编号f,t(1 < = f,t < = n),表示f和t是好友。 当n为0时,输入结束,该用例不被处理。输出对应每个测试用例,输出在这n个人里一共有多少个朋友圈转载 2020-07-24 16:34:51 · 259 阅读 · 0 评论 -
C/C++ int、long int 、long long、、 short int 、无符号整型取值范围,代码测试 、C语言无符号整型输出
类型 存储字节 表示范围 无符号范围 大概范围 int / long int 4...原创 2020-06-28 10:28:40 · 1260 阅读 · 0 评论 -
C/C++ 程序计时函数
//clock() 记录此刻时间,差值计算程序用时#include<iostream>#include<cstdlib>#include<ctime> //头文件using namespace std;clock_t t_start,t_end; int main(){ t_start=clock(); //程序开始计时 int ans=1e8; while(ans>0){ ans--; } t_end=clock(); //程原创 2020-06-28 09:45:23 · 351 阅读 · 0 评论 -
结构体成员的两种引用方式区别(C语言)
C中对于结构体成员的两种引用方式:1、结构体变量.成员;2、结构体变量->成员;其中,第一种方式只能在结构体变量是结构体实体时能使用,而第二种方式是当结构体变量为指针类型的时候使用。#include<stdio.h>struct student{ //定义一个学生结构体 char name[20]; int age; }stu = {"LiMing", 18};struct student *getstu(struct student *stu){原创 2020-06-25 10:26:55 · 4048 阅读 · 0 评论 -
设置Dev c++支持C++11 特性 以及 [Error] ‘stoi’ was not declared in this scope解决
原因:stoi() 为C++11特性 需要设置Dev支持C++11选择Tools,然后按下图设置原创 2020-06-24 09:46:45 · 1109 阅读 · 0 评论 -
C/C++ 字符串入门
C++ String类相关函数及cin()、getline()、gets()、getchar()函数.视频讲解基本知识#include<iostream>using namespace std;int main(){ char a[10] = {'h','e','l','l','o'}; char b[10] = "hello";//只能在初始化的时候这样赋值 return 0;}字典序比较,先比较第一个,如果相同继续往下比较,如果不同返回结果。(排序)例:原创 2020-06-19 17:51:32 · 161 阅读 · 0 评论 -
ASCII码表
:Bin(二进制)Oct(八进制)Dec(十进制)Hex(十六进制)缩写/字符解释0000 00000000x00NUL(null)空字符0000 00010110x01SOH(start of headline)标题开始0000 00100220x02STX (start of text)正文开始0000 00110330x03ETX (end of text)正文结束0000 01000440x04EOT (end of t.原创 2020-06-19 17:16:11 · 1355 阅读 · 0 评论 -
C++ sort() 排序函数
参考博客链接PAT排序例题A1025一、简介1、头文件:#include2、时间复杂度:sort在实现中规避了经典快速排序中可能出现的会导致实际复杂度退化到O(n^2)的极端情况。类似于快排,为nlog(2)n,效率较高。3、参数sort(首元素地址(必填), 尾元素地址的下一个地址(必填), 比较函数(非必填));二、如何使用sort排序1、sort函数实现数的排序#include<cstdio>#include<iostream>#include<c原创 2020-06-10 10:08:26 · 9031 阅读 · 1 评论 -
排序算法总结
算法讲解地址一算法讲解地址二算法讲解+数据结构分析排序算法的稳定性理解一、排序结构图2、时间复杂度最基础的四个算法:冒泡、选择、插入、快排中,快排的时间复杂度最小O(n*log2n),其他都是O(n2)排序法 平均时间 最差情形 稳定度 额外空间 备注 冒泡 O(n2) O(n2) 稳定 O(1) n小时较好 选择 O(n2) O(n2) 不稳定 O(1) n小时较好 插入 O原创 2020-06-09 13:39:29 · 174 阅读 · 0 评论 -
进制转换(C语言算法)
一、P进制数x(a1 a2 a3 a4 an)->10进制数y实现原理:y=a1P^(n-1) + a2P^(n-2)+…+a(n-1)*P+anint y=0,product=1;while(x != 0){y = y + (x%10) * productx = x/10;product = product * P; }二、10进制数y>Q进制数z除基取余法int z[40],num=0;do{z[num++]=y%Q;y=y/Q;}while(y!=0);原创 2020-06-08 20:10:42 · 519 阅读 · 0 评论 -
日期差值----有两个日期,求两个日期之间的天数,如果两个日期是连续的我们规定他们之间的天数为两天
日期差值-牛客法一#include<cstdio>int month[13][2] = { // 平年和闰年每个月的天数 {0,0},{31,31},{28,29},{31,31},{30,30},{31,31},{30,30},{31,31},{31,31},{30,30},{31,31},{30,30},{31,31}};bool isLeap(int year) { // 判断是否是闰年 return (year % 4 == 0 && ye原创 2020-06-08 19:46:46 · 995 阅读 · 0 评论 -
利用宏定义三目运算符,编写程序,要求用户输入字符串,将字符串中的大写字母转换成小写字母,小写字母转换为大写字母
原创 2019-08-05 07:55:23 · 3369 阅读 · 0 评论 -
编写程序,求一元二次方程的解,设计思想与代码。
原创 2019-08-05 07:52:37 · 3787 阅读 · 0 评论 -
编写程序,要求根据用户输入的年月,打印出该月份的日历
完整代码:#include<stdio.h>#include<stdlib.h>#include<string.h>int IsInYear(int year); //判断是否为闰年 是闰年返回0 否则返回1 int daysInMonth(int year,int month); ...原创 2019-08-05 07:45:50 · 4107 阅读 · 0 评论 -
C/C++ 输入缓冲区清除 防止上一次输入会影响下一次输入
一、缓冲区概念临时存储区称为缓冲区,所有标准输入和输出设备都包含输入和输出缓冲器。在标准C / C ++中,流是缓冲的,例如在标准输入的情况下,当我们按键盘上的键时,它不会发送到您的程序,而是由操作系统缓冲,直到时间被分配给程序。二、它如何影响编程?在各种情况下,您可能需要清除不需要的缓冲区,以便获得所需容器中的下一个输入,而不是在前一个变量的缓冲区中。如果不清除上一次输入会影响下一次输入。...原创 2019-06-02 17:11:13 · 2476 阅读 · 2 评论 -
C 语言 文件操作(二)
一、相关函数及操作二、代码#include<stdio.h>#include<stdlib.h>#define LEN 15void main(){ FILE *fp; char buffer[LEN],ch; if(!(fp = fopen("stu.txt","at+"))) { printf("error"); exit(1)...原创 2019-06-02 16:51:43 · 164 阅读 · 0 评论 -
C语言 结构体基础知识
结构体的定义:结构体是一种构造数据类型用途:把不 同类型的数据组合成一个整体-------自定义数据类型1、结构体类型定义struct [结构体名]{类型标识符 成员名;类型标识符 成员名;…………….};说明:1.结构名可以省略(用无名结构体直接定义变量只能一次)2.成员类型可以是基本型或构造型3.结构体类型定义描述结构的组织形式,不分配内存例: ...原创 2020-04-13 18:41:58 · 249 阅读 · 0 评论 -
enum与typedef enum的用法
转载地址: http://blog.csdn.net/lvxiangan/article/details/20939379一,两者的用法 枚举类型定义用关键字enum标识,形式为: enum 标识符{ 枚举数据表};枚举数据(枚举常量)是一些特定的标识符,标识符代表什么含义,完全由程序员决定。数据枚举的顺序规定了枚举数据的序号,从0开始,依次递增。enum status...转载 2019-05-24 12:13:57 · 4596 阅读 · 0 评论 -
C语言的typedef指令
转载地址:https://blog.csdn.net/libing403/article/details/73402411typedef工具是一个高级数据特性,利用typedef可以为某一类型自定义名称。它与#define有3个不同点:(1)与#define不同,typedef创建的符号名只受限于类型,不能用于值。(2)typedef由编译器解释,不是预处理器。(3)在其受限范围内,typ...转载 2019-05-24 12:15:15 · 193 阅读 · 0 评论 -
getch getche getchar的区别和缓冲区的概念
原文:https://blog.csdn.net/cxyol/article/details/628324 .详细内容请看原文1.输入输出缓冲区的概念(C++用的多一些)我想以一个例子说明,比如我想把一篇文章以字符序列的方式输出到计算机显示器屏幕上,那么我的程序内存作为数据源而显示器驱动程序作为数据目标,如果数据源直接对数据目标发送数据的话。数据目标获得第一个字符,便将它显示。然后从端口读取...转载 2019-05-12 18:11:37 · 240 阅读 · 0 评论 -
C语言 文件操作
原文链接:file:///C:/Users/Administrator/Desktop/C%E8%AF%AD%E8%A8%80%E8%AF%A6%E8%A7%A3%20-%20%E6%96%87%E4%BB%B6%20-%20jcsu%20-%20%E5%8D%9A%E5%AE%A2%E5%9B%AD.mhtml注:字符存取函数和格式化存取函数保存文件到txt文件中可正常打开显示。(文本)...转载 2019-05-12 18:18:08 · 299 阅读 · 0 评论 -
编写程序, 输入两个3行3列矩阵,对输入矩阵做相乘操作,用行指针实现。
要求:编写程序, 输入两个3行3列矩阵,对输入矩阵做相乘操作,用行指针实现。效果:代码:#include "stdio.h"void multiplication(int (*p)[3],int (*q)[3]);//矩阵相乘void main(){ int a[3][3],b[3][3],i,j; int (*p)[3]=a,(*q)[3]=b; printf("请输入...原创 2019-08-03 16:32:08 · 3201 阅读 · 0 评论 -
typedef 定义结构体说明
不用struct Teacher{int age;char name[30];};struct Teacher t;使用typedef struct Teacher{int age;char name[30];}Teacher;Teacher t;原创 2019-05-27 12:36:03 · 9745 阅读 · 0 评论 -
线性表之顺序表与单链表的区别及优缺点
转载地址:https://wenku.baidu.com/view/a9b2b9050812a21614791711cc7931b764ce7b40.html 线性表之顺序表与单链表的区别及优缺点b. 空间的使用:当我们不知道要存储多少数据时,用顺序表来开辟的空间如果太大,就会造成一定程度上的浪费,而用单链表是实现时,因为是每需要存储一个数据时,才开辟一个空间,虽然有非数据项的指针...转载 2019-05-27 12:55:21 · 1334 阅读 · 0 评论 -
c语言之assert()函数用法总结
1.assert宏的原型定义在<assert.h>中,其作用是如果它的条件返回错误,则终止程序执行。库函数: assert.h原型定义: void assert( int expression );assert的作用是现计算表达式 expression ,如果其值为假(即为0),那么它先向stderr打印一条出错信息,然后通过调用 abort 来终止程序运行。通俗来讲,程序中可...原创 2019-05-27 19:59:11 · 14052 阅读 · 2 评论 -
c语言运算符优先级,结合性(左/右结合详解)
转载地址:https://blog.csdn.net/hitwhylz/article/details/14526569注:小白请看原博文运算符共分为15级,1级优先级最高,15级优先级最低。同一优先级的运算符,运算次序由结合方向所决定。(结合性:2 13 14 是从右至左 其他都是 从左至右)简单记就是:! > 算术运算符 > 关系运算符 > && &g...转载 2019-06-12 14:40:27 · 8350 阅读 · 1 评论 -
变量存储类型总结分析
原创 2019-06-12 15:06:52 · 181 阅读 · 0 评论 -
C语言数组操作相关函数
头文件:string.h字符串输出函数puts格式:puts(字符数组)功能:向显示器输出字符串(输出完,换行)说明:字符数组必须以‘\0’结束字符串输入函数gets格式:gets(字符数组)功能:从键盘输入一以回车结束的字符串放入字符数组中,并自动加‘\0’说明:输入串长度应小于字符数组维数字符串连接函数strcat字符串连接函数strcat格式:strcat(字符数组1,字...原创 2019-06-12 15:36:48 · 7971 阅读 · 1 评论 -
行指针与列指针
a+i:行指针值,指向2维数组的第i行。*(a+i):(列)指针值,指向第i行第0列(控制由行转为列,但仍为指针)。((a+i)):数组元素a [i][0]的值。用a作指针访问数组元素a [i][j]的格式:((a+i)+j)a [i]+j:(列)指针值,指向数组元素a [i][j]。*(a [i]+j):数组元素a [i][j]的值。用p作指针访问数组元素a [i][j]的格式:...原创 2019-06-12 16:29:02 · 376 阅读 · 0 评论 -
C语言课程设计——基于动态结构体链表的学生成绩管理系统效果演示
一、说明:1考虑到学生数量较小,所以不对数据结构进行考虑。2.本项目,用动态结构体链表实现。同时开发一个通用链表API,使链表与数据分离。。考虑到除从中间插入数据以外,各项性能不如结构体数组,顺序表。因此,该方法不是最优方法。就本项目而言,可以使用简单的动态结构体数组或者动态顺序表替代。3.因时间问题,本项目大部分输入没有进行检验,同时没有进行代码优化。习惯不好没有将代码分离,同时功...原创 2021-01-10 11:20:52 · 464 阅读 · 0 评论 -
enmu枚举类型
1.基本概念二、enum 枚举的作用https://blog.csdn.net/wlytctw/article/details/52524033原创 2019-05-24 12:12:01 · 216 阅读 · 5 评论