- 软件生命周期
- 软件定义:问题定义、可行性研究、需求分析
- 软件开发:概要设计、详细设计、实现、测试
- 运行维护期:运行维护
扇出
一个模块直接调用的其他模块数据模型
- 概念数据模型:对客观世界复杂事物的描述及对它们内在联系的刻画
- 逻辑数据模型:数据库系统一级的实现
- 物理数据模型:面向计算机物理实现的模型
a+=a-=a*a
赋值运算结合性为自右向左,a+=a-=a*a相当于a=a-a*a,a=a+a;自右向左计算过程为a=a-a*a=-132,a=a+a=-264010
这是用八进制表示法的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
6void 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\01
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 含义
文本文件结束的标志