C语言基础知识

一、常量和变量

1. 常量

常量,就是在程序总不能改变它的值的量。按照类型划分有:整型常量、实型常量、字符型常量、字符串常量和枚举常量。

2. 变量

变量与常量相对,它的值在程序执行过程中是可以改变的,变量就是内存中的一段储存区域。

short a;    //定义变量a,a的值不确定
a = 2;    //执行后,a的值是2
a = 3;    //执行后,a的值是3
变量类型类型表示
字符型char
短整型short
整型int
长整型long
无符号短整型unsigned short
无符号整型unsigned int
无符号长整形unsigned long
浮点型float
双精度型double

除了上面给出的类型,C语言中还有一种指针类型的变量,用来储存某种实体的地址(实体包括变量、数组和函数等),储存地址的变量称为指针变量

3. 变量的定义

变量必须先定义才能使用。

3.1 普通变量
int a;    //定义一个变量
float x,y,z;    //定义多个变量
3.2 指针变量
char *p;    //定义一个指针变量p,用来存char型变量的地址
int *p1,*p2;    //定义两个指针变量,用来存int型变量的地址
float x,*p3,y,*p4;    //定义了两个普通变量x,y和两个指针变量p3,p4

4. 变量的属性

每个变量都有值和地址两个属性。

值:变量在内存中所存的内容;地址:变量在内存中所处的位置的起始地址。

每当在内存中给一个变量分配了空间,系统都会把变量名和它的地址、类型等信息记录下来,以便将来找到它、存取它。用取值运算符就可以获取变量的地址。

#include<stdio.h>
int main()
{
    int a = 5;
    printf("%d, %p\n",a,&a);    //%p表示用十六进制输出地址
    return 0;
}

二、符号常量和const变量

1. 符号常量

为方便编程,增加程序的可读性,程序中经常需要定义符号变量。

#define PI 3.141593

在计算圆的面积中,你可以写成s=3,141593*r*r,也可以写成s=PI*r*r,好处是当需要多次使用pi的值的时候,就不用再默念一遍3.141593,还方便检查代码。 

①这是一条编译预处理命令,成为宏定义
②这是命令不是语句,所以不需要分号
③符号常量名一般用大写字母

2. const变量

const变量的定义要用const开头,后面部分与变量的定义类似,只不过要初始化。

与符号常量(宏常量)相比,const常量的优点是它有数据类型,编译器能对其进行类型检查。

const int n=60,m=50;
const float x=3.14;

 三、运算符与表达式

1. 算术运算符和表达式

运算符含义运算实例运算结果优先级
-取相反数-(-1)1最高
*乘法12*560较低
/除法11/52较低
%求余11%51较低
+加法5+16最低
-减法5-14最低

2. 复合的赋值运算符

复合赋值运算符例子运算过程
+=n+=m+1n=n+(m+1)
-=n-=m+1n=n-(m+1)
*=n*=m+1n=n*(m+1)
/=n/=m+1n=n/(m+1)
%=n%=m+1n=n%(m+1)

3. 增1和减1运算符

语句等价的语句执行语句后M的值执行语句后N的值
m = n++;m = n; n = n+1;34
m = n--;m = n; n = n-1;32
m = ++n;n = n+1; m = n;44
m = --n;m = n-1; m = n;22

4. 强制类型转换

#include<stdio.h>
int main()
{
    int m=5;
    printf("m/2 = %d\n", m/2);
    printf("(float)m/2 = %f\n", (float)m/2);
    printf("(float)(m/2) = %f\n", (float)(m/2));
    return 0;
}
//运行结果:
//m/2 = 2
//(float)m/2 = 2.500000
//(float)(m/2) = 2.000000

  • 6
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值