一,数据类型:分为基本数据类型和复合数据类型,又分为整形和实型
基本数据类型:空类型(void)
字符型(char)
数值型
复合数据类型:数组
结构
联合
枚举
指针
实型:分为单精度实型和双精度实型
整型:分为短整型,整型 ,长整型,他们都有符号和无符号的分类
二,占用字长
整型int一般占用4个字节 TC环境2个字节
单精度实型float(浮点数)一般是4个字节长
双精度实型double(浮点数),一般是8个字长
字符型 char
字符一般是1个字节长度
用来表示255个ascll码值或者0-255的整数
如
int i =-20
unsigned int j=10;
i+j=?
-20要转换成补码
系统自动会对有符号整数进行转换
如:
#include<stdio.h>
int main()
{
/*int i=-20;
unsigned int j=10;
printf("i+j=%d\n",i+j);
if(i+j>0)
{
printf(">0");
}*/
int a= -1;
printf("a*3=%u\n",a*3); 这里无符号%U整数输出
return 0;
例:
#include <stdio.h>
int main()
{
int a;
printf("sizeof(int)=%d\n",sizeof(int));
printf("sizeof(helloworld) = %d\n",sizeof(a));
printf("sizeof(short)=%d\n",sizeof(short));
printf("sizeof(long)=%d\n",sizeof(long));
printf("sizeof(char)=%d)\n",sizeof(char));
return 0;
}
sizeof是测试字符长度的函数
终端输出:
[root@localhost C]# ./sizeof
sizeof(int)=4
sizeof(short)=2
sizeof(long)=4
sizeof(char)=1)
三,const修饰只读变量
const不能通过变量修改对应内存里的数据
比如 const int=4 a =10
a=a+1是不合法的
volatile是防止编译被优化
比如 a=0;
a=a+1;
加上volatile防止a=0被省略
四:整型常量
十进制:18、-31
long int型常量 123l、123L、123456l、123456L
unsigned int型常量 123u、 123U
以“0x”或者“0X”开始的整型常量是十六进制
A~F和a~f用来表示十进制的10~15
十六进制的形式比较常用:0x12、-0x1F, -0x1f
字符常量的表示方法
’a’,’A’,’5’,’%’,’$’…
可从ASCII表查出
注意:’5’和整数5的区别
五:转义字符
\n转行主要scanf不能用\n
六:字符串用“”表示
输出一个字符串,如
printf(“How do you do.”)
注:C规定:在每一个字符串常量的结尾加一个 “字符串结束标 志”,以便系统据此判断字符串是否结束。 规定以字符’\0’作为字符串结束标志
比如China 看似占5个字符,实际上占内存单元6个字符。
比如 printf(“How do you/0 do.”)
显示也只会出现how do you