Welcome 微信登录

首页 / 软件开发 / C语言

C语言嵌入式系统编程修炼之软件架构篇

C语言嵌入式系统编程修炼之软件架构篇

C语言嵌入式系统编程修炼之软件架构篇2007-10-25 天极网 宋宝华模块划分模块划分的"划"是规划的意思,意指怎样合理的将一个很大的软件划分为一系列功能独立的部分合作完成系统的需求。语言作为一种结构化的程序设计语言,在模块的划分上主要依据功能(依功能进行划分在面向对象设计中成为一个错误,牛顿定律遇到了相对论),C语言模块化程序设计需理解如下概念:(1) 模块即是一个.c文件和一个.h文件的结合,头文件(.h)中是对于该模块接口的声明...
C语言指针使用方法

C语言指针使用方法

C语言指针使用方法2007-10-25girlrong为初学者服务。这是本文的宗旨。指针是和c++中的难点和重点。有些程序员们精通dos下的basic。c语言的其它各种特性,在basic中都有类似的东西。只有指针,是baisc所不具备的。指针是c的灵魂。我不想重复大多数书上说得很清楚的东西,我只是把我看过的书中说得不清楚或没有说,而我又觉得我理解得有点道理的东西写出来。1、指针的概念指针是一个特殊的变量,它里面存储的数值被解释成为内存里的一个地址。要搞清一...
C语言中trim的实现

C语言中trim的实现

C语言中trim的实现2007-10-25老包米本文详细介绍语言中trim的实现描述自己用ATL写了个COM,不支持MFC,所以无法用CString,但支持C编码,遇到字符串(字符数组),想去掉字符串中的空格,C下没有TRIM函数,找又没找到,几行代码自己写吧。往后大家万一遇到用着也方便。说明1.seps是需要去除的字符数组,可以有几个字符,也可以一个。这里是空格,最常用的。2.参数也很简单,第一个是结果数组指针,第二个是原字符数组指针,第三个是需要去掉的...
C语言中实现动态分配二维数组

C语言中实现动态分配二维数组

C语言中实现动态分配二维数组2007-10-25在语言中动态的一维数组是通过malloc动态分配空间来实现的,动态的二维数组也可以通过malloc动态分配空间来实现。实际上,语言中没有二维数组,至少对二维数组没有直接的支持,取而代之的是“数组的数组”,二维数组可以看成是由指向数组的指针构成的数组。对于一个二维数组p[i][j],编译器通过公式*(*(p+i)+j)求出数组元素的值:1、p+i 计算行指针。2、*(P+i) 具体的行,...
用C语言实现Ping程序功能

用C语言实现Ping程序功能

用C语言实现Ping程序功能2007-10-25 IBM DW中国 梁俊辉大部分人用ping命令只是作为查看另一个系统的网络连接是否正常的一种简单方法。在这篇文章中,作者将介绍如何用语言编写一个模拟ping命令功能的程序。ping命令是用来查看网络上另一个主机系统的网络连接是否正常的一个工具。ping命令的工作原理是:向网络上的另一个主机系统发送ICMP报文,如果指定系统得到了报文,它将把报文一模一样地传回给发送者,这有点象潜水艇声纳中使用的发声装置。例如...
C语言中位域的使用

C语言中位域的使用

C语言中位域的使用2008-01-05一、位域有些信息在存储时,并不需要占用一个完整的字节, 而只需占几个或一个二进制位。例如在存放一个开关量时,只有0和1 两种状态, 用一位二进位即可。为了节省存储空间,并使处理简便,C语言又提供了一种数据结构,称为“位域”或“位段”。所谓“位域”是把一个字节中的二进位划分为几个不同的区域, 并说明每个区域的位数。每个域有一个域名,允许在程序中按域名...
实现C语言高效编程的四大秘技

实现C语言高效编程的四大秘技

