入门:

  1. 计算机程序:

一组计算机能够识别和执行的指令。计算机的每一个操作都是根据指令进行的,计算机的一切操作都是由程序控制的

计算机指令:指挥机器工作的指示和命令。

指令包含操作码操作数,操作码决定要完成的操作,操作数指参加运算的数据及其所在的单元地址。操作要求和操作数地址都由二进制数码表示,分别称作操作码地址码,整条指令以二进制编码的形式存放在存储器中。

2、计算机语言的发展:

机器语言(0、1二进制) -->  汇编语言(又称:符号语言)(简洁的英文与字母) --> 高级语言(Java、C等编程语言)

参考链接:http://www.cnblogs.com/zzp-biog/p/9835580.html

高级语言的发展:非结构化语言(没有严格规范要求)、结构化语言(具有良好特性的基本结构)、面向对象的语言(一种对现实世界理解和抽象的方法)

  1. C语言的优缺点:

优点

1、简洁紧凑、灵活方便

C语言一共只有32个关键字,9种控制语句,程序书写形式自由,区分大小写。把高级语言的基本结构和语句与低级语言的实用性结合起来。C 语言可以像汇编语言一样对字节地址进行操作,而这三者是计算机最基本的工作单元。

2、运算符丰富

C语言的运算符包含的范围很广泛,共有34种运算符。C语言把括号赋值强制类型转换等都作为运算符处理。从而使C语言的运算类型极其丰富,表达式类型多样化。灵活使用各种运算符可以实现在其它高级语言中难以实现的运算。

3、数据类型丰富

C语言的数据类型有:整型、实型、字符型、数组类型、指针类型、结构体类型、共用体类型等。能用来实现各种复杂的数据结构的运算。并引入了指针概念,使程序效率更高。

4、表达方式灵活实用

C语言提供多种运算符和表达式值的方法,对问题的表达可通过多种途径获得,其程序设计更主动、灵活。它语法限制不太严格,程序设计自由度大,如对整型量与字符型数据及逻辑型数据可以通用等。 [15]

5、允许直接访问物理地址,对硬件进行操作

由于C语言允许直接访问物理地址,可以直接对硬件进行操作,因此它既具有高级语言的功能,又具有低级语言的许多功能,能够像汇编语言一样对位(bit)、字节和地址进行操作,而这三者是计算机最基本的工作单元,可用来写系统软件

6、生成目标代码质量高,程序执行效率高

C语言描述问题比汇编语言迅速,工作量小、可读性好,易于调试、修改和移植,而代码质量与汇编语言相当。C语言一般只比汇编程序生成的目标代码效率低10%~20%。

7、可移植性好

C语言在不同机器上的C编译程序,86%的代码是公共的,所以C语言的编译程序便于移植。在一个环境上用C语言编写的程序,不改动或稍加改动,就可移植到另一个完全不同的环境中运行。

8、表达力强

C语言有丰富的数据结构和运算符。包含了各种数据结构,如整型、数组类型、指针类型和联合类型等,用来实现各种数据结构的运算。C语言的运算符有34种,范围很宽,灵活使用各种运算符可以实现难度极大的运算。

C语言能直接访问硬件的物理地址,能进行位(bit)操作。兼有高级语言和低级语言的许多优点。

它既可用来编写系统软件,又可用来开发应用软件,已成为一种通用程序设计语言。

另外C语言具有强大的图形功能,支持多种显示器和驱动器。且计算功能、逻辑判断功能强大。

缺点

1、 C语言的缺点主要表现在数据的封装性上,这一点使得C在数据的安全性上有很大缺陷,这也是C和C++的一大区别。

2、 C语言的语法限制不太严格,对变量的类型约束不严格,影响程序的安全性,对数组下标越界不作检查等。从应用的角度,C语言比其他高级语言较难掌握。也就是说,对用C语言的人,要求对程序设计更熟练一些。

4、简单的C语言程序

1:C语言是一种通用的、面向过程的计算机编程设计语言。

面向过程:分析出解决问题所需的步骤,然后用函数把这写步骤实现,并按顺序调用。

5、C语言程序的结构

