1. 什么是变量

当一个数据的值需要经常改变或者不确定时,就应该用变量来表示。比如游戏积分。

2. 定义变量

1> 目的

任何变量在使用之前,必须先进行定义。

定义变量的目的是:在内存中分配一块存储空间给变量,方便以后存储数据。

如果定义了多个变量,就会为这多个变量分别分配不同的存储空间。

2> 格式

变量类型 变量名;

比如int num;

*变量名属于标识符

*变量类型

*不同类型的变量占用不同大小的存储空间。内存极其有限,分配适当的存储空间

*约束变量所存放的数据类型(方便运算)

3. 变量的使用

1> 赋值

往变量里面存点东西,就是赋值。赋值语句后带个分号;

a = 88;

注意:这里的等号=,并不是数学中的“相等”,而是C语言中的赋值运算符,作用是将右边的常量10赋值给左边的变量a

第一次赋值,可以称为“初始化”

初始化的两种形式

先定义,后初始化:int a; a = 10;

定义的同时进行初始化:int a = 10;

2> 修改

可以修改变量的值,多次赋值。每次赋值都会覆盖原来的值

a = 10;

a = 20;

变量a最后的值是20

使用printf输出一个或多个变量的值

int a = 10, c = 11;

printf("a=%d, c=%d", a, c);

double\float\char的输出,格式符的一些小技巧

 

double height = 1.55;

char blood = 'A';

printf("height=%.2f, 血型是%c", height, blood);

简单的加减操作

int a = 10 + 20;

*没有初始化时不要拿来使用(下面的写法是不建议的)

int score;

printf("score=%d", score);

3> 变量之间值的传递

可以将一个变量的值赋值给另一个变量

int a = 10;

int b = a;

连续赋值

a = b = 10;

4. 常见错误

1> 变量名相同 int a = 10; int a = 12;

2> 变量的作用域不对

变量的创建和释放过程

代码块作用域 { int a = 10; }

5.课堂代码

#include <stdio.h> //用printf就必须

int main()

{

//变量:只要有不确定的数据,就应该定义变量来保存

//要注意;经常忘打

int score = 100;

int time = 9;

//%d是一个格式符(占位符)只能输出整数

//\n用来换行

printf("分数是%d\n", score);

float height = 1.77f;

//%f用来输出小数,默认是6位小数

printf("身高是%f\n", height);

//加.2后输出是2位小数

printf("身高是%f.2\n", height);

char a = ‘A’;

//c%用来输出一个字符

printf("a的数值是%c\n", a);

return 0;

}

常用格式符:

1.%d或者%i 整数(int)

2.%f 小数(float,double)

3.%c 字符(char)

