C语言编程0基础学习历程(2)—— 常量和变量

C语言编程0基础学习历程(2)—— 常量和变量

目录

在前面的 Hello World !中的  “Hello World!”  就是一种数据,在C语言中属于字符串类型。那么C语言中数据都有哪些类型呢?C语言又是以什么方式处理数据的呢?

实际上C语言程序处理的数据有变量和常量两种形式。

一、 常量(在程序执行过程中不可以改变的量)

如同人类社会,常量们也有自己的组织与分工。常量按类型可分为四种:整型常量、实型常量、字符常量、字符串常量。此外,常量还分 有符号整型无符号整型 两种:

(1)有符号常量 :一个二进制数在存储单元中,其最高位用来表示数的正负。

(2)无符号常量 :所有二进制位都用来表示数据。(非负数)

1、整型常量(关键字:int)

包括数学中的正整数、负整数、0。

常用的整数常量表现形式:
(1)整型常量(int)
(3)长整型(long)
(4)短整型(short)

附:表1

类型取值范围
int-2147483648~2147483648
short int-32768~32767
signed int-2147483648~2147483648
unsigned int0~4294967295
long int-2147483648~2147483647
unsigned long0~4294967295

表2

类型所占字节(Turbo C 2.0编译环境)长度(单位:位)
char18
int216
short int216
long int432
float432
double864

表3

类型所占字节(Code::Blocks编译环境)长度(单位:位)
char18
int432
short int216
long int432
float432
double864

2、实型常量

表示范围为实数范围,使用浮点数(小数点位置不固定的数)进行表示。

浮点型有两种表示方式:1、标准小数点表示法(用来表示小数) 2、E表示法(即科学计数法,用来表示非常大和非常小的数)例如 8.33E-4=0.000833。(注:数与E/e之间无空格)

常见表现形式
(1)单精度浮点型
(2)双精度浮点型

附 表4

类型取值范围
float3.4e–38~3.4e+38
double1.7e–308~1.7e+308

表5

类型所占字节长度
float432
double864

3、字符常量

用一对单引号括起来的任意字符,如:‘n’、‘m’、‘X’、‘0’等。

4、字符串常量

用一对双引号括起来的零个或多个字符,如:“”、“Hello World!”。

二、 变量(其值在运行过程中可以改变的量)

变量们如同人们的公司,公司不能移动,但是公司里的人却可以。
定义变量的一般形式:关键字 变量名;

1、关键字
所谓关键字就是C语言预先规定的、具有特殊意义的单词,它常用于声明变量的类型。而变量类型又决定了编译器为其分配内存单元的字节数、数据在内存单元中的存放形式、该类型变量合法的取值范围以及该类型变量可参与的运算种类等等。

附 表6

关键字说明
auto自动变量
break跳出当前循环
case开关语句分支,和switch连用
char字符型
const常数
continue结束当前循环,开始下一轮循环
default开关语句中的其他分支
do循环,与while搭配使用
double双精度实型
else条件语句否定分支,与if连用
enum声明枚举类型
extern外部声明
float浮点型
for循环
goto无条件跳转
if条件
int整型
long长整型
register声明寄存器变量
return函数返回语句,可以带参数,也可以不带
short短整型
signed有符号类型
sizeof计算数据类型长度
static声明静态
struct结构体
switch用于开关语句
typedef给数据类型起别名(小名)
union声明共用体变量
unsigned无符号类型
void声明函数无返回值或无参数,声明无类型指针
volatile说明变量在程序执行中可以被隐含改变
while循环条件

2、变量名

变量名就是用户定义的标识符,好比是人的身份证,却又有些许不同。它用于标识内存中一个具体的储存单元,其中存放的数据称为变量的值(标识符区分大小写)。

其命名遵循以下原则:
(1)、标识符只能由字母、数字和下划线组成。
(2)、标识符必须由字母或下划线开头。
(3)、不允许用C关键字为标识符命名。

3、变量声明的意义

世间万物存在皆有他的道理,变量的声明也是如此,其存在有以下几点作用:

(1)建立变量符号表,使编译器可以在编译期间发现因疏忽而写错的变量名;
(2)变量的数据类型指示系统分配多少内存空间;
(3)变量的数据类型指示系统如何解释储存空间中的值;
(4)变量的数据类型确定该变量的取值范围;

4、变量的声明与赋初值(实例)

#include <stdio.h>
int main ()
{
   int a=1,b=1;            //整型声明与赋值
   float c=2,d=2;          //单精度浮点型声明与赋值
   double e=3;             //双精度浮点型声明与赋值
   char ch='W';            //字符型声明与赋值
   printf("%d\n",a+b);
   printf("%f\n",c+d);
   printf("%lf\n",e);
   printf("%c\n",ch);
   return 0;
}

其中 ‘=’ 为赋值符号,复制形式也可写为 a=b=c 此类的赋值表达式,称为多重赋值。在计算不同类型表达式时,要考虑运算符的优先级。

附 表7

优先级运算符含义运算类型结合方向
1( )
[ ]
->
.
++(后缀)、- -(后缀)
圆括号、函数参数表
数据元素下标
指向结构体成员
引用结构体成员
后缀增一、后缀减一
自左向右
2
~
++(前缀)、- -(前缀)
-
*
&
(类型标识符)
sizeof
逻辑非
按位取反
增一、减一
求负
间接寻址符
取地址符
强制类型转换符
计算字节数运算符
单目运算自右向左
3*
/
%
乘法运算
除法运算
整数求余
双目运算自左向右
4+
-
加法运算
减法运算
双目运算自左向右
5<<、>>左移、右移位运算自左向右
6<、<=
>、>=
小于、小于等于
大于、大于等于
关系运算自左向右
7==、!=等于、不等于关系运算自左向右
8&按位与位运算自左向右
9^按位异或位运算自左向右
10|按位或位运算自左向右
11&&逻辑与逻辑运算自左向右
12||逻辑或逻辑运算自左向右
13?:条件运算符三目运算符自右向左
14=
+=、-=、*=、/=、%=
&=、^=、|=、<<=、>>=
赋值运算符
复合的赋值运算符
双目运算自右向左
15逗号运算符顺序求值运算自左向右
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

羽路星尘

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值