做软件开发也有一年半多的时间了,之前从来没有学过这些,所以基础比较差,数据结构、算法基本不会,之前也看了一些书,不过没有做笔记,也没法回顾,忘记了很多,现在要考在职研究生,需要一些基础的东西,重新复习一下,并写下自己的总结。
天行健,君子以自强不息。
C程序设计第一章程序设计和C语言
1.什么是计算机程序
一组计算机能识别和执行的指令。计算机的本质是程序的机器。执行程序的机器。
2.什么是计算机语言
人和计算机交流的语言。
计算机只能识别二进制数指令,即010101.
机器指令:计算机能直接识别和接受的二进制代码。机器指令的集合就是机器语言。
符号语言:用一些英文字母和数字表示一个指令,比如ADD代表加,SUB代表减。代表语言,汇编!!(前段时间搞smali,和汇编差不多,太反人类了)被称为计算机低级语言。
高级语言:第一个是FORTRAN,接近自然语言,用英文单词表示。(现在语言这么多,其实根本上还是一样的,都是通过编译器把我们写的源程序转换为机器指令,交给计算机去执行)
3. C语言的发展及其特点
发展不用记,特别:具有多种数据类型(如字符、数值、数组、结构体和指针等)
C语言允许直接访问物理地址,能进行位操作,可以直接对硬件操作。
程序执行效率高。(对内存管理严格,需要手动操作,不像JAVA)
4. 最简单的C语言程序举例
----------------------------------附代码
# include <stdio.h>
int main()
{
printf("This is a C program.\n");
return 0;
}
相加:
#include <stdio.h>
int main()
{
int a,b,sum;
a = 123;
b = 456;
sum = a + b;
printf("sum is %d\n",sum);
return 0;
}
比大小:
# include<stdio.h>
int main()
{
int max(int x, int y);
int a,b,c;
scanf("%d,%d",&a,&b);
c = max(a,b);
printf("max = %d\n",c);
return 0;
}
int max(int x, int y )
{
int z;
if(x > y) z = x;
else z = y;
return(z);
}
//表示注释,#include<>,表示头文件,功能如同java的import。
%d的含义是十进制整数形式;&是地址符,&a表示变量a的地址。
一个程序由一个或多个源程序文件组成,一个源程序文件可以包括3部分:
预处理指令,就是上边说的#include<>;
全局声明:在函数之外进行的数据声明,在整个此源文件内有效。
函数定义:如main函数,max函数
最重要的就是函数,函数包括前边的函数首部,包括函数名、参数等等,以及下边的函数体。函数体分两部分,一个是声明部分,如声明变量,声明需要调用的函数(这一点与JAVA不同,JAVA不需要对将要调用的函数进行声明),还有一个就是执行部分了,指在该函数中进行的操作。
C语言从main函数开始执行,(JAVA也是,算是这个源文件的入口吧)
应当包含注释(这一点我需要格外注意,很厌烦加注释)
5.运行C程序的步骤与方法
我的总结是,写代码——编译——调试,写了1年半的程序了,这个不多说。
6.程序设计的任务
问题分析——设计算法——编写程序——对源程序进行编辑、编译和连接——运行程序,分析结果——编写程序文档
很少写文档,不过写文档确实挺管用的,特别是对总结思路上,以后争取养成习惯。