1. 常量与变量
(1)常量:在程序运行中,值不能修改的量成为常量
常量类型:
(1)整型常量,如1000,-124等 都是整型常量
(2)实型常量
十进制小数形式,有数字和小数点组成
指数形式,如12.24e3(12.34×10 3次方)
(3)字符常量
普通字符
如 ‘a’,'Z', ''是个界限符,字符在计算机中使用ASCII代码存储 a在ASCII中用97表示
转义字符
转义字符 | 字符值 | 输出结果 |
\' | 一个单撇号(') | 具有此八进制的字符 |
\" | 一个双撇号(“) | 输出此字符 |
\? | 一个问号(?) | 输出此字符 |
\\ | 一个反斜杠(\) | 输出此字符 |
\a | 警告(alert) | 产生声音或者视觉效果 |
\b | 退格(backspace) | 将当前位置后退一个字符 |
\f | 换页(form feef) | 将当前位置移到下一页的开头 |
\n | 换行 | 将当前位置移到下一行的开头 |
\r | 回车(carriage return) | 将当前位置移到本行的开头 |
\t | 水平制表符 | 将当前位置移到下一个tab位置 |
\v | 垂直制表符 | 将当前位置移到下一个垂直制表符的对齐点 |
\o.\oo或者\oo 其中o代表一个八进制数字 | 与该八进制对应的ASCII字符 | 与该八进制对应的ASCII字符 |
\xh[h..]其中h代表十六进制数字 | 与该十六进制对应的ASCII字符 | 与该十六进制对应的ASCII字符 |
(4)字符常量 如:’abc‘
(5)符号常量
#define PI 3.1415
优点:
(1)含义清楚
(2)在修改值时做到一改全改
(2)变量
必须先定义后使用
(3)常变量
C99允许使用常变量
const int a=3;
(4)标识符
C语言规定标识符只能由字母、数字和下划线,3种字符表示且第一个字符必须为字母或者下划线
2.数据类型
(1)基本数据类型
#include<stdio.h> //头文件
int main() //函数入口
{
int a=100; // int 4字节
short b=20; // short 2字节
long c=300; // long 8字节
float d=13.34; // float 4字节
double e=45.67; // double 8字节
char str='x'; // char 1字节
printf("a=%d\n",a); // %d 占位符
printf("b=%d\n",b);
printf("c=%ld\n",c);
printf("d=%f\n",d);
printf("e=%lf\n",e);
printf("str=%c\n",str);
str=100;
printf("str=%d\n",str); //char 在-128~127之间char可以是用%d
//Boolean 真 假 在C语言中 使用 0表示假 非0 表示真
return 0;
}
枚举类型(enum)
空类型(void)
派生类型
指针类型(*)
数组类型([])
结构体类型(struct)
共用体类型(union)
函数类型
(2)数据类型所占字节数
#include<stdio.h>
int main()
{
printf("sizeof(int)=%ld byte\n",sizeof(int));
printf("sizeof(short)=%ld byte\n",sizeof(short));
printf("sizeof(long)=%ld byte\n",sizeof(long));
printf("sizeof(float)=%ld byte\n",sizeof(float));
printf("sizeof(double)=%ld byte\n",sizeof(double));
printf("sizeof(char)=%ld byte\n",sizeof(char));
}
(3)int型
1.正整数
原码=补码=反码
2.负整数
符号位为1
反码:符号位不变数值取反
在存储单元中,最左面一位是用符号表示,如果该位为0,表示正,为1为负
C99中增加‘无符号整数(unsigned)和有符号类型(signed)’
3.字符型数据
(1)字符与字符代码
采用ASCII字符集->基本集包括127个字符其中包括:
1.字母:大写英文字母‘A~Z’,小写英文字母‘a~z’
2.数字:0~9
3.专门字符:29个
! " # & ' ( ) * + ,- . / : ; < > ? [ \ ] ^ _ { | } ~
4.空格符:空格、水平制表符(tab),垂直制表符、 换行 换页(form feed)
5.不能显示的字符:空(null)字符('\0'表示)、警告(以'/a' 表示)、退格(以'\b'表示)、回车(以'\r'表示)
(2)字符变量
char c='?'; //定义
printf("%d %c ,c,c "); //输出 63 ?