c语言学习笔记-变量、变量的命名、变量的赋值和变量的初始化
在学习了简单的输入输出功能和了解了一些基本的运算符号之后我们可以试着做一个非常简单的计算器。
比如说想计算23+65
输入以下代码就可以了。
printf("23+65=%d",23+65);
如果想计算100+89,就需要把上面式子中的23+65改成100+89,每计算一次就需要改动一次程序,再编译再运行,我们发现这样效率很低,我们想要的是程序编译运行一次,然后用户输入两个数,程序计算出结果。想要达到这样的效果我们就需要一种东西来存放用户输入的数据,那么这种东西就叫变量。一个概念的引入并不是随便的,它一定是为了解决某个问题的。
了解了变量的必要性之后我们再来看定义变量的规则。
int money=100;
int是变量的类型,意思是整数类型,这个变量用来存放整数数据的,其它变量类型在之后会慢慢遇到。
money表示变量的名字,为了引用变量也为了变量之间区分开,所以一定要给一个变量起一个名字。就比如说你叫张三,他叫王五,我说那个人你给我过来,你能知道我说的是哪个人吗?变量也是同样的道理。变量的命名不是随便的他是有一定规则的,就比如你的名字不能叫 ?张三、 _王五 ,这样会给别人带来困惑。规则就是只能以下划线和字母开头以及c语言钦定的一些关键字也是不能用的,比如int if ,人家已经用了,你就不能再用了。
=这个符号在数学中是等号,a=b在数学中表示a和b的某种数学关系,a=b在编程领域的意思是赋值,它是一个动态的过程,表示把b中的东西放到a中。在这个例子中是表示把100这个东西放到money这个变量中。
int money是定义变量。int money =100,这种在定义变量的同时又给这个变量赋值,这叫变量的初始化。
为什么变量要有初始化,而且非常重要。因为定义一个变量的意思是在内存中预留一个地方,这个地方可能是上个程序产生的一些数据,那这些数据相对于我们的程序来说就是垃圾数据,如果我们不初始化直接引用这个变量的值,那么就意味着这个值是可能是一些脏数据,会直接导致程序运行出现不可预估的问题,如果有了初始化那就意味着把那个脏数据给设置成一个好数据。
c语言学习笔记-变量、变量的命名、变量的赋值和变量的初始化的更多相关文章
- Go语言学习笔记二: 变量
Go语言学习笔记二: 变量 今天又学了一招如何查看go的版本的命令:go version.另外上一个笔记中的代码还可以使用go run hello.go来运行,只是这种方式不会生成exe文件. 定义变 ...
- JavaScript:学习笔记(7)——VAR、LET、CONST三种变量声明的区别
JavaScript:学习笔记(7)——VAR.LET.CONST三种变量声明的区别 ES2015(ES6)带来了许多闪亮的新功能,自2017年以来,许多JavaScript开发人员已经熟悉并开始使用 ...
- Go语言学习笔记七: 函数
Go语言学习笔记七: 函数 Go语言有函数还有方法,神奇不.这有点像python了. 函数定义 func function_name( [parameter list] ) [return_types ...
- 2017-05-4-C语言学习笔记
C语言学习笔记... ------------------------------------ Hello C语言:什么是程序:程序是指:完成某件事的既定方式和过程.计算机中的程序是指:为了让计算机执 ...
- GO语言学习笔记(一)
GO语言学习笔记 1.数组切片slice:可动态增长的数组 2.错误处理流程关键字:defer panic recover 3.变量的初始化:以下效果一样 `var a int = 10` `var ...
- Go语言学习笔记十一: 切片(slice)
Go语言学习笔记十一: 切片(slice) 切片这个概念我是从python语言中学到的,当时感觉这个东西真的比较好用.不像java语言写起来就比较繁琐.不过我觉得未来java语法也会支持的. 定义切片 ...
- Go语言学习笔记十: 结构体
Go语言学习笔记十: 结构体 Go语言的结构体语法和C语言类似.而结构体这个概念就类似高级语言Java中的类. 结构体定义 结构体有两个关键字type和struct,中间夹着一个结构体名称.大括号里面 ...
- Go语言学习笔记九: 指针
Go语言学习笔记九: 指针 指针的概念是当时学C语言时了解的.Go语言的指针感觉与C语言的没啥不同. 指针定义与使用 指针变量是保存内存地址的变量.其他变量保存的是数值,而指针变量保存的是内存地址.这 ...
- Go语言学习笔记五: 条件语句
Go语言学习笔记五: 条件语句 if语句 if 布尔表达式 { /* 在布尔表达式为 true 时执行 */ } 竟然没有括号,和python很像.但是有大括号,与python又不一样. 例子: pa ...
- Go语言学习笔记四: 运算符
Go语言学习笔记四: 运算符 这章知识好无聊呀,本来想跨过去,但没准有初学者要学,还是写写吧. 运算符种类 与你预期的一样,Go的特点就是啥都有,爱用哪个用哪个,所以市面上的运算符基本都有. 算术运算 ...
随机推荐
- LeetCode OJ:Minimum Depth of Binary Tree(二叉树的最小深度)
Given a binary tree, find its minimum depth. The minimum depth is the number of nodes along the shor ...
- 搭建了一个Apache+Php+MySQL的服务器。要如何通过Apache发布网站使得其他的电脑可以通过局域网访问?
源址: 1.网站的代码放在文件夹“www”下: 2.配置apache允许他人访问网站:在wamp/apache/apache版本/conf的httpd.conf文件修改代码如下: Optio ...
- LeetCode Base 7
原题链接在这里:https://leetcode.com/problems/base-7/#/description 题目: Given an integer, return its base 7 s ...
- 五、python沉淀之路--字典
一. 1.根据序列,创建字典,并指定统一的值 v = dict.fromkeys(["],222) print(v) {': 222} 2.根据key 获取值,key不存在时,报错:get方 ...
- 月薪3万Java程序员要达到的技术层次
要达到月薪3万,一般要在北上广深杭知名的互联网公司,同时要在某一个知识领域达到专家级别,而不是简单的掌握SSH那么简单.虽然对部分人有点难,但目标还是要有的,万一实现呢? 首先三万的月薪在BAT实在太 ...
- 洛谷4719 【模板】动态dp
题目:https://www.luogu.org/problemnew/show/P4719 关于动态DP似乎有猫锟的WC2018论文,但找不见:还是算了. http://immortalco.blo ...
- C# 单例模式代码
原文地址:http://blog.jobbole.com/101746/ 代码一: public sealed class Singleton { static Singlet ...
- php 字符串的分割
http://blog.sina.com.cn/s/blog_71ed1b870102uysa.html
- boot asio 非阻塞同步编程---非阻塞的accept和receive。
boot asio 非阻塞同步编程---非阻塞的accept和receive. 客户端编程: #include<boost/timer.hpp> #include <iostream ...
- WebDriver数据驱动模式
利用@dataprovider 在一个浏览器内多次登录不同的用户时,必须要每次完成一个登录后,都有一个退出登录的代码,以保持和初始登录页面一致,才不会报错并再次循环登录