
笔记
向南的小企鹅
啊这
展开
-
C++基础回顾
吼吼吼C++C++基础回顾C++基础入门一、标识符1.1标识符命名规则二、数据类型2.1整形(格式:int 关键字)2.2 sizeof关键字2.3 float关键字2.4字符型2.5转义字符2.6字符串型2.7布尔类型2.8数据的输入三、运算符3.1算数运算符前置递增与后置递增区别3.2 赋值运算符3.3 比较运算符3.4 逻辑运算符四、程序流程结构4.1.1 if语句4.1.2 三目运算符4.1.3 switch语句4.2 循环结构4.2.1 while循环C++C++基础回顾C++基础入门一、原创 2023-01-24 15:18:53 · 1190 阅读 · 1 评论 -
Ubuntu安装交叉编译工具链——现成包方法
使用arm-cortex_a8处理器的交叉编译工具链安装使用书本《嵌入式Linux系统开发入门宝典》由于这本书使用的系统是ubuntu12.04版本,这个版本过于久远Ubuntu已经不更新了,所以需要的大多数文件都存在依赖库或者丢失无法下载,本文即采用直接下载现成包的方式本文采用Ubuntu20.04以及arm-linux-gcc 4.4.3version第一步在Linux系统或者Windows系统下搜索arm-linux-gcc-4.4.3.tar.gz包下载,Linux系统直接将包放入tm原创 2022-04-10 13:00:00 · 2280 阅读 · 1 评论 -
C++迭代器
目录一、C++迭代器的分类1.顺序型迭代器2.插入型迭代器一、C++迭代器的分类迭代器分为三种顺序型迭代器插入型迭代器流迭代器1.顺序型迭代器iterator 正向迭代器//iterator 正向迭代器template<typename Con>void iterator_show(Con&con){ typename Con::iterator it = con.begin(); for(; it != con.end();it++) { cout原创 2021-11-25 17:27:51 · 1057 阅读 · 0 评论 -
C++入门笔记
默认值参数在函数声明或定义的时候,给定参数默认值,如果参数传递的时候不给该形参传值,则会按照默认值传参。函数参数的默认值是在编译期生成指令的时候,直接生成入参指令,函数参数的默认值只能传递常量。函数的默认值参数只能从右向左赋值,不能跳过。函数的默认值参数在同一作用域中只能赋值一次,不能重复赋值。因为函数参数的默认值是在编译期时期带入的,所以函数参数的默认值只在本文件中生效。内联函数在release版本中调用内联函数,该函数会在调用点展开(编译时期展开)。在debug版本中调用内联函数和原创 2021-10-17 12:33:26 · 169 阅读 · 1 评论 -
Linux 文件编辑命令
三种模式介绍文件编辑中的三种模式有:命令模式、插入模式(编辑模式)与末行模式。模式切换从命令模式切换到插入模式字符作用a进入当前光标后开始编辑A进入当前光标所在行的行末开始编辑i进入当前光标位置开始编辑I进入当前光标所在行的行头开始编辑o进入当前光标的下一行开始编辑O进入当前光标的上一行开始编辑命令模式切换到末行模式字符作用:对文本的设置或保存工作/对文本进行全文向下搜索string?对文本进原创 2021-10-08 16:24:20 · 192 阅读 · 1 评论 -
Linux 系统上的库文件生成与使用
1.什么是库文件库是一组实现编译好的方法的集合。Linux系统存储的库一般在:/lib或 /usr/lib。在64位的系统上有些库还可能在/usr/lib64下。而库的头文件一般会存储在/usr/include下或者子目录下。库有两种,一种是静态库,其命令规则为libxxx.a,一种是共享库,命令规则为libxxx.so。如下图所示:2.静态库的生成与使用2.1 静态库的生成以下是需要生成静态库的”.c”文件,其中“foo.h”中是函数的声明,“add.c”和“max.c”函数的定义:第原创 2021-06-10 12:32:11 · 3007 阅读 · 5 评论 -
C语言:给定整数n和m,满足n能被2m整除。对于一串连续递增整数数列1,2,3,4…,每隔m个符号翻转一次,最初符号为‘-’
例如n=8,m=2,数列就是-1,-2,3,4,-5,-6,7,8而n=4,m=1,数列就是-1,2,-3,4现在让你算算前n项和为多少C语言解决:#include<stdio.h>int main(){ int n,m; int sum=0; int flag=-1; scanf("%d %d",&n,&m); assert(n%(2*m)==0); for(int i=1;i<=n;i++) { sum+=i*flag; if(i%m原创 2021-04-20 20:35:17 · 563 阅读 · 0 评论 -
PTA 习题5-6 使用函数输出水仙花数 (20 分)
水仙花数是指一个N位正整数(N≥3),它的每个位上的数字的N次幂之和等于它本身。例如:153=1^3+ 5^3+ 3^3 。本题要求编写两个函数,一个判断给定整数是否水仙花数,另一个按从小到大的顺序打印出给定区间(m,n)内所有的水仙花数。函数接口定义:int narcissistic( int number );void PrintN( int m, int n );函数narcissistic判断number是否为水仙花数,是则返回1,否则返回0。函数PrintN则打印开区间(m, n)内所原创 2021-04-02 19:03:08 · 1009 阅读 · 0 评论 -
PTA 习题5-3 使用函数计算两点间的距离 (10 分)
本题要求实现一个函数,对给定平面任意两点坐标(x1 ,y1)和(x2,y2),求这两点之间的距离。函数接口定义:double dist( double x1, double y1, double x2, double y2 );其中用户传入的参数为平面上两个点的坐标(x1, y1)和(x2, y2),函数dist应返回两点间的距离。裁判测试程序样例:#include <stdio.h>#include <math.h>double dist( double原创 2021-03-30 21:36:21 · 726 阅读 · 0 评论 -
PTA 习题5-2 使用函数求奇数和(15 分)
本题要求实现一个函数,计算N个整数中所有奇数的和,同时实现一个判断奇偶性的函数。函数接口定义:int even( int n );int OddSum( int List[], int N );其中函数even将根据用户传入的参数n的奇偶性返回相应值:当n为偶数时返回1,否则返回0。函数OddSum负责计算并返回传入的N个整数List[]中所有奇数的和裁判测试程序样例:#include <stdio.h>#define MAXN 10int even( int n );in原创 2021-03-30 21:25:48 · 380 阅读 · 0 评论 -
PTA 练习2-10 计算分段函数[1] (10 分)
本题目要求计算下列分段函数f(x)的值:输入格式:输入在一行中给出实数x。输出格式:在一行中按“f(x) = result”的格式输出,其中x与result都保留一位小数。输入样例1:10输出样例1:f(10.0) = 0.1输入样例2:0输出样例2:f(0.0) = 0.0#include<stdio.h>int main(){ float x; double result; scanf("%f", &x); if (x原创 2021-03-29 22:37:42 · 519 阅读 · 0 评论 -
PTA 练习2-3 输出倒三角图案 (5 分)
本题要求编写程序,输出指定的由“*”组成的倒三角图案。输入格式:本题目没有输入。输出格式:按照下列格式输出由“*”组成的倒三角图案* * * * * * * * * *#include<stdio.h>int main(void){printf("* * * *\n");printf(" * * *\n");printf(" * *\n");printf(" *\n");return 0;}注意格式...原创 2021-03-29 22:14:59 · 374 阅读 · 0 评论 -
C语言递归调用
递归调用C语言的函数都支持递归,也就是说,每个函数都可以直接或间接的调用自己。所谓的间接调用,是指再递归函数调用的下层函数中再调用自己。递归关系如下图所示:递归之所以可以实现,是因为函数的每个执行过程在栈中都有自己的形参和局部变量的副本,这些副本和该函数的其他执行过程不发生关系。这种机制是当代大多数程序设计语言实现子程序结构的基础,也使得递归成为可能。假定某个调用函数调用了一个被调用函数,再假定被调用函数又反过来调用了调用函数,那么第二个调用就成为调用函数的递归,因为它发生在调用函数的当前执行过原创 2021-02-19 21:10:16 · 1012 阅读 · 0 评论 -
C语言文件基础
文件1.数据流2.缓冲区(Buffer)3.文件类型4.文件存取方式5.C语言提供的标准文件1.数据流指程序与数据的交互是以流的形式进行的。进行C语言文件的存取时,都会先进行“打开文件”操作,这个操作就是在打开数据流,而“关闭文件”操作就是关闭数据流。2.缓冲区(Buffer)指在程序执行时,所提供的一块存储空间(在内存中),可用来暂时存放做准备执行的数据。它的设置是为了提高存取效率,因为内存的存取速度比磁盘驱动器快得多。C语言的文件处理功能依据系统是否设置“缓冲区”分为两种:一种是设置缓冲区,另原创 2021-01-28 23:27:23 · 232 阅读 · 0 评论 -
总线的功能和规范
总线按功能和规范可分为五大类型:数据总线(Data Bus):在CPU与RAM之间来回传送需要处理或是需要储存的数据。地址总线(Address Bus)︰用来指定在RAM(Random Access Memory)之中储存的数据的地址。控制总线(Control Bus)︰将微处理器控制单元(Control Unit)的信号,传送到周边设备。扩展总线(Expansion Bus):外部设备和计算机主机进行数据通信的总线,例如ISA总线,PCI总线。局部总线(Local Bus)︰取代更高速数据传输的原创 2021-01-25 20:06:08 · 851 阅读 · 1 评论 -
算法和算法分析
算法1)算法是对特定问题求解步骤的一种描述,它是指令的有限序列,其中每一条指令表示一个或多个操作。算法五个特性:有穷性,确定性,可行性,输入,输出。2)算法设计要求:正确性,可读性,健壮性,效率与低存储量需求。算法分析算法分析包括:时间复杂度,空间复杂度,稳定性...原创 2020-12-02 00:05:49 · 332 阅读 · 0 评论 -
C语言简单的递归程序
题目:有5个学生坐在一起,问第五个学生多少岁?一个说他比第四个学生大2岁。问第4个学生岁数,他说比第3个学生大2岁。问第3个学生,又说比第2个学生大2岁。问第2个学生,说比第1个学生大2岁。最后问第1个学生,他说是10岁、请第5个学生多大。解题思路:想知道求第五个学生的年龄,就必须先知道第四个学生的年龄。要想求第4个学生的年龄必须先知道第3个学生的年龄,而第3个学生的年龄又取决于第2个学生的年龄,第2个学生的年龄取决第1个学生的年龄。而且每一人学生的年龄都比其前1个学生的年龄大2。显然,这是一个递归问原创 2020-11-18 23:56:30 · 1643 阅读 · 0 评论 -
C语言函数的调用方式
1.函数语句调用没有返回值的函数,函数调用单独作为一个语句print_star();//这时不要求函数带回值,只要求函数完成一定的操作2.函数表达式函数出现在一个表达式中,这种表达式称为函数表达式.这时要求函数带回一个确定的值直接赋给一个变量c=max(x,y);//这时max(x,y);是赋值表达式的一部分3.函数参数函数调用作为一个函数的实参printf("%d",max(a,b));//把max(a,b)作为printf函数的一个参数...原创 2020-11-15 23:48:57 · 2233 阅读 · 0 评论 -
C语言的特点
高效性,灵活性,功能丰富,表达力强,移植性好原创 2020-11-13 23:31:38 · 205 阅读 · 0 评论 -
C语言字符串结束标志
为了测定字符串的实际长度,C语言规定了一个字符串结束标志 ‘\0’ 作为标志,如果一个字符串为9个,前面九个都不为空字符,那么第十个字符为 ‘\0’,也就是说在遇到字符 ‘\0’ 时,表示字符串结束,之后由它前面的字符组成一个字符串。而编译系统经常会在处理字符串常量时会自动加一个 ‘\0’ 作为结束符。字符串作为一维数组存放在内存中。有了结束标志后,字符数组的长度也就不重要了,在程序中往往依靠检测 ‘\0’ 的位置来判定字符串是否结束,而不是根据数组的长度来决定字符串的长度。当然在定义中也应当估计实际字原创 2020-11-12 00:11:11 · 7643 阅读 · 1 评论 -
C语言行和列的互换
例:将一个二维数组的行和列的元素互换,存到另一个二维数组b中。思路:将a数组中第 i 行 j 列元素赋给b数组中 j 行 i 列元素,例如a[0][0]赋给b[0][0],a[0][1]赋给b[1][0],a[0][2]赋给b[2][0] 。则可以用双重循环来处理,用外循环控制行的变化,内循环控制列的变化。程序源码#include<stdio.h>int main(){ int a[2][3] = {{1,2,3},{4,5,6}} //定义一个二行三列的数组 int b[3]原创 2020-11-08 23:58:16 · 5978 阅读 · 0 评论 -
C语言斐波那契数列
思路:建立一个数组,将数列中第一个数放在数组第一个元素中。输出数列中前20个数。数列第二个数放在数组第二个的元素中,以此类推。这样数组的序号为 i 的元素的值是前两个元素值之和。程序源码#include<stdio.h>int main(){ int i; int a[20] = {1,1}; for (i = 2; i < 20; i++) a[i] = a[i - 2] + a[i - 1]; //求出a[2]到a[19]的值 for (i原创 2020-11-07 23:32:35 · 1307 阅读 · 0 评论 -
C语言while与do-while循环的比较
凡是能用while循环处理,都能用do-while循环处理。在一般情况下,用while语句和用do-while语句处理同一问题时,若二者的循环体部分是一样的,它们的结果也一样。但是如果while后面的判断表达式一开始就为假(0)时,两种循环的结果是不同的。#include<stdio.h>int main(){ int sum = 0, i; scanf("%d",&i); while (i<=10) { sum = sum + i; i++; } p原创 2020-11-06 00:04:17 · 1595 阅读 · 0 评论 -
C语言链表完成La和Lb中的数据元素按值递增有序排列
源码如下#pragma once#include<stdio.h>#include<stdlib.h>#define TURE 1#define FALSE 0#define OK 1#define ERROR 0#define OVERFLOW -2typedef int ElemType;typedef int Status;typedef struct Node{ ElemType data; struct Node* next;}LNode,原创 2020-11-04 22:09:40 · 1699 阅读 · 0 评论 -
C语言线性链表
线性表的链式存储结构的特点线性表的链式存储结构的特点是用一组任意的存储单元存储线性表的数据元素(这组存储单元可以是连续的,也可以是不连续的)。因此为了表示每个数据元素与其直接后继数据元素之间的逻辑关系之外,对一个数据元素来说,除了存储本身的信息之外还需存储一个指示其后继的信息。结点则是这两部分信息组成数据元素的存储映像。一个节点包含了两个域,分别为数据域和指针域。数据域是存储数据元素信息的域。指针域则是存储直接后继存储位置的域。指针域中存储的信息称作指针和链。n个结点链构成一个链表,即为线性表的原创 2020-11-03 23:54:40 · 1658 阅读 · 0 评论 -
C语言的运算符的优先级和结合性
C语言规定了运算符的优先级和结合性。在表达式求值时,先按运算符的优先级别高低次序执行,例如先乘除后加减。如表达式a-b*c,b的左侧为减号,右侧为乘号,而乘号优先于减号,因此这个表达式相当于a-(b*c) ,如果在一个运算对象两侧的运算符的优先级别相同,例如a-b+c,则按照规定的结合方向处理。C语言还规定了各种运算符的结合方向,众所周知的是,算术运算符的结合方式为“自左向右”,即先左后右,因此b先与减号结合,执行a-b的运算,再执行加c的运算。“自左至右的结合方向”,又称左结合性,即运算对象先与左面的运原创 2020-11-02 23:47:13 · 2261 阅读 · 0 评论 -
运算符优先级(表格)
表格如下优先级运算符1()2! ++ - -3* / %4+ -5< <= > >=6== !=7&&8逻辑运算符或9= += -= *= /= %=注:所有的逻辑运算符都是从左到右依次优先级增大的优先级为1的是 () 从左至右优先级依次增大优先级为2的是 ! ++ --原创 2020-10-28 23:28:23 · 1891 阅读 · 0 评论 -
c语言解决时间计算相加减的问题
本来直接用小时减去小时,分钟减去分钟即可,但是经过调试发现,如果是3时40分减去4时50分的情况,小时位会输出负数,所以每次计算前将其化为分钟进行加减,输出换成小时即可。程序源码#include <stdio.h> int main() { int hour1, minute1; int hour2, minute2; scanf("%d %d", &hour1, &minute1); scanf("%d %d", &hour2, &原创 2020-10-23 11:29:47 · 6592 阅读 · 3 评论 -
C语言计算身高(输入英寸输出为米)
x+y=zx+y=zx+y=z原创 2020-10-23 09:10:57 · 3494 阅读 · 0 评论 -
人生第一个博客
int main(){printf (“Hello World!”);return 521;}原创 2020-10-22 11:44:06 · 148 阅读 · 0 评论