C++基本数据类型转换
c 式转换规则

c 式转换规则
C语言中的数据类型转换规则可以分为自动转换和强制转换两类。
自动转换发生在不同数据类型的数据混合运算时,C语言会根据需要将数据类型转换统一,以保证运算的正确性。
具体转换规则如下:
1. 算术运算中,低类型能够转换为高类型。
例如,char类型和short类型会转换为int类型,float类型数据在运算时一律转换为double类型。
2. 在赋值表达式中,右边表达式的值会自动隐式转换为左边变量的类型,并赋值给左边变量。
如果右边变量的数据类型长度比左边长,将丢失一部分数据,这样会降低精度,丢失的部分按四舍五入向前舍入。
3. 在函数调用中,系统会隐式地将实参转换为形参的类型后,赋给形参。
4. 函数有返回值时,系统将隐式地将返回表达式类型转换为返回值类型,赋值给调用函数。
强制转换是通过类型转换运算来实现的,形式为在要转换的数值或者表达式前用小括号将要类型括起来。
例如:(int)x表示将x转换为整型。
如需获取更多C语言中数据类型的转换规则和相关解释,可以查阅相关的编程书籍或者咨询专业技术人员。
c语言类型转换优先级

c语言类型转换优先级C语言中的类型转换是指将一个数据的类型转换为另一个数据类型的过程。
在表达式中使用不同数据类型的操作数会触发类型转换。
类型转换的目的是为了保证表达式的正确性和一致性,确保操作数之间的相互兼容性以及避免精度损失。
C语言中的类型转换遵循一定的优先级规则,优先级由高到低依次为:1. 强制类型转换:通过强制类型转换符(类型名)将一个表达式的值强制转换为指定的类型。
强制类型转换优先级最高,也是最明确的一种类型转换方式。
例如:cint num1 = 10;float num2 = (float)num1; 将整型的num1强制转换为浮点型2. 隐式类型转换:也称为自动类型转换或默认类型转换,指的是程序自动为我们进行的类型转换。
隐式类型转换的优先级高于算术类型转换和赋值类型转换,但低于强制类型转换。
例如:cint num1 = 10;float num2 = num1; 将整型的num1隐式转换为浮点型3. 算术类型转换:指的是对算术操作符中操作数的类型进行自动转换,使其相互兼容。
包括整型提升和浮点型提升。
例如:cint num1 = 10;float num2 = 3.14;double result = num1 + num2; 整型提升和浮点型提升4. 赋值类型转换:指的是将一个表达式的值赋给另一个不同类型的变量时进行的类型转换。
赋值类型转换的优先级最低。
例如:cint num1 = 10;float num2 = 3.14;num1 = num2; 将浮点型num2赋值给整型num1,进行了赋值类型转换在进行类型转换时,C语言会遵循一定的规则和规定,如下所示:1. 整型提升:当两个操作数的类型不同时,C语言会将较低的数据类型转换为较高的数据类型。
整型提升的优先级高于浮点型提升。
例如:cchar c = 'A';int num = 10;int result = c + num; char类型先被转换为int类型再相加2. 浮点型提升:当一个操作数为整型,另一个操作数为浮点型时,C语言会将整型转换为浮点型。
c语言中类型转换

c语言中类型转换C语言中类型转换1. 引言类型转换是C语言中一个重要的概念,它允许我们在不同类型的数据之间进行转换,以便在程序中进行正确的计算和操作。
本文将介绍C语言中类型转换的相关知识点,包括隐式类型转换和显式类型转换。
2. 隐式类型转换隐式类型转换是指在不需要明确指定的情况下,编译器自动将一种数据类型转换为另一种数据类型。
这种转换通常发生在不同类型的操作数之间进行运算的情况下。
2.1 整数类型转换在C语言中,不同整数类型之间的转换规则是有严格的定义的。
当进行整数类型的运算时,如果操作数的类型不一致,编译器会自动将其中一个操作数转换为另一个操作数的类型。
转换的原则是尽量保留数值的精度和范围。
2.2 浮点数类型转换在C语言中,浮点数类型之间的转换规则与整数类型转换类似。
不同浮点数类型之间的转换也是有严格的定义的。
当进行浮点数类型的运算时,如果操作数的类型不一致,编译器会自动将其中一个操作数转换为另一个操作数的类型。
3. 显式类型转换显式类型转换是指在需要明确指定的情况下,通过使用强制类型转换运算符来将一种数据类型转换为另一种数据类型。
显式类型转换可以在任何地方使用,以满足程序的需求。
3.1 强制类型转换运算符在C语言中,强制类型转换运算符用于执行显式类型转换。
它的语法格式为:(type)expression,其中type是要转换的目标数据类型,expression是要转换的表达式。
3.2 常见的显式类型转换在C语言中,常见的显式类型转换包括将整数类型转换为浮点数类型,将浮点数类型转换为整数类型,以及将指针类型转换为其他类型。
4. 类型转换的注意事项在进行类型转换时,需要注意以下几个问题:4.1 精度丢失在进行数据类型转换时,可能会发生精度丢失的情况。
例如,将一个浮点数转换为整数时,小数部分将被截断。
4.2 范围溢出在进行数据类型转换时,可能会发生范围溢出的情况。
例如,将一个较大的整数转换为一个较小的整数类型时,超出目标类型的范围的部分将被截断。
c语言数据类型转换优先级

