嵌入式学习——c语言数据的输入输出

2023-10-27

一、输入输出概念

在c语言的程序中,几乎每一个程序都是包含输出输入语句的,如果没有输入输出语句,那么这个程序是没有意义的。
##1.1输入输出是以计算机为主体而言的
常见的输出设备:显示器,打印机等
常见的输入设备:键盘,光盘,扫描仪等。

输出
输入
计算机
显示器
键盘

1.2C语言本身不提供输入输出语句

输入输出的操作都是由c标准函数库中的函数来实现的,比如printf和scanf函数,printf和scanf不是c语言中的关键字,是库函数的名字。
C提供的标准函数以库的形式在C的编译系统中提供,它们不是C语言文本中的组成部分,不把输入输出作为C语句的目的是使C语言编译系统简单精炼,因为将语句翻译成二进制的指令是在编译阶段完成的,没有输出输入语句,就可以避免在编译阶段处理与硬件有关的问题,可以使编译系统简化,而且通用性强,可移植性好,在各种型号的计算机和编译环境下都可以适用,便于在各个计算机上实现。

1.3#include头文件放在程序中

#include<stdio.h>
如果调用标准的输入输出函数,就必须在程序开头用#include指令,把stdio头文件包含到程序中。

stdio.h是头文件,文件名的后缀是".h",在头文件放了调用标准输入输出函数的信息,包括与标准I/O库有关的变量定义和宏定义,以及对函数的声明。在对函数进行编译预处理的时候,系统就会把该在头文件中存放的内容调出来,取代本行的#inlcude指令。
值得说的是:

#include <stdio.h>
#include “stdio.h”

区别:
1.#include <stdio.h>是标准的方式。编译系统从存放c编译体统的子目录中去找所包含的头文件(stdio.h)
如果是要使用系统的库函数,因而要包含系统所提供相应的头文件,这时以标准方式为宜。
2.#.include "stdio.h"是用户自己写的头文件,编译系统会先在用户存放源程序的子目录中寻找要包含的文件,若找不到,再按标准方式查找。
如果用户想包含的头文件不是系统提供相应的头文件,而是用户自己编写的文件,这时应用“”形式,否则找不到自己的所需要的文件。
也可以写文件所在的目录
#include “C: \ temp \ file.h”

二、printf输出数据

printf函数(格式输出函数)用来向终端(或系统隐含指定的输出设备)输出若干个任意类型的数据。
##2.1一般格式

printf(格式控制,输出列表)
1.格式控制用“”括起来,且包含格式声明。如:%d,%f等
2.输出列表可以是常量,变量,或者表达式

例如:

  1. printf("%d",c);
  2. printf(“a = %d b = %d\n”,a,b);//\n表示光标移到下一行(换行)

2.2格式字符

2.2.1d格式,输出十进制整数。
长整型数据%ld
双长整数据%lld

printf("%d\n%d\n",12,-123);

输出:

12
123

域宽,在格式声明中指定输出数据的所占的列数

printf("%5d\n%5d\n",12,-123);
//指定输出数据占5列,输出的数据显示在此5列区域的右侧

输出:

   12     //12前面有三个空格
 -123     //-123前面有一个空格

2.2.2 C格式符,用来输出一个字符
例如:

char ch = 'a';
printf("%c\n",ch);

输出结果

a

同样也是可以指定域宽的。
例如:

printf("%5c",ch);

运行结果:

    a   //前面有4个空格

一个整数在1~127范围中,也可以用%c按字符形式输出,在输出之前,系统会将该整数作为ASCII码转化成相应的字符。
例如:

short B = 97;
printf("%c",B);

输出结果:

a

如果整数比较大,则把它的最后一个字节的信息以字符形式输出

int a = 377;
printf("%c",a);

在这里插入图片描述
最后一个字节的信息是01111001十进制是121,对应的ASCII码是’y’

输出结果

y

2.2.3----s格式字符,用来输出一个字符串

printf("%s","WELCOME");

输出结果

WELCOME

2.2.4—f格式符
用来输出单精度,双精度,长双精度的实数,以小数形式输出。

  1. 基本的用%f
    不用指定输出数据的长度,系统决定:
    实数中整数部分全部输出,小数部分输出6位
    例如:
#include <stdio.h>
int main()
{
	double a = 1.0;//双精度类型
	printf("%f\n",a/3);//a/3也是双精度类型
	return 0;
}

运行输出:

0.333333
  1. 指定数据宽度和小数位数用%m.nf
    可以使输出的数据上下行必按小数点对齐,使输出数据整齐美观。
