c语言整数与字符的转换
① c语言中字符串和整数小数相互转换的函数以及头文件
函数名: atof 源
功 能: 把字符串转换成浮点数
用 法: double atof(const char *nptr);
程序例:
#include <stdlib.h>
#include <stdio.h>
int main()
{ float f;
char *str = "12345.67";
f = atof(str);
printf("string = %s float = %f\n", str, f);
return 0;
}
② C语言:把数字字符串转换成整型数字
程序如下:
若输入字符串"ab56cd87",则输出结果:以%d格式输出十进制整数5687;若输入字符串"-ab56cd87",则输出结果:以%d格式输出十进制整数-5687。
(2)c语言整数与字符的转换扩展阅读:
C语言高效编程技巧:
一:以空间换时间
计算机程序中最大的矛盾是空间和时间的矛盾,那么,从这个角度出发逆向思维来考虑程序的效率问题
二:数学方法解决问题
数学是计算机之母,没有数学的依据和基础,就没有计算机发展,所以在编写程序的时候,采用一些数学方法会对程序的执行效率有数量级的提高。
三:使用位操作
实现高效的C语言编写的第三招----使用位操作,减少除法和取模的运算。
在计算机程序中,数据的位是可以操作的最小数据单位,理论上可以用“位运算”来完成所有的运算和操作。一般的位操作是用来控制硬件的,或者做数据变换使用,但是,灵活的位操作可以有效提高程序运行的效率。
③ c语言 字符型转换成整型
字符串转成整来型可以使用atoi函数。自
函数原型:int atoi(const char *nptr);
功能:把字符串转换成整型数。
参数nptr字符串,如果第一个非空格字符存在,是数字或者正负号则开始做类型转换,之后检测到非数字(包括结束符 ) 字符时停止转换,返回整型数。否则,返回零。
(3)c语言整数与字符的转换扩展阅读:
整型转换成字符型使用itoa函数。原型:extern char *itoa(int i);
参考代码:
#include<stdio.h>
#include<stdlib.h>
intmain()
{
inta=125;
charb[50];
printf("%s ",itoa(a,b,10));//把10进制的125转成字符并输出。
return0;
}
/*
④ C语言整型数组与字符数组的转换
整形数组存放的是整数,字符数组存放的是字符串。
⑤ [C语言]怎样把整型转变为字符型
使用itoa函数。
原型:extern char *itoa(int i);
参考代码:
#include<stdio.h>
#include<stdlib.h>
intmain()
{
inta=125;
charb[50];
printf("%s ",itoa(a,b,10));//把10进制的125转成字符并输出。
return0;
}
/*
(5)c语言整数与字符的转换扩展阅读:
注意事项
itoa() 函数有3个参数:第一个参数是要转换的数字,第二个参数是要写入转换结果的目标字符串,第三个参数是转移数字时所用的基数(进制)。在上例中,转换基数为10,就意味着以10为转换进制。10:十进制;2:二进制。
itoa 并不是一个标准的C函数,它是Windows特有的,如果要写跨平台的程序,请用sprintf。
标准库中有sprintf,功能比这个更强,用法跟printf类似:
⑥ C语言编程题,数字与字符怎么转换
#include "stdio.h"
#include "math.h"
main()
{
char change(int x,int n);
int x,i,j;
char s[8],y;
printf("请输入整数:");
scanf("%d",&x);
for(i=0;i<20;i++)
{
y=change(x,i);
if(y=='\0')
{
s[i]='\0';
break;
}
s[i]=y;
}
for(i=7;i>=0;i--)//由于字符存储到字符数组时顺序与原来相反,故在此将字符顺序倒输
if(s[i]=='\0')
for(j=i-1;j>=0;j--)
printf("%c",s[j]);
printf("\n");
}
char change(int x,int n)
{
int i;
char g;
for(i=0;i<=n;i++)
{
switch(x%10)
{
case 0 :g='0';break;
case 1 :g='1';break;
case 2 :g='2';break;
case 3 :g='3';break;
case 4 :g='4';break;
case 5 :g='5';break;
case 6 :g='6';break;
case 7 :g='7';break;
case 8 :g='8';break;
case 9 :g='9';break;
}
if(x==0)
{
g='\0';
break;
}
x=x/10;
}
return(g);
}
代码比较渣,但是大概能够实现,数字范围是int型上限
⑦ C语言一维数组数字字符和整数的转换
ch为字符时,ch-'0'的差是一个数,这个差对应的就是数字。
例如
ch='0',那么ch-'0'='0'-'0'=0,结果是0
ch='1',那么ch-'0'='1'-'0'=1,结果是1
…………
依次类推。
⑧ C语言编程题 数字与字符的转换
C语言字符中的数字0-9是用Ascii码表示的,如果已知一个字符表示的数字,那么用其减去字内符'0'的Ascii码即可。比如,已知容 char a是用字符表示的数字,即a满足以下条件:
a>='0'&&a<='9'
那么用下列命令就可将其转化为数字
a=a-'0';
具体看这个这个例了,将一个字符串数组转化为数字。
#include<stdio.h>
#include<string.h>
#include<math.h>
intmain(void)
{
chara[]="123563";
intsize;
inti;
intresult=0;
size=strlen(a);
for(i=0;i<size;i++)
if(a[i]>='0'&&a[i]<='9')
result+=(a[i]-'0')*pow(10,(size-i-1));
printf("%d ",result);
}
⑨ C语言中怎么把一个整数转换成字符串或字符
atoi: 把字符串转换成整型数
itoa:把整数转换为字符串
#include <stdlib.h>
#include <stdio.h>
{
int main(void)
int number = 12345;
char string[25];
itoa(number, string, 10);
printf("integer = %d string = %s\n", number, string);
return 0;
}