【C语言(一)】数据类型

该系列是编程语言系列的。本篇作为C语言的开篇之作。由于C与C++在很多特性上相同,因此C++在C的基础上增加一篇关于额外的功能的。该系列主要是编程语言的基础知识,属于较为简单的范畴。

本篇的内容是关于数据类型的,也是每一门编程语言中最为基础的一个部分。

符号常量与变量的区别

  • 变量需要内存来进行存储

  • 符号常量不需要

    • 直接在程序中数字表示
    • 进行宏定义,用有含义的符号用以代表——在编译的时候会根据宏定义进行等价替换

变量

先声明(定义)后使用

常变量

  • 关键字:const
  • 如:const int test=2
  • 值不变的变量

命名规则

  • 第一个字符必须是字母或者下划线
  • 只能由字母、数字、下划线组成
    在这里插入图片描述

数据类型

  • 整数类型
    • 基本整型——int
      • 通常是32位,采用整数的补码形式存储
    • 短整型——short intshort
      • 通常是16位,采用整数的补码形式存储
    • 长整型——long intlong
      • 16位系统——long32位、int16位
      • 32位系统——long32位、int32位(目前枢机大多数是按照32位来的)
      • 64位系统——long64位、int32位
    • 双长整型——long long intlong long
      • 通常是8个字节,64位
      • C99新增的数据类型
    • 无符号类型——unsigned XXX
      • 代表无符号数,最大值扩大一倍,没有复数
  • 字符类型
    • 字符变量——char
      • 赋值为负时,不代表一个字符,而是代表一个负数
  • 浮点数类型
    • 单精度浮点数——float
      • 32位,四个字节
    • 双精度浮点数——double
      • 64位,八个字节
    • 长双精度浮点数——long double
      • 8字节或16字节——根据编译系统
      • 一个字符(char
      • 本质:当输入流出现不是该形式的东西时,停止该形式的输入,并判断是否是下个形式的输入,如不是,则继续遍历输入流
  • 字符串输入输出
    • puts——字符串输出
    • gets——字符串输入

数组

  • 一维数组

    • 声明、初始化:
      • 如:int test[3] = {1,2,3};
      • 如:int test[] = {1,2,3};
      • 如:int test[5] = {1,2,3}; // {1,2,3,0,0}
  • 二维数组

    • 声明
    • 初始化
      • 分行初始化:int a[2][3] = {{1,2,3},{1,2,3}};
      • 全部初始化:int a[2][3] = {1,2,3,1,2,3};
      • 个别初始化:int a[2][3] = {{1}}; // 除第一个初始化为1,其余元素初始化为0
      • 全部初始化为0:int[2][3] = {};
  • 字符数组

    • 声明:同上
    • 初始化:缺省的初始化为’\0’
      • 初始化为字符串:int test[] = "test"
    • 字符串
      • 字符数组存储字符串:在末尾自动加上’\0’
      • 输入:%s+数组名
        • scanf:多个字符串用空格隔开
        • gets:只能输入一个字符串
      • 输出:
        • printf
        • puts:只能输出一个字符串
      • 相关函数
			 Strcat(str1,str2); //将str1和str2连接起来,并存在str1
			 Strcpy(str1,str2); //将str2复制到str1中
			 strncpy(str1,str2,n); //将str2中前面n个字符复制到str1
			 strcmp(str1,str2); //str1和str2进行比较,从头开始按照ASCII的大小进行比较
			 strlen(str1); //返回字符串的长度
			 strlwr(str1); //将str1的大写字母换成小写字母
			 strupr(str1); //将str1的小写字母换成大写字母

结构体

在这里插入图片描述

共同体类型(union

在这里插入图片描述

枚举类型(enum

在这里插入图片描述

定义新类型(typedef

在这里插入图片描述

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值