变量

1.概念

计算机使用内存来记录数据,内存中有很多的存储位置,每个存储位置中可以记录数据。

变量在C语言中用来代表一个存储位置,通过变量来访问对应的存储位置。

变量和存储位置之间的关系由操作系统决定的。

2.变量的使用

(1)变量使用前必须先声明

变量声明语法:

变量类型 变量名;

由于C语言中的数字是有类型的,所以代表存储位置的变量也是有类型的。

变量名属于标识符,需要遵循标识符的规范。

(2)访问变量

访问变量经常会用到赋值语句,赋值运算符(=)是赋值语句的核心

赋值运算符的作用是将"="右边的数字保存到"="左边的存储位置上

比如: a = 10; b = 20;

赋值运算符的左边必须是一个代表存储位置的内容,称之为左值

赋值运算符的右边必须是一个代表数字的内容,称之为右值

变量可以作为左值,也可以作为右值。数字只能作为右值。

(3)使用printf打印变量的值

printf函数不仅可以打印文字信息,也可以打印数字和变量

打印数字/变量使用占位符,整数类型的占位符是%d

用法如下:

int num; num = 10; printf("num = %d",num);

在打印的时候使用后面的 数字/变量 依次替换占位符的内容

不同类型的 数字/变量 的占位符不同

(4)变量的初始化和同时声明多个同类型变量

在声明变量的同时为变量赋值叫做变量的初始化

通常情况下所有的变量都应该初始化

没有初始化的变量的值不确定

初始化语法:

变量类型 变量名 = 初始值;

可以在一行中声明多个同类型的变量,语法如下:

变量类型 变量名1,变量名2,变量名3.....; 比如: int num, num_2, num_3, num_4, num_5;

(5)scanf标准函数

scanf标准函数可以在程序运行时把用户在键盘上输入的数字记录到变量中

scanf调用语句中使用占位符表示数字数字的类型

scanf使用变量的地址表示数字要存储的位置(&变量名)

int num; scanf("%d", &num);

注意事项:

在双引号中只能写占位符,不能添加其他的内容

一条scanf语句中可以读取多个数字,输入时多个数字之间用空格分开

使用scanf标准函数需要包含头文件stdio.h的头文件

scanf语句出错会影响之后的scanf语句,在Linux中可以使用以下语句去掉这种影响(清除缓存):

scanf("%*[^]"); scanf("%*c");

在C语言的代码中可以直接使用 + - * /

练习:

编写C语言的代码,将用户输入的两个整数的 和 差 积 商打印出来

3.变量的类型

整数类型:

(1)字符类型

关键字:char

字符类型代表一个数据类型,包含256个不同的数据,‘6’ ,'a' , '+'....

char类型的数据在我们的计算机上占用1个字节

每个字符数据可以用数字表示,字符类型数据有两种身份:字符身份和数字身份

字符身份和数字身份的对应关系在ASCII表中

'0' ---------------------- 48

'a' ---------------------- 97

char类型表示数字的范围是 -128 ----- 127

ASCII表只规定了0-127对应的字符,-128 ----- -1对应的字符不确定

在ASCII表,所有的大写字母,小写字母,数字字符都是连续排列

'd' - 'a' 等于 'D' - 'A'

'd' - 'a' 等于 '3' - '0'

使用printf/scanf 输入输出字符类型数据时,使用%hhd表示数字身份,%c表示字符身份

越界处理:

几个特殊的字符

'' ---------- 换行符

'' ----------- 回车符(将光标移动到本行开头)

’b‘ ---------- 退格符

'' ----------- 制表符

