C语言 格式化输出与变量类型
1、格式化输出
在PHP里面,我们一般都是用echo和var_dump以及print_r等来输出调试语句,在C语言中一般用printf来输出,不过由有点特殊,你需要在输出的时候指定输出的数据类型:
#includeint main() { int age = 10; printf("I am %d years old.\n", age); return 0; }
如以上的代码,需要指定%d来表示输出的是整型,我们常用的输出类型有:
2、变量类型
C语言是一门静态语言,定义变量的时候需要指定类型:
includeint main(int argc,char*argv[]) { int age = 100; float num = 2.345f; double super_num = 56789.4532; char initial = 'A'; char str[] = "str"; printf("age is %d.\n", age); printf("num is %f.\n", num); printf("super num is %f.\n", super_num); printf("char is %c.\n", initial); printf("str is %s.\n", str); return 0; }
除了以上的基本类型,还可以定义数组:
#includeint main(int argc, char *argv[]) { int nums[] = {10,15,20,14,28}; char name[] = "Cook"; char full_name[] = { 'T','i','m','C','o','o','k','\0'}; printf("The first num is %d, the 2nd %d.\n",areas[0], areas[1]); printf("name=\"%s\" and full_name=\"%s\"\n",name, full_name); return 0; }
其实在C语言中,字符串就是一个字节数组,最后也是以'\0'来结尾的:
#includeint main(int argc, char *argv[]) { int nums[4] = {0}; char name[4] = {'a'}; printf("nums: %d %d %d %d\n",nums[0], nums[1],nums[2], nums[3]); printf("name each: %c %c %c %c\n",name[0], name[1],name[2], name[3]); printf("name: %s\n", name); return 0; }
输出结果:
nums: 0 0 0 0 name each: a name: a
可以知道,整型数组定以后未赋值默认为0,字符数组就是为空.而且字符数组可以直接以字符串的形式输出。
关于布尔类型,在C语言中,没有真正意义上的布尔类型,而是用一个整数来表示。0表false,1表示true
数据类型大小
数据类型的大小在C语言上是很常见的,我们可以使用sizeof来检测一个长度,他返回的是一个long unsigned int类型的,所以要用%ld来格式化输出:
#includeint main() { printf("The size of short: %ld\n", sizeof(short)); printf("The size of int: %ld\n", sizeof(int)); printf("The size of float: %ld\n",sizeof(float)); printf("The size of double: %ld\n", sizeof(double)); printf("The size of char: %ld\n", sizeof(char)); }
运行结果如下(64位机器):
The size of short: 2 The size of int: 4 The size of float: 4 The size of double: 8 The size of char: 1
声明:
本文于网络整理,版权归原作者所有,如来源信息有误或侵犯权益,请联系我们删除或授权事宜。