1. 常量与变量
  2. 常量与符号常量

常量:常量即常数

常量分为整数常量、实型常量、符号常量

整数常量:15、20等的整数为整数常量

实型常量:1.5、2.1等为实型常量

符号常量:#define Π 3.1415926

整形常量一般有三种表现形式

        十进制     八进制     十六进制

定义       123          0123      0x123

输出       %d            %o         %x

例如:

数据类型c语言_变量名


  1. 变量名

       变量一旦被定义,便会在内存中占有一定的存储单元,变量值是存放在该变量存储单元中的值,会随着变量的重新赋值而改变。变量必须线定义后使用

例如:int a=10(初始化),int b(未初始化);

变量命名规则

  1. 要用合法的字符,数字、字母、下划线。首字符不能为数字。例如:10x(错)5xs(错) ope2(对)
  2. 字母大小写是有区分的student和Student是不同的变量名
  3. 变量名长度一般为8个字符。
  4. 给变量起名最好有意义,便于记忆和增加程序的可读性。
  5. 定义变量要放在main{后面的第一行}不然会报错

数据类型c语言_数位_02


  1. 整形变量及分类

整形变量通常分为四类:一般整形、短整型、长整型、无符号型

标识符

数据类型

所占空间(字节byte)

输出类型

char

字符型

1

%c

short

短整型

2

%hd

int

整形

4

%d

long

长整形

4/8

%ld

long long

更长整形

8


float

单精度浮点型

4

%f

double

双精度浮点型

8

%lf

long double


8(vs中)

%lf


内存

  • 字节:计算机常用的存储单位
  • 位   :计算机最小的存储单位  1字节(Byte)=8位(bit)
  • 一位只能存放一个二进制数(0或1)

求类型大小

int占4个字节,一个字节8位,4*8=32

又因为二进制中第一位表示“正负号”,所以32-1=31

所以int的取值范围是   -2^31到2^31-1

可以将取值范围看作一个圈

数据类型c语言_变量名_03



sizeof计算内存大小

sizeof(类型);      sizeof(变量名);

sizeof(int);              sizeof(a);


int数据类型

意义:在内存中占据一定的存储单元,用来存放int类型的数   据。

定义:有初始值、没有初始值

  • 有初始值:    int a=10;
  • 没有初始值 :int b;  没有初始值的变量,系统会给初始值。在输出时,必须给初始值,否则会报错

赋值:数据赋值给变量、变量赋值给变量、连续赋值

  • 数据赋值给变量  int a=10;
  • 变量赋值给变量  int x=20;  int y=x;
  • 连续赋值            n=m=30;

数据类型c语言_赋值_04


  1. 取地址符&
  1. 取地址运算符&
  2. 取地址表达式     &a
  3. 输出地址(16进制)

printf("%p",&a);以地址的形式输出

数据类型c语言_变量名_05


  1. scanf变量输入
  1. scanf 使用格式(scanf函数要搭配取地址符使用&)

scanf("输入变量的类型",输入变量名);

 int a=0;      scanf("%d",&a);

 long a=0;    scanf("%ld",&a);

输入结束按回车健

数据类型c语言_赋值_06


  1. 在使用scanf函数时,vs2022会报错。

数据类型c语言_数位_07

 是因为vs2022认为scanf函数不安全。

解决办法两个

  1. 添加这行代码,到第一行。

#define _CRT_SECURE_NO_WARNINGS 1

数据类型c语言_变量名_08


  1. 使用vs自带的scanf_s(不建议这样使用,会导致代码的可移植性差)

每一个警告都有自己的错误代码

数据类型c语言_赋值_09

  1. 使用scanf连续输入多个变量
  1. 使用方式    scanf("%d %d",&a,&b);

数据类型c语言_赋值_10


  1. 注意 定义时用什么隔开,输入时用什么隔开

数据类型c语言_数位_11


数据类型c语言_变量名_12


数据类型c语言_变量名_13


  1. float、double
  1. 定义:

float a=3.1415;

double b=3.1415926;

  1. 输出:

printf();标准输出宽度为6位

printf("%f",a);    

printf(" %10 . 2lf " , b );

10前面输出位     2后面输出位                                                                                

数据类型c语言_数位_14

想要在标准输出位上多输出,要加上数字。

数据类型c语言_变量名_15

多出的数位用0补齐

数据类型c语言_赋值_16

  1. 有效数位(标准规定、根据编译器不同,有效位也会不同)

float 有效数位是7位

double 有小数位是16位

有效数位从第一个数开始算,最后一位会四舍五入。超出就会乱码。

  1. 浮点后缀

float =3.12345f;

其中f为浮点后缀

  1. 使用scanf的注意事项

使用scanf注意他的输入类型

例:scanf("%lf",&a);  double类型

  sacnf("%f",&a);  float类型