星星博客 »  > 

二、C语言基本数据类型、操作符和表达式

一、数据类型

算法处理的对象是数据,而数据是以某种特定的形式存在(例如整数、实数、字符等形式)。

C语言提供如下数据类型:
在这里插入图片描述
1、常量和变量

  • 在程序运行过程中,其值不能被改变的量称为常量。

  • 常量一般从字母形式即可判别。这种常量称为字面常量或直接常量。

  • 直接常量的类型主要有5种:①整形常量;②实型常量;③字符常量;④字符串常量;⑤符号常量;

  • 变量:代表内存中具有特定属性的一个存储单元,它用来存放数据,也就是变量的值,在程序运行期间,这些值可以改变。

  • 一个变量应该有一个名字,方便被引用。
    在这里插入图片描述

标识符:在C语言中,用来表示变量名、符号常量名、函数名、数组名、类型名、文件名的有效字符序列称为标识符(identifier)。简单地说,标识符就是一个名字。

标识符命名:只能由字母、数字、下划线组成,并且第一个字符必须是字母或者下划线。

在C语言中,字母大小写敏感。因此在命名时需注意字符的大小写。

标识符长度(字符个数)规定:不同的编译器有不同的规定。ANSI C规定长度不超过32个字符。
  • 赋值符号“=”就是赋值运算符,它的作用是将一个数据赋值给一个变量。
  • 例如:a=3;
    作用是执行一次赋值操作(或称赋值运算)。
    把常量3赋给变量a。
  • 也可以将一个表达式的值赋给一个变量。
    b=3*5+4;//b的值为19

二、整形数据

(1)十进制表示:

如:123、-456

(2)八进制表示:以数字()开头的数。

如:0123		即十进制的83
	-011		表示八进制的-11,即十进制的-9

(3)十六进制表示,以0x开头的数。

如:0x123	即十进制的291
	-0x12	即十进制的-18

数据在内存中的存放形式:

  • 整形数据在内存中以二进制形式存放,占两个字节。
  • 如:
int i;
	i = 10;

在这里插入图片描述

  • 长整形常量:占四个字节。

例子:

main()
	{
	printf("%d %x %o\n",125,125,125);
	printf("%d %x %o\n",045,045,045);
	printf("%d %x %o\n",0x32,0x32,0x32);
}

执行结果:
在这里插入图片描述
整形变量的分类

  • 有4类整形变量
    1)基本整形:int
    2)短整形:short int 或者 short
    3)长整形:long int 或者 long
    4)8位整形:char
  • C语言没有具体规定以上各类数据所占内存的字节数,只要long不小于int型,short型不长于int型
  • 一般在机器中:
    -int占2byte;
    -short占2byte;
    -long占4byte;
    -char占1byte;

整形变量的符号属性

  • 变量有正负,常见的有8种整形变量:
    在这里插入图片描述
    整数存储空间和值的范围
    在这里插入图片描述
    整形变量
  • 一个无符号的整形变量可以存放的正数的范围比一般整形变量中正数的范围扩大一倍。
    在这里插入图片描述
    整形变量定义与使用
#include<stdio.h>
int main()	//Cpp1.cpp
{
	int a;
	int c;
	int d;
	int b;
	unsigned int u;
	a=12;
	b=-24;
	u=10;
	c=a+u;
	d=b+u;
	printf("a+u=%d,b+u=%d\n",c,d);
	return 1;
}

在这里插入图片描述
整形数据的溢出

#include<stdio.h>
int main()	//Cpp2.cpp
{
	short a;
	short b;
	a=32767;
	b=a+1;
	printf("%d,%d",a,b);
	return 0;
}
  • 整形数据到达最大值后,又从最小值开始计算。
    在这里插入图片描述
    在这里插入图片描述
    整形常量的类型
  • 使用整形常量时,需要注意:
    (1)把整形常量赋给整形变量时,整形常量不能超过整形变量的取值范围。
    如:char num = 192;
    (2)一个整形常量后面加一个字母u或者U,则认为是无符号整型,如12345U在内存中按unsigned int规定的方式存放(最高位不作符号位)。
    (3)在一个整形常量后面加一个字母l或者L,则认为是long int型。

相关文章