'' ''' '"' ------- 分别表示 ' " (转义)

%% -------- 表示%

(2)无符号的字符类型

关键字:unsigned char

无符号的字符类型也包含256个字符数据,范围0-255

大小也是1字节,其中0-127也对应ascii表

使用printf打印无符号字符类型时,使用占位符%hhu打印数字身份,%c打印字符身份

(3)短整型

关键字:short (int)

短整型包含65536个不同的整数,范围-32768 ----- 32767

在我们的计算机上占2个字节

占位符:%hd

(4)无符号短整型

关键字:unsigned short (int)

无符号短整型包含65536个不同的整数,范围0 ----- 65535

在我们的计算机上占2个字节

占位符:%hu

(5)整型

关键字:int

整型包含2^32个不同的整数,范围-2^31 ----- 2^31-1

在我们的计算机上占4个字节

占位符:%d

(6)无符号整型

关键字:unsigned (int)

整型包含2^32个不同的整数,范围0 ----- 2^32-1

在我们的计算机上占4个字节

占位符:%u

注:可以使用sizeof来计算 类型 变量 数字的大小,单位是字节。

sizeof(int) sizeof(num) sizeof(-10)

(7)长整型

关键字:long (int)

32位系统:

长整型包含2^32个不同的整数,范围-2^31 ----- 2^31-1

在我们的计算机上占4个字节

64位系统:

长整型包含2^64个不同的整数,范围-2^63 ----- 2^63-1

在我们的计算机上占8个字节

占位符:%ld

(8)无符号长整型

关键字:unsigned long (int)

32位系统:

整型包含2^32个不同的整数,范围0 ----- 2^32-1

在我们的计算机上占4个字节

64位系统:

长整型包含2^64个不同的整数,范围0 ----- 2^64-1

在我们的计算机上占8个字节

占位符:%lu

(9)长长整型

关键字:long long (int)

长长整型包含2^64个不同的整数,范围-2^63 ----- 2^63-1

在我们的计算机上占8个字节

占位符:%lld

(10)无符号长长整型

关键字:unsigned long long (int)

长长整型包含2^64个不同的整数,范围0 ----- 2^64-1

在我们的计算机上占8个字节

占位符:%llu

浮点类型:

(11)单精度浮点型

关键字:float

在我们的计算机上占4个字节

占位符:%f %g(%f保留小数点后多余的0,%g不保留) %e(科学计数法)

(12)双精度浮点型

关键字:double

在我们的计算机上占8个字节

占位符:%lf %lg(%lf保留小数点后多余的0,%lg不保留) %le(科学计数法)

注意事项:

C语言中,整数数字默认是int型,小数数字默认是double型。

如果要表示一个整数数字是无符号整型,可以在数字后面加u,比如8u

如果要表示一个小数数字是float类型,可以在数字后面加f,比如3.14f

(13)布尔类型 ----- C99加入

关键字:bool

在我们的计算机上占1个字节

用来存放一个布尔值,布尔值只有两种取值:真和假,本质上就是1和0

在C语言中使用关键字 truefalse 分别表示真和假

除了数字0表示假以外,其他的数字都表示真

注:使用bool类型要添加头文件stdbool.h

4.变量类型总结

变量类型总结

5.printf函数打印方法的补充

(1)可以使用%nd作为占位符来打印整数数字,n是一个正整数,表示打印结果至少占用n个位置,空位置在左边补充空格字符

%nd打印整数

(2)可以使用%-nd作为占位符来打印整数数字,n是一个正整数,表示打印结果至少占用n个位置,空位置在右边补充空格字符

%-nd打印整数

(3)可以使用%0nd作为占位符来打印整数数字,n是一个正整数,表示打印结果至少占用n个位置,空位置在左边补充0字符

%0nd打印证书

(4)可以使用%n.mf来打印浮点数,表示整个数字至少占n个位置,小数部分占m个位置

%n.mf打印浮点数

配套视频:C语言专题

bool c语言_C语言之变量相关推荐

  1. 电子英汉词典c语言程序设计报告,英汉电子词典设计报告_设计_C语言_C语言程序设计.doc...

    英汉电子词典设计报告_设计_C语言_C语言程序设计 课程设计 课程名称 :C语言程序课程设计 题目名称 :电子英汉词典 学生学院 :电气信息学院 专业班级 :自动化1101 学 号 :20110102 ...

  2. char类型怎么输入 c语言_C语言程序设计知识点总结(通用)

    微信搜索学生之家考前必备关注我们 <C语言程序设计>知识点总结(通用) 总体上必须清楚的: 1)程序结构是三种:  顺序结构 .选择结构(分支结构).循环结构.  2)读程序都要从main ...

  3. cshop是什么开发语言_C语言是用什么语言编写出来的?

    谢邀 参考 Dennis M. Ritchie 写的 The Development of the C Language:Chistory,C 语言诞生的基本过程就是 Ken Thomson 不满意 ...

  4. c语言bool怎么用_C语言中的一维数组和二维数组什么?怎么用?

    C++| 匠心之作 从0到1入门学编程[免费]​yun.itheima.com C语言除了基本数据类型之外,还提供了构造类型的数据,构造类型的数据包括数组类型.结构体类型和共用体类型.下面我们详细介绍 ...

  5. java 变量作用域 c语言_C语言深入理解 - 常量与变量

    ++++++++++++++++++++++++++++++++++++++++++ <C语言深入理解系列 - 常量与变量> 查看其它博文请关注原创作者. 本文系本站原创,欢迎转载! 转载 ...

  6. bool c语言_C语言面试54题

    C语言面试54题 ​ 大家好,这期呢,我们谈一下c语言的面试题. 第1题,c语言有哪些核心的特征? 可移植性很强. 模块化能力很强. 灵活性很高. 加载速度和执行速度都很好. 可扩展性很强. 第2题, ...

  7. mysql odbc c语言_C语言ODBC操作MySQL数据库(示例代码)

    数据库及其编程API来源于不同的背景,开发人员可以从众多的数据库中选择一种,每种数据库都有自己的一套编程API,这就为数据库编程造成了很大的局限性.SQL是标准化数据库编程接口的一种尝试,然而各种数据 ...

  8. 大整数减法c语言_C语言学习笔记(一)

    第一节 头文件 #include<stdio.h> ->编译预处理文件 注释 单行注释的使用 -> // 多行注释的使用 -> / 注释内容 / 定义函数 函数首部 in ...

  9. char类型怎么输入 c语言_c语言入门(一)

    知识点1[写代码的过程] 编辑器:程序员写代码的过程(记事本.vc6.0.vim)(让程序员看懂) 编译器:查看代码的语法错误,生成汇编语言. 汇编器:将生成好汇编语言 生成 二进制语言(目标文件) ...

最新文章

  1. c# 之Web.config
  2. 【极客blog图文讲解】ruby以及Jekyll的环境配置(针对mac linux)
  3. centos7设置键盘类型_CentOS 7 系统区域(语言)和键盘设置
  4. CSS3 动画 思维导图
  5. jQuery源码解析(3)—— ready加载、queue队列
  6. vue中ref 的使用
  7. MVC项目开发中那些用到的知识点(MVC IModelBinder)
  8. 云计算机平台 优势,云计算平台有哪些优势
  9. 跪求一个中国地图矢量图。
  10. C++单例模式(懒汉模式)实现
  11. ZigBee-CC2530单片机 - 低功耗运行
  12. mysql排序之if(isnull(字段名),0,1),fild 或者 if(isnull(字段名),1,0),fild
  13. 更新显卡驱动后,Windows重启卡在Logo页面
  14. c# 通过手淘分享查询淘宝优惠券
  15. Visual Studio 2019背景美化(背景透明化+自定义背景图片)
  16. 文件上传下载配置失败
  17. 【数据库SQL实战】将id=5以及emp_no=10001的行数据替换成id=5以及emp_no=10005
  18. Pr 电影开场帷幕拉开效果和轨道遮罩的应用
  19. 虎从风跃,龙借云行--神行者Wi10无线移动硬盘开启WIFI无线存储共享新时代_MID论坛_太平洋电脑网产品论坛...
  20. 程序员如何正确饲养乌龟?

热门文章

  1. 图普科技工程师:Mask R-CNN的理论创新会带来怎样的可能性?
  2. 小程序滚动里面catchtap事件苹果手机使用无效
  3. CSS3实例——表格
  4. 岁末发点有关企业信息化的杂感
  5. CCCC天梯赛 L3-015. 球队“食物链”
  6. MySQL分组查询统计每个选项的数量
  7. 中文LLaMA模型和指令精调的Alpaca大模型:中文数据进行二次预训练,进一步提升了中文基础语义理解能力
  8. 往事如烟 - 马拉多纳
  9. 区块链创新领域的“达沃斯论坛” -- 全球区块链技术大会即将召开
  10. KNN(k近邻详解)