#include <stdio.h>
int main()
{
	double a = 1.0;//双精度类型
	printf("%20.15f\n",a/3);//a/3也是双精度类型
	//指定输出的数据占20列,小数占15列
	return 0;
}

运行结果

   0.333333333333333 
   //0的前面有3个空格

注意:
float型数据只能保证6位有效数字,
double型只能保证15位有效数字。

即使指定小数位数为50位,也不能保证输出的50位都是有效的数字。

  1. 输出数据向左对齐%-m.nf
    当数据长度不超过m时,数据向左靠,右端补空格。
    例如:
#include <stdio.h>
int main()
{
	float a;
	a = 10000/3.0;
	printf("%-25.15f\n",a);
	printf("%25.15f\n",a);
	return 0;
}

运行结果:
第一次输出:
a向左端靠齐,右端空5列
第二次输出:
a向右端靠,左端空5列
在这里插入图片描述
2.2.5—e格式符
%e指定用指数形式输出实数。
编译器默认小数为6位,指数部分为5位(e占1列,符号1列,指数3列)
数值按标准化指数形式输出,小数点前必须有而且只有1位非零数字。
例如:

1.234560 e+002
	65

也可以用%m.ne或者%m.nE形式的格式声明。

printf("%13.2e",123.456);
printf("%13.2E",123.456);

输出为:

    1.23e+002//数的前面有4个空格
    1.23E+002//数的前面有4个空格

2.2.6其他格式
用的不多,必要时可以查阅。

  1. i与d相同
  2. o八进制输出
    例如:
int a = -1;
printf("%d\t%o\n",a,a);

运行结果:

-1      37777777777

-1以补码形式存放在4个字节中,2^3=8,所以每3位构成一组

在这里插入图片描述
在这里插入图片描述
3.x或X十六进制输出
常见是#x或者#X表示输出0X~~

int a = -1;
printf("%d\n",a);
printf("%o\n",a);
printf("%x\n",a);
printf("%#X\n",a);

运行结果:
在这里插入图片描述
4.u格式—无符号型的数据,以十进制整数形式输出。
5.g格式—用来输出浮点数。
printf函数中用到的格式字符

格式字符 说明
d,i 输出有符号的十进制整数(整数不输出符号)
u 输出无符号的十进制整数
o 输出无符号的八进制整数(不输出前o)
x,X 输出无符号的十六进制的整数,(不输出前导符0x),用x输出小写的a~f,用X时,以大写字母输出
c 输出单个字符
s 输出字符串
f 输出实数可以用小数形式或者指数形式输出,以及隐含的6位小数
e,E 以指数形式输出,用e时输出(如:1.2e+02)用E时(如:1.2E+02)
g,G 选用%f或%e格式输出宽度较短的一种格式,不输出无意义的0。用G时,若以指数形式输出,则指数以大写形式表示。

printf函数常用的格式附加字符

字符 说明
l 长整型整数,可加在格式符d,o,x,u前面
m(正整数) 数据最小宽度
n(正整数) 对实数表示输出n位小数;对字符串,表示截取的字符个数
- 输出的数字或者字符在域内向左靠

三、scanf输入数据

3.1scanf一般格式

格式:

scanf(格式控制,地址列表)
格式控制:与printf的含义相同,
地址列表:可以是变量的地址,也可以是字符串的首地址。是**变量地址**

例如:

scanf("a=%f,b=%f,c=%f",&a,&b,&c);

###3.2格式声明
scanf常用的格式字符

格式字符 说明
d,i 输入有符号的十进制整数
u 输入无符号的十进制整数
o 输入无符号的八进制整数
x,X 输入无符号的十六进制的整数
c 输入单个字符
s 输入字符串,将字符串送到一个字符数组中,在输入时以非空白字符开始,以第一个空白字符结束,‘\0’作为字符串的结束标志。
f 输入实数可以用小数形式或者指数形式输入
e,E,g,G 与f作用相同
l 输入长整型数据(%ld,%lo,%lx,%lu)以及double数据(%lf或者%le)
h 输入短整型数据(%hd,%ho,%hx)
域宽 指定输入数据所占的宽度,域宽为正整数
* 本输入项在读入后不赋给相应的变量

###3.3注意的问题
使用scanf函数应该注意的地方
(1)输入的时候是变量的地址,不是变量名。

scanf(%f”,a);//错误,a是一个变量名
scanf("%f",&a);//正确

