记录学习的第二篇

        这两天忙着BIM考试和实训论文,也没怎么学C语言,也是想着反正以后都脱离土木了就能偷摸学会是会吧。而且对于我本人而言学学C语言敲敲代码确实是比学力学分析各种受力体系要有意思的多了。

        好,回到正题,这几天这几天学习了全局变量与局部变量、变量的作用域与生命周期、常量、字符串和转义字符还有if语句与循环语句。

       全局变量就是在int main()前面所定义的一个变量,在整段代码中都可使用。

 此时定义的global不管在哪一个{}内都可使用,{}内的global即为局部变量,而且如果全局变量与局部变量名字相同时,局部变量优先,所以此时输出为2020。

 这张图中的global就是局部变量,局部变量即定义在当前这段代码内的变量,出了局部变量所在的{}范围外就会失效,所以图中定义的global出了它所在的大括号再打印就会输出错误。

        作用域与生命周期意思相近,作用域是指在一段代码的某个范围内所用到的名字的可用性的范围,还是用的这张图

 global的作用域就是它所在的{}内,生命周期也是在这个{}内

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

        首先,字面常量,顾名思义就是字面意思上的常量,如3、100、3.14等可以直接写出来的值就是字面常量

        其次,const修饰的常变量,const就是将变量赋予常属性,但本质上还是个变量

 此时提示arr[]内需要放一个常量,n现在只是一个具有常属性的变量,所以会出错。

        然后是#define定义的标识符常量

 先用define定义一个常量,像#define MAX 10 这样定义一个值为10名为MAX的常量

        枚举常量,枚举即一一列举,像性别,有男、女、保密三种,将可能有的常量一一列举出来

MALE、FEMALE、SECRET各自对应的值为0、1、2,但我也不太懂枚举常量具体有什么用,想要用里面的常量的时候直接定义一个不就可以了。

        接下来是字符串与转义字符,首先像“hello world\n”这种由双引号(Double Quote)引起来的一串字符成为字符串字面值(String Literal),简称字符串。像人名、身份证号都可以是字符串

此时arr2出了错,arr1中数组会隐藏一个\0不显示,\0会在每个数组的最后被隐藏,意味着这个数组道\0就结束了,而arr2[]={'a','b','c'}手动输入最后没有\0,改为arr2[]={'a','b','c','\0'}输出就是abc而不是乱码了。

       也可在#include<stdio.h>下一行增加#include<string.h>来计算一下字符串的长度 

像这个问题就是arr2最后没有写上'\0',如果arr2最后没有\0编译器就会一直计算arr2的长度,abc算完以后编译器就会计算后面的乱码直至在一片乱码中找到一个\0,所以这个时候arr2的长度其实不是15而是一个随机数,将arr2最后再加入\0那arr1与arr2的长度就都变成3了。 

        还有转义字符,转义字符即转变原来意思的字符,可以对照ASCII表查看。

        像这段代码会输出为一串乱码,\t是一个转义字符,是水平制表符的意思,输出为四个空格,改为"c:\\test\\32\\test.c"就会输出c:test\32\test.c

 计算长度时每个字符挨个数一遍应该是17,但因为转义字符的存在\t、\32、\t都被编译器认为是一个转义字符,所以长度才会是13,其实\32查表可知是一个“→”像右的箭头。

       最后,if语句与while循环

 这个就是if语句,第十一行中的if(input==1),在c语言中一个=是赋值的意思,像int num=1,将num赋值为1,而两个=是判断是否相等的意思,此时就是判断input是否等于1。

        循环语句分为while循环、for循环与do...while循环,目前我只学到while循环一个

 第十一行我写的是printf("敲一行代码:%d\n",line),其中%d\n可以去掉,%d就是输出结果后面对应的行数,\n也是转义字符换行的意思,都去掉的话输出界面中一行会有多个“敲一行代码”而且后面也没有对应的行数,%d\n就是为了看输出结果的时候更直接。、

       今天就先记录到这里了,我还要接着去学数学,希望我能跨考成功吧,同时也祝愿跨考的各位同学都能如愿上岸!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值