首页 > 其他分享 >变量及数据类型(二)

变量及数据类型(二)

时间:2024-12-02 21:04:25浏览次数:14  
标签:字符 变量 int 数据类型 内存 c2 c1

1、变量:

  •  在程序执行过程中值可以被改变的量
  •  变量代表内存中具有特定属性的一个储存单元,用来储存数据,也就是存放变量的值 
  • 变量有一个名字,以便于可以通过名字访问变量

例如:

#include <dtdio.h>
int main()
{
    //①:声明变量并初始化
    int age = 21; //这里的 = 是赋值
    int count;
    count = 10;
    //②:初始化并修改变量的值
    int number = 12;
    printf("%d\n",number);///12, %d是十进制int的格式化符
    number = 22;
    printf("%d\n",number);//我们对同一个变量进行赋值的时候,后面赋的值会覆盖掉前面赋的值
}

变量的命名规则:

  • 变量名必须以字母(a-z)或者下划线(_)开头,后面可以跟若干个字母、数字或下划线;
  • 变量名不能与C语言中已经存在的标识符(如:int,float,void,if,break等)重名;
  • 变量名、变量值以及变量所占存储单元之间的联系:

标识符:

  • 用来表示对象名字的有效字符。对象包括变量、处理、数组、函数、类型等。也就是标识符就是对象的名字
  • C语言规定标识符只能由字母、数字和下划线3种字符 构成,且第⼀个必须为字母或者下划线。举例:number,_int
  • 编译系统对大小写很敏感。变量名和函数名⼀般用小写字母+下划线,常量名和枚举名⼀般⽤大写字母+下划线。 举例:变量(set_count)函数(set_count())常量(SET_COUNT)

c语言有三类标识符:

  • 关键字:有32个,系统有特定的含义和用途:如:float,int,if,else等,不能用作自定义表示符(变量和函数)
  • 系统预定义的标识符:如系统提供的库函数名sim,printf,main,scanf以及预处理命令define,include等

用户标识符:

        用户定义的标识符,、用来给程序的变量、自定义函数、符号常量、数组、结构体、共用体、文件等命名

在c语言,要求对所用到的变量使用前必须先强制定义,先定义在使用 。

  • c语言中右32个关键字,不允许用户来定义标识符

  • 12个预处理命令:

        ⼀个类型说明语句可以同时定义多个类型的变量,各个变量之间使用逗号","分隔,多个同类型的变量也可以用多个类型说明语句定义:

// 一个类型说明语句可以同时定义多个类型的变量
int a,b,c,d;// 同类型
int a1 = 3,b1 = 4,c1 = 5, d1 = 6;
// 多个同类型的变量也可以用多个类型说明语句
int a;
int b;
int c;
int d;
int a1 = 3;
int b1 = 4;
int c1 = 5;
int d1 = 6;

        用类型说明语句定义的变量只是说明了为这些变量分了存储空间。以便于存放与之相同类型的数据,在未对这些变量赋值前,这些变量中的值是随机的 ;

        C语言允许在定义变量的同时为变量赋初始值;

        在为长整型变量初始化或者赋值时,如果被赋值数据为基本整型常量,则C编译系统自动将被赋值数据转换成与相应变量类型⼀致。

例如:

long a = 12;// 左边是long类型变量,右边是int常量,当完成赋值操作后,右边的12的类型转换为long

2、基本数据类型(整形、浮点型、字符型)

2.1:数据在内存中的存放方式

  • 数据都是运行在内存中
  • 数据在内存中是以二进制的形式存放
int i;//定义i为存储整形变量
i =10;//给i赋整数值为10

例如:10 的二进制数是:1010 、则内存中实际存放形式为

  •  实际上,数据在内存中是以补码的形式表示的。
  •  正数的补码和原码是相同的(该数的二进制形式)
  •  负数二点补码是将该数绝对值的二进制形式按位取反+1(按位取反是反码,一个一个的取反0变1,1变0),也就是反码右端+1变补码

在内存中最终储存是变量的补码

        反码就是中间量用来转换原码和补码(原码针对应用层)

        在存放整数的存储单元 ,⼀般情况下,最左边的⼀位应用来表示符号位,符号位为0表表示正数,符号位为1表示负数。

2.2、浮点型数据

        浮点型数 也是 实数、小数

2.21:浮点型变量的分类

  • 单精度浮点型(float):在64为系统中是4个字节,精确到小数点后6位,%f
  • 双精度浮点型(double):在64位系统中典型是8字节,精确到小数点后15-16位 ,%lf
  • 长双精度浮点型:(long double):16个字节

占用内存越多,能表达精度越高

2.22:浮点型数据在内存中的存放形式

        浮点型数据在内存中按照指数形式存放,系统将一个浮点数分成 小数部分和指数部分,分别存放。

2.3:字符型数据

字符型变量用来存放字符常量。char c ='A'

char 变量列表;
#include <dtdio.h>
int main()
{
    char c1,c2;
    c1 = 'a';
    c2 = 'b';
    
    printf("c1=%c\n",c1);//输出字符本身
    printf("c2=%c\n",c2);//输出字符本身
    printf("c1=%d\n",c1);//输出对应的ASCII表编号  c1 =97
    printf("c2=%d\n",c2);//输出对应的ASCII表编号  c2 =98
}

ps:在ascll码表中小写大写差32 小-大-32 大-小+32

        一个字符变量只能存放一个字符。c编译系统都规定以一个字节的存储空间来存放存放一个字符,因此,一个字符变量在内存中的大小是1字节(占一个字节)

