一般来说,我们不会直接使用ASCII码来处理,因为这样不够直观.比如你说的判定输入是否是字母,是否是数字,那么有个比较直观的方法来处理.如果你看过ASCII码表,那么你就知道字数和字母在ASCII码表中都是连续的,所以这个就比较好解决了.
判定字符ch是否是数字:
if(ch='0'
判定字符ch是否是字母:
if(ch='a'
ch='z'
||
ch='A'
ch='Z')
当然,有已经定义好的库函数用来判定是否数字和字母,不要加加载头文件ctype.h
if(isalnum(ch));
if(isalpha(ch));
这两个函数都是判定成立,结果是true也就是1,判定不成立,结果是false,也就是0.
c/c++判断变量的数据类型可以采用下面的代码:
#include typeinfo
using namespace std;
...
cout typeid(d).name() endl;
扩展资料:
变量类型
C语言中,变量分为全局变量和局部变量;也可以这样分:自动变量,静态变量.前者是按变量作用范围来分的,而后者是按变量存储方式来分的.
在C语言中,如果按存储占用空间来分,包括:
整型变量(代码为int),整型变量包括长整型变量(代码为long?int)以及短整型变量(代码为short?int),字符型变量(代码为char),浮点型变量(代码float)等.当然还有数组,结构体变量等.但新手需要注意的是,每一种变量类型最终都对应的格式字符.如:%d.
在c语言中用没有函数判定一个变量的类型,可以使用sizeof来判断变量大小.
示例:
#include stdio.h
#include stdlib.h
int main(int argc,char **argv)? ? ? ? ?//主程序
{
//对C语言内置类型的所占字节数的测试
printf("size of char is: %d\n",sizeof(char));? ? ? ?//字符型数据所占字节数 、
printf("size of short is: %d\n",sizeof(short));? ? ?//短整形数据所占字节数
printf("size of int is: %d\n",sizeof(int ));? ? ? ? //整形数据
printf("size of short int is: %d\n",sizeof(short int)); //短整形
printf("size of long int is: %d\n",sizeof(long int));? ? //长整形数据
printf("size of float is: %d\n",sizeof(float));? ? ? ? ? //浮点型数据
printf("size of double is: %d\n",sizeof(double));? ? ? ? //双精度数据
//对字符及字符串数组所占字节数的测量
char a[] ={'a','b','c','d','e'};
printf("size of a[] is: %d\n",sizeof(a));? ? ? ? ? ? ? ?//输出数组a[]所占字节数
char b[]={"abcde"};? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//初始化字符串b
printf("size of b[] is: %d\n",sizeof(b));? ? ? ? ? ? ? ?//数组b[]
printf("size of c[][] is: %d\n",sizeof(c));? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//二维数组c所占字节数
printf("size of c[0] is: %d\n",sizeof(c[0]));? ? ? ? ? ? ? ? ? ? ? ? ? ?//二维数组中的某行所占的字节数,例如第0行
printf("size of c[0][0] is: %d\n",sizeof(c[0][0]));? ? ? ? ? ? ? ? ? ? ?//某行某个元素,例如第0行第0个元素
//对指针所占字节数的测量
char *p=0;
printf("size of *p is: %d\n",sizeof(p));? ? ? ? ? ? ? ? ? ? ? ?//字符型指针
system("pause");
return 0;
}
扩展资料
使用sizeof()计算数组长度
将sizeof用于 expr是并没有计算expr的值.特别是在sizeof *p中,指针p可以是一个无效地址,因为不需要对p做解引用操作.
对char类型或值为char类型的表达式做sizeof操作结果为1.对引用类型做sizeof操作,将返回存放此引用类型对象所需的内存空间大小.
对指针做sizeof操作,将返回存放指针所需的内存大小,注意,如果要获取该指针指向对象的大小,则必须对该指针进行解引用.对数组做sizeof操作等效于对其元素做sizeof操作的结果乘上数组元素的个数.
因为sizeof返回整个数组在内存中的存储长度,所以用sizeof数组的结果初一sizeof其元素类型的结果,即可求出数组元素的个数:int sz = sizeof(ia)/sizeof(*ia);
数据类型,是可以用来定义变量的,如:int,
float,double
char这些可以用来定义变量的叫数据类型,只不过这些是系定义的数据类型,你自已定义的,如你上面的struct
Student
也是类据类型,因为你可以用它用定义变量,如struct
std;,而且这是你自己定义的,所以叫自定义数据类型.
自定义的函数,像
int
max(int
a,
b)
这种带有参数或不带参数但带(),有
返回值
或返回值为void的,它是可以被调用的就叫函数.
而且它是你自己定义来实现某种功能的,所以叫自定义函数.
时间长了,你慢慢就对这些熟悉的了
通过约定参数类型或者约定参数格式,确定传入数据的类型.
①.、 大多数情况下,参数类型都是确定的,在函数定义时就可以确定类型.此种情况下,不需要函数本身判断,编译器会做判断或转换.
如
void?func(int?n);
声明这样的函数,参数为int型,当调用时如果实参不是int型,C编译器会尝试转换为int型,如果转换失败,则编译报错.?
典型例子为printf:
int?printf(const?char?*?fmt,?...);
在printf中,后续参数类型及个数都是不确定的,printf会根据参数fmt中包含的格式字符串,来确定后续的参数类型. 比如传入fmt为"%s%d%lu",那么printf就会尝试在后续参数中读取三个值,类型分别为char *, int,和unsigned long.
除此外,也可以采用其他方式进行约定.
以上就是土嘎嘎小编为大家整理的c语言怎么查数据类型函数相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!