作为初学者学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拷贝用
后面待续……
- 作为初学者学C语言的小小总结
- C语言中位运算的一点小小总结
- 关于C语言多文件编写的一点小小总结
- 关于C语言多文件编写的一点小小总结
- 关于C语言多文件编写的一点小小总结
- C语言项目开发小小总结
- C语言的初学者
- 初学者的小小代码
- 作为一个初学者,总结一下一个月来学习IOS的成果,使用swift语言
- [总结]C语言二维数组作为函数的参数
- [总结]C语言二维数组作为函数的参数
- C/C++语言 二维数组作为函数的参数总结
- 我的小小成果 C语言
- 小小君的C语言第一课
- 小小君的C语言第二课
- 小小君的C语言第三课
- 小小君的C语言第四课
- 小小君的C语言第五课
- Zookeeper Golang客户端:go-zookeeper的基本使用
- yum安装报错“Error: xz compression not available”
- 超级记忆法(3)——第一小时
- trafodion导入ORC文件压缩方式是snappy
- 2048小游戏c语言实现
- 作为初学者学C语言的小小总结
- 机器学习-决策树和随机森林
- 输出时间和成绩平均分到指定位置
- 属性、点语法
- Java常用排序算法
- UVa927
- 关于Linux开发板与虚拟机liunx的连接。
- ClassLoader与Tomcat的ClassLoader
- HXY玩卡片(水题测试2017082401&洛谷2192)