c语言数据类型转换优先级
摘要:
1.C语言数据类型转换概述
2.数据类型转换的优先级
a.基本数据类型转换
b.复杂数据类型转换
3.数据类型转换的注意事项
4.总结
正文:
C语言数据类型转换是在程序设计中经常遇到的问题,数据类型转换的优先级决定了在进行类型转换时,何种转换方式被优先采用。
本文将对C语言数据类型转换的优先级进行详细介绍,并分析注意事项。
首先,我们需要了解C语言数据类型转换的优先级。
数据类型转换优先级从高到低可以分为以下几类:
2.1 基本数据类型转换
基本数据类型转换优先级从高到低如下:
- 短整型(short)转长整型(long)
- 整型(int)转无符号整型(unsigned)
- 无符号整型(unsigned)转整型(int)
- 短整型(short)转无符号短整型(unsigned short)
- 长整型(long)转无符号长整型(unsigned long)
2.2 复杂数据类型转换
复杂数据类型转换优先级从高到低如下:
- 指针类型转换
- 整型指针转无符号整型指针
- 无符号整型指针转整型指针
- 短整型指针转长整型指针
- 长整型指针转短整型指针
- 通用指针转void指针
- 结构体类型转换
- 结构体指针转void指针
- void指针转结构体指针
需要注意的是,数据类型转换过程中可能会导致数据丢失或溢出,因此在进行数据类型转换时,要确保数据的正确性和完整性。
此外,在进行复杂数据类型转换时,要确保数据的对应关系正确。
总之,C语言数据类型转换优先级决定了在进行类型转换时,何种转换方式被优先采用。
C语言中的类型转换

C语言中的类型转换类型转换是编程中常用且重要的概念,特别是在C语言中。
C语言是一种静态类型的语言,意味着在编译时需要确定变量的类型。
然而,在实际的编程过程中,我们经常需要将一个类型的数据转换为另一个类型,以便进行正确的计算和表达。
本文将深入探讨C语言中的类型转换,并探讨其相关的规则和注意事项。
一、什么是类型转换类型转换指的是将一个数据的类型转换为另一个数据类型的过程。
在C语言中,数据类型可以分为基本数据类型和派生数据类型。
基本数据类型包括整型、字符型和浮点型等,而派生数据类型则是由基本数据类型通过指针或数组等形成的。
类型转换可以改变数据的表示和处理方式,使得我们可以在不同的数据类型之间进行运算和操作。
二、隐式类型转换C语言中存在隐式类型转换,也称为自动类型转换。
当一种类型的数据与另一种类型的数据进行运算时,C编译器会自动进行类型转换以保证计算的正确性。
隐式类型转换的规则如下:1. 整型提升:当两个不同的整型数据进行运算时,较低的类型会先转换为较高的类型。
例如,当一个char类型的数据与一个int类型的数据进行运算时,char类型会被提升为int类型。
2. 浮点数提升:当一个整型数据与一个浮点型数据进行运算时,整型数据会被转换为浮点型数据。
3. char类型和unsigned char类型之间的转换:char类型会被转换为unsigned char类型进行运算。
4. 当两个浮点型数据进行运算时,精度较低的浮点数会被转换为精度较高的浮点数。
需要注意的是,隐式类型转换只适用于一些特定的情况,超出这些情况时可能会导致错误或意外的结果。
三、显式类型转换除了隐式类型转换之外,C语言还提供了显式类型转换的方式。
显式类型转换允许我们指定要进行转换的数据类型,以确保转换的准确性。
显式类型转换使用的是一种特殊的语法,即将要转换的数据或表达式放在括号中,并在括号前加上要转换的数据类型。
显式类型转换的语法如下:(要转换的数据类型) 要转换的数据或表达式例如,如果我们有一个整型变量x,想将其转换为浮点类型,我们可以使用以下代码:float y = (float) x;在上述代码中,整型变量x被转换为了浮点型变量y。
C语言数据类型转换

