【专升本C语言程序设计第三章-C程序的基本数据类型】
系列文章目录第一章 C程序的开发步骤第二章 C程序的基本结构第三章 C程序的基本数据类型第四章 C程序的运算符及表达式第五章 顺序结构程序设计第六章 选择结构程序设计目录系列文章目录前言一、数据类型的分类二、常量和变量1.常量2.变量三.基本数据类型四.数据类型转换需要掌握的小知识前言本文章主要针对计算机专业专升本C语言程序设计的应试考试不涉及具体应用和实操内容来源为电子科技大学出版社C语言程序设计教程特别鸣谢会编程的李较瘦倾情相助可以去她的主页关注更多实用内容!一、数据类型的分类基本数据类型:整型:短整型(short)基本类型整型(int)长整型(long)浮点型(实型):单精度型(float)双精度型(double)字符型(char)构造类型:数组类型结构体类型(struct)共用体类型(union)枚举类型(enum)指针类型空类型(void)二、常量和变量C程序中会有很多数据需要存储,可分为常量和变量.1.常量(1)直接常量:有整型常量,浮点型常量,字符常量,字符串常量.例如:1 2.1 a(2)符号常量:用标识符来表示一个具体的数值#define 标识符 常量数值const 类型 标识符 常数 //又名const常量,只读变量(#define是文本替换,无固定类型,不占内存)符号常量的定义会增强程序的可维护性,如果需要改变,只需要修改定义中的值即可2.变量在程序执行的过程中,变量中的值是随时可以改变的.定义变量会在内存中,根据数据类型,开辟一定大小的空间变量代表某个存储空间及其存储的值(1)变量必须先定义后使用(2)变量使用访问之前必须至少给一个初值(3)变量的赋值:A.边定义边赋值,变量的初始化int r 2;如果需要修改变量的值:直接通过变量名访问,通过重新赋值即可r 3;B.先定义后赋值int r;...r2;[总结]1.多个同种类型的变量的定义,可以多个变量名之间用逗号隔开即可例如:int a,b2,c,d5,e;2.变量定义的格式数据类型 变量名数据类型和变量名之间至少有一个空格3.变量的定义一般在函数体的开始位置三.基本数据类型基本数据类型:包括整型,浮点型,字符型1.整型:(1)短整型:short 2字节(16位二进制)(2)基本类型整型:int 4字节(32位二进制)(3)长整型:long 4字节(64位系统是8字节)(4)长长整型:longlong[注意]1.整数值默认是int类型2.直接常量值位长整型long类型,需要在常量值后面加L3.常量值后面加U,表示为无符号整型4.默认情况下C程序的整型表里是有符号的2.浮点型(1)单精度:float,4个字节,小数点后提供6-7位有效数字(2)双精度:double,8个字节,小数点后提供15-16位有效数字(3)长双精度:long double,8个字节,小数点后提供15-16位有效数字[注意]C语言中浮点型常量的指数形式:格式: 尾数 E 指数尾数可以是整数或小数,指数必须是整数所有浮点型常量默认为double型3.字符型(1)字符型常量A.单引号括起来的字符:a AB.转义字符:\n回车换行\t水平制表\b退格\\反斜线符\\双引号\单引号\0字符串结束符\ddd1-3位八进制数所代表的字符\xhh1-2位十六进制数所代表的字符C.字符在计算机中存储的是它的ASCII码值A---65a---970---48大写变小写:A32---a小写变大写:a-32---A(2)字符变量定义格式:char(1个字节) 变量名赋值:A.赋值a AB.转义字符: \n \123(123为八进制S) \x62C.赋值:ASCII码值(3)字符串常量A.由双引号括起来的字符序列 China GOODB.字符常量只能是单个字符,字符串常量可以包含0个或多个字符C.可以把一个字符常量赋给一个字符变量,但不能把一个字符串常量付给一个字符变量D.字符串常量占用的内存字节数等于字符串中的字符长度1 (增加的一字节存放\0)四.数据类型转换计算的时候,计算的表达式都是由若干操作数和操作符组成的有时候,多个操作数的数据类型不一致,就需要做数据类型转换,保证操作数的数据类型都是一致的1.自动类型转换short,char---int---unsigned---long---double---float(1)所有的浮点运算都是以双精度进行的(2)char,short参与运算时,必须先转换为int型2.强制类型转换由高级数据类型转换为低级的数据类型格式: (目标数据类型) (被转换的变量或表达式)尽量少采取强制类型转换,转换后的数据只是临时参与运算,不改变原来的数据类型需要掌握的小知识[不同进制的判断和转换]二进制: 0b100 以0b开头,但在C语言中不支持二进制的表现八进制: 0100 以0开头十进制: 10 20 和生活一致十六进制: 0x11AC 以0X或0x开头 字母部分a-f任意进制---十进制:位上数字*进制数的位权次,最后依次相加十进制---任意进制:除以进制数,记录余数,直到商为零,余数从下往上写(小数部分乘以进制数,记录整数部分,直到小数部分为零,整数从上往下写)[原码 反码 补码]1.原码---数值对应二进制的真值有符号(正负): 符号位数值位最高位作为符号位---0表示正数,1表示负数数值位:绝对值的二进制的真值2.反码:正数:和原码一致负数:符号位不变,数值位按位取反3.补码:计算机中数据的存储是按照补码存储的正数:和原码一致负数:反码1对于原码和反码:0有正负两种表现形式对于补码:0只有一种表示形式[标识符]在C语言中所谓标识符是指用来标识程序中用到的变量名、函数名、类型名、数组名、文件名及符号常量名等的有效字符序列。标识符的命名规则是1.组成:由字母、数字及下划线组成2.开头:不能以数字开头第一个字符必须是字母或下划线3.不能是关键字