实现C语言高效编程的四大秘技2008-01-05 VCKBASE 求是赤子引言:编写高效简洁的C语言代码,是许多软件工程师追求的目标。本文就工作中的一些体会和经验做相关的阐述,不对的地方请各位指教。第1招:以空间换时间计算机程序中最大的矛盾是空间和时间的矛盾,那么,从这个角度出发逆向思维来考虑程序的效率问题,我们就有了解决问题的第1招——以空间换时间。例如:字符串的赋值。方法A,通常的办法:#define LEN 32char st...
C程序中外部变量与函数关系解惑

C程序中外部变量与函数关系解惑

C程序中外部变量与函数关系解惑2008-01-05 vckbase 朱海清 孟学桢C程序由一组对象组成,这些对象包括程序中所使用的变量和实现特定功能的函数。变量可以分为函数内部定义、使用的变量和函数外部定义的变量,通常情况下,把函数内部定义、使用的变量称为内部变量或局部变量,而将在函数外部定义的、供许多函数所使用的变量称为外部变量,一般情况下,也可以称为全局变量。由于C语言不允许在一个函数中定义其他函数,因此函数本身是外部的。一般情况下,也可以说函数是全局...
C语言图形函数(1)

C语言图形函数(1)

C语言图形函数(1)2008-01-05Turbo C提供了非常丰富的图形函数,所有图形函数的原型均在graphics. h中,本节主要介绍图形模式的初始化、独立图形程序的建立、基本图形功能、图形窗口以及图形模式下的文本输出等函数。另外,使用图形函数时要确保有显示器图形驱动程序*BGI,同时将集成开发环境Options/Linker中的Graphics lib选为on,只有这样才能保证正确使用图形函数。1. 图形模式的初始化不同的显示器适配器有不同的图形分...
C语言字符屏幕函数

C语言字符屏幕函数

C语言字符屏幕函数2008-01-05Turbo C2.0的字符屏幕函数主要包括文本窗口大小的设定、窗口颜色的设置、窗口文本的清除和输入输出等函数。1.文本窗口的定义Turbo C2.0默认定义的文本窗口为整个屏幕, 共有80列(或40列)25行的文本单元, 每个单元包括一个字符和一个属性, 字符即ASCII 码字符, 属性规定该字符的颜色和强度。Turbo C2.0可以定义屏幕上的一个矩形域作为窗口, 使用window()函数定义。窗口定义之后, 用有关...
C语言图形函数(2)

C语言图形函数(2)

C语言图形函数(2)2008-01-05二、设定填充方式TURBO C有四个与填充方式有关的函数。下面分别介绍:void far setfillstyle(int pattern, int color);color的值是当前屏幕图形模式时颜色的有效值。pattern的值及与其等价的符号常数如表7所示。表7. 关于填充式样pattern的规定 ━━━━━━━━━━━━━━━━━━━━━━━━━━━ 符号常数 数值 含义 ──────...
C语言常用的三种排序方法总结与探讨

C语言常用的三种排序方法总结与探讨

C语言常用的三种排序方法总结与探讨2008-01-05排序是程序设计中非常重要的内容,它的功能是将一组无序的的数据,排列成有序的数据序列,经过排列后的数据,要么是从大到小排列,要么是从小到大排列。一般也只有这两种情况。例如我们统计班级学生的成绩,那么一般是按照学号来进行统计,原来成绩是无序排列的,这样的话非常不适合于我们对成绩的查询,那么一般我们进行成绩查询之前,先进行排序,如按照高分到低分的排序,这样可以很快地查出本班的最高分和最低分,和成绩比较靠前或靠...
Turbo C 2.0使用指南

Turbo C 2.0使用指南

Turbo C 2.0使用指南2008-04-04(本文的许多命令或方法同样适用于TC3)在开始看本文以前,我先说明一下C语言的安装和使用中最应该注意的地方:许多网友在下载Turbo C 2.0和Turbo C++ 3.0后,向我问得最多的是在使用过程中碰到如下问题:1)出现找不到 stdio.h conio.h等include文件;2)出现cos.obj无法连接之类的错误这些问题是由于没有设置好路径引起的,目前下载的TC2,TC3按安装分类大概有两种版本...
TC编程手册之二