(2)输入的内容应该与格式控制的格式是保持一致的。
例如:

scanf(“a=%f,b=%f,c=%f”,&a,&b,&c);

那么输入的内容为

a=1,b=2,c=3//在按回车
如果输入时不是逗号而是空格或者其他字符就是错误的
如果输出
1 2 3//就是错误的
因为系统会把它和scanf函数中的格式字符串逐个字符对照检查,
只是在%f的位置上代以一个浮点数

(3)在使用%c输入字符的时,空格字符和转义字符都作为有效字符输入。

scanf("%c%c%c",&c1,&c2,&c3)

此时应该输入三个连续的字符,中间不能有空格

abc
'a'送给c1
'b'送给c2
'c'送给c3

如果在中间输入空格就错了

a b c

系统会把第一个字符‘a’送给c1,第二个字符是空格字符‘ ’,送给c2,第三个字符‘b’送给c3.
(4)在输入数值数据时,如果遇到回车,空格,Tab建或者非法字符,认为该数据结束。
例如:

scanf("%d%c%f",&a,&b,&c);

输入

1234a123o.26
%d对应十进制数1234所以1234表示a
%c表示输入一个字符a是一个字符,所以a送给了b
由于%c只要求输入一个字符,系统判定已经结束输入。
123送给c,后面几个字符没有读入。

四、输入输出函数

除了printf和scanf函数可以作为字符的输出和输入以外,putchar和getchar也是可以进行字符的输入输出的。

4.1putchar()

一般格式(如下)
作用:输出字符变量c的值,c可以是字符常量,整型常量,字符变量或整型变量(其值在字符的ASCII码代码范围内)输出的是一个字符

purchar(c);

例如1:

#include <stdio.h>
int main()
{
	char a = 'B',b = 'O',c = 'Y';/定义3个字符变量并初始化
	putchar(a); //向显示输出字符B
	putchar(b);//向显示器输出字符O
	putchar(c);//向显示器输出字符Y
	putchar('\n');//向显示器输出一个换行符,是输出的当前位置移到下一行的开头
	return 0;
}

运行结果:
在这里插入图片描述
字符类型也属于整数类型,因此将一个字符赋给字符变量和将数字符的ASCII码赋给字符变量的作用是一样的(整型数据范围在0~127).putchar是输出字符,会把数字转化成对应的字符。

#include <stdio.h>
int main()
{
	char a = 66,b = 79,c = 89;/定义3个字符变量并初始化
	putchar(a); //向显示输出字符B
	putchar(b);//向显示器输出字符O
	putchar(c);//向显示器输出字符Y
	putchar('\n');//向显示器输出一个换行符,是输出的当前位置移到下一行的开头
	return 0;
}

运行结果是

BOY

putchar也可以输出转义字符

