交通咨询系统

#include <stdio.h>#include <stdlib.h>#define MVnum 100 //最大顶点数#define Maxint 32767 //定义计算机中的int的最大值 typedef enum {FALSE,TRUE} boolean;typedef struct {//建立图的存储结构 char vexs[MVnum]; //顶点数组 int arcs[MVnum][MVnum]; //邻接矩阵 }MGraph;int D1[MVnum],P1[MVnum];int D[MVnum][MVnum];int P[MVnu...
课程设计 | 2011-06-21 12:54 | 阅读 1052 次 | 评论 0 条

学生成绩处理

#include <stdio.h>#include <string.h> typedef struct{ char number[10]; char name[16]; int score[4]; int total; int position;}student;void sr(student st[],int n) //录入信息函数 { int i; for(i = 1;i <= n;i ++) { printf("输入学号 姓名: \n"); scanf("%s %s",st[i].number,st...
课程设计 | 2011-06-21 12:53 | 阅读 954 次 | 评论 0 条

二叉树的遍历以及求结点上的路径

#include <stdio.h>#include <stdlib.h>#define num 100 typedef struct node{ char data; struct node *lchild,*rchild;}binTnode;typedef binTnode * binTree;int found;binTnode *p; binTree createBinTree(binTree bt) //二叉树建立函数 { binTnode * q[num]; binTnode *s; int front,rear; char c...
课程设计 | 2011-06-21 12:52 | 阅读 1467 次 | 评论 0 条

单词检索与计数

#include <stdio.h>#include <string.h>#include <stdlib.h>#define MAX 256typedef struct{ char ch[MAX]; int length;}SeqString;int main(){ void createTextFile(); //建立文本文件函数 void StrCount(); //单词计数函数 void StrInd(); //检索单词出现在文本文件中的行号、位置以及次数的函数 int partPosit...
课程设计 | 2011-06-21 12:50 | 阅读 1005 次 | 评论 0 条

C陷阱与缺陷 笔记2

当常数0被转换成指针使用,这个指针绝对不能被解除引用,即当我们将0赋值给一个指针变量时,绝对不能企图使用该指针所指向的内存中的所存储的内容。 数组中实际不存在的溢界元素的地址位于数组所占内存之后,这个地址可以用于赋值和比较,但不能引用该元素。 if (bufptr == &amp;buffer[N];等效于if (buffer > &amp;buffer[N-1]);数组buffer中的buffer[N]这个元素是不存在的,但是它的地址是存在的。 运算符&amp;&amp;和||首先对左侧的操作数求值,只在需要的时才对右侧的操作数求值。 运算符?:有三个操作数,a? ...
C语言笔记 | 2011-04-04 22:52 | 阅读 1057 次 | 评论 0 条

深入理解计算机系统 笔记

几乎所有的机器上,多字节对象都被存储为连续的字节序列,对象的地址为所使用字节中最小的地址,例如:int 型变量x的地址为0X100,即地址表达式&amp;X的值为0X100,那么x的4个字节将被存储在存储器的0X100,0X101,0X102和0X103的位置。 考虑一个十位整数,位表示为[Xw-1,Xw-2,...,X1,X0],其中Xw-1是最高有效位。X0为最低有效位,若w是8的倍数,这些位可被分组为字节,期中最高有效字节包括位[Xw-1,Xw-2,...,Xw-8],最低有效位包括[X7,X6,...,X1,X0],其他字节包括中间的位。最低有效字节在最前面的方式为小端法...
C语言笔记 | 2011-04-01 23:01 | 阅读 1384 次 | 评论 1 条

C语言陷阱与缺陷 笔记1

用单引号引起的一个字符实际上代表一个整数,整数值对应于该字符在编译器采用的字符集中的序列值。 用双引号引起的字符串,代表的是一个指向无名数组起始字符的指针,该数组被双引号之间的字符以及一个额外的二进制值为0的字符'\0'初始化。 if(flags &amp; FLAG) 是 if(flags &amp; FLAG != 0 ) 的意思,但 if (flags &amp; FLAG != 0) 是错误的。因为!=运算符的优先级高于&amp;运算符。 r是一个8位整数,且r的低四位与low各位上的数一致,而r的高四位与hi的各位上的数字一致,hi和low是2个整数,值介于0到15...

C语言笔记 数组 指针

声明相当与普通的声明:所说明的并非自身,而是描述其他地方创建的对象。 定义相当于特殊的声明:它为对象分配内存。 定义指针时,编译器并不为指针所指的对象分配空间,只是分配指针本身的空间,除非在定义的同时赋值给指针一个字符串常量,进行初始化,并只有对字符串常量才能如此,并且初始化指针时所创建的字符串被定义为只读,无法修改这个字符串的值。 数组:声明:extern:如extern char a[]:不可以改写成指针的形式。 数组:声明:定义:如char a[10]:不可以改写成指针形式 数组:函数参数:如fun(char a[]):可选择数组或者指针的形式 数组:在表达式中使用:如...
C语言笔记 | 2011-03-20 22:58 | 阅读 1330 次 | 评论 4 条
浏览10560次