abc占几个字节
c='a';
这样行吗?? , 关于串口通信,用VB编的。发送正常,接收的数据总是不对,数据中多了几个 00 ,末尾数据错误。用其他串口软件调试没问题,问题在哪?为什么会多出数据00? , char * p = str;
*p++ = '0';
*p++ = 'x'; , 则以下叙述正确的是
A) a与b完全相同 B) a与b长度相同
C) a与b中都存放字符串 D) a数组比b数组长度长 ...
字符串“\\\”abc\”\\”的长度是?:
长度为7因为在字符串中不允许打"和\所以想在字符串中打这个就必须用\这个符号进行转意
所以前两个\\相当于\然后\"相当于"后面的\"\\也相当于\"所以前面两个加三个字母加后面两个等于7
c语言 gets()会不会把原数组的值全部覆盖掉?比如原数组中有1234四个字符,通过gets输入abc,最终:
gets得到的是字符串,而字符串是以'\0'结尾的啦。
如:
char a[10];
gets(a);//你输入1234,则a里存储的内容是"1234\0",一共占了5个位置,不要忘了'\0'
gets(a);//这里你输入abc,则a存储的内容是"abc\0\0",看到没有两个\0了,而输出字符串,是遇到\0
//就结束的啦。如果你输入ab,则a存储的内容是"ab\04\0",你可以试着输出a[3],那么它会输出4,
//不信?你可以试一试啦
为什么不能将字符串常量赋给一个字符变量:
字符串是由许多字符组成的,c语言中字符串是用字符数组保存的。将许多字符赋给一个字符可以吗?这很明显是行不通的。就像你不能将一个整型数组的值保存在一个整型变量中。
而且即使该字符串只有一个字符,C语言默认在字符串末尾加'\0'字符,不可能赋值成功。
在语法上这种行为也是非法的。
补充:LZ之后的做法是完全可以的。因为'a'是字符常量,而不是字符串常量。
vb 中怎么让字符串中的两个数交换位置:
常见的VB字符串函数?2007-03-23 15:。 571 ASC(X),CHR(X):转换字符的字符代码
[格式]:
P =升序(X)返回字符串的字符代码
X是第一个字符P = CHR (X)返回字符码等于X的字符
[例]:
(1)P = CHR(65)
'输出字符A,因为A等于ASCII码65
(2)P =升序(“A”)
'输出65
2.莱恩(X):计算字符的字符串X
[格式的长度]:
P =莱恩(X)
[说明]:
空字符串长度为0,空格字符可以被认为是一个字符,文本,虽然占用2个字节,但也算一个字符。
[例]:
(1)令X =“”(空字符串)
莱恩(X)输出为0
(2)令X =“ABCD”
莱恩(X)的输出为4
(3)令X =“VB教程”
莱恩(X)的输出为4
3.端(X)的函数:X为中心向读取字符的字符串
[格式]中部:由X的第n个字符
P = MID(X,N)
阅读,阅读所有的字符后面。由X的前n个字符
P = MID(X,N,M)
读,读取M字后面。
[例]:
(1)X =“ABCDEFG”
P = MID(X,5)
结果是:P =“EFG”
(2)X =“ABCDEFG”
P = MID(X,2,4)
结果P =“BCDE”
4.更换:由其他字符串替换的字符串某些字符串
[格式]:
P =替换(X,S,R)
[说明]:X字符串替换字符串,字符串中的SR,然后返回。
[例]:
X =“VB非常好”
P =替换(X,不错,不错)
输出为:P =“VB是非常好的”
5. StrReverse:反转字符串
[格式]:
P = StrReverse(X)
[说明]:
返回反转后的字符串的字符X参数
[例]:
(1)X =“ABC”
P = StrReverse(X)
输出:P =“CBA”
6 UCASE(X), LCASE(X):转换英文字母案例 - [格式]:
P = LCASE(X)
'的X线大写字母转换成小写字母
P = UCASE(X)
“的X字符串小写字母为大写
[说明]:除了字母,其他字符或不受影响。
[例]:
(1)令X =“VB和VC”
的LCASE(X)的结果为“VB和VC”,UCASE(X)的结果是“VB与VC“
7. InStr函数:查找字符串
[格式]:
P = INSTR(X,Y)
从XY的第一个字符出现找出 BR> P = INSTR(N,X,Y)从出现到找出
[说明]的位置开始
X前n个字符:
(1)若X,找到Y,则返回值是Y中的第一个字符的位置出现在十
(2)INSTR(X,Y)是等效INSTR(1,x,y)。
(3)如果该字符串的长度,或X为一个空字符串,或不能在X中,Y,则返回0。
(4)若Y为空字符串,0是返回。
关于串口通信,用VB编的。发送正常,接收的数据总是不对,数据中多了几个 00 ,末尾数据错误。用其:
这是因为VB使用的是Unicode编码,在这种编码模式下,任何字符都是占用两个字节的(换句话说不但汉字占用两个字节,连半角的英文字母、数字、符号等也是两个字节的),比如
"abc1"这个字符串的ASCII码(16进制)在ANSI编码下为“61 62 63 31”,但在Unicode中则变为“61 00 62 00 63 00 31 00”。
要想解决这个问题,你必须用字节数组而不是字符串变量来接收数据,并且要按字节读取而不是按字符读取。也可以采用编码转换函数强制把Unicode编码转换为ANSI编码,比如:
Dim s As String
s = "abc1"
s = StrConv(s, vbFromUnicode)
但要注意,转换后的字符串是不能在VB直接使用的(将是乱码),只能作为数据来使用(读取的时候必须按字节读取,比如MidB(s, 1, 1))。
计算机处理的数据不管输入内容是什么形式,都会转换为二进制数后再处理吗:
电脑处理的数据不管输入内容是什么形式,都会转换为二进制数后再处理。
由于电路的复杂性因素,电脑中都使用二进制数,只有0和1两个数码,逢二进一,最容易用电路来表达,比如0代表电路不通,1代表电路通畅。我们平时用电脑时感觉不到它是在用二进制计算是因为电脑会把你输入的信息自动转换成二进制,算出的二进制数再转换成你能看到的信息显示到屏幕上。
电脑内部的信息编码,包括ASCII码和汉字编码,它们都是用二进制编码表示的。
一、ASCII码。
美国信息交换标准码是由美国国家标准学会(American National Standard Institute,ANSI)制定的,标准的单字节字符编码方案,用于基于文本的数据。起始于50年代后期,在1967年定案。它最初是美国国家标准,供不同计算机在相互通信时用作共同遵守的西文字符编码标准,它已被国际标准化组织(ISO)定为国际标准,称为ISO646标准。适用于所有拉丁文字字母。
ASCII码使用指定的7位或8位二进制数组合来表示128或256种可能的字符。标准ASCII码也叫基础ASCII码,使用7位二进制数来表示所有的大写和小写字母,数字0到9、标点符号,以及在美式英语中使用的特殊控制字符(这里需要特别注意:ASCII码与标准ASCII码的位数上的区分,标准ASCII码是7位二进制表示)。在电脑里,数字和字母都是用ASCII码来存储的,这就是为什么一个英文字母或半角的数字、标点符号通常占一个字节的原因。
二、汉字编码。
电脑内部汉字信息的存储运算的代码有四种:输入码、国标码、内码和字型码。
输入码:包括拼音编码和字型编码。微软拼音ABC就是拼音编码,五笔字型输入法就是字型编码。
国标码:又称为汉字交换码,在计算机之间交换信息用。用两个字节来表示,每个字节的最高位均为0,因此可以表示的汉字数为2的14次幂,就是16384个。将汉字区位码的高位字节、低位字节各加十进制数32(即十六进制数的20),便得到国标码。例如“中”字的国标码为8680(十进制)或7468(十六进制)。
内码:汉字内码是在设备和信息处理系统内部存储、处理、传输汉字用的代码。无论使用何种输入码,进入计算机后就立即被转换为机内码。规则是将国标码的高位字节、低位字节各自加上128(十进制)或80(十六进制)。例如,“中”字的内码以十六进制表示时应为F4E8。这样做的目的是使汉字内码区别于西文的ASCII,因为每个西文字母的ASCII的高位均为0,而汉字内码的每个字节的高位均为1。
字型码:表示汉字字形的字模数据,因此也称为字模码,是汉字的输出形式。通常用点阵、矢量函数等表示。用点阵表示时,字形码指的就是这个汉字字形点阵的代码。根据输出汉字的要求不同,点阵的多少也不同。简易型汉字为16′16点阵、提高型汉字为24′24点阵、48′48点阵等。如果是24′24点阵,每行24个点就是24个二进制位,存储一行代码需要3个字节。那么,24行共占用3′24=72个字节。计算公式:每行点数/8′行数。依此,对于48′48的点阵,一个汉字字形需要占用的存储空间为48/8′48=6′48=288个字节。
C语言中的这个赋值语句是什么意思?:
将str的第一个和第二个字符赋值成"0x"
同时p指向第三个字符。
即等效于
str[0] = '0';
str[1] = 'x';
p=&str[2];
对两个数组a和b进行如下初始化: char a[] = “ABCDEF”; char b[] = {‘A’,‘B’,‘C’,‘D’,‘E’,‘F:
要不这样理解吧
首先a作为字符串长度为6;
作为字符数组有7个元素,包含\0,a数组的长度为7;
b是字符数组有6个元素,不是字符串,b数组的长度为6;
选D
-
2014中考考哪些科目
bs是什么职位: 是网站项目的结构工程师。 ...
581条评论 1205人喜欢 5956次阅读 696人点赞 -
ocr哪个好用
Poloniex上面提比特币已经15小时没到账了,该怎么办?求大神帮助: 曾经有Poloniex邮件说Poloniex也被黑客偷了...反正我已经不用了,没有办法,你只能继续等等,以后不用就是了 ...
330条评论 6350人喜欢 1951次阅读 324人点赞 -
13等于多少
软 红 利群香烟价格请教。: 25 ...
419条评论 5543人喜欢 2226次阅读 334人点赞 -
蹭网哪个牌子好
ttz和ttx这两张显卡有什么不同: Titan Z是一块显卡装的两颗Titan X核心的独立显卡,也就是讲Titan Z是双核心显卡,这样成本更低的,但是性能和两张Titan X是差不多的,你买两张Titan X肯定给单张Titan Z更贵的,因为PC...
423条评论 3375人喜欢 3032次阅读 456人点赞 -
msp是什么
给EXO的growl编舞的老师的名字是什么?: NICK BASS他很厉害,给贾斯汀汀布莱克,珍妮杰克逊都编过舞 ...
425条评论 2811人喜欢 6097次阅读 602人点赞 -
null是哪里
qq三国桃园结义的神秘刺杀者就是三分天下的风清扬么?: 我是三分的,风清扬在三分区不是排在消费榜第一的,如果真像神秘刺杀者那么有钱,三分区他也应该是排在消费榜上第一位的! ...
738条评论 2324人喜欢 1623次阅读 821人点赞 -
11克黄金多少钱
数字货币可以换平台交易吗?比如我在火币买的BTC可以拿到币易平台上卖吗?: 可以的,这个方法俗称“搬砖”。只要把币提出来放在自己的钱包里,到哪个交易平台都是可以交易的。币易平台上BTC价格高于其他平台10%左右,充值提现秒到账,适合“搬砖”。现阶段数字货币更像一种投资产品,因为缺乏强有力的担...
274条评论 1971人喜欢 4171次阅读 956人点赞
随机推荐榜单
- 拳击多少公斤才能称得上重量级的?轻的又是多少范围 ? 重的又是多少范围?
- 在那个网站可以免费下载带MV的音乐?
- 如何在电脑上创建无限WI-FI功能
- oppor9s怎样设置应用快捷方式
- 鬼火踏板车磨合期是多少公里,最快可以开多少开50行吗
- 如何安装ORACLE provider for OLE DB
- 从P点向北偏东30度到A点,行走5000米,又从A点向东南方向走到C点正好是P点的正东方向,你画下图,解答...
- 魔趣玩游戏cpu不活跃,怎么设置
- 想问一下肇庆爬哪座山不用钱的,放假了想去爬一下,拜托知道的回答一下
- 我现在已经在邕江边上了 翻译成南宁白话怎么讲
- 丰田陆地巡洋舰中东5700双油双备多少钱陆巡5700中东版16款多少钱
- 分析语法结构并翻译 not since Rome in its glory days had a nation enjoyed such overwhelming mil
- 窗户门为什么矩形的多?
- 打印PDF文档(共40页),如何设置,使在一页A4纸正面打第1、2页,反面打3、4页,以此类推,用10张A4纸打印
- 教室大约长80米.______ (判断对错
- qq直播间怎么开
- 在手机qq群群成员如何拉黑不想加为好友的人
- 什么驾照可以开危险品车
- 成都软件测试培训,软件测试培训机构哪家的教学质量过硬呢
- [转] 你爱自己吗---玛格丽特.保罗博士(内在联系法治疗专家和研究者)