初识C语言(二)

目录

一、变量和常量

二 、转义字符 

三、选择语句

​四、循环语句​

五、函数

六、数组

七、各种操作符与表达式

总结


前言

这是接上篇文章的后续依旧是我对C语言的一些浅显认知。

一、变量和常量

这是上篇文章漏掉的一些知识点。

变量在内存中是有一片区域的,当你声明了一个变量之后,计算机会在内存中为变量开拓一片存储区域,而常量就是放在这片区域中。申请区域的大小与变量的类型有关。

变量是用来描绘变化的数据。

常量则用来描述不会变化的数据。

C语言中的常量可以分为以下几种

1.字面常量
2. const修饰的常变量
3. #define 定义的标识符常量
4. 枚举常量
5.字符串常量

字面常量

 如图 100 'c' "abcdef" 3.14 就是字面上的常量

const修饰的常变量

 这里的n具有常属性

图中的错误是20也是个常量, 这里的n具有常属性,也就是此时的n可以看作常量,常量不可以对常量赋值。但下面的情况在某些标准下是可行的

 上面说到,这里的n具有常属性,那么这个n能否放在数组的括号内呢?答案是只有在C99标准才可以,C99标准中增加一个变长数组的概念,这里指定数组大小的时候,可以使用变量了。但是要注意的一点是,这里的n本质上依旧是个变量。

#define 定义的标识符常量

 图中的错误是MAX也是个常量,常量不可以对常量赋值。跟上面那个n一样的情况。

枚举常量

枚举就是一一列举
枚举是C语言提供的一种自定义类型的方法

枚举关键字enum

比如:性别:男,女,保密
           三原色:red green blue

 依据跟上面的错误一样,常量不可以对常量赋值。顺便提一下,c当中默认枚举常量的是0,1,2,3有几个就依次向下排下去。

 字符串常量

 为什么给两个字符数组赋值的是一样的,第二个却有烫烫烫烫烫abcdef呢?原来字符串常量结尾会有一个'\0'字符。不信你看

 我们调试一下,可以看到字符串常量"abcdef"中最后有一个'\0'字符,关于调试技巧我会在后续的文章中说明。

而我们在看第二个数组

这个数组的结束就没有 '\0' 字符,之所以它会有后面那些烫之类的字,是因为字符串常量会以'\0' 字符作为结束字符,如果没有,那么它就会一直读下去 如下图

二 、转义字符 

转义字符——就是转变它的意思

请你猜一下为什么会这样,是不是跟你想的不同?为什么不是 c:\test\test.c 呢?因为这里面有转义字符的存在。

 这是一些常见的转义字符,如果c:\test\test.c 改成c:\\test\\test.c,我们再来看一下结果。

 ‘\n’是换行符,这个我相信大家都有所了解。

接下来我要谈谈我上面图片的最后两个转义字符

\ddd    ddd表示1~3个八进制的数字。 如: \130
\xdd    dd表示2个十六进制数字。 如: \x30 0

 

 这里算出来的是数字 但是我们用字符的形式输出,所以就成了  ]  B,这里就要提到ASCII表了,上图。

 我们看到9366就是对应这的 ]  B。

还有一些字符大家感兴趣的可以尝试尝试,都是在我上面发的图片中。 

 接下来我们来联系一下上面的知识

上面的strlen是一个函数,后续会说到,它包含在<string.h>这个头文件中,你可以猜猜打印出来的值是多少,揭晓答案!

 原来字符串常量的结尾不能算做是字符串的长度,而下方的 "c:\test\628\test.c"   \t  \62 各算作一个字符,剩下的依着数就可以得出答案了。

而有些人担心这样的赋值方式 { 'a', 'b', 'c', 'd', 'e', 'f','\0' },‘\0’是不是算作一个长度,答案很明显不能算作。

三、选择语句

如果你好好学习,校招时拿一个好offer,走上人生巅峰。
如果你不学习,毕业等于失业,回家卖红薯。
这就是选择!

四、循环语句

有些事必须一直做,比如大家,日复一日的学习。
这两部分的内容,会在后续的更新中详细讲解。

五、函数

 

 函数就像是一个加工厂,把你给的原材料加工厂好的产品。我们在工程中,主要是函数有包装性,如果你所要做的操作写了很长的一段代码,那么多次用到这个操作的时候,你还把那么多代码打一遍吗?不需要,直接使用函数就ok啦!

六、数组

数组 - 一组相同类型元素的集合
    int arr[10] = {10,11,12,13,14,15,16,17,18,19};

 循环输入输出数组中元素的值。

七、各种操作符与表达式

简单说明为主,后续会不断更新详细讲解。

总结

以上就是今天要讲的内容,希望对你能有所帮助,欢迎各位大佬积极指正错误。下一期就可以把这个系列出完了,敬请期待。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

早点睡觉1.0

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

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

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

打赏作者

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

抵扣说明:

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

余额充值