【C语言】进制

进制

1字节=8位

二进制

想输出打印二进制需要加标识0b

-128的二进制:1000 0000

因为-128的二进制是补码形式,所以反码后面0越多表示数字越小。

127的二进制:0111 1111

-1的二进制:1111 1111

八进制

二进制互转八进制 需要3位划分

输出八进制需要标识0

eg:“\1283”字符个数有几个? 4个(‘\12’,‘8’,‘3’,‘\0’)

十六进制

二进制互转十六进制 需要4位划分

十六进制标识为0x

windows x86 32位操作系统

内存大小:2^32字节

1b bit位

1B=8bit

1B 字节

1KB=1024B

1MB=1024KB

1GB=1024MB

1TB(太字节)=1024GB

1PB(拍字节)=1024TB

1EB(艾字节)=1024PB

有符号数据类型

内置类型:32768~32767

int/long ±21开头的10位数据

数据类型

转义字符:\n(换行)、\a(响铃符)等

eg:\12(2*80+1*81)——>10——>空格字符;

整型:short int long long long

​ 2 (2/)4 4 8

字符型:char

​ 1

ps:需要用单引号;存放是用ascll码值去存放(0:48;a:97;A:65;NULL、\0:0)

​ 一个中文占两个字节;

浮点型:float(单精度) double(双精度)

​ 4 8

布尔类型:bool

构造类型

数组类型、结构体类型、联合体、枚举

指针类型

学习疑惑

1个字节可以存储多大的数据?
答:127,若无符号则是255

char类型如何输出汉字?
//可以用一个char数组实现对中文符的操作,若一个汉字输出时需要用%c%c,多个则需要%s

//想要存入一个或多个中文
#include<stdio.h>
int main()
{
	char ch[12];
	
	//输入一个中文 
	scanf("%c%c",&ch[0],&ch[1]);
	printf("%c%c",ch[0],ch[1]);
	//输入一个中文 
	scanf("%c%c",&ch[2],&ch[3]);
	printf("%c%c",ch[2],ch[3]);
	
	//输入任意个中文(不超过数组长度-1,数组有一个结束符'\0')
	scanf("%s",ch);
	printf("%s",ch); 
	return 0; 
}
//对数组里的中文进行取出
#include<stdio.h>
int main()
{
	char ch[15]={"这里有七个中文"}; 
	
	printf("char数组中第1个中文:\n");
	printf("%c%c\n",ch[0],ch[1]);
	
	printf("char数组中第2个中文:\n");
	printf("%c%c\n",ch[2],ch[3]);
	
	printf("全部中文:\n");
	int j=1;
	for(int i=0;i<=12;i+=2)
		printf("第%d个中文是:%c%c\n",j++,ch[i],ch[i+1]);
	return 0; 
}
//判断两个中文是否相等
#include<stdio.h>
int main()
{
	char ch1[3] = "中";
	char ch2[3] = "汉";
	char ch3[3] = "汉";

	if (ch1[0] == ch2[0] && ch1[1] == ch2[1])
		printf("ch1与ch2相等\n");
	else printf("ch1与ch2不相等\n");

	if (ch2[0] == ch3[0] && ch2[1] == ch3[1])
		printf("ch2与ch3相等\n");
	else printf("ch2与ch3不相等\n");
	return 0;
}
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值