欢迎访问 水平网    今天是:2017年11月22日 注册 | 登录 | 订阅 | 收藏
推荐文章
热点文章
专题
JQuery框架
Prototype.js
HTML5

C语言基础教程:指针、结构、联合和枚举

本节专门对第二节曾讲述过的指针作一详述。并介绍Turbo C新的数据类型: 结构、联合和枚举, 其中结构和联合是以前讲过的五种基本数据类型(整型、浮点型、字符型、指针型和无值型)的组合。 枚举是一个被命名为整型常数的集合。 最后对类型说明(typedef)和预处理指令作一阐述。 1、 指 针(point)学习Turbo C语言, 如果你不能用指针编写有效、正确和灵活的程序, 可以认为你没有学好C语言。指针、地址、数组及其相互关系是C语言中最有特色的部分。规范地使用指针, 可以使程序达到简单明了, 因此, 我们不但要学会如何正确地使用指针, 而且要学会在各种情况下正确地使用指针变量。 1. 指针和地址 1.1 指针基本概念及其指针变量的定义 1.1.1 指针变...
类别:C/S程序开发 - C/C++,阅读:918,更新:2014-11-22

C语言基础教程:输入输出函数及控制流程语句

本节主要介绍Turbo C2.0标准输入输出函数和文件的输入输出函数。通过本节的学习可以使读者掌握Turbo C2.0的屏幕输出、键盘输入输出以及磁盘文件的读写函数, 并能开始进行一些简单的程序的编写。 控制流程语句主要包括: 条件语句、循环语句和开关语句。 1.1 标准输入输出函数 1.1.1 格式化输入输出函数 Turbo C2.0 标准库提供了两个控制台格式化输入、 输出函数printf( ) 和scanf(), 这两个函数可以在标准输入输出设备上以各种不同的格式读写数据。 printf()函数用来向标准输出设备(屏幕)写数据; scanf() 函数用来从标准输入设备(键盘)上读数据。下面详细介绍这两个函数的用法。 一、printf()函数 printf()函数是格式化输出函数, 一般用于向...
类别:C/S程序开发 - C/C++,阅读:929,更新:2014-11-22

C语言运算符

C语言的内部运算符很丰富,运算符是告诉编译程序执行特定算术或逻辑操作的符号。C语言有三大运算符:算术、关系与逻辑、位操作。另外,C还有一些特殊的运算符,用于完成一些特殊的任务。2.6.1算术运算符表2-5列出了C语言中允许的算术运算符。在C语言中,运算符“+”、“-”、“*”和“/”的用法与大多数计算机语言的相同,几乎可用于所有C语言内定义的数据类型。当“/”被用于整数或字符时,结果取整。例如,在整数除法中,10/3=3。一元减法的实际效果等于用-1乘单个操作数,即任何数值前放置减号将改变其符号。模运算符“%”在C语言中也同它在其它语言中的用法相同。切记,...
类别:C/S程序开发 - C/C++,阅读:742,更新:2014-11-22

结构化程序设计-算法

什么是程序?程序= 数据结构+ 算法。 对于面向对象程序设计,强调的是数据结构,而对于面向过程的程序设计语言如C、P a s c a l、F O RT R A N等语言,主要关注的是算法。掌握算法,也是为面向对象程序设计打下一个扎实的基础。那么,什么是算法呢?人们使用计算机,就是要利用计算机处理各种不同的问题,而要做到这一点,人们就必须事先对各类问题进行分析,确定解决问题的具体方法和步骤,再编制好一组让计算机执行的指令即程序,交给计算机,让计算机按人们指定的步骤有效地工作。这些具体的方法和步骤,其实就是解决一个问题的算法。根据算法,依据某种规则编写计算机执行的命令序列,就是编制程序,而书写时所应遵守的规则,即为某...
类别:C/S程序开发 - C/C++,阅读:806,更新:2014-10-13

缓冲文件系统

在前面的程序设计中,我们介绍了输入和输出,即从标准输入设备—键盘输入,由标准输出设备—显示器或打印机输出。不仅如此,我们也常把磁盘作为信息载体,用于保存中间结果或最终数据。在使用一些字处理工具时,会利用打开一个文件来将磁盘的信息输入到内存,通过关闭一个文件来实现将内存数据输出到磁盘。这时的输入和输出是针对文件系统,故文件系统也是输入和输出的对象,谈到输入和输出,自然也离不开文件系统。文件可以从不同的角度来分类:1) 按文件所依附的介质来分:有卡片文件、纸带文件、磁带文件、磁盘文件等。2) 按文件内容来分:有源文件、目标文件、数据文件等。3) 按文件中数据组织形式分:有字符文件和二进制文件。字符...
类别:C/S程序开发 - C/C++,阅读:743,更新:2014-10-13

C语言基础教程:数据类型、变量和运算符

