第一期:C基础学习感悟
(声明:本文是本人随意写的,想到那写那,无逻辑可循,更无顺序可言,言者无罪,观者勿语!但可以对我文中提到的一些疑问为我指点迷津啊,小生这里先致以12万分的谢意啊)从一直用别人的软件,感叹别人的软件做的多么多么好,到现在开始学习怎么去做一个软件,呵呵,经历了太长的时间了,以前也做过软件,但应用范围不大,或者说,我掌握的知识还不足以让我随心所欲的去实现我心里想的东西,所以,我重新拾起了那久违的笔,开始了又一次漫长的程序之旅。
可能年龄大了吧,也可能是要做的事情太多了,我无法静下心来集中注意力去思考一个很简单的程序问题(逻辑问题?),嘿,竟然跟2的0次方较起劲来了,一晚上打了10几个电话去大学同学那里求证,2的0次方为什么等于1???,MY GOD ,得到的回答都是:不为什么,它就等于1,后来冷静下来,突然觉得自己就像是在问1+1为什么等于2,可笑之及啊,不过没办法,时间太久了,学校里学的东西都忘完了,而C的基础部分又都是从数学理论开始的,简直是种煎熬,不过为了那要随心所欲的梦想,就让煎熬来的更猛列些吧~
语法结构上,和其它语言大同小异,看一遍大概也就记住了,难的是数据类型这块,什么正数倒数,幂运算啦,奇怪,我上学的时候数学很好呀,怎么现在好像是在看天书?只好看几个字就到GOOGLE上搜为什么~基本上连中学的数学也看了一遍了。
还好,掌握了一些知识点,从对C一无所知,到理解这些知识点,也算是有进步了,理解的不多,而且抗风险性差(可能换一种形式,就不知道该从何着手了),暂且记住这些吧。
printf("格式控制参数",表达式)
常用的格式控制参数是:%d,%f,%c,%s,%u,%x,%o;分别表示整型,实型,字符型,字符串型,无符号十进制整数,16进制整数,八进制整数;
scanf("格式控制参数",变量地址1,变量地址2……变量地址N);
格式控制参数和printf类似,但没有精度控制,需要特别注意的,就是格式控制串中如果没有非格式字符,则默认使用空格,TAB,或回车做间隔,如果格式控制串联有非格式字符做为输入数据的间隔,那么在输入数据的时候也需要输入这些非格式字符
putchar()和getchar()功能简单,知道怎么用就行了
运算符和表达式
比较难懂且易于混淆的是自加自减运算符,常常搞错,在此烙上一印:++、--做为前缀时,表示先使变量加1,然后把值赋给表式,即表达式的值就是变量加1后的值,++、--做为后缀时,表示先使使表达式的值等于变量,然后变量再进行加1操作,即表达式的值是变量未加1的值。
还有符合赋值运算符,什么+=、*=、/=、-=啦,例如:a+=b,简单的表现出来就是:a=a+b,哎,好麻烦哦
运算优先级是:!——>算术运算符——>关系运算符——>&&——>!!——>,。
数据类型篇:
C中基本数据类型分别是:整型(int),实型(float),字符型(char);奇怪,在我那本教材上有道题就是问C的基本数据类型,给的标准答案却比这3种基本类型多了一种枚举类型,他上边前几章做介绍的时候明明讲的是只有3种基本类型,怎么这里多了一种,怀疑是印刷错误,但也不敢恳定,知道的人来踩两脚!
通过这三种基本数据类型,衍生出更多的数据类型:
如构造类型,其还包括枚举类型(enum)、数组类型([])、结构类型(struct)、联合类型(union)
特殊类型:指针类型(*,&)、空类型(void)
这一部分让我头大了,基本数据类型中各个类型间的相互转换,好像没有规律可循,简单的按书上给的例子做了几次实验,得出的结果也是东一斧子西一榔头,不着边际,教材上也没有相关的说明,不正确的结果导至我对书上的例子没有一点兴趣,哎,好难~~~