当前位置: 首页 > news >正文

建好网站后访问模板商城建站

建好网站后访问,模板商城建站,苏州网站建设专家,各大网站的名字基本数据类型可以作为变量与常量使用,顾名思义,变量运行时可以改变其值,常量运行时不会改变其值。 常量分为整型常量、浮点型常量、字符常量、字符串常量和符号常量。 通常用#define来定义一个标识符来表示一个常量 用type name 常量来定义一个变量,…

基本数据类型可以作为变量与常量使用,顾名思义,变量运行时可以改变其值,常量运行时不会改变其值。

常量分为整型常量、浮点型常量、字符常量、字符串常量和符号常量。

通常用#define来定义一个标识符来表示一个常量

用type name = 常量来定义一个变量, 变量可以理解成一个容器,可以乘装不同的常量,也可以理解成计算机为name这个标识符开辟的一个个以字节为单位的小格子,小格子的数量就是变量类型type所占据的存储空间。每个小格子里的内容依次是当前所装载的常量数据的字节流

1 整型常量与变量

1)十进制整数

如自然数:

#define CONSTANT_MAX_BUF_LEN_DEC	128
int maxBufLenDec = CONSTANT_MAX_BUF_LEN_DEC;

其中,CONSTANT_MAX_BUF_LEN_DEC为整型常量十进制整数128,maxBufLenDec为变量

2)八进制整数

八进制的数表示为前面带“0”的数。如

#define CONSTANT_MAX_BUF_LEN_OCT	O200
int maxBufLenOct = CONSTANT_MAX_BUF_LEN_OCT;

其中,CONSTANT_MAX_BUF_LEN_OCT为整型常量八进制整数O200,maxBufLenOct为变量

3)十六进制数

与八进制不同,十六进制整数以“0x”开头,如:

#define CONSTANT_MAX_BUF_LEN_HEX	0x80
int maxBufLenHex = CONSTANT_MAX_BUF_LEN_HEX;

其中,CONSTANT_MAX_BUF_LEN_HEX为整型常量十六进制整数0x80,maxBufLenHex为变量

4)二进制数

与八进制不同,二进制整数以“0b”开头,如:

#define CONSTANT_MAX_BUF_LEN_BIN	0b10000000
int maxBufLenBin = CONSTANT_MAX_BUF_LEN_BIN;

其中,CONSTANT_MAX_BUF_LEN_BIN为整型常量二进制整数0b10000000,maxBufLenBin为变量

注意:KEIL编译器C99并不支持二进制整数的表示与输出,使用以上代码编译时会报错:expected a “;”

所以,一般我们并不直接使用二进制数作为常量给变量赋值,而是使用十六进制,如果非要考虑使用二进制位来表示数据,可以考虑使用位域,后期会专门讲解,此处不做展开。

2 浮点型常量与变量

浮点型常量以“f”结尾

#define CONSTANT_PI		3.141592f
float pi = CONSTANT_PI;

其中,CONSTANT_PI为浮点型常量3.141592f,pi为变量

3 字符常量与变量

用单引号界定起来的一个普通字符或转义字符,如: ‘a’、‘A’、‘\n‘、'\t’等。
普通字符可以是字符集中任意一个字符。普通字符常量的值就是该字符的ASCII值。
转义字符是一种特殊的字符常量,以反斜线“\”开头,后跟一个或几个字符,主要用来表示那些无法输出的控制字符或者特殊字符。

转义字符对照表

转义字符意义ASCLL码值(十进制)
\a响铃(BEL)007
\b退格(BS) ,将当前位置移到前一列008
\f换页(FF),将当前位置移到下页开头012
\n换行(LF) ,将当前位置移到下一行开头010
\r回车(CR) ,将当前位置移到本行开头013
\t水平制表(HT) (跳到下一个TAB位置)009
\v垂直制表(VT)011
\’代表一个单引号’039
\"代表一个双引号字符"034
\\代表一个反斜线字符’\’092
?代表一个问号?063
\0空字符(NUL)000
\ddd1到3位八进制数所代表的任意字符三位八进制
\xhh十六进制所代表的任意字符十六进制
#define CONSTANT_ENTER	'\n'
char word = CONSTANT_ENTER;

其中,CONSTANT_ENTER为字符常量’\n’,word为字符变量。

4 字符串常量与变量

用一对双引号括起来的一个字符序列,如:“Hello World”、“Master"、“n”、"$1000”等。
存储:系统自动在字符串常量后面加上“\0”作为字符串结束标志。

#define CONSTANT_HELLO	"Hello World\n"#define CONSTANT_MASTER	"Master"char* words = CONSTANT_HELLO;words = CONSTANT_MASTER;		

其中,CONSTANT_HELLO为字符串常量"Hello World\n",CONSTANT_MASTER为字符串常量"Master"。

使用了char* words定义了字符串变量,其本质是一个字符指针。这里相当与将CONSTANT_HELLO及CONSTANT_MASTER的首地址赋值给字符指针words。

5 符号常量

使用**#define宏定义**,前面所述的用标识符替换各常量的表示就是符号常量。

通常将符号常量放在头文件中,然后在源文件函数中调用。

6 变量

1)变量的定义和申明

