9月17号c语言设计程序总结2

枚举常量enum:

作用:使用人看的懂的名字代替不容易区分的数字

图中使用enum,使得mo ,to....等符号被赋予整数值(enum默认整数,不用申明)

并且默认是从数值0开始赋值(若想改变起始赋值可人为申明mo=1,修改后自动依次赋值1,2,3....)

enum与switch的联用:

作用:输入整数,输出周几(1对应周一,2对应周二...)

 

 ---------------------------------------我是分界线---------------------------------------------

 

字符串和字符数组和\0 :

 char a1[]="",和char a1[]={'',''}都是创建并申明字符数组a1,并存入字符串

char a1[]=""输入的”abc”其实是“abc\0”

\0相当于隐藏的结束符号,图中调试结果a2和a3对比可知。(a2为什么存在乱码?是因为a2结尾没有读取到结束符号\0,继续读取,导致乱码生成)

如何查询字符串长度(或字符数组)?

 用 strlen:

 由图可知:  

第一点:\0不参与字符串长度,第二点:由于a2没有\0作为结束符,所以出现35的随机数字

------------------------------------我是分界线-------------------------- 

 转义字符:

 

 调试发现“c:\test\test.c''无法按照预想打印

因为\t是转移字符,会横向跨进。

想要消去”\t”中“\"的作用,可以增加一个“\”变为“\\t

 同理,\n为转行字符,改为\\n便打印为\n

 

已知转移字符:

\xdd(其中dd是数字)的作用为16进制的转换

\ddd(其中ddd是数字)的作用为8进制的转换

(复习:%d10进制,%x16进制,%o8进制)

 思考:为什么打印结果为9?

首先:"\t”是一个转义字符看为一个字节

其次:\1008中,\ddd”的形式为8进制的转义字符看为一个字节,但是!8进制不可能存在8

所以\1008为两个字节

最后“\0”作为隐藏字节(其实正确来命名是空字节)也算作一个字节

所以储存字节分为c,\t,e,s,t,\100,8,\x12,\0总共9个字节

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值