欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

《零基础C语言学习笔记------初识篇--2》数据类型&变量与常量

时间:2023-06-06

      希望uu们能够给一个小赞赞哦 !!!!!! 

目录

一.数据类型

1.字节是什么?

2.各类型变量占多少字节?

二.常量与变量

1.定义变量的方法

1.1变量的分类

1.2变量的作用域和生命周期

2常量

2.1字面常量

2.2const修饰的常变量

2.3#define定义下的标识符常量

2.4枚举常量

三.mian函数,printf,scanf的使用

1.main函数的基本使用

2、printf的使用

3.scanf的使用


一、数据类型 类型名称字节表示范围替换字符(printf)char字符数据类型1-128~127%cshort    短整型2-32768~32767%hdint整形4 -32768~32767 %dlong长整型4-2147483648~2147483647  %ldfloat单精度浮点数4 -3.4* 10-38 ~ 3.4* 1038%fdouble/双精度浮点数8 -1.7E-308~1.7E+308 %lf
字节是什么?各类型变量字节字节占多少?

1、字节是什么?

电脑有着32位/64位,代表着32/64根地址线,通电后,电信号转换成数字信息:1和0组成的二进制序列

对于32位地址线,以下的32串

000000000000000000000000000000001111111111111111111111111111111100000000000000000000000000000000

最终:管理2^32个内存单元

2^32=4294967296

4294967296bit/8=8536870912byte

/1024=524288kb

/1024=512MB

/1024=0.5GB

char -1byte = 8 bit--8个地址

最终:一个内存单元是一个字节,然后分配地址。

2、各类型变量占多少字节?

#include int main(){ printf("%d", sizeof(char));//1 printf("%d", sizeof(short));//2 printf("%d", sizeof(int));//4 printf("%d", sizeof(long));//4 printf("%d", sizeof(long long));//8 printf("%d", sizeof(float));//4 printf("%d", sizeof(double));//8 printf("%d", sizeof(long double));//8 return 0;}

sizeof是运算符(操作符),而且是唯一一个以单词形式出现的运算符,它用来计算存放某一个量需要占用多少字节。


二、常量与变量

生活中的有些值是不变的(比如:圆周率,性别,身份证号码,血型等等)

有些值是可变的(比如:年龄,体重,薪资)。

不变的值,C语言中用常量的概念来表示,变得值C语言中用变量来表示。

1、定义变量的方法

int age = 150;

float weight = 45.5f;

char ch = 'w';

1.1 变量的分类

全局变量局部变量

#include int global = 2019;//全局变量int main(){ int local = 2018;//局部变量 //下面定义的global会不会有问题? int global = 2020;//局部变量 printf("global = %d", global); return 0;}

 总结:

上面的局部变量global变量的定义其实没有什么问题的!

当局部变量和全局变量同名的时候,局部变量优先使用。

不建议全局变量,局部变量的名字写成一样的。

1.2 变量的作用域和生命周期

作用域

作用域(scope)是程序设计概念,通常来说,一段程序代码中所用到的名字并不总是有效/可用 的 而限定这个名字的可用性的代码范围就是这个名字的作用域。

1、局部变量的作用域是变量所在的局部范围。

2、全局变量的作用域是整个工程。

生命周期 变量的生命周期指的是变量的创建到变量的销毁之间的一个时间段

1、局部变量的生命周期是:进入作用域生命周期开始,出作用域生命周期结束。

2、全局变量的生命周期是:整个程序的生命周期。

2.常量

2.1 字面常量

3.14;//字面常量 

1000;//字面常量

2.2 const修饰的常变量

#include int main(){//const 修饰的常变量 const float pai = 3.14f; //这里的pai是const修饰的常变量 pai = 5.14;//是不能直接修改的!int arr[10]={0};//数组的组成;数组的元素类型(int)数组的名称 [常量表达式]int n=10 ;int arr2[n]={0};//支持c99标准的 可以编译成功 //变长数组const int m = 10;int arr3[m]={0};//此时虽为常变量,但还是属于变量 return 0;}

1.数组的组成:

数组的元素类型  数组的名称   [常量表达式]

eg: int arr[10]      float total[1.0]

2、const 修饰的常变量

上面例子上的 pai 被称为 const 修饰的常变量, const 修饰的常变量在C语言中只是在语法层面限制了 变量 pai 不能直接被改变,但是 pai 本质上还是一个变量的,此时句有了一定的常属性所以叫常变量。

3.变长数组

c99中引入了变长数组的概念,允许数组的大小用变量来制定,如果编译器不支持c99中的变长数组,那就不能使用     // 看不懂的,不用就纠结,先记着

2.3 #define定义下的标识符常量

#include int main(){ #define max100//define 定义下的标识符常量 max=10; printf("max = %dn",max); return 0;}

此时就产生了报错,所以define定义下的标识符常量,是不能修改的。

2.4 枚举常量

#include enum Sex{ MALE, FEMALE, SECRET};//括号中的MALE,FEMALE,SECRET是枚举常量int main(){ //枚举常量演示 printf("%dn", MALE); printf("%dn", FEMALE); printf("%dn", SECRET); //注:枚举常量的默认是从0开始,依次向下递增1的return 0;}

枚举常量

固然就是可以一一列举的常量,特性就是从0默认开始的,依次向下递增1的。

//如果此时MALE=3  赋上一个值,系统就会报错。


三.mian函数,printf,scanf的使用

#include int main(){ int num1 = 0; int num2 = 0; int sum = 0; printf("输入两个操作数:>"); scanf("%d %d", &num1, &num2); sum = num1 + num2; printf("sum = %d", sum); return 0;}

1.main函数的基本使用
main函数是程序的入口一个工程main函数只能有且仅有一个

2、printf的使用

1.printf 函数的一般格式

printf(格式控制,输出表列)

例如:printf("%d %dn ", a,b);//先简单的进行了解

3.scanf的使用

1.scanf 函数的一般格式

scanf(格式控制,输入表列)

例如:scanf (" %lf %lf %lf ",&a,&b,&c);

输入:1 2 3

输出:1.0 2.0 3.0  会按照格式控制的类型,输入相应的类型。

此时:地址符&  叫做取地址,&a表示取到了变量a在内存中的地址。

//先简单的进行了解


 总结:其实学c语言可以变得在走火入魔的,从初识到后期的进阶,这个过程很漫长,要努力的还有很多,本人能力有限,请友友指正出来!!!

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。