本节首先介绍Turbo C程序的基本组成部分; 然后介绍Turbo C的数据类型、变量类型、变量的初始化和赋值; 最后介绍Turbo C的有关操作。 通过本节的学习, 可以对Turbo C语言有一个初步认识。 1. Turbo C程序的一般组成部分 Turbo C 2.0 象其它语言一样按其规定的格式和提供的语句由用户编写应用程序。请看下面一段Turbo C源程序。 例1: /*Example program of Turbo C*/ #include <stdio.h> /*包含文件说明*/ void lgc(void); /*子函数说明*/ char answer; /*定义全程变量*/ int main() /*主函数定义*/ { char a; /*定义局部变量*/ clrscr(); gotoxy(12,3); puts("Welcome to use Turbo C2.0!"); gotoxy(15, 13);...
类别:C/S程序开发 - C/C++,阅读:639,更新:2014-10-13

C/C++内存耗尽怎么办

如果在申请动态内存时找不到足够大的内存块,malloc 和new 将返回NULL 指针,宣告内存申请失败。通常有三种方式处理“内存耗尽”问题。 (1)判断指针是否为NULL,如果是则马上用return 语句终止本函数。例如: void Func(void) { A *a = new A; if(a == NULL) { return; } … } (2)判断指针是否为NULL,如果是则马上用exit(1)终止整个程序的运行。例如: void Func(void) { A *a = new A; if(a == NULL) { cout << “Memory Exhausted” << endl; exit(1); } … } (3)为new 和malloc 设置异常处理函数。例如Visual C++可以用_set_new_hander 函数为new 设置用户...
类别:C/S程序开发 - C/C++,阅读:627,更新:2014-10-13

C++引用与指针比较

一、比较一引用是C++中的概念,初学者容易把引用和指针混淆一起。 一下程序中,n是m的一个引用(reference),m是被引用物(referent)。 int m; int &n = m; n相当于m的别名(绰号),对n的任何操作就是对m的操作。 所以n既不是m的拷贝,也不是指向m的指针,其实n就是m它自己。 引用的规则: (1)引用被创建的同时必须被初始化(指针则可以在任何时候被初始化)。 (2)不能有NULL引用,引用必须与合法的存储单元关联(指针则可以是NULL)。 (3)一旦引用被初始化,就不能改变引用的关系(指针则可以随时改变所指的对象)。 以下示例程序中,k被初始化为i的引用。 语句k = j并不能将k修改成为j的引用,只是把k的值改变成为6。 由...
类别:C/S程序开发 - C/C++,阅读:728,更新:2014-10-13

C语言编译全过程剖析

 编译的概念:编译程序读取源程序(字符流),对之进行词法和语法的分析,将高级语言指令转换为功能等效的汇编代码,再由汇编程序转换为机器语言,并且按照操作系统对可执行文件格式的要求链接生成可执行程序。编译的完整过程:C源程序-->预编译处理(.c)-->编译、优化程序(.s、.asm)-->汇编程序(.obj、.o、.a、.ko)-->链接程序(.exe、.elf、.axf等) 1. 编译预处理读取c源程序,对其中的伪指令(以#开头的指令)和特殊符号进行处理伪指令主要包括以下四个方面:(1)宏定义指令,如#define Name TokenString,#undef等。对于前一个伪指令,预编译所要做的是将程序中的所有Name用TokenString替换,但作为字符串...
类别:C/S程序开发 - C/C++,阅读:694,更新:2014-10-13

用c++实现简单的大小写转换

本例子利用构造函数的调用实现#include <iostream.h>class Sample{char c1,c2;public:Sample(char a) {c2=(c1=a)-32;}void print(){cout<<c1<<"转换为"<<c2<<endl;}};void main(){Sample a('a'),b('b');a.print();b.print();}程序执行结果:a转换为Ab转换为BPress any key to continue
类别:C/S程序开发 - C/C++,阅读:687,更新:2014-10-13

C#中如何得到主机名与IP地址

/* * 文件名称:GetIpAndName * 文件标识:见配置管理计划书 * 文件摘要:得到本地主机的名字与IP */ using System; using System.Net;  namespace GetIpAndName { class Class1 { [STAThread] static void Main(string[] args) { //得到主机名 string name = Dns.GetHostName(); Console.WriteLine("主机名字:{0}",name); IPHostEntry me = Dns.GetHostByName(name); //输出得到的IP foreach (IPAddress ip in me.AddressList) { Console.WriteLine("IP 地址:{0}",ip.ToString()); } Console.Read(); } } }...
类别:C/S程序开发 - C/C++,阅读:696,更新:2014-10-13

利用Visual C#编程模拟鼠标操作

有时,我们需在我们的程序中模拟鼠标的移动、点击等动作。——比如,一个再现用户操作的宏,或者一个演示操作方法的Demo程序。那么,我们在.Net中如何实现呢?   .Net并没有提供改变鼠标指针位置、模拟点击操作的函数;但是Windows API提供了。其中一个是:[DllImport("user32.dll")]static extern bool SetCursorPos(int X, int Y);   该函数可以改变鼠标指针的位置。其中X,Y是相对于屏幕左上角的绝对位置。  另一个函数是:[DllImport("user32.dll")]static extern void mouse_event(MouseEventFlag flags, int dx, int dy, uint data, UIntPtr extraInfo);  这个函数不仅可以...
类别:C/S程序开发 - C/C++,阅读:664,更新:2014-10-13