TC编程手册之二

TC编程手册之二2008-04-04函数与数组.由于时间和精力有限,故不能像谭浩强谭老那样把C语言讲的细致入微, 但我想简单易懂的讲解对初学者来说还是有很大帮助的.函数:几乎所有的C语言教材都把函数部分单列一章, 可见函数在C语言中是十分重要的.当一位初学者试图编写一则上百行的程序时, 他会很快就被数不清的变量搞得晕头转向, 再看各条语句的逻辑关系, 恐怕连自己也看不懂了吧, 更不用说别人读你的程序了. 这时你所需要的就是把一个较大的程序分为若干个程序模块...
TC编程手册之一

TC编程手册之一

TC编程手册之一2008-04-04本文是TC的第一部分,主要介绍一些TC相关的基础知识,并着重针对循环、变量等TC基本概念中的易混的淆部分加以辨析,即是一份编程初学者的指南,也可算作是对《C how to program》的一些补充。 在正式进入编程部分之前,让我们先详细了解一下Turbo C的编译环境,以便在编程时可以更加得心应手。File菜单Pick--快速读取最近的9个文件。(真的是很方便的功能,特别是在DOS时代 ^-^)Write to--把文...
用C编写Windows服务程序的五个步骤

用C编写Windows服务程序的五个步骤

用C编写Windows服务程序的五个步骤2008-04-04Windows 服务被设计用于需要在后台运行的应用程序以及实现没有用户交互的任务。为了学习这种控制台应用程序的基础知识,C(不是C++)是最佳选择。本文将建立并实现一个简单的服务程序,其功能是查询系统中可用物理内存数量,然后将结果写入一个文本文件。最后,你可以用所学知识编写自己的 Windows 服务。当初我写第一个NT 服务时,我到 MSDN 上找例子。在那里我找到了一篇 Nigel Thomp...
C语言初学者的困惑-如何由dos向windows转变

C语言初学者的困惑-如何由dos向windows转变

C语言初学者的困惑-如何由dos向windows转变2008-04-04很多人学C语言很长一段时间了,还不知C究竟能干什么,以为学习c语言没什么用,纯粹是为了应付学校的考试.更有人说"学C语言?别做如此愚蠢的行为了!赶快学C++吧!"这种看法是不对的,不应该把c跟c++之间划起绝对的界限,过分看重c++而把c贬得一无是处,这是很片面的.C++功能虽然强大,但它毕竟是c的"超集",在c++里有哪一处找不到c的影子呢?没...
Windows下C语言网络编程快速入门

Windows下C语言网络编程快速入门

Windows下C语言网络编程快速入门2008-04-04C语言的学习,一般的方式是,先学C,然后是C++,最好还要有汇编语言和微机原理基础,然后才是Visual C++。这样的方式,对学习者来说,要花费很多时间和耐力。而在学校教学中,也没有时间深入学习Windows编程的实用技术了。其实,具有了C语言基础后,再有一些基本的C++类的概念,就可以直接学习Windows C编程了。一、走近Windows C语言很多语言都把显示一个“Hello,W...
c语言常用库函数使用方法及用途

c语言常用库函数使用方法及用途

c语言常用库函数使用方法及用途2007-10-25absread()读磁盘绝对扇区函数原形:int absread(int drive,int num,int sectnum,void *buf)功能:从drive指定的驱动器磁盘上,sectnum指定的逻辑扇区号开始读取(通过DOS中断0x25读取)num个(最多64K个)扇区的内容,储存于buf所指的缓冲区中。参数:drive=0对应A盘,drive=1对应B盘。返回值:0:成功;-1:失败。头文件:d...
<< 41 42 43 44 45 46 47 48 49 50 >>