关键词——C语言程序设计(7-)

信息隐藏
函数名:大写单词(“见名知意”)
名词or动词加名词
eg.Fact为factorial(阶乘)
注释:表示功能及形参并如何使用
变量:小写单词
形容词加名词
函数返回值可以是除了数组的任何一种类型
无需返回任何值可以写成return;
%lu:无符号长整型格式
代码块<50
函数功能要单一
调用函数可能失败
错误处理代码一般在函数末尾,某些错误还要设计专门的错误处理函数
基线
const 常数
用const将形参声明为常量,可以防止形参在函数内被改变
auto自动变量

static long p = 1;

注意:从开始比较好算!p = 1只存在一次,后续保存值为最后的值,空间未被释放!
静态变量与程序共存亡!自动变量与程序块共存亡!
全局变量(保存在静态存储区内,没有显式初始化的外部变量由编译器自动初始化为0)在定义它前被使用(在要被其他文件使用),用下面句子声明
extern 类型名 变量名;
寄存器变量:
定义格式:
register 类型名 变量名;
(寄存器是CPU内部的一种容量有限但速度极快的存储器。)
可将使用频率较高的数据放在CPU
“模块化程序设计”(高聚合,低耦合,提高每个模块的相对独立性)(接口尽量简单)(程序的复用)
“自顶向下,逐步求精”
“设计,开发,测试,调试,测试,维护”
断言(Assert)(需要头文件有<assert.h>)(断言仅用作调试系统,不能作为程序的功能)

int MakeNumber(void)
{
	int number;
	number = (rand() % (MAX_NUMBER - MIN_NUMBER + 1)) + MIN_NUMBER;
	assert(number >= MIN_NUMBER && number <= MAX_NUMBER);
	return number;
}

每个函数定义结束后加一空行
在一个函数体内,相邻的两组逻辑上密切相关的语句块之间加空行
函数名后紧跟左括号
注释需要写想做什么,怎么做(边写代码边注释)
“数组的第二维长度声明永远不能忽略”
折半查找

int BinSearch(long num[], long x, int n)
{
	int low = 0, high = n - 1, mid;
	while(low <= high)
	{
		mid = (high +low)/2;
		if(x > num[mid]){
			low = mid + 1;
		}
		else if (x < num[mid]){
			high = mid - 1;
		}
		else
			return mid;
		}
	return -1;
}

判断flag

int flag = 0;
while(!= find && low <= high)

防止数据溢出

mid = low + (high - low)/2;		//mid = (high + low)/2;

交换法和选择法

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值