数据类型:
定义:在程序中每个数据都有具体的数据类型,方便对他们按照不同的方式进行数据处理。
基本类型
整型:基本整型,长整型,短整型,无符号整型。
类型说明符:int;
长整型和短整型通过long和short来修饰int来改变变量所占用的字节数。
无符号整型:通过unsigned修饰符来修饰int来扩展正数的取值范围,在C语言中有符号整型变量最大为32767,无符号整型变量的最大值为65535,。无符号位的数的最高位不做处理,所以表示的数是对最高位有符号数的二倍。
eg:int a,int b,int c;
整型的存储与取值范围:整型数在内存中以二进制存放的。数值是以补码的形式存储的。在机器中用最高位表示输的符号,正数用0表示,负数的最高位用1表示。
实型
类型说明符:float(单精度),double(双精度型),long double(长精度型).
实数的存储与取值范围
在计算机中,实数型是以浮点数形式存贮的,对于float型数据来说,很多编译器是以24位表示小数部分,8位表示指数部分。这样,单精度实数的精度是取决于小数部分的位二进制数位所能表达的数值位数,将其转化为十进制,最多可以表示七位十进制数字,所以单精度位实数的有效位是7位。
双精度实数占8个字节(64位)内存空间,其数值范围为|-1.7E-308~1.7E+308|,可提供16位有效数字。
浮点的表示形式:
在C语言中,实数表示只采用十进制。他有两种形式。
字符类型
C语言中的字符型数据分为字符和字符串数据两类。
‘a’,’‘2’,’#'等;字符串数据是指由双引号"good",“o132”,“wu”
基本类型定义
类型说明符:char
字符型数据的存储与取值范围
一个字符型数据的存储占一个字节。
字符串的使用
输入任意长度的三个字符串,要求统计出其中共有多少个大写字母,小写字母,空格,数字和其他字符。
#define _CRT_SECURE_NO_WARNINGS 1
#include"stdio.h"
#include"string.h"
int main()
{
char str[3][100];
int up = 0, low = 0, space = 0, num = 0, other = 0, i, j;
for (i = 0; i < 3; i++)
{
printf("input the %dth string:", i + 1);
gets(str[i]);
}
for (i = 0; i < 3;i++)
for (j = 0; j < strlen(str[i]); j++)
{
if (str[i][j]>'A'&&str[i][j] <= 'Z')
up++;
else if (str[i][j] >= 'a'&&str[i][j] <= 'z')
low++;
else if (str[i][j] >= '0'&&str[i][j] <= '9')
num++;
else if (str[i][j] == ' ')
space++;
else
other++;
}
printf("大写字母,小写字母,数字,空格,其他字符分别有:\n");
printf("up=%d,low=%d,num=%d,space=%d,other=%d\n", up, low, num, space, other);
return 0;
}
执行结果: