C语言二级考试笔记

1,在数据流图中,用箭头表示数据流,沿箭头方向传送数据的通道。在程序流程图中,用箭头表示控制流。
2,结构化程序设计的原则。自顶向下,逐步求精,模块化,限制使用GOTO语句。
3,软件设计中模块划分的原则,低耦合,高内聚。
4,在软件开发中,需求分析阶段产生的主要文档是 软件需求规格说明书。概要设计阶段编写的文档是 集成测试计划。总体设计阶段产生的文档是 概要设计说明书。可行性分析阶段产生 可行性分析报告。
5,除了堆排序,最坏情况需要比较的次数为nlog2n,其余的都是n(n-1)/2
6,栈,一种特殊的线性表,其插入插出运算与删除运算都只在线性表的一段进行。先进后出或后进先出。数据的插入与删除都在栈顶进行。
7,在数据库的逻辑设计中,将E-R图向关系模型转换
8,运算。自然连接是一种特殊的等值连接,它要求俩个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉。笛卡尔积是用R集合中的元素为第一元素,S集合中的元素为第二元素构成有序对。
9,C语言中的每条执行语句最终都会被转换成二进制的机器指令,而非执行语句不会生成二进制的机器指令。由C语言构成的指令序列称为C源程序,C源程序经过C语言编译程序编译之后生成了一个后缀为.obj的二进制文件(称为目标文件),最后要由“连接程序”把此.obj文件与C语言提供的各种库函数连接起来生成一个后缀为.exe的可执行文件。
10,常量有整型常量,实型常量,字符常量,字符串常量和符号常量。在整型常量中,十进制,八进制和十六进制整型常量。八进制整型常量的开头是数字0,基本数字范围是07十六进制整型常量的开头数字是0x.基本数字范围是015,其中1015写成AF或a~f.在实型常量中有俩种表示形式,小数形式和指数形式,小数形式表示的实型常量必须要有小数点。指数形式,以“e”或“E”后跟一个整数来表示以10为底数的幂数,而且规定在他们之后必须要有数字,且e或E后面的指数必须为整数。
11,C语言中标识符由字母,下划线,数字组成。且开头必须是字母或下划线,不能由数字开头。另外,关键字不能作为标识符。C语言中区分大小写,所以如果有关键字,但是是大写,也属于合法的标识符。关键字有for,void,char,else,continue,false,public,case,do,finally,float,while .
12,exp(x)函数表示ex函数。Fabs()是返回浮点数的绝对值。Sqrt()是开根号计算,pow(n,x)是nx函数
13,(求余)%取模运算符。二元运算符,具有左结合性,运算的两段必须是整型。
14,C语言中利用size()函数判断数据类型长度,在VC6.0平台中,整型int占4个字节,double型数据占有8个字节。单精度实数提供7位有效数字,双精度实数提供15~16位有效数字。
15,文件的读写。数据块读、写函数,用于向文件读写一组数据。Fread(buffer,size,count,fp);
Fwrite(buffer,size,count,fp);在其中,buffer是一个指针,表示起始地址;size是要读,写的字节数;count表示要进行读,写多少个size字节的数据项。0功能,从文件流中读数据,读取count个元素,每个元素size字节,如果调用成功返回count.buffer,用来接收数据的内存地址,大小至少是sizecount字节。Size,单个元素的大小,每个元素是size字节。Count,元素的个数,每个元素是size字节。Stream,输入流。
16,十进制与二进制的转换。位运算符的使用。“<<”:将一个数的二进制全部左移若干位。“>>”将一个数的二进制全部右移若干位。“~”:按位求反,按位取反即0变1,1变0.
“^”:按位异或。若俩个二进制位相同,则结果为0,不同则为1。“|”:按位或,俩个相应的二进制中只要有一个为1,则该位的结果为1,否则为0.“&”:按位与。若俩个相应的二进制都为1,则该位的结果为1,否则为0.
十进制与二进制的转换。
17,函数malloc(size(int))的作用是开辟一个长度为size(int)的存储空间。
Malloc()函数。函数的原型是:void
malloc(unsigned int size);函数的作用为:系统自动在内存的动态存储区中,分配长度为size的一段连续的空间。若此函数执行成功,则函数返回值为指向被分配的域起始地址的指针(该函数的返回值的基本类型为viod)若该函数执行失败(如内存空间不足的情况),则函数返回值为空指针(NULL).
18,c语言的预处理命令是以“#”号开头的命令,他们不是c语言的可执行命令,这些命令应该在函数之外书写,一般在源文件的最前面书写,但不是必须在起始位置书写,而且c语言的预处理能够实现宏定义和条件编译等功能。
19,typedef说明一种新类型名。格式:typedef 定义体 新名称 例如:typedef int INT 之后便可以用INT来定义一个int型的变量,如INT a=0与int a=0等价。别名和原定义体实际上是同一类型。
20,函数,结构体变量可以作为函数的参数和返回值,作为函数的实参时,可以实现函数的传值调用,当使用结构体变量作为函数的形参时,实参也应该是结构体变量名以实现传值调用,实参将拷贝副本给形参,在被调用函数中改变形参值对于调用函数中的实参没有影响。
21,结构体类型变量的定义。(1)先声明结构体类型再定义变量名 struct time time1,time2;
结构体类型名 结构体变量名; time1和time2为struct time类型的变量,及他们都具有struct time类型的结构(2)在声明类型的同时定义变量 一般形式为:struct 结构体名{成员列表}变量名列表;(3)直接定义结构体类型变量 一般形式为;struct{成员列表}变量名列表。 注意,不能在定义结构体的同时,又用结构体类型名定义变量。例如struct ord {intx; inty; intz}struct ord a;
22,变量的存储类别。(1)auto变量 当函数内部或复合语句内定义变量时,如果没有指定存储类别,或使用了auto说明符,系统就认为所定义的变量具有自动类别。函数中的局部变量,动态的分配存储空间,数据存储在动态存储区中,在调用该函数时系统会给他们分配存储空间,在函数调用结束时就自动释放这些存储空间。(2)register变量 寄存器变量也是自动类变量。它与auto变量的区别仅在于:用register说明变量是建议编译程序将变量的值保留在CPU的寄存器中,而不是像一般变量那样占用内存单元.为了提高效率,c语言允许将局部变量的值放在CPU中的寄存器中,这种变量叫“寄存器变量”,只有局部自动变量和形式参数可以作为寄存器变量。(3)exter变量 外部变量(及全局变量)是在函数的外部定义的,它的作用域为从变量定义处开始,到本程序文件的末尾,如果外部变量不在文件的开头定义,其有效范围只限于定义处到文件终了。(4)static变量 静态局部变量属于静态存储类别,在静态存储区内分配存储单元。在程序的整个运行期间都不会释放。
23,声明静态局部变量:函数调用结束后,其占用的内存单元不释放,在下次该函数调用的时,该变量保留上一次函数调用结束时的值。
24,for语句。(1)一般形式:for(表达式1;表达式2;表达式3)for语句中表达式可以部分或者全部省略。但两个“;”不可省略。圆括号不可省略,循环体只能是一条语句,如果要完成多项操作,需使用复合语句。(2)执行过程。先求表达式1的值;求表达式2的值,若其值为真(非0),则执行for语句中指定的内嵌语句,然后执行for语句中指定的内嵌语句,然后执行下面的步骤(3)若其值为假(0),则退出循环,执行for语句以下的其他语句(3)求表达式3的值(4)重复执行步骤2.
25,逻辑表达式。由逻辑运算符和逻辑对象组成,参与逻辑运算的对象可以是一个具体的值,还可以是c语言中任意合法的表达式。运算结果为1(真),0(假) A&B运算中,只有A,B同为真时才为真。A||B运算中,只有A,B同为假时才为假。关系运算符不能连用,
0<x<10,可改写成0<x&&x<10.
26,if语句和if语句构成的选择结构,(1)if(表达式)语句(2)if(表达式)语句1
else 语句2(3)if(表达式1)语句1 else if(表达式2)语句2 …else语句n
else必须与if配对,共同组成if…else语句 复合语句时,用{}扩住。
27,字符常量,在其中遇“\”转义字符,后面跟不同字符不同意思,如果循环中遇\字符循环结束,所以只统计\之前的。
28,数组。一维数组定义方式为:类型说明符 数组名[常量表达式];
29,字符串处理函数。puts() gets() strcpy() strcat() strlen() strcmp()
30,利用数组中的元素倒序。t=a[i];a[i]=a[n-1-i];a[n-1-i]=t;
31,二维数组的初始化。例如:int a[3][4]={{0,1,2,3},{4,5,6,7},{8,9,10,11}};(为3行数值赋值)
Int a[3][4]={0,1,2,3,4,5,6,7,8,9,10,11};(为12个元素赋值) int a[3][4]={{0},{4},{8}}(与一维数组一样,没有赋值的元素默认为0) int a[][4]={0,1,2,3,4,5,6,7,8,9,10,11};(为全部元素赋值时候可以省去第一个常量)对于二维数组,只可以省略第一个方括号内的常量表达式,而不能省略第二个方括号中的常量表达式。
32,指针是用来存放地址的变量,定义指针变量的一般形式: 类型名*指针变量名。赋值时应将某个变量地址即&x赋给指针变量。不能将一个整数直接赋给指针变量作为地址,函数的返回值可以是地址,即指针。函数调用中形参值的变化不会传递给实参。
33,case常量表达式只是起语句标号作用,并不是该处进行条件判断。执行switch的表达式,应该找到与之匹配的case语句继续进行执行。break是结束整个循环体,而continue是结束单次循环。Rand 是随机数
34,%求余运算符,他的俩端必须都是整型。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值