作为初学者学C语言的小小总结

来源:互联网 发布:数据挖掘软件 编辑:程序博客网 时间:2024/06/07 01:48

       已经开始学习C语言有一个多星期了,大学准备开始了。很久很久以前就想学习关于计算机的内容了,但是因为要高考一直拖着没有落实,如今也考上了心仪的专业,也算如愿以偿了。

 

 

          一开始学习C语言是学长推荐的Mooc视频,这个视频也算很不错,下面就是从一开始到现在的学习总结。

 

        C语言有标准的格式,这样它才能明白我们的意思。(然而我总是忘记在表达式后面加上结束分号)

 

 计算

        C语言是1970年左右出现的,一直发展到今天,当然也出现了各种各样的语言,这些编程语言应该都是为了让计算机听懂我们的话,更高效的理解我们的想法并且听从我们人类的指令,首先呢,计算机最擅长的就是计算,它可以在很短很短的时间内计算出人类算不出来的结果,迅速且精确,这是它最大的特点。

 

                                                            例如          999*999*999=997002999           计算机只用0.39秒

 

        既然那么会计算,那么我们就可以利用它的这个特性,于是就出现了编程语言。所以第一个出现的就是“变量”,很多字母符号都可以当作变量,我们可以将数字、字母、文字赋给这个变量,计算机就会记住这个变量并且随时听我们的调用,接着出现的就是表达式。关于表达式,就是将这些变量进行加减乘除,即可得到我们想要的东西。老师说,表达式的范围很广,很多东西都可以叫做表达式,例如int a等等。

 

循环与判断

       如果只能做一次计算,那么久太小看了,它的计算速度很快,我们可以让它一直计算下去,直到我们想要的结果出来为止。然而,我们必须先告诉它什么时候停!因此,“判断”就出现了,判断就是让计算机明白什么时候该停什么时候该继续计算。人们于是就发明了“if”如果“else”否则“else if”其他如果及switch case结构,判断以后也就有了分支,紧接着就是循环:while结构,dowhile结构,for循环,个人最喜欢for循环,因为它最简洁好用但是事实上进行选择是有条件的:

                                              如果有固定的次数,用for

                                              如果必须执行一次,用do while

                                             其他情况用while

 

                          For循环可以一直重复,到后来有数组时便可用来遍历数组。

 

        break表示跳出一层循环,goto — out可以跳来跳去,但是老师说写程序要符合单一出口原则,除特殊情况不要用goto跳来跳去。

 

        运算的时候发现计算机输出的都是整数,因为我们定义变量的时候用的是int,现在又有了一个新的,叫double,可以精确到小数点后6位,如果想对精确的小数点进行选择,便可以用%0.01f,这样就可以选择只保留两位小数了。

 

       上课的时候有道题叫辗转相除法,这个在初中就学过的方法居然是有关于编程的,于是老师就教我们写了下代码,后来知道这类的都是算法,在编程中叫算法,就是用数学逻辑思路完成数学各种题目,前几天在洛谷刷题遇到了一个名叫过河卒的题目,写了我几个小时还没弄出来,后来学长说我水平还不够…..后来总结了要先把题目的解法想出来,可以在纸上画出来,然后再打码,想题三小时,打码一小时,这样解算法题才对。

 

        到目前为止最基本的还有printf("%d\n",a);    scanf("%d\n",&a);   一个输入一个输出

        以及最开头的#include<stdio.h>这个叫头文件库,还有很多很多头文件库以后会用到,比如说最近学的<string.h>,是C的对编译进行的预处理。

 

函数

 

        函数这一块是第一个稍微有点难度的知识,在理解和运用方面都需要专心并且多练习不然就会忘记,首先main()就是一个函数,我们也可以创建函数,创建函数时例如sum(int a)括号里就是前文要输入进来的数,函数创立可以分为两部分,一部分是函数头,一部分是函数体。我们可以把函数放在main函数的下面,但是这样做的话就需要在main函数前面将这个新创建的函数进行声明,做法就是将函数复头制在main函数前面。

        具体函数的作用的话我只知道这么做会将代码做得简洁,容易让别人看的懂看得清,

其他作用的话以后也许会更明白。

 

        素数求和是目前遇到的最难的题目,因为这个题目可以有各种变化,很让人头疼,不过对代码的熟练度会有很大的提升。

 

        函数头由 返回类型+函数名+参数表 组成。

 

        Return是返回的意思,函数在末尾一般都会有return,而且这个return很巧妙,想弄懂它暂时我还做不到。Void是一种返回类型,用它定义的函数可以没有return,如果函数有返回值就必须使用带值的return

 

指针和数组

 

        这个章节我看了很多遍,数组使用好会很有用,但要多练习才能熟练掌握。数组首先要定义,一旦创建不可改变其大小,C99以后可以用变量作为数组大小例如是num[a],但C99之前就必须用一个精确的值来定义数组的大小。学习的时候要准确理解数组里的个个单元的排列情况,这对后面理解指针会有很大的好处。

 

        数组的运算的可以与前面讲到的for循环进行遍历,使得循环和判断进行结合,能更有效的解决编程题。于是素数又跳了出来,各种烦人……以及二维数组。

 

        数组这一部分知识点很少,但是理解和使用起来比函数要难,但很重要。

 

         *p 这个叫星P  也就是 指针emm…就是指向一个地址,对数组来说可以表达指向数组某个单元的地址。说好理解吧也还好,说不好理解吧也不好理解,据说指针很是复杂,可以慢慢掌握。

 

 

数据类型

 

        这一章知识点是最多的,但是理解起来难度不大,具体来说就是

             

           整数

                   char一个字节、int四个字节、short两个字节、long四个字节

           浮点

                   double八个字节、float四个字节、long double十二个字节

           逻辑

                   bool一个字节   

          

           const表示不能修改

 

           另外 sizeof 可以输入这些数据类型的字节

      

           当然还有各种进制问题直接用计算器吧

 

           没有特殊需要就用int

         

           逃逸字符 \n回到下一行   \t回到下一个表格位 \r回车  \b回退一格

 

           强制类型转换—>int a  使用时可以 (double)a进行强制类型转换,但是函数不能使用强制类型转换

           还有关于优先级的问题 单目运算符优先级高于双目运算符、条件运算符优先级高于赋值运算符但低于其他运算符、逗号优先符emmm结果其实就是最后那个

 

字符串

 

        其实文字和数字字母一样都可以用数组来表达,sum[a]=“Hello,World\0”;  不过只有最后面加上 '\0' 才能算是一个字符串,引号里一个字母就是一个字节,在这里也是可以用指针进行指向,不过这里有很多专用的函数,使用前用要输入头文件库#include<string.h>即可。

 

       字符串函数有很多,常用的大概有


                                         strcpy(a,b)将b拷贝到a里

                                         strcmp(a,b)比较a,b字符串的大小

                                         strlen(a)输出字符串a的长度

                                         strcat拷贝用

 

后面待续……

原创粉丝点击