1、一个程序由一个或多个源程序文件组成。源程序文件包括:预处理指令(如#include<stdio.h> 等,告诉编译器,本程序包含该头文件,程序在运行的时候将要调用该库中所定义的函数)、全局声明(在函数之外进行的数据声明)、函数定义(函数是C程序的主要组成部分)、程序总是从main函数开始执行的、程序中对计算机的操作是由函数中的C语句完成的、在每个数据声明和语句的最后必须由一个分号、C语言本身不提供输入输出语句、程序应当包含注释(增加可读性)

6、运行C程序的步骤和方法

1、上机输入和编辑源程序(保存文件到指定文件夹,如不指定一般存放在当前目录下)

2、对源程序进行编译(对源程序进行检查、有错提示更正)

3、进行连接处理,生成可执行文件

4、运行可执行程序

  1. 程序设计的步骤

1、分析问题

对于接受的任务要进行认真的分析,研究所给定的条件,分析最后应达到的目标,找出解决问题的规律,选择解题的方法,完成实际问题。

2、设计算法

即设计出解题的方法和具体步骤。

3、编写程序

将算法翻译成计算机程序设计语言,对源程序进行编辑、编译和连接。

4、运行程序,分析结果

运行可执行程序,得到运行结果。能得到运行结果并不意味着程序正确,要对结果进行分析,看它是否合理。不合理要对程序进行调试,即通过上机发现和排除程序中的故障的过程。

5、编写程序文档

许多程序是提供给别人使用的,如同正式的产品应当提供产品说明书一样,正式提供给用户使用的程序,必须向用户提供程序说明书。内容应包括:程序名称、程序功能、运行环境、程序的装入和启动、需要输入的数据,以及使用注意事项等。

C语言学习笔记(C程序设计-谭浩强)相关推荐

  1. c语言程序灵魂编译后,谭浩强C程序设计第4版精讲视频课程

    谭浩强<C程序设计>(第4版)网授精讲班[教材精讲+考研真题串讲] 本课程由资深辅导教师马丽梅老师讲授,全面讲解教材的重点.难点.考点,教会学员理解并掌握该教材中的基本概念.基本原理和基本 ...

  2. C程序设计谭浩强版总结笔记

    结构体 注:结构体类型的名字是由一个关键字struct和结构体名组合而成的(例如struct Student).结构体名是由用户指定的,又称"结构体标记",以区别于其他结构体类型. ...

  3. C程序设计谭浩强第五版课后答案 第三章习题答案

    C语言程序设计谭浩强第五版课后答案第三章 1.假如我国国民生产总值的年增长率为7%, 计算10年后我国国民生产总值与现在相比增长多少百分比.计算公式为p=(1+r)np = (1+r)^np=(1+r ...

  4. C程序设计 谭浩强 第九章

    结构体 注:结构体类型的名字是由一个关键字struct和结构体名组合而成的(例如struct Student).结构体名是由用户指定的,又称"结构体标记",以区别于其他结构体类型. ...

  5. C++面向对象的程序设计谭浩强 第六章课后题

    以往章节 C++面向对象的程序设计谭浩强 第二章课后题 C++面向对象的程序设计谭浩强 第三章课后题 C++面向对象的程序设计谭浩强 第四章课后题 C++面向对象的程序设计谭浩强 第五章课后题 C++ ...

  6. C程序设计(谭浩强第五版)总结

    C程序设计(谭浩强第五版)总结 本篇文章主要是总结谭浩强第五版C语言书上的重点和易漏点的知识点,其目的主要是给高校期末考试的同学们点参考.本文所参考的书籍是谭浩强的<C程序设计(第五版)> ...

  7. 谭浩强c语言不讲位运算呢,谭浩强C语言教程第十二章-位运算.doc

    谭浩强C语言教程第十二章-位运算 12位运算1 12.1位运算符C语言提供了六种位运算符:1 12.1.1按位与运算1 12.1.2按位或运算2 12.1.3按位异或运算2 12.1.4求反运算3 1 ...

  8. 谭浩强c语言第八章指针ppt,谭浩强c语言第八章_指针.ppt

    谭浩强c语言第八章_指针 第八章 8.1地址和指针的概念 8.2 变量的指针和指向变量的指针变量 8.7 指针数组和指向指针的指针 8.7.1 指针数组的概念 一个数组,若其元素均为指针类型数据,称为 ...

  9. 谭浩强c语言不讲位运算呢,谭浩强C语言_CHAR12位运算.DOC

    您所在位置:网站首页 > 海量文档 &nbsp>&nbsp计算机&nbsp>&nbspC/C++资料 谭浩强C语言_CHAR12位运算.DOC11页 ...

  10. 谭浩强c语言规范化的指数形式,C语言程序设计谭浩强第四期末复习重点.docx

    1. 1.问题分析2.设计算法3.编写程序4.对源程序进行编辑.编译和连接5.运行程序,分析结 6.编写程序文档 第一章程 序 设 计 和C 语 言 1.1.什么是计算机程序 程序:一组计算机能识别和 ...

最新文章

  1. Vivado时钟分组约束的三类应用
  2. ros订阅相机深度信息_一起做ROS-DEMO系列 (2):基于find_object_2d的目标匹配识别
  3. 批量修改mp3文件的title等
  4. 【阿里云课程】残差网络原理,结构发展及有效性理解
  5. DEV-aspxgridview中的aspcheckbox
  6. android 动态修改菜单,如何在Android的“选项”菜单上更改MenuItem?
  7. adc0809引脚图及功能_80C51单片机的引脚及其功能介绍
  8. linux启动脚本卡住,linux 服务脚本启动问题
  9. Python精通-运算符与基本数据类型(一)
  10. url没有参数名怎么直接带参数_用30行Python爬虫带你看PLMM(划掉,喵星人)
  11. Spark集群资源如何分配
  12. 前端学习/ Day1/HTTP简单易懂/GET POST/HTTP特性/HTTP与HTTPS/HTTP版本演变/加解密数字签名数字证书
  13. 【网络】Padavan 路由器固件设置打印机服务器
  14. matlab子函数中使用全局变量的使用方法
  15. java-net-php-python-jsp音像店租赁录像计算机毕业设计程序
  16. 一次基于Vue的Vedio.js使用
  17. wireshark抓包分析怎么看进程_教大家wireshark抓包数据怎么看
  18. 事务的四大特性(ACID)
  19. 一个投标经理的标书检查笔记,拿来就用!
  20. 慕课乐学python单元测试答案_中国大学慕课答案第五章单元测试答案_乐学软件工程完整答案...

热门文章

  1. ssh服务器banner信息,几种情况下的banner信息修改
  2. Android studio运行出现Unable to determine application id: com.android.tools.idea.run.ApkProvisionExcepti
  3. tmux常用命令大全
  4. 解决backtrack5连接不上ssh问题
  5. PCL点云去背景(相减)的方法
  6. 如何查看linux系统的jdk版本
  7. SPI与W25Q128
  8. 巧用剪贴蒙版制作西瓜图标
  9. [小o地图-数据] - 下载行政区范围内的POI数据
  10. 通过裁切视频画面来改变视频尺寸 ,同时不影响画质