必备C语言知识

目录

一、基础知识

1、计算机基本结构*

2、什么是程序

3、程序设计语言的发展

4、程序设计步骤

二、数据的表示

1、数值数据的表示

2、非数值数据的表示

三、程序的编译和调试

1、gcc编译器

2、程序调试

3、C语言基础


一、基础知识

1、计算机基本结构*

冯.诺依曼模型:

        计算机硬件由下图的五部分构成

         存储程序的思想:系统运行的过程就是按一定的顺序不断执行存储器中程序指令的过程

存储器的分类:

        主存储器(内存):程序中待处理的数据和处理的结果都存储在内存中

        外存储器:用来长期保存的数据的大容量存储器

        寄存器:CPU内部的高速存储器,速度快,数目少

 

2、什么是程序

        广义角度上来说,为了实现指定的目标而预先设计的一组可以操作的步骤,叫做一个程序,程序就是可以识别的一组有序的指令(二进制文件)。存储在磁盘上然后加载到内存中执行。

3、程序设计语言的发展

1、机器语言

        直接使用机器指令(0、1序列)来设计程序,能被计算机直接识别,和自然语言不同,难于理解和记忆,工作量大、效率低、无法移植。

2、汇编语言

        将机器指令进行符号化(通过一组简单的符号表示机器指令),更接近于自然语言,更容易理解和使用。但和机器语言一样,工作量大、无法移植

示例:MOV A,1000 

           MOV 1010, A

3、高级语言

        和特定的计算机系统无关,最接近自然语言,一条语句对应多条机器指令,工作量小、开发效率高。BASIC、FORTRAN、PASCAL、C、C++、JAVA、C#等

4、程序设计步骤

编辑(Vi编辑器)->编译、链接(gcc)->执行调试

二、数据的表示

        送入计算机的数字、字母、符号等信息要转换为 0、1组合的数据形式才能被计算机识别。能够进行算数运算得到明确的数值概念的信息成为计算机数值数据,其余的信息成为非数值数据。

1、数值数据的表示

        包括二进制、八进制、十进制和十六进制。

        基数和个位数的权:

        基数:指该进位制中可允许选用的基本数码的个数,如二进制数,基数为2(0、1)可以选用两种任何一个作为基数。

        位权:其大小以基数为底,数字所在位置的序号是指数的整数次幂。

示例:123 = 1*100+2*10+3*1

2、非数值数据的表示

        非数值数据包括文字、符号、图像、语言和逻辑信息等,也都是以0、1的形式存在。字符数据在机器内被编译成二进制编码的形式,而国际采用的统一编码是美国国家信息交换标准代码,简称"ASCII码"

第一部分由 00H 到 1FH 共 32 个,一般用来通讯或作为控制之用,有些字符可显示于屏幕,有些则无法显示在屏幕上。
第二部分是由 20H 到 7FH 共 96 个,这 96 个字符是用来表示阿拉伯数字、英文字母大小写和底线、括号等符号,都可以显示在屏幕上。
第三部分由 80H 到 0FFH 共 128 个字符,一般称为『扩充字符』,这 128 个扩充字符是由 IBM 制定的,并非标准的 ASCII 码。这些字符是用来表示框线、音标和其它欧洲非英语系的字母。
 

三、程序的编译和调试

1、gcc编译器

        gcc(GNU Compiler Collection)是GNU推出的多平台编译器,可将C、C++源程序编译连接成可执行文件,支持以下后缀:

.c                 c语言源代码
.h        程序所包含的头文件     
.i        已经预处理过的C源代码文件
.s        汇编语言源代码文件
.o        编译后的目标文件

示例:

gcc –o hello hello.c
-o    输出可执行文件
-c    只要求编译器输出目标代码(.o文件),而不必输出可执行文件
-g    用于调试
./hello  查看输出结果 

2、程序调试

利用__FILE__,__LINE__,__FUNCTION__实现代码跟踪调试

#include <stdio.h>
int main(int argc,char **argv)
{
   printf("%s,%s,%d\n",__FILE__,__FUNCTION__,__LINE__);
	 return 0;
}

3、C语言基础

一个程序应当包含两部分内容:
对数据的描述:在程序中要指定数据的类型和数据的组织形式,即数据结构
对操作的描述:即操作步骤,也就是算法  

算法基本概念:做任何事情都有一定的步骤。步骤要按照一定的顺序进行,缺一不可,次序也不能错。广义的说,为解决一个问题而采取的方法和步骤就称为算法。

 

 

  • 20
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值