8个2进制位等于一个字节
8个b==1个B(1个b只能取0或1;1个字节可以表示0-255中的任意数)
B<KB<MB<GB<TB<PB
数据类型决定了1.数值的取值范围
2.占用内存的字节数
3.可以进行的操作
类型,就是对数据分配存储单元的安排,包括储存单元的长度(占多少字节)以及数据的存储形式,不同类型分配不同长度和存储形式
基本类型--整型{ int; short int; long int }__________________________________
字符{ char } |
浮点{ float ( 单精度浮点型);double(双精度浮点型)} |
|
字节数 |
int 4 ——————————————————————|
unsigned int 4 无符号整型用%u格式输出
short 2 补码中:零正一负(最左侧一位)
unsigned short 2
long 4
unsigned long 4
浮点型--实型(俗称小数,小数点位置浮动,所以实型指数形式为浮点数 )
float----%f
double----%lf
字符型%c (加减32,实现字符大小写转换)
标识符 identifier是有效字符序列,是对象的名称,例如整型变量num,浮点型变量fnum,字符变量ch等,均为用户定义的标识符
命名规则
·不能是关键字 32个关键字
·只能由字母、数字和下划线组成,区分字母大小写
例如:含有·¥%#@……&*等符号的命名均不正确
·名称第一个字符必须是字母或下划线,不能是数字
错误示范:8ch
·名称中间不能有空格
错误示范:a bc
·任意长度,最好不超过31个字符
·不能与C语言库函数名称相同
关键字——保留字,具有特定含义和用法
(在程序设计的IDE中会以特殊样貌显示,如加粗字体)
分为:存储类声明 程序语句 数据类型声明 运算符
常量 :程序运行中不能改变的量,程序员可在程序中直接书写
包含整数常量,浮点数常量,字符常量
整数常量:
八进制整数——以0开头,由0-7组成 012、045、-032
十进制整数——直接书写 12、 45、 -32
十六进制整数—— 0x 开头,由0-9,A-F组成 0x123、-0x123、2A
长整数——后面加小写l或者大写L 12l、12L、0x33L
(不加默认为整型)
无符号类型整数——后面加小写u或者大写U 12u、02U、0x44U
(不加默认有符号)
浮点数常量:
必须以十进制形式出现
小数形式:小数点必须写出,其前后有零,零可省略
1.45、9.83······ 1.0可写成1. 0.12可写成.12
指数形式:十进制整数+E/e+十进制整数
1.32e5(1.32的5次方)、5.34E-8(5.34的-8次方)
实型常量默认是double型实数,若数后有F/f,则为float型
float a=3.14 ×
(3.14此时是双精度double,而float是单精度,所以float a =3.14编译会出现警告)
变量:程序运行过程中的值可改变
特点:有名字、具有特定属性的存储单元
变量用来存放数据,即存放变量值(先定义后使用)
变量定义:
【存储类别】【类型说明符】空格【变量1】,【变量2】,···【变量N】;
不指明默认 int / double/··· a , b , c , d···n;
为auto
#include<stdio.h> #include<stdlib.h> int main() { int a,b; /*例如此处一次定义两个变量 auto int a,b;实际等于int a,b;*/ scanf("%d %d", &a, &b); //定义后,方可在这里使用 ①先定义后赋值 double c = (a+b)/2.0; printf("所以%d + %d = %f\n",a,b,c); system("pause"); return 0; } //②定义的同时进行赋值,如 int a=10;
定义时进行赋值,可使代码更简洁,可读性更高
不能对多个未定义的同类型变量连续初始化
错误示范:int a = b=10;
正确示范:int a=10, b=10;
右边数据类型与=左边变量类型保持一致,不一致时系统自动赋值转换
如int a=3.14; 此时printf打印a的值将变为整型3,而不是3.14。
常变量
常变量定义时,在类型说明符前加const说明符
且定义时就要赋值,程序运行时其值不可改变,体现出常量的性质
符号常量
用#define在开头定义
#include <stdio.h> #include <stdlib.h> #define PI 3.14 int main() { //PI为例:定义名称+空格+数值 const double r=10;//常变量直接初始化赋值,以分号;结尾 double s; s=PI*r*r; printf("s=%lf\n",s); system("pause"); return 0; }
字符串
字符串常量是用双引号括起来的字符序列,字符串常量不可被修改
字符串“a”和字符'a'是不一样的
C#中有大量操作字符串的函数,需包括头文件<string.h>
strlen(s1); 返回字符串s1的长度
strrcmp(s1,s2); 如果s1和s2相同,返回0;如果s1<s2,返回小于0,反之返回大于0
不行不行,累了,先到这里鸽掉,过两天再更新新的(doge)
下一章节的循环学习⬇⬇⬇⬇⬇