C语言程序设计:现代方法3
2017-10-18 19:48
281 查看
8.数组
#define SIZE (sizeof(a) / sizeof(a[0]))
在多维数组中,C语言是按照行主序存储的。
srand((unsigned) time(NULL));
rand() % N;
memcpy(a, b, sizeof(a));
9.函数
printf的返回值是显示字符的个数。在< stdlib.h>中exit也可用于函数终止,并传递状态码。return是语言级别的,它表示了调用堆栈的返回。exit是系统调用级别的,它表示了一个进程的结束。return是函数的退出(返回);exit函数是进程的退出,它退出应用程序,并将应用程序的一个状态返回给OS。
/*递归 快速排序*/ void quickSort(int* a, int left,int right) { if(left < right) { int i = left, j = right, k = a[left]; while(i<j) { while(i<j && a[j] >= k) j--; if(i < j) s[i++] = s[j]; while(i<j && a[i] <= k) i++; if(i < j) s[j--] = s[i]; } a[i] = k; int mid = (left + right) / 2; quickSort(a, left, mid); quickSort(a, mid+1, right); } } int main() { int a[6] = {1,6,3,9,2,6}; quickSort(a, 0, 5); return 0; }
函数原型中的形参可以不和后面的函数定义给出的名字一致。
测试main函数的返回值是与不同的操作系统有关,许多操作系统都可以在批处理或外壳文件测试main函数的返回值,比如C外壳是$status。
//神秘的函数 //转为二进制 void pb(int n) { if(n != 0) { pb(n/2); putchar('0' + n % 2); } }
10.程序结构
静态局部变量会隐藏来自其他函数的数据地方,但他将会为同一个调用它的函数保留数据。/* 栈 */ #define STACK_SIZE 100 #define TRUE 1 #define FALSE 0 typedef int Bool; /* extern */ int contents[STACK_SIZE]; int top = 0; Bool is_empty(void) { return top == 0; } void make_empty(void) { top = 0; } void push(int element) { if(top == STACK_SIZE) stack_overflow(); contents[top++] = element; } int pop() { if(top == 0) stack_underflow(); return contents[--top]; }
外部变量利弊:
1.共享变量很有用。
2.程序修改期间,如果改变外部变量的值,那么需要检查同一文件内的所有函数受影响程度。
3.很难在其他程序中复用依赖外部变量的函数。
构建C程序编排顺序:
include, define, 类型定义, 全局变量, 函数原型, main, 函数定义。
在每个函数声明之前,要用注释box写出,函数的目的,函数的形参,函数的返回值,以及有什么副作用。
11.指针
相关文章推荐
- c语言程序设计:现代方法-
- C语言程序设计:现代方法4
- C语言程序设计:现代方法
- 开始读《C语言程序设计----现代方法》
- 关于C语言程序设计:现代方法(第2版)的读后感
- C语言程序设计现代方法P198
- C语言程序设计:现代方法 中文高清PDF版下载
- C语言程序设计:现代方法2
- <setjmp.h>非局部跳转(来自C语言程序设计--现代方法第二版)
- C语言程序设计:现代方法5
- C语言程序设计—现代方法之Chapter 3 格式化输入输出(一)
- C语言程序设计:现代方法6
- C语言程序设计现代方法---第六章:循环
- C语言程序设计:现代方法
- C语言程序设计现代方法 第九章练习题P214
- [转载] 人工智能:一种现代方法——第2章 智能化智能体
- 人工智能 一种现代方法 第3章 用搜索树对问题求解
- 人工智能一种现代的方法 --第3章 通过搜索进行问题求解
- C程序设计-现代方法
- 现代统计分析方法分类