C数据类型

基本数据类型

  • 整数
类型符号字节
整型int4Byte
短整型short int2Byte
长整型long int8Byte
  • 浮点数
类型符号字节
单精度浮点数float4Byte
双精度浮点数double8Byte
  • 字符
类型符号字节
单字符char1Byte

复合数据类型

  • 结构体
  • 枚举
  • 共用体[基本不用]

变量

  • 变量的本质是内存中的一段存储空间
  • 变量的定义
    数据类型 变量名 = 值

    数据类型 变量名
    变量名 = 值
#include <stdio.h>
int main(void)
{
    int i;                       //在内存申请1块int大小空间
    i = 3;                       //将3存放进内存块中
    printf ("i = %d", i);      //到内存块中将i读出
    return 0;  
}

进制

%d以十进制输出
%x或%X 表示以十六进制输出
%o表示以八进制输出

常量表示方式及存储方式

  • 整数 整数以补码的二进制方式存放在内存当中
    • 十进制: 传统写法
    • 十六进制: 前面增加0x或0X
    • 八进制: 前面增加0
  • 浮点数 以IEEE754标准的二进制方式存放在内存中

    • 传统写法
      float x = 3.2;
    • 科学记数法
      float x = 3.2e3;
      float x = 123.45e-2;
  • 字符 将字符以ASCII码转换为数字,将数字以补码二进制存放在内存

    • 单字符用单引号
      ‘A’ 字符A
      ‘AB’ 错误
      “AB” 正确
    • 字符串用双引号
      “A” 正确,表示的是 ‘A’ ‘\0’ 的组合,\0为结束。
#include <stdio.h>
int main(void)
{
    float x = 123.45e-2f;         //实数默认为double类型
    print("%f\n", x)
}

什么是字节

字节是存储数据的单位,并且是CPU硬件能够访问的最小单位(1Byte=8bits)

不同数据类型转换(相互赋值溢出问题)

ASCII

ASCII规定了,不同字符使用什么整数值去表示

基本输入输出

  1. printf

    1. printf (“字符串”);

    2. printf(“输出控制符“,输出参数);

    3. printf(“输出控制符1,输出控制符2,输出控制符3”, 输出参数1, 输出参数2, 输出参数3);

    4. printf(“输出控制符1 非输出控制符,输出控制符2”, 输出参数1, 输出参数2);

%d
%ld
%c
%f
%lf
%x(%X,%#x,%#X)

#include<stidio.h>
int maint(void)
{
int i=5;
int j=6;
int k=7;
printf("i = %d,j = %d,k = %d", i, j);

return 0;
}

A:

  1. scanf 通过将数据输入到变量中

    1. scanf(“输入控制符”, &输入参数);
      将从键盘输入数据,按照输入控制符格式存入到以输入参数值地址的变量中

      
      #include<stdio.h>
      
      int main(void)
      {
      int i;
      
      scanf("%d", &i);        //&i 表示i的地址 &是一个取地址
      printf("i = %d", i);
      
      return 0;
      }
    2. scanf(“非输入控制符 输入控制符”, &输入参数);

      
      #include<stdio.h>
      
      int main(void){
      scanf("m%d", &i);   //m非输入控制符,输入时必须输入m+数字,m123
      
      return 0;
      }
      Q:如果输入m123n,打印出后结果会是什么
      A:m123,识别m正常,识别123对应类型%d正常,n不能识别,丢弃。
      
    3. scanf(“输入控制符1,输入控制符2”,&输入参数1,&输入参数2);

    
    #include<stdio.h>
    
    int main(void)
    {
    printf("Please Input 3 Num, divided by , \n");
    scanf("%d,%d,%d", &i, &j, &k);
    
    printf("Three Num is:%d,%d,%d", i, j, k);
    
    return 0;
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值