自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(91)
  • 资源 (2)
  • 收藏
  • 关注

原创 c语言---25 扫雷游戏

仍然是拆分为三个文件来写,test.c来实现扫雷游戏的测试;game.c来写游戏的实现;game.h来写游戏的函数的声明。

2022-07-25 14:54:37 928

原创 1---电子实物认知

电子设计流程原理图设计(根据设计需求,将设计需求转化为电路设计)—pcb设计(将电路图设计转化为pcb)—pcb制板(pcb图纸转换成实物)—组装贴片(由PCB转化为PCBA(PCB是一块光光的板子,上面是没有元器件没有物料的;贴上物料之后,PCB就转换成PCBA))—测试调试—外壳包装—出货电路板初识就看一下之前买到的北京迅为的ITop4412开发板图片吧,这就是一块完整的电路板,是PCBA。这里面包含耳机接口、喇叭接口、HDMI、USB、电源等接口。...

2022-07-23 16:59:24 1476 1

原创 c语言---24 三子棋

开始进入正题吧。

2022-07-18 21:15:35 765

原创 c语言---23 二维数组

2、二维数组的初始化如何给二维数组进行初始化呢?初始化的意思是什么呢?初始化的意思是在创建的同时给它赋值。监视一下它是如何分配元素的:如果是不完全初始化,会出现什么情况呢?观察监视窗,发现它是依次排序的,先给第一行第一个元素放置内容,直到第一行放满了再开始给第二行放置,没有元素可以放了就补0.二维数组的使用也是通过下标的方式。二维数组的行和列的下标都是从0开始的,只要给出元素的行和列的下标,那就可以找到相应的元素。代码的运行效果如下:代码的运行效果如下:观察它们的地址可以发现:相邻

2022-07-11 22:09:06 848

原创 c语言---22 一维数组

1.1 数组的创建数组是一组相同类型元素的集合。数组的创建方式:数组创建的示例:错误创建:在创建的过程中使用了变量c99语法支持变长数组(数组的大小是变量),但是vs2022不支持变长数组所以会报错。1.2 数组的初始化数组的初始化是指在创建数组的同时给数组的内容一些合理初始值(初始化)。如:就是对数组进行初始化了。有一点需要注意,如果在数组的定义里面,不对数组进行元素个数的指定,那么数组就会根据后面元素集合中的个数来确定元素的个数。如,元素集合的个数为5,所以数组大小就默认是5.

2022-07-11 16:36:46 415

原创 c语言学习回顾4--- 函数

1、以下关于函数设计不正确的说法是________A、函数设计应该追求高内聚低耦合B、要尽可能多地使用全局变量C、函数参数不宜过多D、设计函数时,尽量做到谁申请的资源就由谁来释放2、关于C语言函数描述正确的是_________A、函数必须有参数和返回值B、函数的实参只能是变量C、库函数的使用必须包含对应的头文件D、有了库函数就不需要自定义函数了3、C语言规定,在一个源文件中,main函数的位置_______A、必须在最开始B、可以在库函数的后面C、可以任意D、必须在最后4、下列

2022-07-09 17:01:20 1970

原创 c语言学习回顾3--- 分支和循环语句

1、关于while(条件表达式)循环体,以下叙述正确的是?(假设循环体里面没有break、continue、return、goto等语句)A、循环体的执行次数总是比条件表达式的执行次数多一次B、条件表达式的执行次数总是比循环体的执行次数多一次C、条件表达式的执行次数与循环体的执行次数一样D、条件表达式的执行次数与循环体的执行次数无关2、程序的输出结果是__________A、10B、9C、8D、73、编程题(数9的个数—编写程序数一下1到100的所有整数中出现多少个数字9)程序的运行结

2022-07-08 11:09:15 215

原创 c语言---21 函数递归

递归作为一种算法在程序设计语言中广泛应用。一个过程或函数在其定义或说明中有直接或间接调用自身的一种方法,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需要少量的程序就可以描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量。举例子来说明一下递归main函数也是函数,在main函数里面调用main函数,main函数自己调用自己,这就是递归。运行结果是一直打印hello,特别像死循环,但是程序跑着跑着自己就关了。这样的代码是错误的示范,但它确实是属于一种递归

