C语言初阶--初识C语言(2)

目录

三、认识变量与常量:

4. 常量的分类:

  1)字面常量

  2)const修饰的常变量

  3)#define定义的标识符常量

  4)枚举常量

四、字符串+转移字符+注释

  1 . 字符串

  2.转义字符

 3.注释

五、选择语句

  常见的选择语句有:

    1.二路分支:if语句

    2.多路分支:switch语句

六、循环语句

 常见的循环语句:

    1.while语句

    2.for语句

    3.do...while语句

七、函数

八、数组

1.数组的定义

 2.数组的下标

 九、操作符


三、认识变量与常量:

4. 常量的分类:

字面常量、const修饰的常变量、#define定义的标识符常量、枚举常量。

1)字面常量:

   字面常量就是可以直接看到的量,如图中的100、c、abcdef,这些能够一眼看到的量就是字面常量。

   2)const修饰的常变量:

   听到常变量这个词一定感觉很奇怪,那在这之前我们来看这么一段代码:

   a输出两个值说明了a是一个变量,下面我们用const修饰一下看它的结果会不会改变呢?

  这时候代码第7行报错,很明显被const修饰过的变量a的值是不能够被改变的。

  由此我们可以说const修饰的是一个具有常属性的变量。上面我们已经证明他具有常属性,下面我们再来验证一下它还是不是变量:

   两段代码的运行结果一样,同样的报错,代码报错的原因是:定义数组arr[ ]时,[ ]中不能为变量。由此可见,即使加了const,n本质上仍然是变量,只不过是具有常属性的变量。

   注意:以上所说的定义数组时[ ]中不能为变量只是针对不支持C99的编程软件来说,例如vs2019。如果你的编程软件支持C99,那定义数组时可以用变量。

  3)#define定义的标识符常量:

   注意定义标识符常量时中间不需要等号:#define MAX 100

4)枚举常量:  

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

   生活中,性别:男,女,保密。三原色:red green blue。都是可以一一列举出来的常量。

用代码表示:

 enum就是枚举类型,大括号中的就是枚举常量。我们可以用大括号中可能出现的值来给变量s赋值: enum SEX s = MALE;

四、字符串+转移字符+注释

   1.字符串

   “hello world.\n”这种由双引号引起来的一串字符称为字符串字面值,或者简称字符串。

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

  下面我们定义一个字符串数组,按F10键调试一下:

  

     打开调试→窗口→监视,并在监视名称输入arr会发现,在 f 后面还多出现一个 \0(如下图所示), \0是字符串“abcdef”的结束标志。

 换一种定义数组的方式:

同样进行调试并打开监视窗口:

此时我们发现 f 后面并没有出现 \0 ,那就说明此时的数组中存放的不是字符串。

打印一下两个数组:

    会发现arr2后面打印出了一堆乱码,这是因为数组arr2中没有结束标志\0,而计算机中内存是连续的,它会持续打印下去,直到在内存的某个地方遇见了 \0 才会结束打印。

用代码计算一下两种方式数组的长度也有不同:

 注:在计算字符串长度时\0是结束标志,不算作字符串内容。

 strlen为函数,用来求字符串的长度。注意使用时,要包含<string.h>这个头文件

 即#include<string.h>

如果给数组arr2中添加上结束标志 \0 结果就相同了:

2.转义字符

  转义即转变它的意思。

  先看下面一段代码:

为什么打印出来的结果和代码中的不一样呢?

    答案是在 t 前面加斜杠后就改变了它的意思,\t 是一个转义字符,相当于电脑上的Tab键,打印出来的结果就变成以上形式。

类似的:n前面加上斜杠变成 \n 表示换行:

下面来看一些转义字符:

 \?        解释一下三字母词:例如:如果电脑支持三字母词,在电脑中 ??)这三个符号会被解析为 ],那么 printf("(Are you ok??)");打印出来的结果就是(Are you ok]

             如果想打印出来(Are you ok??),就需要这样写:(Are you ok\?\?)

