C初阶(六) 字符串/数组/转义字符/操作符

//知识点1:字符串\0标志,及strlen求字符串长度
//        1、与\0或0结束:由于\0的ASCII值为0
//        2、字符串长度不包括\0
int main()
{
	char arr1[] = { "abc" };
	char arr2[] = { 'a', 'b', 'c' };

	printf("%s\n", arr1);//abc
	printf("%s\n", arr2);//abc烫烫烫

	printf("%d\n",strlen(arr1));//3
	printf("%d\n", strlen(arr2));//随机值

	return 0;
}
//知识点2:转义字符
//         1、每个转义符的含义,特别注意\ddd,\xdd
//         2、注意字符串中含有转义字符时,字符串长度的计算
int main()
{
	int a = 10;
	printf("%d\n", a);

	//printf("%c\n",'\ ?' );// ?在书写连续多个问号时使用,防止解析成三字母词 ???---\?\?\? 
	//printf("%c\n", '\'');// '表示字符常量'
	//printf("%s\n", "\"");// "表示字符串内部的双引号
	//printf("%c\n", '\\');// \表示一个反斜杠
	//printf("%c\n", '\a');// 警告字符,蜂鸣
	//printf("%c\n", '\b');// 退格符
	//printf("%c\n", '\f');// 向上的箭头,进纸符 
	//printf("%c\n", '\n');// 换行
	//printf("%c\n", '\r');// 回车
	//printf("%c\n", '\t');// 水平制表符
	//printf("%c\n", '\v');// 垂直制表符

	printf("%d\n", strlen("code:\test\324\title"));//注意冒号是中文时,两个长度,英文时1个长度
	return 0;
}

//知识点3:数组的创建:变量不能创建
//        1、数组创建,变量不能创建
//        2、打印数组的元素,用循环
//        3、数组元素个数及字节大小的计算
int main()
{
	//int a = 10;
	//int arr[a] = { 1, 2, 3, 4 };//变量不能创建数组
	
	int arr1[10] = { 0 };
	int arr2[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };

	//打印数组中的元素
	//printf("%d\n", arr1[2]);
	//printf("%d\n", arr2[2]);

	//打印数组的地址
	printf("%d\n", arr1);
	printf("%d\n", arr2);

	//打印数组全部元素
	int i = 0;
	for (i; i < 10; i++)
	{
		printf("%2d", arr1[i]);
	}
	printf("\n");

	int j = 0;
	while (j < 10)
	{
		printf("%2d", arr2[j]);
		j++;
	}
	printf("\n");

	//计算数组元素长度
	int sz = sizeof(arr1) / sizeof(arr1[0]);
	printf("%d\n", sz);//计算数组元素个数的大小
	printf("%d\n", sizeof(arr1));//计算数组字节的大小

	return 0;
}
//知识点4:操作符:单目操作符 sizeof  计算结果的空间大小字节数;注意计算数组的大小
int main()
{
	//!
	int a = 10;
	printf("%d\n", !a);//0 10非0,即为真
	//-
	printf("%d\n", -a);//-10
	//+
	printf("%d\n", +a);//10
	//sizeof
	printf("%d\n",sizeof(a));//4字节--32bit
	printf("%d\n", sizeof a);//4
	printf("%d\n", sizeof (int));//4

	//~ 疑问
	printf("%d\n", ~a);//-11
	//000000000 00000000 00000000 00001010
	//111111111 11111111 11111111 11110101  

	//--、++
	int b = a++;//后置++:先使用后++  b = 10; a = 11
	printf("%d%d\n", b, a); //10 11

	int c = ++a;//前置++:先++后使用  c = 12; a = 12
	printf("%d%d\n", c, a); //12 12

	int d = a--;//后置--:先使用后--  d = 12; a = 11
	printf("%d%d\n", d,a);//12 11

	int e = --a;//前置--:先--后使用  e = 10; a = 10
	printf("%d%d\n", e,a);//10 10

	//(类型)---强制类型转换
	int f = (int)3.14; //“初始化”: 从“double”转换到“int”,可能丢失数据
	printf("%d\n", f);

	return 0;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值