c语言计算机二级常考点

c语言计算机二级常考点,第1张

目录

1.各种图的说明

2.二叉树专题

3.查找和排序算法专题

4.位运算

5,算法的特征:

6.标识符总结

7,栈和队列

8.c语言实质

9.指针(数组,二维数组,文件 ,函数 等类型的指针)

10.算法的特征:

11.标识符总结

 

1.各种图的说明 软件开发阶段

1.规划阶段: UC图

2.可行性分析阶段 : 系统流程图

3.需求分析阶段 : DFD IPO STD

4.概要设计:层次图,HIPO

5.详细设计:程序流程图 ,PAD, N-S图

数据库的图

1.E-R图

1.矩形:实体

2.椭圆:属性

3.菱形:关系

 

2.二叉树专题 二叉树中度为0 的节点和度为2 的节点的关系

 

3.查找和排序算法专题 一,查找(最坏的比较次数)

1顺序查找:n

2二分查找:log 2 n;

二,排序 1,常见的排序算法

稳定的:直接插入排序 ,冒泡排序,归并排序

一,插入排序

(1)直接插入排序:打牌,遍历每一张牌,找到合适的位置插入进去(合适的位置:比左大,比右小)

(2)希尔排序:插入排序的升级版,特点是,把牌分成几份然后进行插入

二,选择排序

(1)简单选择排序:每一轮选择出最大的和最小的,分别排在上一轮选出的大小王后面

(2)堆排序:类似于二叉树,每一轮输出最大的或者最小的,输出完之之就出局

三,交换排序

(1)冒泡排序:每个数不停的轮完一次和右边的数的交换

(2)快速排序:选择基准数(通常用最右边的),两边来回比较,直到分组只剩下一个数时

四,归并排序

(1)不停的二路拆开,到单独个体之后排序,然后合并

易混淆的排序:(平均复杂度最小的的:“快堆并”,最坏情况下最小的:“堆并")

 

4.位运算 &:按位与

同一为1

|:按位或

同0为0

^:按位异或:

不同为1,相同为0

~:按位取反:

1变0,0变1

 

5,算法的特征:

1.有穷性

2.可行性

3.健壮性

4,输入:可以有0个或者多个输入

5,输出:不可能没有输出

 

6.标识符总结

1.由下划线,数字,和字母组成,但是不能以数字开头

2.八进制的开头为0,十六进制开头为0X ,可以在小数点后面开头,如:12.0X23123

3.科学技术法表示: E/e 后面一定要是整数 , .123E3 也可 或者 。123E+3

4,数字中不能有逗号

5,八进制数字中不能有8和8以上

6.关键字不能作为标识符

7.标识符并不能认为大写和小写的标识符是一样的

 

7,栈和队列 1.栈:

--b = ;

2.队列:

rear = bear = 1 ; 两种情况,1是为空,2是栈满

rear = bear ; 栈满

 

8.c语言实质 0.归类:结构化语言

1.顶向下

2.逐步求精

3.模块化

4.限制使用goto语句

目的:让语言更具有易读性,利于维护

函数构成结构化语言!

1.基本结构: 1.线性结构(一对一)

数组 , 队列 ,栈 ,串

2.非线性结构(一对多或者多对一)

二维数组,多维数组,广义表,二叉树

2.语言编译流程

代码编译 -------> .obj指令文件 -----------> .exe执行文件

 

9.指针(数组,二维数组,文件 ,函数 等类型的指针) 1.数组

char s[10]="asda" ; 正确

char s[10]; s="asda";错误

 

char *s ;s= ”asda“ ;正确

char *s ;s={"asda"}; 错误

 

int n = 3 ,*p =&n ; 正确 ; 此时是边声明变初始化

int n =3 ; *p = &n;错误 ; 此时*p是值,&n是地址,二者不相同

 

int a[3],*p =a ; a[2] 等同 *(a+2) ;正确

int a[3],*p =a ; a[2] 等同 *a+2 ;错误 表示 a[0]的值+2

 

2,指针指向二维数组的调用

1,void A( (*a)[n] , *b ) {}

 

void main ()

{ int x[N][N] ,y[N] ;

A(x , y); //调用函数

}

 

2,int m[2][3] ,(*q)[3];

q = m ;

(1) *(*(q+1)+2);正确

(2)*(q[1]+2);正确和上面相同

 

3,指针指向文件的调用

void a( char *fildmdle )

{

File *fp ;

Fopen=( fp = ( fildmdle ,"+r" ); ); //此时不带*号,是因为 传递的是引用参数,去除信号就代表地址,数组 //首地址名可以表示整个数组

 

}

void main ()

{

a( "student , date " );
}

4.指针指向方法的调用

void f1 ( int x ) { xxxx ; }

void (*f)( ) ;

f = f1 ;

f(a);

 

5.数组指针的地址作为参数去传递,是否会改变实参的值

不会,如若将指向数组的指针*p,将其地址作为参数传递,那么若要改变其原本实参的值,一定要是指针的指针作为引用参数的传递

6.指针变量的赋值

*p ,给地址p赋值的时候不能是数,一定要是地址或者 NULL

 

10.算法的特征:

1.有穷性

2.可行性

3.健壮性

4,输入:可以有0个或者多个输入

5,输出:不可能没有输出

 

11.标识符总结

1.由下划线,数字,和字母组成,但是不能以数字开头

2.八进制的开头为0,十六进制开头为0X ,可以在小数点后面开头,如:12.0X23123

3.科学技术法表示: E/e 后面一定要是整数 , .123E3 也可 或者 。123E+3

4,数字中不能有逗号

5,八进制数字中不能有8和8以上

6.关键字不能作为标识符

7.标识符并不能认为大写和小写的标识符是一样的

 

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/3002629.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-09-27
下一篇 2022-09-27

发表评论

登录后才能评论

评论列表(0条)

保存