记录学习的第二篇-创新互联
这两天忙着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
像这个问题就是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就是为了看输出结果的时候更直接。、
今天就先记录到这里了,我还要接着去学数学,希望我能跨考成功吧,同时也祝愿跨考的各位同学都能如愿上岸!
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧
文章名称:记录学习的第二篇-创新互联
转载来源:http://ybzwz.com/article/dsseci.html