C程序设计笔记——第一章 程序设计和C语言
来源:互联网 发布:2006科比季后赛数据 编辑:程序博客网 时间:2024/04/28 05:58
做软件开发也有一年半多的时间了,之前从来没有学过这些,所以基础比较差,数据结构、算法基本不会,之前也看了一些书,不过没有做笔记,也没法回顾,忘记了很多,现在要考在职研究生,需要一些基础的东西,重新复习一下,并写下自己的总结。
天行健,君子以自强不息。
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.程序设计的任务
问题分析——设计算法——编写程序——对源程序进行编辑、编译和连接——运行程序,分析结果——编写程序文档
很少写文档,不过写文档确实挺管用的,特别是对总结思路上,以后争取养成习惯。
- C程序设计笔记——第一章 程序设计和C语言
- 第一章.程序设计和C语言
- 《objective-c程序设计》笔记——C语言相关篇
- C语言 第一章 程序设计的基本概念
- 1.程序设计和C语言
- 高质量程序设计指南C++/c语言读书笔记 第一章
- C语言笔记——摘自《C语言与程序设计》(华科)
- C程序设计笔记——导言
- C语言模块化程序设计
- C语言,程序设计
- C语言 循环程序设计
- C语言模块化程序设计
- c语言顺序程序设计
- 第1章 程序设计和C语言
- 程序设计和C语言以及算法
- C程序设计-C语言概述
- 《Objective-C程序设计》笔记
- 《高质量程序设计指南——C/C++语言》第4章 C/C++程序设计入门
- 用Jsoup解析HTML文件,并保存到本地
- C#上机 第九周 任务四 计算数列的极限值
- 发布sharepoint2010 webpart报urlsite连不上的错误
- Linux与Windows双系统时间不一致的问题
- jquery控制下拉框
- C程序设计笔记——第一章 程序设计和C语言
- 手写出现飞笔,软件和硬件上可尝试修改的方案
- 课堂小练习:秘密
- 电容屏为什么也有ADC值范围?
- dojo1.7及以后版本插件说明和自定义插件
- 如何添加一个Email账户模板
- LAMP 系统性能调优(优化 Apache 和 PHP)
- C中一个面试题:指针常量和常量指针的问题
- A Sequence of Numbers HDU