看完这篇文章保你学会C语言常用的数据类型

417 阅读3分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第3天 点击查看活动详情

我的个人主页:☘️光之梦☘️

欢迎各位 👍点赞 ⭐收藏 📝评论,如有错误请留言指正,我会第一时间改正。非常感谢🙏!

💌特别标注💌:本博主将会长期更新c语言的语法知识,初学c语言的朋友们,可以收藏订阅一下我的<C语言基础语法>专栏。关注博主,学习不迷路哦


一、数据类型🌿

常见的C语言数据类型有:整型,浮点数,字符型

💖1.1 整型:

整数类型不能表达有小数部分的数,整数和整数的运算结果还是整数。

  • int 整型

  • short 短整型

  • long 长整形

  • long long 更长的整形

输入: %d

输出: %d

  • 用法(int,short,long,long long等都适用)

int a=3,b,c=5; 相当于:int b; 也相当于:int a,b,c;

int a=3; a=3;

int c=5; c=5;

  • 代码示例:
#include <stdio.h>int main()
{
    int a=3,b,c=5;
    printf("a=%d,c=%d",a,c);
    
    printf("请输入b的值:");
    scanf("%d",&b);
    prinf("b=%d",b);
    
    return 0;
}
  • 运行结果:
a=3,c=5
请输入b的值:(假如你输入的是4)4
b=4
  • 其他整形的用法如下:
short 3;
long a=6;
long long b;
​
printf("%d",a);
scanf("%d",&b);

💖1.2 浮点数:

浮点数就是带小数点的数值,浮点这个词的本意就是指小数点是浮动的,是计算机内部表达非整数(包括分数无理数)的一种方式。另一种方式叫做定点数。人们借用浮点数这个词来表达所有带小数点的数

注:当浮点数和整数放到一起运算时,C语言编译器会将整数转换成浮点数,然后进行浮点数的运算

  • float 单精度浮点数

  • double 双精度浮点数


举个栗子:

float 型

float c=3.14float a,b;
​
scanf("%f,%f",&a,&b);                            输入
​
printf("a=%f,b=%f");                             输出

double 型

double的意思是"双",它本来是"双精度浮点数"的第一个单词,人们用来表示浮点数类型。除了double,还有float(意思就是浮点)表示单精度浮点数

double a=3.14;
double b,c;
scanf("%lf,%lf",&b,&c);            输入
printf("a=%f",a);                  输出

💖1.3 字符型:

char 字符数据类型

  • 代码示例:
#include <stdio.h>
int main()
{
    char a,b;
    printf("请输入大写字母:\n");         //   \n表示换行
    scanf("%c",&a);                    //如果我们输入的是G
    b=a+32;
    printf("%c的小写字母是%c\n",a,b);    //打印字符格式的数据
​
    char e='H';
    e=e+32;
    printf("e=%c",e);
    
    return 0;
}
  • 运行结果:
请输入大写字母:
G
G的小写字母是g
e=h

注:一个大写字母+32,就=它的小写字母

如:
char a='B';

a=a+32;

printf("a=%c",a); a=b;

因为在ASCII码中,A的值=65,而a=97。

97-65=32

二、小结🌿:

  • %d———打印整型

  • %c———打印字符

  • %f———打印浮点数--小数

  • %p———以地址的形式打印

  • %x———打印16进制数

  • %o———打印8进制数


  1. 整数: int printf("%d",...) scanf("%d",...)

  2. 带小数点的数: double printf("%f",...) scanf("%lf",....)

float printf("%f",...) scanf("%f",……)

  1. 字符数: char printf("%c",...) scanf("%c",...)

三、疑问🌿:

每种类型的大小是多少?

  • 请看下面的代码:
#include <stdio.h>
    
int main()
{
    printf("%d\n",sizeof(char));
    printf("%d\n",sizeof(short));
    printf("%d\n",sizeof(int));
    printf("%d\n",sizeof(long));
    printf("%d\n",sizeof(long long));
    printf("%d\n",sizeof(float));
    printf("%d\n",sizeof(double));
    
    return 0;
}
  • 运行结果:
1
2
4
4      //(或8)
8
4
8              

所以 sizeof(long)>=sizeof(int)

注:计算机的基本单位是:byte 简称字节,也就是B。

计算机的最小单位是:bit 简称位,也就是b

转换关系:一个B=8个b


各位学习C语言的初学者,如果有问题随时都可以来问我,我会随时为您解答!欢迎大家与我一起学习,互相进步。

创作不易👍 +⭐ +📝 (一键三连) 是对博主最大的鼓励与支持哦。