putchar('\101');//输出字符A
putchar('\");//输出单撇号\'
putchar('\015');//八进制的15=十进制13,对应的ASCII是“回车”,不换行

4.2getchar()

getchar函数是只能输入一个字符。如果想输出多个字符则需要用多个getchar获取。
getchar()输入-1或者按ctr+d会结束。
例如:从键盘输入BOY的3个字符,然后输出到屏幕上。
思路:用3个getchar获取字符,然后在用putchar输出。

#include <stdio.h>
int main()
{
	char a,b ,c;	//定义3个字符变量 
	a = getchar();	//从键盘输入一个字符送给字符变量a 
	b = getchar();
	c = getchar();
	
	putchar(a);	//将变量a的值输出 
	putchar(b);
	putchar(c);
	putchar('\n');//换行 
	return 0;
}

注意:这是在连续输入BOY后按Enter健,字符才送到计算机中,然后输出BOY字符。
输出结果:
在这里插入图片描述
如果:输入B后按空格在输入O,在按空格,再输入Y,结果会是怎么样的呢?
在这里插入图片描述
我们可以发现输出的结果只输出了两个字符。
输入的B赋给了变量a,空格也是一个字符,于是空格赋给了变量b,接着把空格赋给了变量c,而Y就没有送给任何一个变量,此时putchar输出的只有B O ,然后执行换行,没有Y。
这里说明一下:
在用键盘输入信息的时候,并不是键盘敲一个字符,就立刻送到计算机中去,而是这些字符暂缓存放在缓冲区中只有按了Enter才能把这些字符一起送到计算机中,然后按先后顺序分别赋给相应的变量

注意:
使用putchar不仅可以获取显示的字符,也可以获取屏幕上无法显示的字符,如控制字符
改一下以上的程序:把getchar作为表达式的一部分

#include <stdio.h>
int main()
{	
	putchar(getchar());	//将接受到的字符输出 
	putchar(getchar());
	putchar(getchar());
	putchar('\n');//换行 
	return 0;
}

运行结果:

BOY
BOY

也可以在printf中输出杠接收的字符

printf("%c",getchar());//%c是输出字符的格式声明
#include <stdio.h>
int main()
{	
	printf("%c",getchar());//%c是输出字符的格式声明
	printf("%c",getchar());
	printf("%c",getchar());
	putchar('\n');//换行 
	return 0;
}

例如2:从键盘输入大写字母,小写输出。
思路:小写和大写的ASCII码相差32。

#include <stdio.h>
int main()
{	
	char c1,c2;
	c1=getchar();//获取大写字母,赋给变量c1 
	c2=c1+32; //小写和大写ASCII码相差32 
	putchar(c2);//输出大写 
	putchar('\n');//换行 
	return 0;
}

运行结果
在这里插入图片描述
也可以用printf输出

#include <stdio.h>
int main()
{	
	char c1,c2;
	c1=getchar();//获取大写字母,赋给变量c1 
	c2=c1+32; //小写和大写ASCII码相差32 
	printf("大写字符:%c\n",c1); 
	printf("小写字符:%c\n",c2); 
	return 0;
}

运行结果:
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

嵌入式学习——c语言数据的输入输出 的相关文章

  • Apache LOG:子进程 pid xxxx 退出信号分段错误 (11)

    Apache PHP Mysql Linux 注意 子进程 pid 23145 退出信号分段错误 11 tmp 中可能存在 coredump 但 tmp下没有找到任何东西 我怎样才能找到错误 PHP 代码中函数的无限循环导致了此错误
  • 使用 --prof 选项创建多个日志文件而不是一个 v8.log 的节点

    我正在尝试使用 prof 选项来分析我的 Node 应用程序 但我发现不是一个单一的 v8 log 文件 而是使用诸如isolate 0x9582b40 v8 log isolate 0xa1cab78 v8 6049 等前缀创建的多个文件
  • 由于 abi::cxx11 符号导致的链接问题?

    我们最近收到一份报告 因为GCC 5 1 libstdc 和双 ABI http gcc gnu org onlinedocs libstdc manual using dual abi html 它似乎Clang 不知道 GCC 内联名称
  • 如何通过不同的接口路由 TCP/IP 响应?

    我有两台机器 每台机器都有两个有效的网络接口 一个以太网接口eth0和 tun tap 接口gr0 目标是使用接口在机器 A 上启动 TCP 连接gr0但然后让机器 B 的响应 ACK 等 通过以太网接口返回 eth0 因此 机器 A 发出
  • Linux下单个目录下文件过多会怎样?

    如果一个目录中有大约 1 000 000 个单独的文件 大部分大小为 100k 其中没有其他目录和文件 是否会以任何其他可能的方式降低效率或产生缺点 ARG MAX 会对此提出异议 例如 rm rf 在目录中时 会说 参数太多 想要执行某种
  • 在 vimrc 中切换匹配

    我的 vimrc 文件中有以下几行 hi ExtraWhitespace cterm NONE ctermbg green ctermfg green guibg green guifg green match ExtraWhitespac
  • 命名互斥体的 Mono 替代方案

    在 Windows NET 上 命名的互斥体可用于同步多个进程 不幸的是 Mono 在 Linux 上不太支持这一点 他们的发行说明 http www mono project com Release Notes Mono 2 8 Shar
  • BeagleBone Black 如何用作大容量存储设备?

    是否可以使用 BB 作为大容量存储设备 我希望将其连接到可以从 USB 连接 例如 USB 闪存驱动器 读取文件的音频播放器并充当包含一个特定文件夹的数据存储设备 及其子文件夹 从文件系统 如果可能 在连接到开发板的闪存驱动器上 正如设备规
  • 我可以在 Ubuntu 上使用 Homebrew 吗?

    我只是尝试使用 Homebrew 和 Linuxbrew 在我的 Ubuntu 服务器上安装软件包 但都失败了 这就是我尝试安装它们的方法 sudo apt get install build essential curl git m4 r
  • Linux 中的 Windows NAmed Pipes 替代品

    我们正在将现有的 Windows 代码移植到 Linux 我们使用 ACE 作为抽象层 我们使用 Windows 命名管道与多个客户端进行通信并执行重叠操作 linux 下这个相当于什么 我检查了linux命名管道 FIFO 但它们似乎只支
  • 如何在 Ubuntu/Linux 发行版中安装 Tesseract-OCR 3.03?

    我和一个朋友有兴趣为 CV 项目训练 tesseract OCR 引擎 我们尝试使用一些包装器 例如 PyTesser 和 pyocr 但结果目前不如我们需要的那么准确 因此 我们希望尝试训练超立方体以更好地实现我们的目的 即识别食品标签上
  • 使用 Python 将阿拉伯语或任何从右到左书写系统的字符串打印到 Linux 终端

    非常简单的例子是 city print city 我期望输出是 但实际上输出是相反的字符串 字母看起来有点不同 因为它们有开始 中间和结束形式 我无法将其粘贴到此处 因为复制粘贴会再次更正字符串的顺序 如何在 Linux 终端上正确打印阿拉
  • 打印 STDOUT/STDERR 并将它们写入 Bash 中的文件?

    有没有办法让 Bash 将 STDOUT STDERR 重定向到文件 但仍然将它们打印到终端 这会将 STDOUT 和 STDERR 重定向到同一个文件 some command 2 gt 1 tee file log Example to
  • SIGHUP 用于重新加载配置

    根据signal 7 SIGHUP用于检测控制终端的挂起或控制进程的死亡 然而 我遇到过很多 OSS 守护进程 服务 其中SIGHUP用于启动配置的重新加载 这里有一些例子 hostapd sshd snort etc 这是实现重新加载的标
  • 为什么我的代码在编译用于分析 (-pg) 时在多线程下运行比在单线程下运行慢?

    我正在写一个光线追踪器 最近 我在程序中添加了线程 以利用 i5 四核上的附加内核 奇怪的是 应用程序的调试版本现在运行速度变慢 但优化后的构建运行速度比添加线程之前更快 我将 g pg 标志传递给 gcc 以进行调试构建 并将 O3 标志
  • tar.gz 和 tgz 是同一个东西吗? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我创建了 tgz 文件tar czvf filecommand then 我最终得到了一个 tgz 文件 我想知道它和tar gz 之间的
  • php56 - CentOS - Remi 仓库

    我刚刚在测试盒上安装了 php 5 6 正常的 cli php 解释器似乎不存在 gt php v bash php command not found gt php56 v PHP 5 6 13 cli built Sep 3 2015
  • %config(noreplace) 文件上出现意外的 RPM 冲突

    我正在创建我自己的RPM using rpmbuild My RPM 包含配置文件哪个应该永远不会被覆盖 即使 RPM 包含这些配置文件的新版本 为了存档这个 我用以下标签标记了它们 config noreplace opt mypacka
  • python 可以检测它运行在哪个操作系统下吗?

    python 可以检测操作系统 然后为文件系统构建 if else 语句吗 我需要将 Fn 字符串中的 C CobaltRCX 替换为 FileSys 字符串 import os path csv from time import strf
  • 在Linux中将日期附加到文件名

    我想在文件名旁边添加日期 somefile txt 例如 somefile 25 11 2009 txt 或 somefile 25Nov2009 txt 或任何类似的内容 也许脚本或终端窗口中的某些命令可以执行 我正在使用Linux Ub

随机推荐

  • 一文读懂HTML和CSS的关系

    Web开发是一个很依赖经验的领域 然而这对初学者很不友好 知识一旦脱离了应用场景就会变得晦涩 空洞 且知识本身也满足 二八定律 抓大放小 是提高学习效率的关键 下文向大家介绍了HTML和CSS之间的关系 内容选自 HTML 5与CSS 3核
  • Mybatis-Plus时间范围查询

    方式一 通过apply方法 来实现时间范围查询 该方法可用于数据库函数 动态入参的params对应前面applySql内部的 index 部分 这样是不会有sql注入风险的 反之会有 apply String applySql Object
  • Jenkins 持续集成「编译打包、代码检查、单元测试、环境部署、软件测试​」

    Jenkins 就是常说的 CI 平台 持续集成 持续集成 CI 是一种实践 可以让团队在持续的基础上收到反馈并进行改进 不必等到开发周期后期才寻找和修复缺陷 改进肯定是自己改进 反馈是谁提供呢 最先应用在开发团队中 也就是 打包 大型项目
  • crmeb PRO v1.2用户隐私协议问题

    注意 行数仅供参考 为了快速找到修改的地方 1 文件地址 app controller admin v1 setting SystemGroupData php行数 308 获取用户协议内容 return mixed public func
  • React通过docx-preview预览Word文档

    前言 在基于React的Web应用中 我们经常遇到需要预览和展示Word文档的需求 而docx preview是一个优秀的React组件库 可以帮助我们实现在Web页面上预览Word文档的功能 本文将介绍如何使用docx preview组件
  • React 路由使用-详细介绍

    路由初使用 抽象路由模块 src page Article index js const Article gt return div p 文章页 p div export default Article src router index j
  • selenium框架解析

    seleium框架解析 文章目录 seleium框架解析 前言 一 selenium驱动浏览器原理 二 selenium常用操作 1 四大操作 2 三大切换 3 三大等待 4 下拉框操作 5 时间控件操作 6 滚动条操作 7 文件操作 前言
  • java类的静态成员和非静态成员_Java SE之[静态成员/类成员]与[非静态成员/实例成员]【static】...

    定义 静态成员 又称类成员 使用static修饰符的方法和变量 非静态成员 又称实例成员 未使用static修饰符的方法和变量 结论 注 jdk1 8 测试源码 public class Main private int x 34 非静态变
  • linux path 多个目录,Linux下多路径Multipath的简单配置

    Linux下多路径Multipath的简单配置 1 启用Multipath 1 启动multipathd服务 service multipathd start 或者 etc init d multipathd start 2 修改multi
  • python房价预测_Python——决策树实战:california房价预测

    Python 决策树实战 california房价预测 编译环境 Anaconda Jupyter Notebook 首先 导入模块 1 importpandas as pd2 importmatplotlib pyplot as plt3
  • 手写算法-python代码实现Kmeans

    手写算法 python代码实现Kmeans 原理解析 代码实现 实例演示 sklearn对比 总结 原理解析 今天 我们来讲一下Kmeans 一种无监督聚类算法 也是最为经典的基于划分的聚类方法 它的思想是 对于给定的样本集 按照样本之间的
  • java中的 Set转List

    构造Map数据 Map
  • Mysql详解

    一 数据库的基本概念 数据库的英文单词 DataBase DB 数据库 用来存储和管理数据的仓库 数据库的特点 持久化存储数据 其实数据库就是一个文件系统 方便存储和管理数据 使用了统一的方式操作数据库 SQL 常见的数据库软件 MySQL
  • 两阶段最小二乘法_最小二乘法(Least Squares)简介

    最小二乘法简介 最小二乘法 Least Squares 是回归分析中的一种标准方法 它是用来近似超定系统 Overdetermined System 答案的一种方法 超定系统是指数学中的一种概念 一组包含未知数的方程组中 如果方程的数量大于
  • arm平台编译adb

    参考github https github com bonnyfone adb arm 本来的目的是在arm平台编译以后能够使用adb shell获取shell权限 然后就可以避开其他权限无法执行su的问题 最开始 先修改了android源
  • kodi刮削器 中文_手把手教您设置KODI播放器,3分钟打造家庭影院级媒体库,流畅播放NAS里的原盘电影!...

    创作立场声明 此文为比较基础的KODI播放器的保姆级安装和配置教程 希望可以帮助一些初入家庭影音的值友们 关于KODI KODI是一款播放器 也是一款媒体库管理软件 不仅在电视上可以安装 还可以在windows电脑上进行安装 当下载高清 高
  • Vue3记录

    Vue3快速上手 1 Vue3简介 2020年9月18日 Vue js发布3 0版本 代号 One Piece 海贼王 耗时2年多 2600 次提交 30 个RFC 600 次PR 99位贡献者 github上的tags地址 https g
  • 【1】TypeScript入门——基本认知

    一 基本认知 1 优点 TypeScript 更加可靠 它与使用 JavaScript 相比 不仅支持在任何地方直观地获取组件的接口定义 还能对属性 状态中的值是否为空进行自动检测并给出提示 容错处理 甚至还支持对 React JSX元素接
  • Java创建数组的方法

    最近学Java 一点小心得 希望和大家分享一下 第一次写文章 写的不好希望大家谅解 当然我也会尽力写好这篇文章 Java创建数组的方法大致有三种 说明 这里以int为数据类型 以arr为数组名来演示 一 声明并赋值 int arr 1 2
  • 嵌入式学习——c语言数据的输入输出

    嵌入式学习 c语言数据的输入输出 一 输入输出概念 1 2C语言本身不提供输入输出语句 1 3 include头文件放在程序中 二 printf输出数据 2 2格式字符 三 scanf输入数据 3 1scanf一般格式 四 输入输出函数 4