栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C语言入门基础理论知识(二)

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C语言入门基础理论知识(二)

数据描述
  • 常量
    • 整型常量
    • 实型常量
    • 字符型常量
  • 变量
    • 变量的定义
    • 变量的赋值
    • 变量的初始化
    • 自动变量
    • 静态变量

常量

在程序运行过程中,其值保持不变的量称为常量。

整型常量
  • 十进制:用数码0~9、正负号表示的十进制整数。
    在十进制整型常量后加小写字母l或大写字母L表示数
    例如:64L、65415l
  • 八进制:以数字0开头,用数码0~7、正负号表示的整数。
    在八进制整型常量后加小写字母l或大写字母L表示数

例如:027、036、-015

  • 十六进制:以数字0和小写字母x或大写字母X开头,用数码0 ~ 9或小写字母a ~ f或大写字母A~F、正负号表示的十六进制整数。
    在十六进制整型常量后加小写字母l或大写字母L表示数。

例如:0xa8、0x59、-0x39

实型常量
  • 十进制小数形式(定点形式):由数码0~9、正负号和小数点(必须有小数点)组成的十进制小数表示的实数。

例如:3.14、-0.271、0.0、0.、.6

  • 指数形式(浮点形式):由尾数、字母e或E、阶码三部分组成,其中尾数为十进制小数或整数,阶码为-308~308的十进制整数。

例如:3.14159e2表示十进制3.14159102 、31415.9E-2表示十进制数31415.910-2。

字符型常量

用单引号括起来的单一字符(包括转义字符)称为字符型常量。

例如:’a’、’A’、’2’、’n’ 、 ’101’

  • 这里重点介绍转义字符
    以反斜杠””开头,后跟一个规定的字符或数字串,用来表示一个字符,这种表示形式称为转义字符。
变量
  • 变量是在程序运行过程中,其值可以改变的量。
  • 这里要注意的是每一个变量在使用前都需要进行类型定义,即==“先定义,后使用”==
  • C语言的变量有操作属性和存储属性两种属性。
  1. 操作属性由数据类型来决定,它规定了变量的存储空间的大小(即存储长度)、取值范围所允许的操作
  2. 存储属性由存储类别决定,他决定了所定义的变量在哪里存放,即变量的存储机构是什么;何时为其分配存储空间,何时释放它的存储空间,即变量的生存周期;变量其作用的范围有多大,即变量的作用域。
变量的定义

变量定义的一般格式:

【类别标识符】 类型标识符 变量名;

说明:

  • 类别标识符用来说明变量名表中变量的存储类别,存储类别标识符包括auto(自动)、register(寄存器)、static(静态)。
  • 类型标识符用来说明变量中变量的数据类型,类型标识符包括short(短整型)、int(整型)、long(长整型)、float(单精度)、double(双精度)、char(字符型)等。
变量的赋值

变量定义后,要想给变量一个确定的值,可以采用数据输入的方法(调用scanf),也可以给变量赋值。
变量赋值的格式:

变量=表达式;

其中“=”为赋值号左端通常必须是变量,左端可以是任意表达式。

变量的初始化

在变量定义时,给变量赋值就称为变量的初始化。

例如:int a=32;

值得一提的是:字符型数据与整型数据具有通用性

//例如以下代码
#include 
int main(){
	 char a,b;
	 printf("请输入一个字符:");
	 scanf("%c",&a);
	 b=a+3; //此处能与整型参与计算
	 printf("%c的后面第三个字符是:%cn",a,b);
	 return 0;
}
//也就是说char 型数据可以看成整型数据,参与算数运算
自动变量

用存储类别标识符auto定义的变量是自动变量,自动变量的存储空间是在程序运行时分配的,分配和释放由系统自动完成。
注意:

  • 在定义变量时,缺省存储类别标识符系统默认是自动变量。
  • 自动变量的存储空间在程序运行期间分配和释放,称为动态存储。
  • 自动变量只是在定义它的那个局部范围内才起作用,称为局部变量。
  • 自动变量在赋值前,它的值是不确定的
  • 自动变量的值不具有继承性
静态变量

用标识符static定义的变量是静态变量。
注意:

  • 静态变量是在编译时分配存储空间,在程序运行结束时存储空间才被释放,称为永久存储。
  • 静态变量的初始化是在编译时进行的,如果不显式地为静态变量初始化,系统自动置静态变量的初始化为0或0.0
#include 
int main()
{
	static int x=3;//显式初始化
	static int y;//未显式初始化
	static double z;//未显式初始化
	printf ("x=%d,y=%d,z=%lfn",x,y,z);
	return 0;
}

输出结果:

-静态变量的值具有继承性

#include 
void A(void);//声明函数A
int main()
{
	A();//调用函数A
	A();
	A();
	A();
	return 0;
}
void A(void)
{
	static int x=1;//定义静态变量想,并初始化
	x=x+2;
	printf("x=%dn",x);
}

输出结果:

  • 静态局部变量的作用域具有局部性,静态局部变量的值只能在本函数中使用,但生存周期是永久存储
#include 
void A(void);
int main()
{
	int x=10;
	A();
	printf("1:x=%dn",x);
	return 0;
}
void A(void)
{
	static int y=1;
	y=y+2;
	printf("2:x=%dn",y);
}

输出结果:

欢迎大佬指正

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/528972.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号