在学习编程语言,无非就是用于人机交互,那么人机交互的数据就需要区分数据类型,数据类型的出现方便了数字型数据的运算,字符型数据的合并等等。学习一门编程语言,数据类型是无法绕开的环节。
int用于声明整数型变量,int型的存储占用2或者4个字节。
#include
int main(void){
int sev,eight,ten;
sev=7;
eight=8;
ten=10;
printf("%d is your one,%d is your two,%d is your three.\n",sev,eight-sev,ten-sev);
//第一个是变量eight值,第二个是内存中的任意值。
printf("%d is test number,%d wonderful.",eight);
}
#include
int main(void){
int test_num=1000000000000;
printf("%d is test,%d is test one,%d is test two.",test_num,test_num+1,test_num+2);
}
char类型占用一个字节,用于存储字符,但在计算机底层依然存储的是整数,在学习C的时候大家可能都会接触到ASCII码,ASCII码便体现这一原理。
#include
int main(void){
char test_word='A';
printf("%c is first char.\n",test_word);
test_word=test_word+1;
printf("%c is second char.",test_word);
}
在声明变量和赋值方面与整数型类似,但需要注意一点,便是字符需要单引号(‘’)包含,不能用其他符号引用。
Bool类型表示的是布尔值,即逻辑值为true和false。在编程式大家也会发现用1也可以表示true,0表示false。从这一点可以看出Bool实际上依然是整数类型。
可移植类型主要用于防止程序在不同系统运行时,有的数据类型名功能不一样。C语言主要提供了两个函数库(stdint.h和inttypes.h)用来实现可移植类型。
#include
#include
int main(void){
int8_t test_8;
test_8=127;
printf("test_8 = %d",test_8);
return 0;
}
#include
#include
int main(void){
int32_t test_32;
test_32=658795;
printf("test_32 is %d .\n",test_32);
//PRId32 是该头文件对输出变量所用的占位符的=,该占位符主要用于防止不同系统对32位数字所需占位符不同的情况(%d或者%ld)。
printf("test_32 is % "PRId32" .",test_32);
}
#include
int main(void){
float test_out = 3.4E38 * 100.0f;
printf("%e\n", test_out);
}
#include
int main(void){
float test_4or5_0=3.0e23;
float test_4or5_1=test_4or5_0+1.0;
float test_4or5_2=test_4or5_1-test_4or5_0;
printf("test_4or5_0 is %f \n",test_4or5_0);
printf("test_4or5_1 is %f \n",test_4or5_1);
printf("test_4or5_2 is %f",test_4or5_2);
}
当然还有一些类型博主不在这里叙述,但C语言没有字符串类型也希望大家可以记住这一点。
若大家无法判定数据类型字节大小,那么大家可以根据sizeof()函数来获取相应数据类型的所占字节大小。代码示例如下:
#include
int main(void){
printf("Type int is %d bytes \n",sizeof(int));
printf("Type char is %d bytes \n",sizeof(char));
printf("Type double is %d bytes \n",sizeof(double));
printf("Type float is %d bytes \n",sizeof(float));
}
C语言在变量赋值,数据输出时等多种地方,会出现数据与类型不匹配的问题,但编译器不会出现错误,且可以正常运行。示例如下:
#include
int main(void){
int i_test =12.56;
float f_test =11.56;
printf("%d \n",i_test);
print=f("%d",f_test);
}
所有的ASCII码都可以用“\”加数字(一般是8进制数字)来表示。而C中定义了一些字母前加""来表示常见的那些不能显示的ASCII字符,如\0,\t,\n等,就称为转义字符,因为后面的字符,都不是它本来的ASCII字符意思了
转移字符,是大家在输出数据时想要添加一些特定且无法使用基本的符号来表示,就如在输出中的换行符,大家肯定不能直接按enter键来解决,这便是转移字符的功能。如下便是示例:
#include
int main(void){
/*
测试转义字符
*/
float salary;
printf("\a Please liscen di:");
printf("$____ \b\b\b\b\b");
scanf("%f",&salary);
printf("\n\t enter and alt.%f",salary);
printf("\r Yes");
}
转义符号 | 解释 |
---|---|
\b | 退格,将当前位置移到前一列 |
\n | 换行 |
\t | tab键 |
\r | 回车,将当前位置移到本行开头 |
该篇主要用于了解C语言,总结有误的地方希望大家能够指正,有缺少的地方也希望大家指出,感觉还行的话请给个赞,给博主一点点鼓励。