【时时三省】C语言之基本数据类型

目录

1,整型数据

常见的格式控制符如下:

2,实型数据

3,转义字符

常见的转义字符如下图,

4,printf() 函数的使用

格式控制符如下:

5,scanf() 函数的使用


山不在高,有仙则名。水不在深,有龙则灵。

                                                                        ----CSDN 时时三省

1,整型数据

代码如下:

#include <stdio.h>

int IntData(void)
{
	int a = 10; //十进制
	int b = 027; //八进制
	int c = 0x30; //十六进制

	printf("a = %d, b = %o, c = %x\n", a, b, c);
	printf("a = %d, b = %d, c = %d\n", a, b, c);

	return 0;
}

运行结果:

思考:

为什么两行同样是打印 a, b, c,打印出来的结果不一样呢?

因为 int 型数据a 赋值为 十进制的 10. 所以两行打印均以 %d 打印时,结果一样。

int 型数据b 赋值为 八进制的 27. 所以第一行以 %o 打印时,结果为 27. 而以 %d 打印时,结果为 23.

自己思考下 int 型数据c 吧。

常见的格式控制符如下:

2,实型数据

代码如下:

int ShiXingData(void)
{
	float b = 2.0;
	int c = 30000; // 0  0000000 0  0000000 00000000 00000110

	printf("b = %f\n", b);
	printf("b = %lf\n", b);
	printf("b = %f\n", b);
	printf("c = %d\n", c);
	return 0;
}

运行结果:

思考:

%f, %lf, 就是类似于数学中的小数,所以这种格式打印时,小数点后面的0也打印。

3,转义字符

代码如下:

int ZhuanYiZiFu(void)
{
	char a = '\'';
	char b = '\015';
	char c = '\x16';

	printf("hello world!\n");
	printf("'\n");
	printf("jackie said:\"you are beautiful~\"\n");
	printf("a = %c\n", a);
	printf("b = %d\n", b);
	printf("c = %d\n", c);
	return 0;
}

运行结果:

思考:

因为转义字符的使用,

所以 a 打印出来是 ' ,

八进制的b 15 用十进制打印为 13,

十六进制的c 16 用十进制打印为 22. jackie 说的话中,

冒号后面的双引号能打印出来。

常见的转义字符如下图,

4,printf() 函数的使用

int PrintfTest(void)
{
	int a = 12345;
	float b = 12.35;
	int c = -12345;
    float d = 12.33;

	printf("%d\n", a);

    printf("hello world\n");
	printf("%-7d%-7d\n", a, a);
	printf("%7d%7d\n", a, a);
	printf("%2d%2d\n", a, a);
	printf("%-4d%-4d\n", a, a);

    printf("hello world\n");
	printf("%+7d\n", a);
	printf("%+7d\n", c);

    printf("hello world\n");
	printf("%0.1f\n", b);
	printf("%0.2f\n", b);
	printf("%0.3f\n", b);
	printf("%0.1f\n", d);
	printf("%0.2f\n", d);
	printf("%0.3f\n", d);
	return 0;
}

执行结果;

思考:

之所以同样的值,打印出来的效果不一样,是因为 printf() 函数有不同的格式控制符。

同时,可以看出,%m.nf 格式输出有四舍五入的功能。

格式控制符如下:

5,scanf() 函数的使用

代码如下;

int ScanfTest(void)
{
	int a;
	int b;
	char c = 4;
	float d; // %f
	double e; // %lf

	printf("please input two data:\n");
	scanf("%d %d", &a, &b);
	printf("a = %d, b = %d\n", a, b);
	return 0;
}

执行结果:

思考:

scanf() 函数提供了 人和终端交互的方法。可以输入2 和 3, 即被扫描进 a 和 b 中

  • 19
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

时时三省

网络乞丐,在线乞讨。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值