C语言学习总结(二)——数据类型

C语言的数据类型

一、变量与常量

简单来说,在程序运行之前有些数据类型就已经被设置好,在程序运行过程中不会发生变化,这些称为常量(constant)。

在程序运行期间会被赋值或值发生改变的被称作变量(variable)。

二、数据类型关键字

最初K&R给出的关键字 C90标准添加的关键字 C99标准添加的关键字
int signed _Bool
long _Complex
short _Imaginary
unsigned
char
float
double

位、字节和字
位、字节和字是描述计算机数据单元或储存单元的术语。这里主要指储存单元。

  • 位(bit):最小的储存单元,可以存储0和1。
  • 字节(byte):常用的计算机储存单位,1字节为8位,可表示0~255的整数或一组字符。
  • 字(word):计算机给定的自然储存单位。目前一个字长可达到64位。

1、整数

同数学概念相同,整数是没有小数的数。

2、浮点数

等同于数学中的实数,具有小数部分。

三、C语言基本数据类型

1、int类型

int类型是有符号整型,即int类型的值必须是整数,可以是正整数负整数

  • 声明
int a,b,c;

可以单独声明,也可以一次声明多个变量。

  • 初始化变量

初始化(initialize)变量就是为变量赋一个初始值。

int a = 23
  • int类型常量

C语言把大多数整型常量视为int类型。

  • 打印int值

可以使用printf()函数打印int类型的值。
%d指明了在一行中打印整数的位置。%d 称为转换说明,它指定了printf()应使用什么格式来显示一个值。格式化字符串中的每个 %d 都与待打印变量列表中的 int 值 匹配。这个值可以是int类型变量int类型的常量其他任何值为int类型的表达式

#include <stdio.h>
int main(void)
{
    
    
	int a = 1printf("输出了a的值为:%d\n",a);

	getchar();
	return 0;
}

运行该程序会打印出

输出了a的值为:1

  • 八进制和十六进制

    以十进制显示数字,使用%d;
    以八进制显示数字,使用%o;
    以十六进制显示数字,使用%x;
    如果想要显示各进制数的前缀0、0x和0X,
    必须分别使用%#o,%#x,%#X。

2、其他整数类型

  • short int(short)
    有符号整型,占用的储存空间可能比 int 类型少,常用于较小数值的场合以节省空间。
  • long int (long)
    有符号整型,占用储存空间可能比 int 多,适用于数值较大的场合。使用 %ld 转换说明。分别使用 %lx、%lo 转换说明十六进制和八进制 long 类型整数。
  • long long int(long long)
    有符号整型,占用储存空间可能比 long 多,适用于更大数值的场合。该类型至少占64位。
  • unsigned int(unsigned)
    无符号整型,只用于非负场合。使用 %u 转换说明。

在C90标准中,添加了 unsigned long int 或 unsigned long 和 unsigned short
int 或 unsigned short 类型。C99 标准又添加了 unsigned long long int 或
unsigned long long 。

在任何有符号类型前面添加关键字 signed ,可强调使用有符号类型的意图。

其他整数类型的声明方式与 int 类型相同。

3、char类型

char类型用于储存字符,例如数字或标点符号。

  • 声明和初始化char类型
char ch = 'A';
  • 打印字符
    printf()函数用 %c 指明待打印的字符。

4、_Bool类型

用于表示布尔值,即逻辑值 ture 和 false 。

5、可移植类型:studint.h & inttypes.h

6、float、double 和 long double

单精度浮点型 float 类型必须至少能表示6位有效数字。

双精度浮点型 double 类型必须至少能表示10位有效数字。

  • 浮点型常量
    有符号数字后紧跟 e 或 E,最后是一个有符号数表示10的指数。
  • 打印浮点值
    printf()函数用 %f 指明待打印的十进制 float 和 double 字符。
    %e 打印指数计数法的浮点数。
    十六进制浮点数用 %a 转换说明。

四、scanf()和sizeof函数

1、scanf()

scanf()函数提供用户输入。格式:

#include <stdio.h>
int main(void)
{
    
    
	int a;
	scanf("please input a number:%d\n",&a);
	return 0;
}

2、sizeof()

return the size of the specified type in bytes.

猜你喜欢

转载自blog.csdn.net/Dscerpor_/article/details/106962810