栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

数据类型·运算符·表达式·常量·变量

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

数据类型·运算符·表达式·常量·变量

数据类型

#include 
int main()
{
    char ch = 'a';//创建一个字符型变量,并申请一个字节内存空间存放"a",字符型使用单引号
    int age = 20;//创建整形变量,并申请内存空间
    short num = 10;//短整型
    float f = 4.6f;//默认小数为double型,从高精度到低精度会造成精度丢失,因此出现错误,需要加f
    double d=3.14;
    printf("%lfn", d);
    printf("%fn", f);
    printf("%cn", ch);// %c打印字符格式的数据;/n换行
    printf("%dn", age);//%d打印整形十进制格式的数据
    
    return 0;
}
//%d --打印整形
//%c--打印字符型
//%f--打印float型
//%lf--打印double型
//%x--打印16进制数字

每种数据类型的大小

#include 
int main()
{
    printf("%dn", sizeof(char)); // 1个字节:8bit-2^8 个地址
    printf("%dn", sizeof(long));// 4/8个字节
    printf("%dn", sizeof(short));// 2个字节:16bit-2^16 个地址
    printf("%dn", sizeof(int));// 4个字节:32bit-2^32 个地址
    printf("%dn", sizeof(long long));// 8个字节
    printf("%dn", sizeof(float));//   4个字节
    printf("%dn", sizeof(double));//   8个字节
    return 0;
}

sizeof --关键字--操作符--计算类型或者变量所占空间的大小

C语言规定:sizeof (long)>=sizeof (int)

选择不同的数据类型,空间利用率更高

计算机进制表示

bit 比特位 --二进制 -- 0和1

byte 字节 --8bit

kb =1024byte

mb=1024 kb

gb=1024mb

常量、变量
  1. 常量:不能改变的量

  2. 变量:能被改变的量

1.变量

(1)变量的定义方法

类型 变量的名字 [=常量]

#include 
int main()
{
    //创建变量
    //类型 变量的名字 =0;
    int age = 20;
    age = age + 1;//变量可以变化
    printf("%dn", age);
​
    return 0;
}

(2)变量的分类:

  • 全局变量:{}函数外部定义的

  • 局部变量:{}函数内部定义的

int a = 100;//全局变量
int main()
{
    int a = 10;//局部变量
    printf("%dn", a);//结果为10
    return 0;
}
​

当局部变量和全局变量名字冲突的情况下,局部优先

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

(3)如何使用变量

//求两个整数的和
​
#define  _CRT_SECURE_NO_WARNINGS 1 //放在代码的第一行
#include
int main()
{
    int a = 0;
    int b = 0;
    int sum = 0;
    //scanf 函数是输入函数
    scanf("%d %d", &a, &b);//输入数据时,也要输入空格
    sum = a + b;
    printf("%dn", sum);
    return 0;
}

注意

当出现下列错误时:

解决方法:

  • 源文件的第一行加上:#define _CRT_SECURE_NO_WARNINGS 1

    • 或者一次性加入;找到VS路径中的newc++file.cpp ,以管理员身份运行记事本,输入#define _CRT_SECURE_NO_WARNINGS 1 ,则以后再建.c文件不需要再另加了。

  • 使用scanf_s函数:scanf_s函数是VS编译提供的,不是C语言标准规定的;

(4)变量的作用域和生命周期

作用域:限定变量的可用性的代码范围就是这个变量的作用域。

  1. 局部变量的作用域是变量所在的局部范围(即局部变量只能在所在的局部范围内可以使用)

    #include 
    int main()
    {
        { 
        int a = 2022;
        printf("%dn", a);  
        }    //变量a只在此{}内可用
        return 0;
    }

  2. 全局变量的作用域是整个工程(当一个源文件使用另一个源文件定义的全局变量时,需要声明一下:(“extern int a”

    #include 
    int a = 2022;  //全局变量a在整个工程内可用
    int main()
    {
        printf("1:%dn", a); 
        { 
        printf("2:%dn", a); 
        
        }    
        printf("3:%dn", a);
        return 0;
    }
    #include 
    //可以使用同一工程下的不同源文件的全局变量,但是需要声明一下变量
    extern int a;//extern 声明外部符号
    int main()
    {
        printf("%dn", a);
        return 0;
    }

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

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

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

2.常量

C语言中的常量分为以下几种:

//1。字面常量

3.14;//float型常量
20;//整形常量
'a'//字符型常量
'asdf'//字符串常量
    
//2. const 修饰的常变量
​
//age是变量,可以更改
int age = 20;  
printf("%dn", age);
age = 10;            
printf("%dn", age);
​
//const修饰age是常变量-具有常属性(不能改变的属性),但本质仍然是变量
const int age = 20;
printf("%dn", age);
age = 10;
printf("%dn", age);  //报错
​
//n本质还是变量,定义数组时[常量表达式],所以报错
    int arry[10] = { 0 };
    const int n = 10;
    int arry2[n] = { 0 };
​
//3.define 定义的标识符常量

#include
#define MAX 10000;
int main()
{
    MAX=2000;//MAX的值不能更改,报错
    int n = MAX;
    printf("n=%dn", n);
    return 0;
}
​
​
//4.枚举常量--可以一一列举的常量(例如:性别)
​
    enum Sex  //创建枚举类型
    {
        MALE=3,//可以附初值,但是不可以改
        FEMALE,
        SECRET
    };
    enum Sex s = MALE;  //创建一个枚举类型的常量s;
    printf("%dn", MALE);
    printf("%dn", FEMALE);
    printf("%dn", SECRET);//输出结果为0,1,2;枚举常量默认从0开始;
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/853475.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号