2.3基本数据类型

C语言的数据类型可分为三大类:整数,浮点数和字符类型。

2.3.1整数数据类型

整数数据类型用来存储整数类型的数据,当各位变量指向为整数类型时,内存中即会保留四个字节的空间,用来存储整数变量的值,除了可直接设置整数数值外,还可以采用8或16进制来设置,声明语法如下:

   int  sum=027;/*027Q等于23D*/

   int b=0x2b

此外,整数也是可以拥有多种类型的数据,说明如下:

1).short

当一个整数声明为“short int”时,数据长度是16位。它的数据类型所占用的内存空间是比“int”整数小的范围。不过当选用的编译器是16位的系统时就没什么差别了。

2)long

当一个整数为“long int”时,在16位的编译器上,是大于int的存储范围,不过选择的编译器位32位就没有差别。

3)signed

它是有符号整数,用来指定一个整数可以有正负数类型。

4)unsigned

无符号整数,也就是说只要在数据类型前加上unsigned,那么该变量就只能存储正整数数据了。

在不同的编译器上会产生不同的整数数据长度。可以使用C语言的sizeof()函数来查看各种数据类型或变量的长度。

以下提出了C语言整数相关的声明信息:

整数修饰词声明和输出如例程下:

#include<stdio.h>
#include<stdlib.h>

int main()
{

    short int  =32425;

    int b=0;

    long int c=274790;

    unsigned long int d=287464;

    printf("短整数为%d=%d字节\n",a,sizeof(a));
    printf("整数为%d=%d字节\n",b,sizeof(b));
    printf("长整数为%d=%d字节\n",c,sizeof(c));
    printf("无符号整数为%d=%d字节\n",d,sizeof(d));
    return 0;
}



2.3.2.浮点数类型

 

 

至于浮点数的表示方法有两种,一种是小数点,一种是科学计数法,如3.14,-100.45,6e-2,其中e或E是C语言中以10为底数的科学计数法。如6e-2,其中6为假数,-2为指数。

小数点表示法科学计数法
0.066e-2
-543.236-5.43236e+2

1)float单精度浮点数

数据长度为4字节,有效范围为1.2*10^-38~1.2*10^+38.

2)double双精度浮点数

数据长度为8字节,有效范围为2.2*10^-308~1.8*10^+308.

不论是float还是double,当以printf函数输出时,采用的输出格式化字符都是“%发”格式化字符,和整数“%d“是一样的作用。以科学记数法输出格式化字符为”%e”。

浮点数的声明和例程如下:

#include<stdio.h>
#include<stdlib.h>
int main()
{
	float f_a=123.11223344f;
	double d_a=123.12345;
	printf("单精度浮点数表示=%f\n",f_a);
	printf("双精度浮点数表示=%e\n",d_a);
	printf("单精度浮点数科学计数法=%f_a\n",f_a);
	printf("双精度浮点数科学计数法=%e_a\n",d_a);
	
	
	return 0;
}

2.3.3字符数据类型

字符数据在内存中是以整数数值来存储的,每一个字符占用一个字节(8位)的数据长度,所以数值范围为“0~2^8-1"之间,例如字符”A“的数值为”65“,字符”0“为”48”。声明时必须用单引号括起来,代表一个字符。

字符的输出格式有两种,利用“%c”可以输出字符,或利用“%d”输出ASCII码的整数值。

字符数据的输出和加法运算功能如下所示:

#include<stdio.h>
#include<stdlib.h>int main()
{
	char a='A';    /*声明一个字符变量*/
	printf("大写字符=%c的ASCII码=%d\n",a,a);
	char b=a+32;
	printf("小写字符=%c的ASCII码=%d\n",b,b);
	
	return 0;
}

下表是各种转义符和对应的ASCII码:

转义符的说明和应用例程:

#include <stdio.h>
#include <stdlib.h>
int main()
{
	char a=042;/*八进制的ASCII码 */
	printf("八进制的042所代表的字符符号=%c\n",a);
	printf("%c双引号%c\n",a,a);
	
	return 0;
}
#include <stdio.h>
int main()
{
    int age = 15;
    int height = 162;
    float weight = 82.5;
    char isfat = 'y';
    printf("年龄:%d 岁\n", age);
    printf("身高:%d CM\n", height);
    printf("体重:%f KG\n", weight);
    printf("是否属于肥胖儿童:%c\n", isfat); 
    /*%d,%f,%c此类符号在后面会有讲解*/
    return 0;    
}

运行结果:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值