1.自动类型转换自动类型转换就是编译器默默地、隐式地、偷偷地进行的数据类型转换,这种转换不需要程序员干预,会自动发生。
1)将一种类型的数据赋值给另外一种类型的变量时就会发生自动类型转换,例如:float f = 100;100是int类型的数据,需要先转换为float类型才能赋值给变量f。
再如:int n = f;f是float类型的数据,需要先转换为int类型才能赋值给变量n。
在赋值运算中,赋值号两边的数据类型不同时,需要把右边表达式的类型转换为左边变量的类型,这可能会导致数据失真,或者精度降低;所以说,自动类型转换并不一定是安全的。
对于不安全的类型转换,编译器一般会给出警告。
2)在不同类型的混合运算中,编译器也会自动地转换数据类型,将参与运算的所有数据先转换为同一种类型,然后再进行计算。
转换的规则如下:●转换按数据长度增加的方向进行,以保证数值不失真,或者精度不降低。
例如,int和long参与运算时,先把int类型的数据转成long类型后再进行运算。
●所有的浮点运算都是以双精度进行的,即使运算中只有float类型,也要先转换为double类型,才能进行运算。
●char和short参与运算时,必须先转换成int类型。
下图对这种转换规则进行了更加形象地描述:unsigned也即unsigned int,此时可以省略int,只写unsigned。
自动类型转换示例:#include<stdio.h>int main(){float PI = 3.14159;int s1, r = 5;double s2;s1 = r * r * PI;s2 = r * r * PI;printf("s1=%d, s2=%f\n", s1, s2);return 0;}运行结果:s1=78, s2=78.539749在计算表达式r*r*PI时,r和PI都被转换成double类型,表达式的结果也是double类型。
c语言不同类型数据间的转换与运算
c语言不同类型数据间的转换与运算
C语言中不同类型的数据可以进行转换,但需要注意数据精度的损失和溢出问题。
以下是数据类型间的转换及其运算:
1. 整型转浮点型:整型可以直接转换为浮点型,即将整数值转换为浮点数值,例如将int类型变量a转换为float类型的变量b,可以使用如下语句:
float b = (float)a; 强制类型转换
2. 浮点型转整型:浮点型转换为整型需要注意精度的损失和溢出问题,可以使用强制类型转换方式或者使用取舍方法进行转换:
int a = (int)3.14f; 强制类型转换,a的值为3
int b = (int)(-3.14f); 强制类型转换,b的值为-3
int c = (int)(3.14f + 0.5f); 取舍方法转换,c的值为3
int d = (int)(-3.14f - 0.5f); 取舍方法转换,d的值为-3
3. 字符类型转换:字符类型可以转换为整型和浮点型,例如将char类型变量c 转换为int类型的变量a,可以使用如下语句:
char c = 'A';
int a = (int)c; 强制类型转换,a的值为65
4. 数组类型转换:可以使用指针类型进行数组间的转换,例如将int类型的数组a转换为float类型的数组b,可以使用如下语句:
int a[3] = {1, 2, 3};
float *b = (float *)a; 强制类型转换,b指向a的首地址
5. 布尔类型转换:布尔类型不可以直接强制类型转换为整型或浮点型,但是可以使用True和False来表示0和1,例如:
bool flag = true;
int a = flag; a的值为1。
c语言类型转换优先级 -回复
c语言类型转换优先级-回复C语言类型转换优先级在C语言中,类型转换是一种将一种数据类型转换为另一种数据类型的操作。
类型转换可以在不同的操作数之间进行,例如在算术表达式中或者在函数调用中。
类型转换的目的是使表达式具备相同的数据类型,以便执行所需的操作。
在C语言中,类型转换的优先级是基于运算符的。
下面将详细介绍C语言中类型转换的优先级和类型转换规则。
1. 基本数据类型的优先级在C语言中,基本的数据类型可以分为整型(int)、浮点型(float)、字符型(char)和指针类型等几种。
在进行类型转换时,这些基本数据类型按照优先级进行自动转换。
优先级由低到高依次为:char < short < int < long < float < double例如,在将一个int类型的变量赋值给一个float类型的变量时,系统会自动将int类型转换为float类型。
同样,当一个double类型的变量与一个int类型的变量进行运算时,系统会自动将int类型转换为double类型。
2. 强制类型转换在C语言中,类型转换可以通过强制类型转换实现。
强制类型转换的语法如下所示:(目标数据类型) 表达式使用强制类型转换可以将表达式的数据类型转换为目标数据类型。
但是,需要注意的是,强制类型转换可能会导致数据丢失或精度损失。
因此,在使用强制类型转换时必须谨慎处理。
下面介绍一些常见的强制类型转换:2.1. 整型转浮点型在将整型转换为浮点型时,可以使用强制类型转换来实现。
例:int a = 10;float b = (float) a;在上述例子中,将整型变量a转换为浮点型变量b。
2.2. 实数截断在实数截断时,可以使用强制类型转换来将float或double类型转换为int类型。
例:float a = 10.5;int b = (int) a;在上述例子中,将float型变量a截断为int型变量b。
2.3. 字符和整数之间的转换在C语言中,字符型变量可以被看作是整数类型,因此可以通过强制类型转换在字符和整数之间进行转换。
c语言数据类型转换规则
c语言数据类型转换规则数据类型转换是计算机程序开发中必不可少的一个环节。
C语言作为一种底层语言,数据类型转换的规则极为严格,必须遵守一定的规范才能保证程序的正确性和稳定性。
本文将介绍C 语言数据类型转换的规则和注意事项,帮助程序员更好地处理数据类型。
C语言数据类型转换的规则:1. 隐式类型转换:当将一种数据类型赋值给另一种类型时,编译器会自动进行类型转换,这种类型转换称为隐式类型转换。
例如整型赋值给浮点型,字符型赋值给整型等。
2. 显式类型转换:当需要进行一种复杂的数据类型转换时,需要使用强制类型转换运算符,这种类型转换称为显式类型转换。
强制类型转换运算符包括:(1)(char)(2)(int)(3)(float)(4)(double)(5)(long)注意事项:1. C语言在进行数据类型转换时,有时会出现数据丢失的情况,例如将一个int类型赋值给char类型时,如果int类型的值大于127或小于-128,则会造成数据丢失。
因此,在进行数据类型转换时,需要确保不会发生数据丢失的情况。
2. 在进行整型和浮点型之间的转换时,需要注意精度问题。
在将一个浮点型转换成整型时会丢失小数部分,而在将一个整型转换成浮点型时会增加小数部分,因此需要考虑到精度的问题。
3. 在进行字符串和其他数据类型之间的转换时,需要使用标准库函数,例如atoi()函数将字符串转换成整型,atof()函数将字符串转换成浮点型等。
同时需要注意字符串长度的限制,防止缓冲区溢出。
4. C语言中可以使用强制类型转换运算符来进行数据类型转换,但是需要注意该运算符可能会造成数据丢失。
因此,在进行强制类型转换时需要慎重考虑,避免出现程序崩溃等问题。
总之,C语言数据类型转换规则虽然复杂,但是只要遵守相关规范并注意细节,就能够轻松完成各种数据类型转换操作。
同时,程序员在使用强制类型转换时需要慎重考虑,避免产生不必要的程序错误。
c语言数据类型转换规则
c语言数据类型转换规则C语言是一种广泛应用的编程语言,它的数据类型转换规则是程序员们必须掌握的知识点。
数据类型转换是指将一个数据类型的值转换成另一个数据类型的值的过程,这个过程中需要遵循一定的规则。
一、从低级别数据类型到高级别数据类型在数据类型转换中,如果要将一个低级别的数据类型转换成高级别的数据类型,比如将char类型的值转换成float类型的值,就需要进行隐式转换。
隐式转换指的是,在不显式指定类型转换函数的情况下,由编译器自动完成的类型转换。
二、从高级别数据类型到低级别数据类型如果要将一个高级别的数据类型转换成低级别的数据类型,比如将double类型的值转换成int类型的值,就需要进行强制转换。
强制转换指的是,通过程序代码强制将某一数据类型的值转换成另一种数据类型的值。
三、整型之间的转换在C语言中,将一个整型转换成另一个整型时,通常不会产生任何问题,因为这些整型的存储方式和位数是相同的。
如果将一个长整型转换成short型时,由于short型的存储方式和位数较小,可能会出现精度损失的情况。
四、浮点型之间的转换在C语言中,将一个低精度的浮点型转换成高精度的浮点型时,不会产生任何问题,因为高精度的浮点型能够储存更多的小数位。
但是将高精度的浮点型转换成低精度的浮点型时,则可能会出现精度损失的情况。
五、字符型之间的转换在C语言中,可以将字符型的值转换成整型、浮点型、甚至是指针类型。
但是,将整型、浮点型转换成字符型时,需要注意字符型的值域范围是0~255之间。
六、指针类型之间的转换在C语言中,将一个指针类型转换成另一个指针类型时,需要保证两个类型的结构相同。
此外,在进行指针类型转换时,可能会存在安全问题。
总之,在实际编程中,程序员需要根据不同的数据类型转换规则,选择合适的转换方式,确保程序的正确性和安全性。
另外,程序员还需要在日常编程中注意数据类型的精度问题,避免因精度损失而引起程序bug。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关函数 isascii,toupper,tolower 表头文件 #include
定义函数 int toascii(int c) 函数说明 toascii()会将参数 c 转换成 7 位的 unsigned char 值,第八位则会被清除,此字符即会被转成 ASCII 码字符。 返回值 将转换成功的 ASCII 码字符值返回。 范例 #include main() { int a=217; char b; printf(“before toascii () : a value =%d(%c)\n”,a,a); b=toascii(a); printf(“after toascii() : a value =%d(%c)\n”,b,b); } 执行 before toascii() : a value =217() after toascii() : a value =89(Y)
strtod(将字符串转换成浮点数)
相关函数 atoi,atol,strtod,strtol,strtoul 表头文件 #include 定义函数 double strtod(const char *nptr,char **endptr); 函数说明 strtod ()会扫描参数 nptr 字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做 转换,到出现非数字或字符串结束时('\0')才结束转换,并将结果返回。若 endptr 不为 NULL, 则会将遇到不合条件而终止的 nptr 中的字符指针由 endptr 传回。参数 nptr 字符串可包含正 负号、小数点或 E (e)来表示指数部分。如 123.456 或 123e-2。 返回值 返回转换后的浮点型数。 附加说明 参考 atof()。 范例 /*将字符串 a,b,c 分别采用 10,2,16 进制转换成数字*/ #include mian() { char a[]=”1000000000”; char b[]=”1000000000”; char c[]=”ffff”; printf(“a=%d\n”,strtod(a,NULL,10)); printf(“b=%d\n”,strtod(b,NULL,2)); printf(“c=%d\n”,strtod(c,NULL,16)); }
c=65535
strtoul(将字符串转换成无符号长整型数)
相关函数 atof,atoi,atol,strtod,strtol 表头文件 #include 定义函数 unsigned long int strtoul(const char *nptr,char **endptr,int base); 函数说明 strtoul() 会将参数 nptr 字符串根据参数 base 来转换成无符号的长整型数。参数 base 范围从 2 至 36,或 0。参数 base 代表采用的进制方式,如 base 值为 10 则采用 10 进制,若 base 值为 16 则采用 16 进制数等。当 base 值为 0 时则是采用 10 进制做转换,但遇到如'0x'前置 字符则会使用 16 进制做转换。一开始 strtoul()会扫描参数 nptr 字符串,跳过前面的空格字 符串,直到遇上数字或正负符号才开始做转换,再遇到非数字或字符串结束时('\0')结束转换, 并将结果返回。若参数 endptr 不为 NULL,则会将遇到不合条件而终止的 nptr 中的字符指针 由 endptr 返回。 返回值 返回转换后的长整型数,否则返回 ERANGE 并将错误代码存入 errno 中。 附加说明 ERANGE 指定的转换字符串超出合法范围。 范例 参考 strtol()
atof(将字符串转换成浮点型数)
相关函数 atoi,atol,strtod,strtol,strtoul 表头文件 #include 定义函数 double atof(const char *nptr); 函数说明 atof()会扫描参数 nptr 字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转 换,而再遇到非数字或字符串结束时('\0')才结束转换,并将结果返回。参数 nptr 字符串可 包含正负号、小数点或 E(e)来表示指数部分,如 123.456 或 123e-2。 返回值 返回转换后的浮点型数。 附加说明 atof()与使用 strtod(nptr,(char**)NULL)结果相同。 范例 /* 将字符串 a 与字符串 b 转换成数字后相加*/ #include main() { char *a=”-100.23”; char *b=”200e-2”; float c; c=atof(a)+atof(b); printf(“c=%.2f\n”,c); } 执行 c=-98.23
gcvt(将浮点型数转换为字符串,取四舍五
入)
相关函数 ecvt,fcvt,sprintf 表头文件 #include 定义函数 char *gcvt(double number,size_t ndigits,char *buf); 函数说明 gcvt ()用来将参数 number 转换成 ASCII 码字符串,参数 ndigits 表示显示的位数。gcvt()与 ecvt() 和 fcvt()不同的地方在于, gcvt()所转换后的字符串包含小数点或正负符号。若转换成功, 转换后的字符串会放在参数 buf 指针所指的空间。 返回值 返回一字符串指针,此地址即为 buf 指针。 附加说明
atoi(将字符串转换成整型数)
相关函数 atof,atol,atrtod,strtol,strtoul 表头文件 #include
定义函数 int atoi(const char *nptr); 函数说明 atoi()会扫描参数 nptr 字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转 换,而再遇到非数字或字符串结束时('\0')才结束转换,并将结果返回。 返回值 返回转换后的整型数。 附加说明 atoi()与使用 strtol(nptr,(char**)NULL,10);结果相同。 范例 /* 将字符串 a 与字符串 b 转换成数字后相加*/ #include mian() { char a[]=”-100”; char b[]=”456”; int c; c=atoi(a)+atoi(b); printf(c=%d\n”,c); } 执行 c=356
执行 a=1000000000 b=512 c=65535
strtol(将字符串转换成长整型数)
相关函数 atof,atoi,atol,strtod,strtoul 表头文件 #include 定义函数 long int strtol(const char *nptr,char **endptr,int base); 函数说明 strtol ()会将参数 nptr 字符串根据参数 base 来转换成长整型数。参数 base 范围从 2 至 36, 或 0。参数 base 代表采用的进制方式,如 base 值为 10 则采用 10 进制,若 base 值为 16 则 采用 16 进制等。当 base 值为 0 时则是采用 10 进制做转换,但遇到如'0x'前置字符则会使用 16 进制做转换。一开始 strtol()会扫描参数 nptr 字符串,跳过前面的空格字符,直到遇上数 字或正负符号才开始做转换,再遇到非数字或字符串结束时('\0')结束转换,并将结果返回。 若参数 endptr 不为 NULL,则会将遇到不合条件而终止的 nptr 中的字符指针由 endptr 返回。 返回值 返回转换后的长整型数,否则返回 ERANGE 并将错误代码存入 errno 中。 附加说明 ERANGE 指定的转换字符串超出合法范围。 范例 /* 将字符串 a,b,c 分别采用 10,2,16 进制转换成数字*/ #include main() { char a[]=”1000000000”; char b[]=”1000000000”; char c[]=”ffff”; printf(“a=%d\n”,strtol(a,NULL,10)); printf(“b=%d\n”,strtol(b,NULL,2)); printf(“c=%d\n”,strtol(c,NULL,16)); } 执行 a=1000000000 b=512
toupperisalpha,tolower 表头文件 #include 定义函数
int toupper(int c); 函数说明 若参数 c 为小写字母则将该对映的大写字母返回。 返回值 返回转换后的大写字母,若不须转换则将参数 c 值返回。 附加说明
范例 /* 将 s 字符串内的小写字母转换成大写字母*/ #include main() { char s[]=”aBcDeFgH12345;!#$”; int i; printf(“before toupper() : %s\n”,s); for(i=0;I s=toupper(s); printf(“after toupper() : %s\n”,s); } 执行 before toupper() : aBcDeFgH12345;!#$ after toupper() : ABCDEFGH12345;!#$
/*将字符串 a 与字符串 b 转换成数字后相加*/ #include main() { char a[]=”1000000000”; char b[]=” 234567890”; long c; c=atol(a)+atol(b); printf(“c=%d\n”,c); } 执行 c=1234567890
范例 #include main() { double a=123.45; double b=-1234.56; char *ptr;
int decpt,sign; gcvt(a,5,ptr); printf(“a value=%s\n”,ptr); ptr=gcvt(b,6,ptr); printf(“b value=%s\n”,ptr); } 执行 a value=123.45 b value=-1234.56