2.32:字符数据在内存中的存储形式

        将一个字符常量存入一个字符变量,实际上并不是把该字符本身存入内存单元中,而是将该字符对应的ASCII码存入内存单元。

        'a'的ASCII码为97、'b'的ASCII编为98,他们在内存中的存放形式如下所示:

实际上是按照二进制存放,形式为:

        由此可见,在内存中字符数据的存储形式与整型数据类似,这就使得字符型数据和整型数据之间可以通用。也就是1个字符数据既可以字符形式输出,也可以以整数形式输出。

  • 以字符形式输出时,编译系统将内存单元中的ASCII码转换成相应的字符,然后输出。

  • 以整数形式输出时,直接将ASCII码作为整数输出。

  • 因此,可以对字符数据进⾏算术运算,这时相当于对其ASCII码进行算术运算。

例如:

#include <stdio.h>
main() // 此时默认返回值类型是int
{
char c1,c2;
c1 = 97;
c2 = 98;
printf("%c %c \n",c1,c2);// 以字符形式输出,a b
printf("%d %d \n",c1,c2);// 以整数形式输出,97 98
}

char类型大小写字母的转换:

#include <stdio.h>
int main()
{
char c1,c2;
c1 = 'a';// 97
c2 = 'b';// 98
// 转大写
c1 = c1 - 32;// 赋值运算,运算规则是,由右到左
c2 = c2 - 32;
printf("%c %c \n",c1,c2);// ① A B ② 65 66 ③ 'A' 'B'
}

附:ASCIII码表

标签:字符,变量,int,数据类型,内存,c2,c1
From: https://blog.csdn.net/m0_64392809/article/details/144197478

相关文章

  • JAVA中的引用数据类型
    引用的概念        "引用"(Reference)是一个非常重要的概念,它是指向对象实例的变量。    1.引用变量是存储对象内存地址的变量。    2. 对象是在堆内存中分配的,而引用变量(即指针)存储在栈内存中。    3. 通过引用变量,可以访问和操作对象的......
  • Java中的类变量
    在Java中,类变量是指使用static修饰的变量。它是属于类本身的,而不是某个对象的,因此所有类的实例共享同一个类变量。类变量的特点属于类本身类变量在内存中只存在一份,所有该类的实例共享同一个变量。声明方式使用static关键字声明。生命周期类变量在类加载时被初......
  • 云子Task03&&04:对数据类型,函数与变量的理解和随笔
    对于Python初学者,掌握数据类型、操作、函数与变量是关键基础。一、数据类型基础类型:•整数(int):•浮点数(float):•字符串(str):•布尔值(bool):C语言中用1和0表示,Python是True和False,复杂类型:•列表(list):可存储不同类型元素,动态增删。例如[1,"two",True]。•......
  • 08 数据类型
    数据类型的作用:区分不同的数据,不同的数据的类型应该有不同的操作数字:+-*/数字分为:整数(int),小数(float)文字:展示字符串:(str)重要程度5颗星表示:可以使用单引号或者双引号"我是谁"'我是谁'"""我是谁"""操作:+(左右两端必须是字符串,表示字符串连接操作)-*(一个字符......
  • python - 基础数据类型
    基础数据类型基础数据类型空值(none)整数(int):表示整数,例如x=2。浮点数(float):表示带有小数点的数值,例如y=1.23。复数(complex):包含实部和虚部的数值,例如z=4+4j。布尔值(bool):表示真(True)或假(False),例如is_true=True。字符串(str):表示文本数据,例如text="Welcome,......
  • task 03 数据类型和操作
    task03数据类型和操作想要掌握一门语言,了解基础的操作必不可少常用内置类型这些内容在c语言中也很常见,但在python中有一些不同,并且在python中有很多高度整合的数据类型,这在c语言中是需要复杂的操作去实现的整形(int)浮点型(float)布尔值(bool)在c语言中是1或0,在python中更为......
  • 【核心变量】上市公司企业异质机构投资者数据(专注型和临时型机构) 2006-2022年
    一、测算方式:参考《管理世界》王垒(2020)老师研究的做法,首先,考虑到机构投资者的治理能力,以举牌临界值5%为界限,筛选前十大股东中持股5%以上的机构投资者,定义为机构大股东,计算每个企业中机构大股东的持股比例,并按行业、年度中位数大小来确定机构大股东总体持股比例高低,若企业中机......
  • task03 变量与函数
    一.变量变量是一个名字,它所指代的是一段数据使用=来对这段数据的区域进行赋值新的值会覆盖旧的值新值的数据类型不必与旧值相同2.变量命名规则必须又字母或下划线开头命名可由字母数字和下划线组成大小写敏感尽量避免使用保留字命名3.更新变量4.多变量赋值二.函数函......
  • sass是怎么定义变量的?
    在Sass中,定义变量使用$符号,后跟变量名,然后使用冒号:赋值。变量名可以包含字母、数字、下划线和连字符。例如:$primary-color:#007bff;$font-size:16px;$border-width:1px;这些变量可以在Sass文件中重复使用,例如:body{color:$primary-color;font-size:$font-size;......
  • 帝国cms常用变量汇总
    当前栏目ID$GLOBALS[&#39;navclassid&#39;]当前父栏目ID$class_r[$cid][&#39;bclassid&#39;]栏目路径$class_r[栏目ID][&#39;classpath&#39;]当前终极栏目值$class_r[$cid][islast]网站名称$public_r[sitename]网站根目录$public_r[newsurl]一级栏目$public_r[class......