《零基础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串

00000000000000000000000000000000
11111111111111111111111111111111
00000000000000000000000000000000

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

2^32=4294967296

4294967296bit/8=8536870912byte

/1024=524288kb

/1024=512MB

/1024=0.5GB

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

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

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

#include <stdio.h>
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 <stdio.h>
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 <stdio.h>

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 <stdio.h>

int main()
{
   #define max100//define 定义下的标识符常量
   max=10;
   printf("max = %d\n",max);

   return 0;
}

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

2.4 枚举常量

#include <stdio.h>
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 <stdio.h>
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函数只能有且仅有一个

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5bCP6buR56CBYml0,size_20,color_FFFFFF,t_70,g_se,x_16

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

  • 13
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 17
    评论
评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值