\'        如果想打印一个字符 '    直接写是不对的,应该写为

\"        如果要打印一个字符串 " 直接写不对,应该写为

 \\      如果不想将 \t 写成转义字符 那么在它的前面再加一个斜杠变成 \\t 就会打印出 \t,如下图:

对比一下就可以很清楚地了解 \\ 的作用了。

接下来着重介绍一下 \ddd 和 \xdd :

\ddd:   ddd表示1~3个8进制数

 看下面一段代码:

 为什么字符 \130 打印出来是 X 呢?

     图中的130代表的是8进制数,转换为10进制数为1*64+3*8+0*1=88,而在ASCII表(此表文章后面desh给出)中十进制的88代表的字符刚好就是 X 。

    由此可见,\ddd表示的就是把1~3位8进制数转换为10进制数的值对应在ASCII表中代表的字符。

\xdd:  dd代表2个16进制数字

   类似\ddd,

    字符 \x67 打印出来是 g ,图中67代表的是16进制数,转换为10进制数为103,对应在ASCII表中的字符为 g 

由此可见,\xdd表示的是把2位16进制数转换为10进制数的值对应在ASCII表中代表的字符。

每个字符都有对应的ASCII值,例如A~Z——65~90,a~z——97~122

 特别的,大写字母的ASCII值+32=小写字母的ASCII值

通过上面的学习,我们了解了转义字符,那么让我们来测验一下掌握的程度吧!

请看下图并回答:打印出来的字符串长度是多少呢?提示:8进制中每一位上的数最大为7。

答案放在评论区。

 3.注释

注释有两个作用:

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

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

如图中的绿色文字即为注释:

对于不需要的代码有两种注释方法:

一种是直接在前面加 // 进行注释:这是C++的注释方式

另一种是对需要注释的内容首尾分别加 /* 和 */ 进行注释:这是C语言的注释方式

但是这种注释方法有缺陷:

    上图我们用了两个/* */来注释,但是注释到第一个 */ 就停了下来。由此可见,C语言的注释方式不能嵌套使用。

除此之外,还有一种更方便的注释方式:在选中后点击编译软件中的

 就可以进行大段的注释。点击它的右边一位可以取消注释。

五、选择语句

  常见的选择语句有:

    1.二路分支:if语句

    2.多路分支:switch语句

今天只介绍if语句:

六、循环语句

 常见的循环语句:

    1.while语句

    2.for语句

    3.do...while语句

今天只介绍while语句:例题:1~100求和并输出。

 这里简单了解一下,后面再深入学习。

七、函数

直接通过代码来理解吧:

 首先我们用正常的方式来写一段两数求和的代码:

下面采用调用函数的方式 写一段两数求和的代码:

    由图可见,我们是先在主函数之前写了一段具有求和功能的函数Add(),然后在主函数中需要求和时选择直接调用函数Add()实现求和功能。

   问题来了,明明这么简单的代码非要写复杂呢?

   其实函数会极大地减少代码量,只不过我们举例的两数求和很简单体现不出来它的价值。在以后的学习工作中,我们可能遇到同一段代码在不同的地方重复使用,这时候我们为了避免一遍遍写这段代码,就可以先写一个功能相同的函数,然后在需要时只调用函数就可以了。

八、数组

  要存储1~10的数字,怎么存储呢?

  这时候就要用到数组了,数组是一种相同类型元素的集合

1.数组的定义

  定义数组时 [ ] 内为数组的长度,存放的元素数不能超过长度。

  定义时可以不规定 [ ] 内的长度

  不规定长度时一定要初始化,不初始化时一定要规定长度。

 2.数组的下标

   C语言规定:数组的每个元素都有一个下标,下标是从0开始的。

   比如:

   数组可以通过下标来访问:如下图下标为5的数组元素打印出来是6

  我们也可以用循环来打印出数组所有的元素:

    今天就学到这里,未完待续。。。 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

成屿

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

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

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

打赏作者

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

抵扣说明:

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

余额充值