【学习笔记】【C语言】变量的更多相关文章

  1. Go语言学习笔记二: 变量

    Go语言学习笔记二: 变量 今天又学了一招如何查看go的版本的命令:go version.另外上一个笔记中的代码还可以使用go run hello.go来运行,只是这种方式不会生成exe文件. 定义变 ...

  2. [java学习笔记]java语言核心----面向对象之this关键字

    一.this关键字 体现:当成员变量和函数的局部变量重名时,可以使用this关键字来区别:在构造函数中调用其它构造函数 原理:         代表的是当前对象.         this就是所在函数 ...

  3. Java学习笔记:语言基础

    Java学习笔记:语言基础 2014-1-31   最近开始学习Java,目的倒不在于想深入的掌握Java开发,而是想了解Java的基本语法,可以阅读Java源代码,从而拓展一些知识面.同时为学习An ...

  4. IOS学习笔记07---C语言函数-printf函数

    IOS学习笔记07---C语言函数-printf函数 0 7.C语言5-printf函数 ------------------------- ----------------------------- ...

  5. IOS学习笔记06---C语言函数

    IOS学习笔记06---C语言函数 --------------------------------------------  qq交流群:创梦技术交流群:251572072              ...

  6. [java学习笔记]java语言核心----面向对象之构造函数

    1.构造函数概念 特点: 函数名与类名相同 不用定义返回值类型 没有具体的返回值 作用:                给对象进行初始化 注意: 默认构造函数 多个构造函数是以重载出现的 一个类中如果 ...

  7. 学习笔记:Javascript 变量 包装对象

    学习笔记:Javascript 变量 包装对象 如下代码,可以输出字符的长度. var str = "Tony"; str.length; 这时再试试以下代码,返回是 undefi ...

  8. js学习笔记1(变量、作用域、内存)

    写在前面,舍弃叽叽歪歪,只做学习笔记,认真踏实. 学习书籍:javascript高级程序设计3版. 章节4.1 基本类型和引用类型 1.基本类型在内存中占据固定大小的空间,所以保存在栈内存中. 2.从 ...

  9. ios开发学习笔记001-C语言基础知识

    先来学习一下C语言基础知识,总结如下: 在xcode下编写代码. 1.编写代码 2.编译:cc –c 文件名.c 编译成功会生成一个 .o的目标文件 3.链接:把目标文件.o和系统自带的库合并在一起, ...

  10. [java学习笔记]java语言基础概述之标识符&关键字&注释&常量和变量

    一.标识符 在程序中自定义的一些名称 由26个英文字母的大小写,数字,_$组成 定义合法标识符的规则: 不能以数字开头 不能使用关键字 java严格区分大小写 注意:在起名字时,为了提高阅读性,必须得 ...

随机推荐

  1. cdoj 30 最短路 flyod

    最短路 Time Limit: 20 Sec  Memory Limit: 256 MB 题目连接 http://acm.uestc.edu.cn/#/problem/show/30 Descript ...

  2. Java SSH远程执行Shell脚本实现(转)

    前言 此程序需要ganymed-ssh2-build210.jar包(下载地址:http://www.ganymed.ethz.ch/ssh2/) 为了调试方便,可以将\ganymed-ssh2-bu ...

  3. NPOI 教程 - 3.2 打印相关设置

    转:http://www.cnblogs.com/wolfplan/archive/2013/01/13/2858991.html NPOI 教程 - 3.2 打印相关设置   打印设置主要包括方向设 ...

  4. smartPtr指针的实现

    编写一个智能指针类.智能指针是一种数据类型,一般用模板实现,模拟指针行为的同时还提供自动来及回收机制.它会自动记录SmartPointer<T*>对象的引用计数,一旦T类型对象的引用计数为 ...

  5. JavaScript 之 执行前台函数

    1.OnClientClick (vs2003不支持这个方法) <asp:Button ID="Button" runat="server" Text=& ...

  6. MySQL数据库还原:路径必须用正斜杠?

    也是术业不精,其实之前也用命令行还原过几次MySQL数据库,但总记不清语法.这不,今天想把另一台电脑上备份的数据库还原过来,结果不停报错,如下图所示: 后来才发现,因为偷懒直接复制的路径名里,用的全是 ...

  7. iOS 修改网络图片的大小 宽和高

    //image宽和高 好用 NSString *strTemplateHTML = [NSString stringWithFormat:@"<html><head> ...

  8. 使用Apache Felix Remote Shell远程管理OSGI

    通过Apache Felix Remote Shell提供的org.apache.felix.shell.remote能使用telnet客户端访问远程的[Apache Felix Shell]和[Ap ...

  9. NSOperation与GCD之间的关系

    NSOperation与GCD的相同之处 1.NSOperation和NSOperationQueue实现多线程的步骤: 先将需要执行的操作封装到一个NSOperation对象中. 然后将NSOper ...

  10. Oracle基础 (系统工具(export,import)) exp/imp和 (数据泵 (data pump))expdp/impdp的区别:

    一.exp/imp和expdp/impdp在功能上的区别: 1.把用户usera的对象导入到userb emp/imp用法: formuser=usera touser=userb; empdp/im ...