C语言笔记【2】变/常量类型 变/常量声明

一,变量的类型与声明

1.基本类型

类型描述
char一个字节(八位)声明一个字符整型变量
int声明一个整型变量,四个字节,一般来说取值范围 -2147483648 到 2147483647。
float

单精度浮点值。1位符号,8位指数,23位小数。

double

双精度浮点值。1位符号,11位指数,52位小数。

void表示无类型。

2.前加extern只是声明变量名而不定义

一个程序中,一个变量只能定义一次,但可以声明多次

extern int i; //声明一个变量i,不是定义,无存储空间,只有给予赋值,才算定义,会分配存储空间
int i; //声明一个变量i,也是定义,有存储空间

3.左值与右值

左值必须是变量,右值可以是变量,常量或者表达式。

#include<stdio.h>

int main()
{
    int a,b;
    a=(b=3);//注意左值 等同a=b=3,但是a=(a=b)=3是错误表示
    printf("%d\n",a);
    return 0;
}

二,常量类型

1.整数常量

前缀指定基数:0 表示八进制,0x 或 0X 表示十六进制,不带前缀则默认表示十进制。

2.浮点常量

(1).由整数部分、小数点、小数部分组成。   如3.1415926。

(2).由整数部分、指数、e或E租车。如520E-8。

3.字符常量

字符常量是需要 ‘  ’ 括起来,可以由char声明定义存储。

(1).一个普通的字符 字母或数字 如 ‘ 1 ’, ‘ x ’。

(2).转义字符,符号   \  加字符 有着特殊含义。

转义序列含义
\\\ 字符
\'' 字符
\"" 字符
\?? 字符
\a发出一次警报
\b退格键
\f换页符
\n换行符
\r回车
\t水平制表符,等于Tab键
\v垂直制表符
\ooo一到三位的八进制数
\xhh . . .一个或多个数字的十六进制数

4.字符串常量

括在双引号 "" 中的。如 “ Hello world !”。

三.定义常量

1.宏定义:#define预处理器

#define 常量名 常量值

define 定义的是不带类型的常数,只进行简单的字符替换。
在预编译的时候起作用,不存在类型检查。

边缘效应:#define N 2+3, N 的值是 5
#include <stdio.h>

#define N 2+3
//正确写法 #define N (2+3)

int main(){   
    double a ;
    a = (float)N/(float)2;
    printf("a 的值为 : %.2f", a);   
  
    return 0;
}

在编译时我们预想 a=2.5,实际打印结果是 3.5 原因是在预处理阶段,编译器将 a=N/2 处理成 a=2+3/2,这就是 define 宏的边缘效应,所以我们应该写成 #define N (2+3)。

2.const 关键字

const 变量类型 变量名= 变量值;

const 定义的是变量不是常量,只是这个变量的值不允许改变。是常变量。
带有类型,编译运行的时候起作用存在类型检查。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

刹那芳华❀

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

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

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

打赏作者

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

抵扣说明:

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

余额充值