数据 常量 变量 变量输出及printf函数用法 变量的初始化

数据

一、是什么?

数据就是数值.数据有很多种,最简单的就是数字.数据也可以是 文字,图像,声音等

二、有什么用?

保存我们的记录,用于以后使用

三、怎么用?

由0和1组成,用设备存储

四、什么时候用?

当你需要对数据进行操作使用时

五、有什么特点?

1.分为静态数据和动态数据(内存)

2.只由0和1组成

3.最小单位是bit

1byte字节=8bit

常量

一、是什么?

是一些固定的数据,有四大类型;整型  浮点型(单行度和双精度)  字符型   字符串型

二、有什么用?

表示一些固定不变的数据

三、怎么用?

字面常量.

比如: 1 //整型字面常量  1.0f //单精度字面常量

'a' //字符字面常量(只能是一个非中文字符)  "hello world"字符串字面常量


字符串常量与字符常量不同的地方是,字符串常量是用""把字符串括起来,所以'a'和"a"是不一 样的,而且系统会在字符串常量的末尾自动加一个字符串结束标志('\0')。

符号常量(也叫常变量):即用一个标识符来表示常量,一般用const来指明

如 :constint  MAX_SIZE = 365;//定义一个符号常量MAX_SIZE.

也可以使用宏定义,通过预处理指令来替换符号常量

如:上面的MAX_SIZE可以写成#define MAX_SIZE  365

四、什么时候用?

当需要给变量赋值或者定义一个不变的数据

五、有什么特点?

数据不会被改变!

变量

一、是什么?

变量来源于数学,是计算机语言中能存储计算结果或 者能表示 值抽象概念

变量是内存的一块儿存储单元用来存储经常变化的数据

变量由两要素构成:变量名与变量类型。

变量类型+变量名 = 变量

二、有什么用?

用来表示一个需要改变或者不确定的数据

变量分为全局变量,局部变量。全局变量定义在函数外部,程序开始到结束都一直在,而局部 变量定义在函数内部,只能供函数使用,在函数内部有效

三、怎么用?

变量类型+变量名  如;int num;

赋值:  num = 1; 修改 num = 2;

四、什么时候用?

需要定义一个经常改变或者不确定的数据

五、有什么特点?

1.创建一个变量相当于在内存中占用了一块空间

2.这个空间的大小是固定的,但是里面的数据可以改变

3.同一个作用域内不能有相同的变量名

4.初始化时创建,在函数作用域执行完后失效,且内存空间释放

变量输出及printf函数用法

一、是什么?

C语言下的printf()函数是样式化输出函数,由C语言自带的库提供

二、有什么用?

在控制台上按照你需要的格式输出你定义的数据

三、怎么用?

1.#include//引入头文件,表示在这个文件里要用到里面的printf()函数

2.printf("<格式化字符串>",<参量表>)

3.格式化规定字符,以%开始  后面跟一个或几个规定的字符

常用%d整数, %f浮点数 %c单个字符  %s字符串%p指针的值

四、什么时候用?

当你想输出结果的时候

五、有什么特点?

1.可以单个输出,也可以加批量输出,以逗号分割

2.格式化是%开始.  %前面可以加任意的字符串,会按原样输出.

printf的格式控制的完整格式:

% - 0 m.n l或h 格式字符

下面对组成格式说明的各项加以说明:

1%:表示格式说明的起始符号,不可缺少。

2-:有-表示左对齐输出(右侧补空格),如省略表示右对齐输出(左侧补空格)。

30:有0表示指定空位填0,如省略表示指定空位不填。

4m.n:m指域宽,即对应的输出项在输出设备上所占的字符数。N指精度。用于说明输出的实型 数的小数位数。对数值型的来说,未指定n时,隐含的精度为n=6位。

5l或h:l对整型指long型,对实型指double型。h用于将整型的格式字符修正为short型。

格式字符 格式字符用以指定输出项的数据类型和输出格式。1d格式:用来输出十进制整数。有以下几种用法:%ld:输出长整型数据。

2o格式:以无符号八进制形式输出整数。对长整型可以用"%lo"格式输出。同样也可以指定字段宽 度用“%mo”格式输出。

例:

main()

{ int a = -1; printf("%d, %o", a, a);

}

运行结果:-1,177777程序解析:-1在内存单元中(以补码形式存放)为(1111111111111111)2,转换为八进制数为 (177777)8。

3x格式:以无符号十六进制形式输出整数。对长整型可以用"%lx"格式输出。同样也可以指定字段 宽度用"%mx"格式输出。

4u格式:以无符号十进制形式输出整数。对长整型可以用"%lu"格式输出。同样也可以指定字段宽 度用“%mu”格式输出。

5c格式:输出一个字符。

6s格式:用来输出一个串。有几中用法

%s:例如:printf("%s", "CHINA")输出"CHINA"字符串(不包括双引号)。%ms:输出的字符串占m列,如字符串本身长度大于m,则突破获m的限制,将字符串全部输出。若串 长小于m,则左补空格。

