一、数据类型🌿
常见的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.14 float a,b; scanf("%f,%f",&a,&b); 输入 printf("a=%f,b=%f"); 输出
解释:
- float c = 3.14:声明一个名为c的浮点变量,并将其赋值为3.14。这将在内存中为变量c分配一个浮点数的空间,并将值3.14存储在其中。
- float a, b;:声明两个名为a和b的浮点变量。这意味着将为这两个变量分配内存空间,并且可以读取和写入它们的值。
- scanf("%f,%f",&a,&b);:使用标准输入函数scanf()读取用户输入的两个浮点数。该函数将在标准输入中查找以逗号分隔的两个浮点数,并将它们分别存储在变量a和b中。这里的%f是一个格式控制符,表示读取一个浮点数。
- printf("a=%f,b=%f");:使用标准输出函数printf()打印出变量a和b的值。这里的%f是一个格式控制符,表示将浮点数打印到标准输出中。
因此,这段代码的功能是读取用户输入的两个浮点数,并将它们分别存储在变量a和b中,然后打印出这两个变量的值。
double 型
double的意思是"双",它本来是"双精度浮点数"的第一个单词,人们用来表示浮点数类型。除了double,还有float(意思就是浮点)表示单精度浮点数
double a=3.14; double b,c; scanf("%lf,%lf",&b,&c); 输入 printf("a=%f",a); 输出
单精度与双精度的区别:
单精度浮点数在计算机中占用4个字节(32位)
双精度浮点数在计算机中占用8个字节(64位)
在大多数情况下,单精度浮点数已经足够满足一般计算需求。
💖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进制数
- 整数: int printf("%d",...) scanf("%d",...)
- 带小数点的数: double printf("%f",...) scanf("%lf",....)
float printf("%f",...) scanf("%f",……)
- 字符数: 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