变量的定义:变量必须经过定义才能使用,变量的定义即为变量开辟内存空间,开辟空间的大小即为变量类型所占的大小。变量的值的范围以变量类型的空间大小和及符号位所决定。同一作用域变量只能定义一次。变量在源文件中定义,永远不要在头文件中定义变量。

int a;		//定义一个整型变量a
float b;	//定义一个浮点型变量b
double c; 	//定义一个双精度型变量c
char d;		//定义一个字符变量d
char* p;	//定义一个字符指针变量p
void test(void)
{int sizeOfA = sizeof(a);		int sizeOfB = sizeof(b);int sizeOfC = sizeof(c);int sizeOfD = sizeof(d);int sizeOfP = sizeof(p);printf("size of a = %d",sizeOfA);		//size of a = 4printf("size of b = %d",sizeOfB);		//size of b = 4printf("size of c = %d",sizeOfC);		//size of c = 8printf("size of d = %d",sizeOfD);		//size of a = 1printf("size of p = %d",sizeOfP);		//size of p = 4
}

变量的申明:加上extern关键字的变量即为变量声明,同一作用域变量可声明多次。变量可在源文件中声明,也可在头文件中声明(用作外部变量)

extern int a;		//申明一个整型变量a
extern float b;	//申明一个浮点型变量b
extern double c; 	//申明一个双精度型变量c
extern char d;		//申明一个字符变量d
extern char* p;	//申明一个字符指针变量p
2)变量的初始化

变量定义后,还需要初始化,否则其值会得到预期外的结果。

a = 1024;b = 0.001024;c = 0.0000001024;d = '\n';p = "Hello World";
3)变量的使用和赋值

变量初始化后,通过直接调用变量可得到变量的值。

printf("a = %d",a);printf("b = %f",b);printf("c = %lf",c);printf("d = %c",d);printf("p = %s",p);
4)变量的作用范围

变量在哪里定义的,其作用范围就在哪里,如果超出这个作用范围,就会得到变量未定义的错误。作用范围就是{}内部代码块的范围


{int i = 0;}i += 1;// identifier "i" is undefined
5)全局变量与局部变量

在源文件中函数外定义的变量就是全局变量

在函数中定义的变量就是局部变量。

6)静态变量与动态变量

通过static修饰的变量就是静态变量

静态变量用作全局变量时,它在整个当前源文件都是可见的,而在文件之外是不可见的,在头文件中使用extern声明会得到变量未定义的错误。去掉static修饰,变量用extern就可以访问了。

静态变量用作局部变量时,在程序执行到该变量的定义处时被首次初始化,以后的函数调用不再进行初始化;

动态变量在函数中,每次调用函数都会从初始值开始赋值。


int addTest(int i)
{static int sum = 0;sum += i;return sum;}int add(int i)
{int sum = addTest(i);return sum;
}void testAdd()
{int sum = 0;for (int i = 0 ; i < 100 ; i++){sum = add(i + 1);}printf("sum = %d",sum);		//sum = 5050}
7)常变量

变量用const修饰时,就是常变量

常变量指定义时必须显示初始化且值不可修改的变量。与其他变量一样被分配空间,是可以寻址的。注意,字符串常量是常变量的一种,名称为其本身,因为其存储在静态存储区的常量区,可寻址,不可修改。

常变量和常量的区别是:

常量不开辟内存空间。在预编译时就全部由符号常量的值替换了,⽽常变量占⽤内存空间,只是此变量在存在期间不能重新赋值。

常量在计算机运行时,不会被程序修改的量,常变量是在运行时被计算机赋予的值,其值不是唯一的。

http://www.yayakq.cn/news/754722/

相关文章:

  • 住房建设厅官方网站宣传片制作报价单
  • 广州网站建设多少钱网站交互式
  • 手机摄影网站首页小企业如何建网站
  • 做搜索的网站三亚做网站推广
  • 淮安制作网站在那里平面磨床东莞网站建设
  • 七台河网站制作论坛源码有哪些
  • 农产品网站建设案例全国企业信用信息公示系统湖北
  • c 网站开发构想湖南百度推广
  • 正规的彩票网站怎么做福州专业网站设计
  • 网站建设的类型wordpress 上传文件中文乱码
  • 百度竞价培训快速网站推广优化
  • 制作网页的工具是什么安卓系统最好优化软件
  • 手机壳图案设计网站网络营销的网站建设报告
  • 建设银行网站首页打不开晶鹰建设摩托车官网
  • 网站空间和域名绑定wordpress最新文章字段
  • 如何增加网站访问量永久免费的网站软件
  • 清华大学学生工作做网站华为建站模板
  • 安卓手机建站wordpress前端会员中心
  • wordpress做淘客网站wordpress图文混排
  • 自学网站开发软件开发wordpress密码保护
  • 微商城网站建设策划做网站对程序员说那些需求
  • 蚌埠做网站公司期货交易平台
  • 个人网站好备案吗如何提取网页中的视频
  • 网站适配移动端和PC端搭建wordpress博客终端
  • 付网站建设费如果做账wordpress 模板添加
  • 高校网站建设方案 h5网站制作平台
  • 中山品牌网站设计西宁百姓网
  • wordpress站内全文检索如何在百度上建立网站
  • 网站栏目类别是什么意思微信网站设计欣赏
  • 做清洁找什么网站国外企业网络安全