%-ms:如果串长小于m,则在m列范围内,字符串向左靠,右补空格。%m.ns:输出占m列,但只取字符串中左端n个字符。这n个字符输出在m列的右侧,左补空格,注 意:如果n未指定,默认为0。%-m.ns:其中m、n含义同上,n个字符输出在m列范围的左侧,右补空格。如果n>m,则自动取n 值,即保证n个字符正常输出,注意:如果n未指定,默认为0。

如果是sprintf(desc, "%m.ns", sour); 如果desc空间够的话,会在%m.ns 串 的结尾自动补null 字符,不同于strncpy。

例如 :sprintf(desc, "%.3s", "123456");desc如果空间>=4字节的话,第4个字节将是null字 符。


%f输出精度: 7个有效数字,小数点后8位.


变量的初始化

int a; //不会报错,a里面存的内容:

1)随机数

2)上次程序分配的存储空间,存数一些 内容,“垃圾”

3)系统正在用的一些数据

1)定义的同时进行初始化

int a = 10;

int a,b=10; //部分初始化

int a=4,b=2;

2)先定义,后初始化

int a;

a = 10;

3)使用一个变量进行初始化

int a;

int b = 10;

a = b; //使用b去初始化a

4)还可以批量的进行初始化

int a,b,c;

a = b =c =0;

注意: 变量的第一次赋值被成为称为初始化,以后再赋值相当于覆盖了上一次的值

变量的使用:

注意:

(1)赋值的时候,= 号的左侧必须是变量(10=b,错)

(2)规范:习惯将 = 的两侧 各加上一个 空格

变量作用域:

C语言中所有变量都有自己的作用域,申明变量的类型不同,其作用域也不同。C语言中的变 量,按照作用域的范围可分为两种, 即局部变量和全局变量。

局部变量

关于局部变量的作用域还要说明以下几点:

(1)主函数中定义的变量也只能在主函数中使用,不能在其它函数中使用。同时,主函数中 也不能使用其它函数中定义的变量。因为主函数也是一个函数,它与其它函数是平行关系。

(2)形参变量是属于被调函数的局部变量,实参变量是属于主调函数的局部变量。

(3)允许在不同的函数中使用相同的变量名,它们代表不同的对象,分配不同的单元,互不 干扰,也不会发生混淆。虽然允许在不同的函数中使用相同的变量名,但是为了使程序明了易 懂,不 提倡在不同的函数中使用相同的变量名

全局变量

全局变量也称为外部变量,它是在函数外部定义的变量。

全局变量的说明符号为 extern

对于全局变量还有以下几点说明:1.对于局部变量的定义和说明,可以不加区分。而对于外部变量则不然,外部变量的定义和外部变量的说明并不是一回事。外部变量定义必须在所有的函数之外,且只能定义一次。其一般形式为: [extern] 类型说明符 变量名,变量名... 其中方括号内的extern可以省去不写。

例如: int a,b;等效于:extern int a,b;

2.而外部变量说明出现在要使用该外部变量的各个函数内,在整个程序内,可能出现多次,外部变量说明的一般形式为: extern 类型说明符 变量名,变量名,...; 外部变量在定义时就已分配了内存单元,外部变量定义可作初始赋值,外部变量说明不能再赋初始值, 只是表明在函数内要使用某外部变量。

3.外部变量可加强函数模块之间的数据联系,但是又使函数要依赖这些变量,因而使得函数的

独立性降低。从模块化程序设计的观点来看这是不利的, 因此在不必要时尽量不要使用全局变量。

4.在同一源文件中,允许全局变量和局部变量同名。在局部变量的作用域内,全局变量不起作用(就近原则).

为了合理的使用内存空间,所以变量一定要区分类型

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,456评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,370评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,337评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,583评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,596评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,572评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,936评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,595评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,850评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,601评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,685评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,371评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,951评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,934评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,167评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,636评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,411评论 2 342

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,560评论 18 399
  • 你看到我的躯体被瓜分 血浆缓缓流动 锋利的骨头挂在海棠花的枝蔓 找不到眼睛和牙齿 我成了一个烂橘子 酸臭腐烂 你不...
    三势阅读 191评论 0 1
  • 关于作者 野中郁次郎,在管理学界是赫赫有名的“知识创造理论之父”。凭借《创造知识的企业》,野中于2008年被《华尔...
    蔚成阅读 829评论 1 1
  • 今天凌晨看完《黎明之前》,有感于顾晔佳和刘新杰惜别的那段戏。故有此同人作。贻笑大方。 3日清晨,病房。 顾晔佳从一...
    sH2nxy阅读 1,389评论 0 7
  • 前几天跟一个朋友在讨论怎样的一天是幸福的一天,我说如果所有的事情都能按照约定完成,做的都是自己喜欢的事情,看见自己...
    我是瑞雪阅读 910评论 4 45