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

      希望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 %c
short     短整型 2 -32768~32767 %hd
int 整形 4  -32768~32767  %d
long 长整型 4 -2147483648~2147483647   %ld
float 单精度浮点数 4  -3.4* 10-38 ~ 3.4* 1038 %f
double /双精度浮点数 8  -1.7E-308~1.7E+308  %lf
  1. 字节是什么?
  2. 各类型变量字节字节占多少?

1. 字节是什么?

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

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

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

最终:管理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 = %d\n",max);

   return 0;
}

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

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

2.4 枚举常量

#include 
enum Sex
{
 MALE,
 FEMALE,
 SECRET
};
//括号中的MALE,FEMALE,SECRET是枚举常量

int main()
{

  //枚举常量演示
    printf("%d\n", MALE);
    printf("%d\n", FEMALE);
    printf("%d\n", 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函数的基本使用

  1. main函数是程序的入口
  2. 一个工程main函数只能有且仅有一个

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

2. printf的使用

1.printf 函数的一般格式

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

例如:printf("%d %d\n ", 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语言可以变得在走火入魔的,从初识到后期的进阶,这个过程很漫长,要努力的还有很多,本人能力有限,请友友指正出来!!!

你可能感兴趣的:(零基础C语言学习笔记,c语言,开发语言,github,c++)