C语言-03数据类型与运算符

本文详细介绍了C语言中的数据类型,包括常量、变量、字符串常量、位、字节与字的概念,以及二进制、八进制、十六进制的表示。还讲解了数据类型的内存占用、符号位、补码表示法,以及如何使用sizeof关键字。此外,文章讨论了浮点数、浮点运算和四舍五入的方法,以及const、volatile等类型限定符的作用。最后,简要提到了运算符的优先级、逻辑运算和关系运算,以及数组、指针和内存管理的基本概念。
摘要由CSDN通过智能技术生成

c语言数据类型
“类型”是对数据的抽象
类型相同的数据有相同的表示形式、存储格式以及相关的操作
程序中使用的所有数据都必须定属于某一种数据类型

32位系统下
在这里插入图片描述

数据类型的本质
C语言和C++语言编译器里面,充分表达现实生活中的人事物
数据类型可理解为创建变量的模具(模子):是固定内存大小的别名
数据类型的作用:编译器预算对象(变量)分配的内存空间大小

int a;//告诉编译器分配4个字节
int b[10];//告诉编译器分配40个字节

//b+1  &b+1  结果不一样,b &b所代表的数据类型不一样
//数组数据类型:(1定义一个数组数据类型,2数据指针,3数组类型和数组指针类型的关系)
//b代表的数组首元素的地址
//&b代表的是整个数组的地址

  • 常量

就是在程序中不可变的量,常量在定义的时候必须给初值

#include <stdio.h>

int main(int argc,char *argv[]){
   

    printf("%d",10);//直接打印常量10
    return 0;
}

  • #define 定义一个宏常量
#include <stdio.h>

#define MAX 10 
//定义一个宏常量,值为10,不能定义关键字,不可变,大写。
//等号左边只能是变量,不能为常量
int main(int argc,char *argv[]){
   
    
    printf("%d",MAX);
    return 0;
}

  • const常量
#include <stdio.h>

int main(int argc,char *argv[]){
   

    const int b=20;//定义一个const常量,值为20
    //b=10;常量值不能被修改
    printf("%d",b);
    return 0;
}


  • 变量
#include <stdio.h>

int main(int argc,char *argv[]){
   

    int a;//定义一个变量,名字叫a,值可变
    a=100;//将变量赋值
    printf("%d",a);
    return 0;
}

  • 字符串常量

#define定义一个字符串常量

#include <stdio.h>

#define NAME "Lihua\n"
//定义了一个字符串常量

int main(int argc,char *argv[]){
   

    printf(NAME);
    return 0;
}

定义一个const字符串常量

#include <stdio.h>

int main(int argc,char *argv[]){
   

    const char *str="hello~\n";
    printf(str);
    return 0;
}

对于define类型的常量,c语言的习惯是常量名大写,但对于普通的const常量以及变量,一般为小写结合大写的方式。


  • 二进制数、位、字节与字

一个只能表示0或者1两种状态,简称bit,一个位是一个bit
一个字节为8个二进制,称为8位,简称Byte=8bit
一个字为2个字节,简称WORD
两个字为双字,简称DWORD

上网的带宽为Mb,文件的大小为MB,GB…
MB=8*Mb相差8个位(8倍)


  • 八进制
#include <stdio.h>

int main(int argc,char *argv[]){
   

    const char *str="hello~\n";
    printf("%d",010);
    //在前加0表示八进制的数,去0则是十进制的10
    return 0;
}

  • 十六进制

0x

#include <stdio.h>

int main(int argc,char *argv[]){
   

    const char *str="hello~\n";
    printf("%d",0x10);
    //在前加0x表示十六进制的数
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值