本帖最后由 夜色星空 于 2017-1-15 19:12 编辑
先说什么是常量
常量就是你无法更改的
比如‘1’,‘k'这些它本身意义很明了
而且无法改动
你见过‘1=2’吗?
当然没有
如图,我加了一句int a;
在此之前,先说一下int
它是一种基本数据类型
在C语言中基本数据类型大致有3类
字符:char
整形:short,int ,long
浮点(就是小数类型):float,double
可以去看一下这篇文章
http://www.cnblogs.com/onedime/archive/2012/11/21/2780149.html
里面将C语言的类型讲得很明白。
再说什么是变量
我的理解,它就是一块空间,
用以存放数值,
(对,只是存放数值)
那么,字符怎么办?
将它变成数值,存入,然后再变为字符,读取
ASCII码表就是这个作用
为更好地体现它的转换关系
如图
运行一下,发现原先%d的位置被95取代了
我们称%d为占位符,就是帮后面的量占位置
并且告诉编译器,输出的是什么格式
printf()的官方名称:
格式化输出
格式化,说明是有格式的
现在将%d替换为%c
再运行一下
发现了什么?
变成了下划线,对吧
再将后面的数字改成65
运行,你屏幕上是不是出现了字符A
看一看这是不是ASCII码上的对应关系?
(附链接:格式占位符)
http://baike.baidu.com/link?url=UannlVMZYcrNmldsoS5EttGzeQllVJSZivcKqZUBVVsEhYVAKFiSUuz-Dt1Ea8dwKkyyQV0CWK5EpM38Iv8ZPQqR11NqzOTR-FX0QgJ5Eu8ai4hyQSDLkVm9x8Zra1uq
再试着在变量中存储东西,然后读出。
如图
将65赋值给a
运行,结果是不是一样?
既然是变量,那么它最大的特点就是数值可变
输出的都是a,但是a中的值改变了,随之而来的效果也改变了
再说一个基于<stdio.h>库的函数
scanf();
它和printf()是一对
它的名字叫
格式化输入
如图
’&‘为取地址符(可以先暂且记为门牌号,也就是说scanf()只要变量家的门牌号就行)
scanf()意为读入
从哪读入,当然是从输入设备,在这里也就是键盘
你用键盘输入一个%d类型的值
也就是数字
你会发现一切正常
但当你输入一个字母时,它就不正常了
因为占位符规定了你的格式只能是%d类型
所以说printf()与scanf()是一对
它们统称标准输入输出函数
因为都用到了占位符来表明数据格式。
(PS:本帖最后附上两个笔者自己编写的小程序)
|