2022-07-07 22:30:27 509 1

原创 小白笔记1---万用表测量值高于实际供给值

在上周还是上上周来着,具体时间有点忘记了,遇到了这样的一个问题,就是万用表在测量电路中元器件两端的电压的时候,发现元器件两端的电压不太对劲,比如电路中我用到了3.3v的稳压芯片,测到该稳压芯片稳出来的电压很高,比3.3v高一两伏,心想这应该不是芯片烧坏了吧。于是后来将万用表打到,听到蜂鸣器的响声奇奇怪怪的,就像是没电时候那种响声一样,这才想着测量一下万用表的电池电压,拆开万用表的后盖之后,用电源来测量一下电池两端电压果然电池的标称电压为9v,现在测得约5.5v,低于标称电压,可不就是电池没电了嘛(算

2022-07-07 12:16:13 449

原创 c语言---20 函数的嵌套调用和链式访问、函数声明与定义

函数和函数之间是可以有机的组合的。每一个函数都应该在大括号外面独立存在,函数之间是平等的,不能把一个函数定义在另外一个函数的里面,就像下面的这种情况是绝对不允许出现的。应该是下面的样子一、嵌套调用该程序的运行结果是:打印hello再举个例子,代码如下:代码的运行结果如下:二、链式访问把一个函数的返回值作为另外一个函数的参数。示例一:示例二:字符串拷贝函数的链式访问在刚接触strcpy函数的时候,代码是这样编写的:现在链式访问就可以将strcpy(arr1,arr2);prin

2022-07-07 11:55:18 1082

原创 c语言---19函数的调用

练习一:写一个函数可以判断一个数是不是素数,然后用函数来实现打印100-200之间的素数代码的运行结果如下:练习二:写一个函数判断一年是不是闰年运行结果如下:打印1000-2000年之间的所有闰年年份并计数函数定义里的语句可以简化为:或者换成更简单的:这几种写法都可以,代码的运行结果如下:练习三:写一个函数,实现一个整型有序数组的二分查找代码的运行结果如下:将代码中key的值改为17,测试一下代码的运行效果:练习四:写一个函数,每调用一次这个函数,就会将num的值增加1程序的运行结

2022-07-05 21:42:06 249

原创 c语言---18 函数(自定义函数)

在之前学习了一下库函数,了解到了。举个例子(还是用之前的例子来说),数组内容的拷贝,代码如下所示:这段代码是要通过库函数strcpy实现将数组2中的内容拷贝给数组1,在使用库函数之前,需要查询一下库函数的使用所需要包含的头文件。其中,strcpy是函数名;(char *strDestination,const char *strSource)是函数参数;char *是函数的返回类型。但是不一样的是这些都是我们自己来设计的...

2022-06-23 21:36:08 1022 1

原创 c语言---17 函数简介

对于“函数”,需要掌握的知识有以下内容:在数学中常常看到函数的概念并且运用,如f(x)=2x。那么在C语言中的函数是什么定义呢?又是怎么用呢?在维基百科中对函数的定义是:子程序。(也就是说,子程序就是函数)C语言中的函数分为和。(1)库函数在我们学习C语言编程的时候,总是在一个代码编写完成之后就想要在打印结果的窗口看到结果,这个时候我们会频繁地使用一个功能,那就是将信息按照一定的格式打印到屏幕上(这个也是printf的功能);在编程的过程中,我们还可能会频繁地做一些字符串的拷贝工作(strcpy);还

2022-06-19 17:14:24 331

原创 c语言---16 关于goto语句

C语言提供了可以随意使用的goto语句和标记跳转的标号,但是不建议用goto语句。从理论上goto语句是没有必要的,实践中没有goto语句也可以很容易地写出代码,但是某些场合中goto语句还是用得着的,最常见的用法就是终止程序在某些深度嵌套的结构的处理过程,例如一次性跳出两层或多层循环,这种情况下使用break是达不到目的的,因为break它只能从最内层循环退出到上一层循环。示例一:验证goto语句的功能运行完该程序之后,会出现死循环,终端会持续打印haha和hello。因为程序一开始,先进入flag,打

2022-06-14 16:27:46 7943 3

原创 c语言学习回顾2--- 分支循环回顾

A、1 2 3 4 5 6 7 8 9 10B、5 5 5 5 5 5 5 5 5 5C、死循环地打印5D、0 1 2 3 4 5 6 7 8 9A、if语句后面只能跟一条语句B、if语句中0表示假,1表示真C、if语句是一种分支语句,可以实现单分支,也可以实现多分支D、else总是和它的对齐的if语句匹配A、switch语句中的default子句可以放在任何位置B、switch语句中的case后的表达式只能是整型常量表达式C、switch语句中case语句必须在default子句之前D、

2022-06-11 17:02:16 865

原创 c语言---15 循环语句do while()

do语句的语法此处的循环语句可能不是一条语句,而是一段代码。示例:利用do while循环实现打印1-10打印结果为:1 2 3 4 5 6 7 8 9 10执行流程:打印结果为:1 2 3 4将代码中的break换成continue的时候,查看运行结果,可以看到:1 2 3 4 _(4后面的光标持续闪烁),因为它会跳过continue后面的部分,直接来到while中的判断部分,判断是否...

2022-06-10 18:53:40 25629 5

原创 c语言---14 循环语句for

其中,表达式1是初始化;表达式2是判断;表达式3是调整。示例:用for循环打印1-10。如下面的这段代码:运行之后会一直打印haha加上一些条件:上面的代码会打印9次haha,现在省略i=0以及j=0的条件,查看运行结果会发现 只打印三次因为这个程序是先执行j...

2022-06-09 12:17:47 254

原创 c语言---13 循环语句while

在学习和回顾该知识前,已经掌握了if语句的结构和用法。当条件满足的情况下,if结构中的语句执行,且只执行一次;条件不满足则不执行。但是生活中常常需要将一件事情完成很多次,这时候就要用到while语句来实现循环了。例子:利用循环结构打印1-10来测试一下在代码中分别加入continue和break是什么结果运行结果为:将break改为continue看看,发现运行结果为:输出4之后,光标持续闪烁,因为在while循环中,continue的作用是跳过本次循环continue后面的代码(这样就

2022-06-09 11:17:31 670

原创 c语言---12 分支语句switch

switch语句也是一种分支语句,常常用于多分支的情况。比如:输入1,就会输出星期一输入2,就会输出星期二…输入7,就会输出星期七对于这样的代码需求,如果用if 、else if、else的形式就会显得太复杂。如何用switch语句实现该功能呢?switch语句的结构又是怎样的呢?其中,整型表达式必须为整型,且为常量(字符也可以,因为字符也属于是整型的一种,因为字符存储的时候用的是字符的ASCII码值);语句项是一些case语句。代码实现:运行该代码,发现运行之后得到的结果如下:显然,这

2022-06-07 20:48:06 968 1

原创 c语言---11 分支语句if else

(1)C语言是结构化的程序设计语言。C语言的三种基本程序结构分别是:大致分为三种:3、关于if else语句的示例示例一:了解if else结构运行该程序,将不会有打印结果;如果在此基础上加上则运行结果为:示例二:if或else默认只执行它下面的一句将示例一中的年龄10改为20,再在else的语句下加上一句,查看运行结果。运行结果:显然这个结果是不合理的,我们想要的是如果是“未成年”,才要打印“不能去网吧”,但是输入的年龄是20,显示“成年”就可以了,它还是显示了“不能去网吧”。这就证明

2022-06-07 12:00:56 2312 1

原创 c语言学习回顾---1 基础知识回顾

1、下面哪个不是C语言的内置的数据类型?A、 charB、doubleC、struct StuD、short2、局部变量的作用域是________A、main函数内部B、整个程序C、main函数之前D、局部变量所在的局部范围3、下面代码的输出结果是______A、程序有问题,不能编译B、输出1C、输出10D、输出04、字符串结束的标志是_______A、 ‘0’B、EOFC、‘\0’D、空格5、下面代码的结果是______A、3B、4C、随机值D、56、下面哪个不是转义字符?A、‘\n

2022-06-06 22:15:38 215

原创 c语言---10 初识结构体

结构体是C语言中特别重要的知识点,结构体使得C语言有能力描述复杂类型,通过下面的例子来理解和学习。运行结果为:

2022-06-01 21:35:20 146

原创 c语言---9 初识宏、指针

define是一个预处理指令,有两种用法,一种是用define定义常量;另外一种是define定义宏。下面的例子为利用define定义常量运行结果为1000.下面的例子是define定义宏运行结果为5.将改为,则运行结果为11.预期的运行结果为4x5=20,为什么会出现这样的结果呢?因为define定义宏是替换,就变成了4x2+3=11了,4x2为X,Y仍然是3。如何让其得到正确的结果20呢?在写宏的时候,将X与Y括起来,因为X与Y可能不是简单的数字,它可能是表达式,所以定义宏的时候应该是这样的定

2022-06-01 21:09:55 257

原创 c语言---8 初识常见关键字

关键字是C语言提供的,不能自己创建关键字;关键字不能用作变量名,eg:int char;这样的写法是不可取的。以上列举的均为常见关键字。(1)auto是自动的,每个局部变量都是auto修饰的,如:在结构体中有写这其实是自动创建、自动销毁的,属于自动变量,它前面省略了auto,其实是(2)extern:用来声明外部变量(3)register:寄存器关键字在计算机中,数据打给可以存放在“寄存器”、“高速缓存”、“内存”、“硬盘”、“网盘”这几个地方。从下往上,造价越来越高,空间越来越小,但读写速

2022-06-01 11:16:10 359 2

原创 c语言---7 初识操作符

1、算术操作符算术操作符包括+ - * / %(加、减、乘、除、取模/取余)#include <stdio.h>//操作符int main(){ int a = 9 / 2; printf("%d\n",a); return 0;}将语句int a = 9 / 2;printf("%d\n",a);改为float a = 9 / 2; printf("%f\n",a);,运行结果从4变为4.000000,始终算不出来4.5,因为C语言中的除法只计算商,不计算余数,也不会算

2022-05-31 19:06:44 280 2

原创 c语言---6 初识选择语句、循环语句、函数以及数组

1、选择语句#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>int main(){ int input = 0;//定义input变量 printf("恭喜被xxx大学录取"); printf("要选择好好学习吗(1/0)?>:"); scanf("%d",&input); if (input == 1) { printf("你将会变得更好"); } else { printf("之后会

2022-05-25 22:01:38 161

原创 c语言---5 初识字符串、转义字符、注释

1、字符串“hello\n”这种由双引号(double quote)引起来的一串字符称为字符串字面值(string literal),或简称字符串。字符串的结束标志是一个“\0”的转义字符,在计算字符串长度的时候,“\0”是结束标志,不算作字符串内容。#include <stdio.h>int main(){ char arr1[] = "hello";//这里不写数组的大小,数组就会根据后面字符串的内容来初始化它 return 0;}写完这段代码之后,按键盘上的F10启动调试

2022-05-24 18:37:37 280

原创 c语言---4 初识常量

1、常量的分类C语言中的常量分为以下几种:字面常量,如:10,3.14,“abc”,'a’等const修饰的常量#define定义的标识符常量枚举常量2、const修饰的常量#include <stdio.h>int main(){ int num = 10;//变量为num num = 20; printf("%d\n",num); return 0;}运行结果为:20.在此基础上将int num = 10;改为const int num = 10;,则运行

2022-05-24 16:37:35 367

原创 c语言---3 初识变量

1、常量、变量在生活中,我们可以碰到多种多样的数据,在这些数据中,有的可变(比如年龄),有的不可变(比如:血型、性别等)。如果用C语言来描述,应该怎么描述呢?此时就要用到常量(不变的值)和变量(可以被改变的值)了。2、定义变量的方法假设描述一个人的信息,应该如何描述嘞?#include<stdio.h>int main(){ int age = 20; double weight = 55.5; age = age + 5; weight = weight - 10; pr

2022-05-24 15:46:29 154

原创 c语言---2 初识数据类型

1、前情提要我们知道计算机语言是用来写程序的,写程序是为了解决生活中的问题的。要解决生活中的问题,就必须要有能力描述生活中的问题。比如说,要写一个线上的“购物商城”,那就需要“上价商品以及价格”,要有能力描述价格,比如说一桶泡面6块钱,一袋泡面2.5元,如何来描述整数和小数呢?分别用整型和浮点数来描述。2、C语言中有哪些数据类型呢?每种数据类型的大小是多少?char //字符数据类型short //短整型int //整型long //长整型long long //更长的整型float //单

2022-05-24 14:49:16 166

原创 C语言---1 C语言认知

最近准备精进C语言的学习,夯实基础。1、c语言学习的内容了解什么是c语言数据类型变量、常量字符串、转义字符、注释选择语句循环语句函数数组操作符常见关键字define定义常量和宏指针结构体2、什么是c语言语言:人与人交流计算机语言:人与计算机交流的语言,如:c、c++、JAVA等c语言是一门通用计算机编程语言,广泛用于底层开发(即:写操作系统、驱动等)。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器,产生少量的机器代码以及不需要任何运行环境支持便能运行的编

2022-05-23 22:24:33 386

原创 嵌入式学习之QT学习---14 QT跨平台运行之把QT程序交叉编译到ARM开发板

想要把qt工程放到开发板上运行,就需要用到交叉编译。由于qt是跨平台的,所以只需要换个编译器编译一下就可以。以“定时器”的例子为例,在移植之前还需要进行一个准备工作,在windows下运行的时候,电脑屏幕很大,但是运行的窗口只有一点点大,开发板也有外接屏幕,如何让运行窗口自动适配开发板的外接屏幕呢?令其占满屏幕显示,而不是一小块。第一步:需要设置一下,先给ui布局,如果不布局,控件就不会随着屏幕的大小的变化而变化。第二步:利用代码来获取屏幕的大小,给widget.cpp文件下添加如下代码#inclu

2022-05-08 20:17:44 4685 2

原创 QT学习---13 制作文件系统镜像及测试遇到的:error: do_inode_allocate_extents: Failed to allocate 1146 blocks

root@ubuntu:/home/topeet/Linux+QtE5.7# make_ext4fs -s -l 314572800 -a root -L linux system.img rootCreating filesystem with parameters: Size: 314572800 Block size: 4096 Blocks per group: 32768 Inodes per group: 6400 Inode size: 256

2022-05-08 19:48:56 587

原创 嵌入式学习之QT学习---12交叉编译Qt源码以及编译触摸

原先的gcc版本是4.4.7,编译总失败。编译提示错误:unrecognized command line option “-std=c++11”root@ubuntu:/home/qt/qt_source/qt-everywhere-opensource-src-5.7.0# gcc --versiongcc (Ubuntu/Linaro 4.4.7-8ubuntu1) 4.4.7Copyright (C) 2010 Free Software Foundation, Inc.This is fr

2022-05-06 20:25:11 1235 1

原创 嵌入式学习之QT学习---11 QT系统移植之构建文件系统

在这里学习QT的最终目的是要在嵌入式上使用QT,如果我们想在嵌入式使用QT,那么在开发板上跑的系统就要支持QT,这一部分就开始学习一下制作支持QT的文件系统。第一步:制作最小文件系统,即根文件系统根文件系统的制作使用的是busybox,它是集成和压缩了Linux的很多命令和工具,就像是一个大工具箱。...

2022-05-06 18:28:46 919

原创 嵌入式学习之QT学习---10 QT计时器

做"计时器"需要用到两个类:QTime:时间数据类型,仅表示时间,如15:23:13;相当于手表。QTimer:qt的定时类,相当于秒表。设计思路跟之前的设计一样,都是先设计ui界面,然后再实现逻辑功能。第一部分:设计ui界面(1)选择好需要的控件计时器显示时间的窗口用Label来实现,还需要有几个按钮(开始、关闭、重置、打点),还要将时间保存在一个窗口里面(Text Browser)(2)界面布局并编译运行(3)给控件修改名字第二部分:编写逻辑代码(1)包含所用类的头文件(2)

2022-05-05 14:48:45 3856 1

原创 嵌入式学习之QT学习---9 QT网络编程之UDP通信

1、关于UDP的基础信息UDP(user datagram protocol,用户数据报协议)是轻量的、不可靠的、面向数据报(datagram)、无连接的协议,它可以用于对可靠性要求不高的场合。与TCP通信不同,两个程序之间进行UDP通信无需预先建立持久的socket连接,UDP每次发送数据报都需要指定目标地址和端口。 UDP通信相对于TCP通信的实现来说就稍微容易一些了,因为UDP是不需要分客户端和服务器的。只需要用到一个类QUdpSocket。UDP消息传送有单播、广播、组播三种模式。单播(un

2022-05-04 16:30:31 4093 1

原创 嵌入式学习之QT学习---8 QT网络编程之TCP通信

前言: Qt网络模块提供了用于编写TCP/IP客户端和服务器端程序的各种类,如用于TCP通信的QTcpSocket和QTcpServer,用于UDP通信的QUdpSocket,还有用于实现HTTP、FTP等普通网络协议的高级类,如:QNetworkReauest、QNetworkReply等。Qt模块还提供用于网络代理、网络承载管理的类,提供基于安全套接字层(Secure Sockets Layer,SSL)协议的安全网络通信的类。1、浅谈网络编程网络编程有TCP(transmission contro

2022-05-04 12:54:00 1243

原创 嵌入式学习之QT学习---7 QT程序打包和部署(打包成可以在windows上执行的软件)

1、什么是打包和部署?因为要把写好的程序发给用户来用,同时有时候写好的重要源码也不方便给别人看,所以要把程序进行打包部署。2、怎么打包和部署?首先要把工程切换到release模式,然后编译。点击左下角第一个图标,将模式从“Debug”模式切换到“Release”模式。release 模式:发布版本,不对源代码进行调试,基本没有调试信息,这样的话,程序也会比较精简。 debug 模式:调试版本,有很多调试信息。其次,找到release模式构建的文件夹,我这里的路径为:D:\qt\qt_demo\

2022-05-03 15:24:48 1722

原创 嵌入式学习之QT学习---6 QT上位机开发之串口助手(下)

接着嵌入式QT上位机开发之串口助手(上)来完善一下串口助手的功能,上一篇博客已经实现了自动获取的功能了。首先要在头文件里面包含一下头文件,再定义一个QSerialPort类型的参数;其次打开widget.cpp文件,在这个文件里面也要定义一个QSerialPort类型的参数。修改完成之后,编译运行一下,看是否有报错,无报错,继续接着操作串口。第一步:对串口进行初始化串口的初始化是在“打开”串口的时候进行的,所以就要将“打开”这个操作将窗口初始化关联起来,通过信号和槽来进行关联。回忆一下,进行关联的

2022-05-02 21:07:39 3326

QT系统移植时为了使得ls命令支持中文而作出修改的配置文件---libbb/unicode.c

QT系统移植时为了使得ls命令支持中文而作出修改的配置文件---libbb/unicode.c 配合下面这个配置文件 https://download.csdn.net/download/qq_42822743/85302274

2022-05-06

QT系统移植时为了使得ls命令支持中文而作出修改的配置文件

QT系统移植时为了使得ls命令支持中文而作出修改的配置文件(针对的是itop4412开发板)

2022-05-06

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除