c语言字符转化为数组
A. c语言怎样输入字符串后转换为数组
#include
<stdio.h>
#include
<string.h>//为strlen()函数提供原型
int
main()
{
char
ch[100];
int
i,length;
int
n_number=0,m_number=0;
printf("请输入字符串:
");
gets(ch);//获取输入,并存入数组中
length=strlen(ch);//计算输入字符串的长度
for(i=0;i<length;i++)
{
if(ch[i]>='0'&&ch[i]<='9')//判断是否为数字
{
n_number++;
}
if(ch[i]>='a'&&ch[i]<='z'||ch[i]>='A'&&ch[i]<='Z')//判断是否为字母
{
m_number++;
}
}
printf("输入的字符串为:
");
puts(ch);//输出存入数组的字符串
printf("字符串中数字的个数=%d,字母的个数=%d\n",n_number,m_number);
return
0;
}
B. C语言中,字符串怎么转换为int数组
#include<stdio.h>
#include<math.h>
#include<string.h>
#include<conio.h>
voidmain(){
intexc_n(charch[]);intpnum=0;
do{//套用了我之前写的一个转换函数,输出有点勉强。。。(固定输出头0x0...)
charch[10]={0};charspr[2]={0};//分隔输入
printf("inputthestringofnum. 不得不说下,每次输入一个数据,按'x'可以结束程序 ");
scanf("%s",&ch);
printf("0x0%x ",pnum=exc_n(ch));
//printf("%x",pnum);
}while(getch()!='x');
}
//该函数将字符串型数字与整型数字单向转换
intexc_n(charch[]){//,longlnum){
intsize=0;intnum=0;
if(sizeof(ch[0])>0)
size=strlen(ch);inti=0;
while(size>=0){
if(ch[size]>47&&ch[size]<58){num=num+(ch[size]-48)*(int)pow(10,i++);
}
size--;
//
}
returnnum;
}
C. C语言中如何把一个字符串转化成其ASCII码的数组
直接将字符变量赋值给整型变量,即可实现字符到对应ASCII码的转换。
具体实现方法可以参考如下程序段:
char str[]="abds%*&34dfs"; // 定义一个字符数组,存放待转换为ASCII码的字符串
int AsciiNum[20]; // 定义一个整型数组,存放字符所对应的ASCII码值,数组大小根据字符串长度进行设置
int i;
// 将字符串的每个字符逐个赋值给整型数组AsciiNum,即实现字符到ASCII码值的转换
for(i=0; i<strlen(str); i++)
{
AsciiNum[i] = str[i]; // 最后数组AsciiNum就是字符串每个字符所对应ASCII码值的数组
}
D. 用C语言进行字符串到数组的转化
#include <stdio.h>
#include <string.h>//为strlen()函数提抄供原型
int main()
{ char ch[100];
int i,length;
int n_number=0,m_number=0;
printf("请输入字符串: ");
gets(ch);//获取输入,并存入数组中
length=strlen(ch);//计算输入字符串的长度
for(i=0;i<length;i++)
{
if(ch[i]>='0'&&ch[i]<='9')//判断是否为数字
{
n_number++;
}
if(ch[i]>='a'&&ch[i]<='z'||ch[i]>='A'&&ch[i]<='Z')//判断是否为字母
{
m_number++;
}
}
printf("输入的字符串为: ");
puts(ch);//输出存入数组的字符串
printf("字符串中数字的个数=%d,字母的个数=%d\n",n_number,m_number);
return 0;
}
E. c语言字符串转成byte数组
c语言中没有byte这种类型,这是计算机中存储信息的单位。
char 是字符型
byte 是字节型(0 - 255)
在参与算术运算是char类型会自动转为整型;如字符A会转为对应ASCII码65.
char是用来表示一个字符,而不是一个字,因为一个字要占用两个字节。而存储一个ANSI字符只需一个字节。注意,强调是ANSI字符,而不是Unicode字符。因为Unicode要占用两个字节。
byte类型是最自由的一种。它就占用一个字节,但没有定义这个字节拿来干什么。char定义为一个Unsigned Byte类型。也就是无符号的一个字节。它将一个字节的8位全占用了。可以表示的数据范围是0到255之间。
如果你确定处理的字符串是标准的ANSI字符串,那不必转换也可以直接一个字节一个字节地处理。如果要处理的字符串不定或是统一的Unicode字符串则要进行转换后进行处理。
F. c++中如何将一个字符串转化成数组
c++中将一个字符串转化成数组方法如下:
include<stdio.h>
#include<string.h>intmain(void){char*str="helloworld";chararr_str[32];intlen,i;/*oneway*/len=strlen(str);strncpy(arr_str,str,len+1);for(i=0;i<len;i++)putchar(arr_str[i]);putchar(10);/*anotherway*/memset(arr_str,0,sizeof(arr_str));printf("Pleaseinputastring:");scanf("%s",arr_str);for(i=0;i<len;i++)putchar(arr_str[i]);putchar(10);return0;}
(6)c语言字符转化为数组扩展阅读:
C++语言基本类型
1、整型
整数常量
整数常量是不带小数的数值,用来表示正负数。例2—2中Ox55、0x55ff、1000000都是c++语言的整数常量。
c++语言的整数常量有三种形式:十进制、八进制、十六迸制。
(1)十进制整数是由不以0开头的0~9的数字组成的数据。
(2)八进制整数是由以0开头的0~7的数字组成的数据。
(3)十六进制整数是由以0x或0x开头的0~9的数字及A~F的字母(大小写字母均可)组成的数据。
整型变量类型
整型变量类型有byte,short,int,long四种说明符,它们都是有符号整型变量类型。
(1)byte类型。
byte类型说明一个带符号的8位整型变量。由于不同的机器对多字节数据的存储方式不同,可能是从低字节向高字节存储,也可能是从高字节向低字节存储。这样,在分析网络协议或文件格式时,为了解决不同机器上的字节存储顺序问题,用byte类型来表示数据是合适的。
(2)short类型。
short类型说明一个带符号的16位整型变量。short类型限制了数据的存储应为先高字节,后低字节。
(3)int类型。
int类型说明一个带符号的32位整型变量。int类型是一种最丰富、最有效的类型。它最常用于计数、数组访问和整数运算。
(4)long类型。
long类型说明一个带符号的64位整型变量。对于大型计算,常常会遇到很大的整数,并超出int所表示的范围,这时要使用long类型。
2、浮点型
浮点数常量
浮点数是带有小数的十进制数,可用一般表示法或科学记数法表示。0.23f、0.7e-3都是c++语言的浮点数常量。
(1)一般表示法:十进制整数+小数点+十进制小数。
(2)科学记数法:十进制整数+小数点+十进制小数+E(或e)+正负号+指数。
浮点变量类型
浮点变量也称实数变量,用于需要精确到小数的函数运算中,有float和double两种类型说明符。
(1)float类型。
float类型是一个位数为32位的单精度浮点数。它具有运行速度较快,占用空间较少的特点。
(2)double类型。
double类型是一个位数为64的双精度浮点数。双精度数在某些具有优化和高速运算能力的现代处理机上运算比单精度数快。双精度类型double比单精度类型float具有更高的精度和更大表示范围,常常使用。
3、字符型
字符型常量
字符型常量是指由单引号括起来的单个字符。
例如:’a’,’A’,’z’,‘$’,’?’。
注意:’a’和’A’是两个不同的字符常量。
除了以上形式的字符常量外,c++语言还允许使用一种以“”开头的特殊形式的字符常量。这种字符常量称为转义字符,用来表示一些不可显示的或有特殊意义的字符。
字符型变量
字符型变量的类型说明符为char,它在机器中占8位,其范围为0~255。
注意:字符型变量只能存放一个字符,不能存放多个字符,
3、布尔型
布尔常量
布尔常量只有两个值:“true”和“false”,表示“真”和“假”,均为关键词,在机器中位长为8位。
布尔型变量
布尔型变量的类型说明符为booI,用来表示逻辑值。