学C语言的第二节课(中)

字符串+转义字符+注释

"hello bit.\n"

这种由双引号(Double Quote)引起来的一串字符称为字符串字面值(String Literal),或者简称字符串

注:字符串的技术标志是一个\0的转义字符。在计算字符串长度的时候\0是结束标志,不算字符串内容

“”空字符串

可以把字符串放到数组中


(小插曲:真不容易啊,昨天我的编译器不知道抽什么风,突然跳出一个新的源文件,里面有好长的代码,显示冲突,有错误之类的。然后我把有错误的那行注释了,再之后没多久所有新建的项目都不能运行,下面显示的错误根本不是我代码的错误

可把我急坏了,在贴吧,csdn,和各种学校的群求助,都没能找出问题所在。最后想起了知乎

真的,有问题,上知乎。最后我卸载重装,现在编译器可以正常运行了。

所以各位要是哪天突然看见跳出来的好长好长的代码,千万别像我一样瞎改,真是急得睡不好觉。)


表示数组的正确代码:

(注意区分“”与{}的使用)

也可写成char arr[]={'a','b','c','\0'}

char arr[]="abc“

char arr[]={'a','b','c',0}是一样的。

错误代码:char arr[]={'a','b','c'}   此时打印出来控制台后面会有乱码,因为没有\0作为结束标志,abc后面出现的都是随机值,直到随机值中出现\0,字符串才结束

因为arr3字符串里没有结束标志,理论上讲打印的长度应该是随机值,但我试了三次,都是42,而且我新写了一个arr4,同样没有\0,但打印出的字符串长度依然是42。这一点我感到奇怪。


数据在计算机上存储的时候,存储的是2进制

ASCII编码

ASCII码值


转义字符

转变其原本的意思

\还可以转义\,使其不与后面的字符产生特殊含义

故,要成功打印"c:\test\32\test.c",需改为"c:\\test\\32\\test.c"

例二:想要在控制台打印出‘

           错误:printf("%c\n'",''')

           正确:printf("%c\n",'\'')

\32 -- 32是2个8进制数字(\ddd)

\32被解析成一个转义字符

32作为八进制代表的那个十进制数字,作为ASCII码值对应的字符

八进制数字32转化为十进制数字:2*1+3*8=26

对应一个箭头(我不清楚为什么我的控制台上没能打印出→)

例:\xdd 中 \x61对应的ASCII码值为97,对应a


注释

1.代码中有不需要的代码可以直接删除,也可以注释掉

2.代码中有些代码比较难懂,可以加一下注释文字


选择语句

话不多说,如图


循环语句

学习循环语句之前,我们要复习一下高中物理选修3-1中”简单的逻辑电路“中的内容(放图不方便,自己翻课本)

”与“门:串联   与门的符号:/图略&/   象征着只有AB两个输入端都是1时,输出端才是1

”或“门:并联   或门的符号:/图略>=1/   象征着当1个或多于输入端为1时,输出端为1

”非“门:输出状态与输入状态相反的逻辑关系的电路叫做”非“门   符号:/图略10/   象征着输入端为1时输出端是0

这样类比更好理解

C语言中如何实现循环呢?

  • while语句
  • for语句
  • do...while语句

while语句循环例子

(晚上要睡够十个小时才能精力充沛哦~)

两种写法都能得出这个(颇有成就感)


有点累了,还有一部分没整理完,明天继续!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值