c语言-----输出格式,进制的表示,整型常量表示----3

1. 整型常量 所需类型

a。整型常量表示

10	代表int类型
10l, 10L	代表long类型
10ll, 10LL	代表long long类型
10u, 10U	代表unsigned int类型
10ul, 1b0UL	代表unsigned long类型
10ull, 10ULL	代表unsigned long long类型

b。整型常量输出

%hd	输出short类型
%d	输出int类型
%ld	输出long类型
%lld	输出long long类型

%hu	输出unsigned short类型
%u	输出unsigned int类型
%lu	输出unsigned long类型
%llu	输出unsigned long long类型

实例代码

#define _CRT_SECURE_NO_WARNINGS     //这个宏定义最好要放到.c文件的第一行
#include <stdio.h>

int main()
{
	short aa = 10;
	int bb = 10;
	long cc = 10l; //或者10L
	long long dd = 10ll; //或者10LL

	//short aa = 10;
	//int bb = 10;
	//long cc = 10; 
	//long long dd = 10; 

	printf("short aa = %hd\n", aa);
	printf("int bb = %d\n", bb);
	printf("long cc= %ld\n", cc);
	printf("long long dd = %lld\n", dd);

	unsigned short a2 = 20u;
	unsigned int b2 = 20u;
	unsigned long c2 = 20ul;
	unsigned long long d2 = 20ull;

	//unsigned short a2 = 20;
	//unsigned int b2 = 20;
	//unsigned long c2 = 20;
	//unsigned long long d2 = 20;

	printf("unsigned short a = %hu\n", a2);
	printf("unsigned int b = %u\n", b2);
	printf("unsigned long c = %lu\n", c2);
	printf("unsigned long long d = %llu\n", d2);

	printf("unsigned short a = %uh\n", a2);  //err
	printf("unsigned int b = %u\n", b2);   //err
	printf("unsigned long c = %ul\n", c2);  //err
	printf("unsigned long long d = %ull\n", d2);   //err

	return 0;
}

2.C语言如何表示相应进制数

十进制		以正常数字1-9开头,如123,+234,-278。
八进制		以数字0开头,如0123,
十六进制	以数字0X或0x开头,如0x123
二进制		C语言不能直接书写二进制数

#include <stdio.h>

int main()
{
	int a = 123;		//十进制方式赋值
	int b = 0123;		//八进制方式赋值, 以数字0开头
	int c = 0xABC;	//十六进制方式赋值

	//如果在printf中输出一个十进制数那么用%d,八进制用%o,十六进制是%x
	printf("十进制:%d\n",a );
	printf("八进制:%o\n", b);	//%o,为字母o,不是数字
	printf("十六进制:%x\n", c);

	return 0;
}

3.打印格式 含义

%d	输出一个有符号的10进制int类型
%o(字母o)	输出8进制的int类型
%x	输出16进制的int类型,字母以小写输出
%X	输出16进制的int类型,字母以大写输出
%u	输出一个10进制的无符号数

实例代码

#define _CRT_SECURE_NO_WARNINGS     //这个宏定义最好要放到.c文件的第一行				

#include <stdio.h>

int main()
{
	int a = 123;	//定义变量a,以10进制方式赋值为123
	int b = 0567;	//定义变量b,以8进制方式赋值为0567
	int c = 0xabc;	//定义变量c,以16进制方式赋值为0xabc

	printf("a = %d\n", a);
	printf("8进制:b = %o\n", b);
	printf("10进制:b = %d\n", b);
	printf("16进制:c = %x\n", c);
	printf("16进制:c = %X\n", c);
	printf("10进制:c = %d\n", c);

	unsigned int d = 0xffffffff; //定义无符号int变量d,以16进制方式赋值
	printf("有符号方式打印:d = %d\n", d);
	printf("无符号方式打印:d = %u\n", d);
	printf("无符号方式打印(16进制):d = %x\n", d);
	printf("无符号方式打印(16进制):d = %X\n", d);

	int t = 0Xfbc;	//定义变量c,以16进制方式赋值为0xabc
	printf("有符号方式打印(16进制):t = %x\n", t);
	printf("有符号方式打印(16进制):t = %X\n", t);
	printf("有符号方式打印(10进制):t = %d\n", t);
	printf("无符号方式打印(10进制):t = %u\n", t);
	return 0;
}

printf函数和putchar函数

printf是输出一个字符串,putchar输出一个char。

printf格式字符打印格式:
打印格式	对应数据类型	含义
%d	   		int	   		接受整数值并将它表示为有符号的十进制整数
%hd			short int	短整数
%hu			unsigned short 	无符号短整数
%o			unsigned int	无符号8进制整数
%u			unsigned int	无符号10进制整数
%x,%X		unsigned int	无符号16进制整数,x对应的是abcdef,X对应的是ABCDEF
%f			float	单精度浮点数
%lf			double	双精度浮点数
%e,%E		double	科学计数法表示的数,此处"e"的大小写代表在输出时用的"e"的大小写
%c			char	字符型。可以把输入的数字按照ASCII码相应转换为对应的字符
%s			char * 	字符串。输出字符串中的字符直至字符串中的空字符(字符串以'\0‘结尾,这个'\0'即空字符)
%p			void *	以16进制形式输出指针
%%			%	输出一个百分号
printf附加格式:

字符 含义

l(字母l)	附加在d,u,x,o前面,表示长整数
-	左对齐
m(代表一个整数)	数据最小宽度
0(数字0)	将输出的前面补上0直到占满指定列宽为止不可以搭配使用-
m.n(代表一个整数)	m指域宽,即对应的输出项在输出设备上所占的字符数。n指精度,用于说明输出的实型数的小数位数。对数值型的来说,未指定n时,隐含的精度为n=6位。

实例代码

#define _CRT_SECURE_NO_WARNINGS     //这个宏定义最好要放到.c文件的第一行
#include <stdio.h>
int main()
{
	int a = 100;
	printf("a = %d\n", a);//格式化输出一个字符串
	printf("%p\n", &a);//输出变量a在内存中的地址编号
	printf("%%d\n");

	char c = 'a';
	putchar(c);//putchar只有一个参数,就是要输出的char
	long a2 = 100;
	printf("%ld, %lx, %lo\n", a2, a2, a2);

	long long a3 = 1000;
	printf("%lld, %llx, %llo\n", a3, a3, a3);

	int abc = 10;
	printf("abc = '%6d'\n", abc);
	printf("abc = '%-6d'\n", abc);
	printf("abc = '%06d'\n", abc);
	printf("abc = '%-06d'\n", abc);

	double d = 12.3;
	printf("d = \' %-10.3lf \'\n", d);

	return 0;
}

scanf函数与getchar函数

  • getchar是从标准输入设备读取一个char。
  • scanf通过%转义的方式可以得到用户通过标准输入设备输入的数据。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值