- 软件生命周期
- 软件定义:问题定义、可行性研究、需求分析
- 软件开发:概要设计、详细设计、实现、测试
- 运行维护期:运行维护
- 扇出 
 一个模块直接调用的其他模块
- 数据模型 
- 概念数据模型:对客观世界复杂事物的描述及对它们内在联系的刻画
- 逻辑数据模型:数据库系统一级的实现
- 物理数据模型:面向计算机物理实现的模型
- a+=a-=a*a 
 赋值运算结合性为自右向左,a+=a-=a*a相当于a=a-a*a,a=a+a;自右向左计算过程为a=a-a*a=-132,a=a+a=-264
- 010 
 这是用八进制表示法的
- C 语言的标识符 
- 关键字、预定义标识符、用户标识符
- 可由数字、字母、下划线组成,且不能以数字开头
- 字符问题 
 字符是以 ASCII 码保存的,给一个字符赋个数字,如果 %d 输出的话就输出 ASCII 码,但如果字符加一个数字之后,再 %c 输出的话,就是两个数字相加。不过超出 9 之后就不一定了。- 1 
 2
 3
 4
 5
 6
 7
 int main()
 {
 char c='9';
 putchar(c+3);
 return 0;
 }
- 通过函数交换主函数内的数值 
 这道题我错在以为 int * t 虽然没有初始化,但是后面会给它赋值。实际上这里只是分配了一块空间用于存放整型变量的地址,而这里是垃圾值。当运行到 *t=*p 的时候就会出错,无法完成交换。(答案的说法是未给指针开辟空间,难道这样还没有分配空间?)- 1 
 2
 3
 4
 5
 6- void swap( int *p,int *q) 
 {
 int *t;
 *t=*p; *p=*q; *q=*t;
 return;
 }
- 字符串复制 1 
 定义字符指针之后,如果没有赋值的话是不能用 strcpy 进行赋值的- 1 
 2
 3
 4
 5
 6
 7
 8
 9
 int main()
 {
 char string[10],*str=string;
 //char string[10],*str=string;
 strcpy(str,"HELDOL");
 puts(string);
 return 0;
 }
- 字符串复制 2 
 一个字符串赋值给另一个,是从头开始覆盖
 下面的程序的结果是:
 China\0g\0- 1 
 2
 3
 4
 5
 6
 7
 8
 int main()
 {
 char a[]="Bejing",b[]="China";
 printf("%d\n", strlen(strcpy(a,b)));//5
 puts(a);//China
 return 0;
 }
- EOF 含义 
 文本文件结束的标志