“21天好习惯”第一期-2

“21天好习惯”第一期-2,第1张

“21天好习惯”第一期-2 C语言的基本语法和今天的做题感想

C语言的基本语法

C程序是由各种令牌组成,令牌可以是关键字、标识符、常量、字符串值或者是一个符号。

1、分号;

在C程序中,分号是语句结束符。也就是说每个语句必须以分号结束。它表示一个逻辑实体的结束。

2、注释

C语言的注释有两种方式。不能在注释内嵌套注释,注释也不能出现在字符串或字符值中。而且两种方式也不一样。不能在注释内嵌套注释,注释也不能出现在字符串或字符值中。

<1>以//开始的单行注释,这种注释可以单独占一行

<2>以的注释可以单行或者多行。

3、标识符;

C 标识符是用来标识变量、函数,或任何其他用户自定义项目的名称。一个标识符以字母 A-Z 或 a-z 或下划线 _ 开始,后跟零个或多个字母、下划线和数字(0-9)。

C 标识符内不允许出现标点字符,比如 @、$ 和 %。C 是区分大小写的编程语言。因此,在 C 中,Manpower 和 manpower 是两个不同的标识符。

4、空格;

只包含空格的行,被称为空白行,可能带有注释,C 编译器会完全忽略它。

在 C 中,空格用于描述空白符、制表符、换行符和注释。空格分隔语句的各个部分,让编译器能识别语句中的某个元素(比如 int)在哪里结束,下一个元素在哪里开始。

5、关键字;

这些保留字不能作为常量名、变量名或其他标识符名称。

 

 C语言的编译器

编写程序的地方有很多,工具只是辅助的作用,真正考验的还是自身的技术。就我个人而言,我一开始是使用visual studio2019        ,但是后来到了学校后,在老师以及学长学姐们的推荐下,我下载了codeblocks。在近一个月的时间里,个人认为CB(codeblocks)使用起来更为的简便,但是VS(visual studio2019)更为专业(个人感觉)。而且不知道为什么CB使用起来更快,VS的时候会卡顿。但是VS有中文报错,出现错误的时候能更清晰的知道错误的所在。而且不同的编译器之间还存在着不同的差异,比如说VS。VS是MSVC,微软公司定义的C标准,跟其他的C有一定的区别。在写scanf时,在VS不能通过,要把scanf改成scanf_s,不然的话会报错。

杀毒软件方面

写程序的话最好是把系统的安全扫描关了吧,不然的话杀毒软件会秉承着“宁可杀错不能放过"的念头来把你的程序灭了。 

做题思路

今天还做了一份来自龚老师布置的每日一练。

这个题目很有意思,表面看起来是一个难题,但是龚老师没有为难我们。感觉他是给我们降低了很多难度,而且这个题目的名称也说了基础,那就表示我们这些刚接触C语言的菜鸟可以一试。首先看到输入要求和输出要求,这是题目的要求。然后我是分析题目,要输出一个字母,那就想到了上课讲到的ASCII码表,每个数字都对应了一个字符。a对应的是97,z对应的是127。首先是输入一个字符,然后再输入一个整数。经过分析可以发现,如果说输入的是字符f然后输入整数5,那么按照要求是要输出a。f对应的10进制整数是102,a对应的10进制整数是97,之间相差了5。这样想的话就能很好理解题目的要求了。输入的整数大于0时,输入的字符对应的数字减去输入的数字。这个时候就解决了一种情况,然而还有一种情况,就是当输入的数字小于0时,比如说输入字符y,再输入-3,这个时候要求得到字符b。首先,y对应的是121,b对应的是98。我的理解是121-(-3)后得到124,然后124>122。超出了字母的范围,应该再减去26,所以124-26=98。综上所述,无论输入的数字是正还是负还是零,都是减法。所以能得到一段代码。

但是这还没解决问题,因为输出的值可能会超出字母对应的范围。所以我后面对这个情况来了一个while循环。因为if只能进行一次判断,而且for循环的话需要知道循环次数,所以我选择了while循环。

我觉得可以解决问题的时候,系统却自给了我7分。有3个案例是错误答案。这个时候我陷入了思考,如果说程序执行是没问题的却会出现错误答案,那唯一的可能就是超出了范围。

int占用4个字节,所以表达的数是有范围的。所以我对我的答案进行了修改。

这个程序在作业提交处得到的分数是9分,表示范围还是不够大,会超出范围。这个时候表示还是要修改一下代码。

 我想到可能可以用longlong开表示,等到最后的时候再变成char。所以我这样做了,结果也是成功的通过了。完成代码是一个过程,不断完善不断修改,这个时候要保持冷静,不能毛毛躁躁。

成功不是一个瞬间,而是一个过程。

21天养成好习惯 第2天。 加油!

                                                                      ——江西师范大学软件学院2021级的一位学生  

                                                                                                2021年10月24日

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4749247.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-08
下一篇 2022-11-08

发表评论

登录后才能评论

评论列表(0条)

保存