C语言数据类型和变量的代码实现与原理

本文介绍了C语言中的基本概念,包括字符串处理、转义字符、布尔类型、变量大小、unsigned类型、全局与局部变量以及整数除法和求余运算符的用法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 字符串"abc"与{'a','b','c'}:

#include<stdio.h>
#include<string.h>//字符串string
int main()
{
	char arr[] = "abc";//c后面有个\0
	char arr2[] = {'a','b','c'};
	printf("%s\n", arr);
	printf("%zd\n", strlen(arr));//3
	printf("%zd\n", strlen(arr2));//42
	return 0;
}

 2.转义字符:

int main()
{
	printf("%zd\n", strlen("c:\test\114\bbc"));//10  \t,\114,\b分别为一个转义字符
	return 0;
}

 3.布尔类型(_Bool):

#include<stdio.h>
#include<stdbool.h>//布尔类型头文件
int main()
{
	bool flag = true;//flag初始化值为true
	if (flag)
		printf("YES\n");
	else
		printf("NO\n");
	return 0;
}

4.各个变量名的sizeof:

int main()
{
	printf("%zd\n", sizeof(char));//1
	printf("%zd\n", sizeof(short));//2
	printf("%zd\n", sizeof(int));//4
	printf("%zd\n", sizeof(long));//4
	printf("%zd\n", sizeof(long long));//8
	printf("%zd\n", sizeof(float));//4
	printf("%zd\n", sizeof(double));//8
	printf("%zd\n", sizeof(long double));//8
	printf("%zd\n", sizeof(_Bool));//1
	int a = 10;
	printf("%zd\n", sizeof(int));//4
	printf("%zd\n", sizeof(a));//4
	return 0;
}

 

5.unsigned的使用:

int main()
{
	/*signed int a =50000;*/
	int a = -10;//有符号整数
	unsigned int b = 10;
	unsigned long int c = 100;
	unsigned long long int d = 1000;
	printf("%u\n", a);//a为负数,unsigned代表零和正整数
	printf("%u\n", b);//10
	printf("%lu\n", c);//100
	printf("%llu\n", d);//1000
	return 0;
}

 

6.全局变量与局部变量:

int b = 200;//全局变量
int main()
{
	int a = 100;//局部变量
	{
		printf("%d\n", a);
		int c = 20;//局部变量
	}
	//printf("%d\n", c);//c为局部变量
	return 0;
}
int a = 100;
int main()
{
	int a = 10;
	printf("%d\n", a);//a=10,局部变量和全局变量冲突的时候,局部变量优先
	return 0;
}

7.(1).整数除法和小数除法:

int main()
{
	//除号的两端如果都是整数,执行的是整数除法
	//如果要计算出小数的效果,那么除号的两端至少有一个数得是浮点数
	//%f和%lf打印的时候小数点后默认打印6位小数
	printf("%d\n", 15 / 3);//5
	printf("%d\n", 5 / 2);//2
	printf("%lf\n", 5.0 / 2.0);//2.500000
	printf("%lf\n", 3.0 / 2.0);//1.500000
	printf("%.1lf\n", 5.0 / 2.0);//2.5
	printf("%.2lf\n", 3.0 / 2.0);//1.50
	return 0;
}

 

(2) /与%的用法:

int main()
{
	int a = 7 / 2;//3  /--求商
	int b = 7 % 2;//1  %--求余
	printf("%d\n", a);
	printf("%d\n", b);
	return 0;
}
int main()//结果的正负号与被除数也就是11或者-11有关
{
	printf("%d\n", 11 % -5);//1
	printf("%d\n", -11 % -5);//-1
	printf("%d\n", -11 % 5);//-1
	return 0;
}

 ​​​​​​study_1_18/study.c · 羊村懒大王/study.2024 - 码云 - 开源中国 (gitee.com)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

羊村懒大王

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值