计算机科学与技术专业专升本考试大纲知识点汇总.docx
《计算机科学与技术专业专升本考试大纲知识点汇总.docx》由会员分享,可在线阅读,更多相关《计算机科学与技术专业专升本考试大纲知识点汇总.docx(89页珍藏版)》请在冰豆网上搜索。
计算机科学与技术专业专升本考试大纲知识点汇总
天水师范学院2016年专(高职)升本招生
计算机科学与技术专业
考试大纲知识点整理汇总
《高级语言程序设计(C语言)》
《数据结构(C语言版)》
《高级语言程序设计(C语言版)》
一、C语言概述
(一)理解C语言的特点和基本构成
1.C语言的特点
◆语言简洁、紧凑,使用方便、灵活。
◆运算符丰富。
◆数据类型丰富。
◆具有结构化的控制语句
◆语法限制不太严格,程序设计自由度大。
◆用C语言生成目标代码质量高,程序执行效率高。
◆允许直接访问物理地址,能进行位操作,可以直接对硬件进行操作
◆用C语言编写的程序可移植性好。
2.C语言的基本构成
C语言程序由头文件和源文件组成
头文件中包含程序中引用了哪些系统函数库,常数定义等。
源文件中包含完成程序需要的逻辑控制语句和数据结构。
(二)理解C语言程序的结构
1)程序结构有三种:
顺序结构、循环结构(三个循环结构语句)、选择结构(if和switch语句)
2)程序都要从main()入口,然后从第一条语句顺序往下执行。
(三)掌握C语言程序的执行步骤。
1)上机输入和编辑源程序(.c文件)
2)对源程序进行编译(.obj文件)
3)进行连接处理(.exe文件)
4)运行可执行程序,得到运行结果
二、数据类型、运算符与表达式
(一)掌握标识符的命名,变量和常量的定义与使用方法。
1.标识符的命名
标识符就是一个对象的名字。
C语言规定标识符只能由字母、数字和下划线3种字符组成,且第一个字符必须为字母或下划线。
合法的标识符:
如sum,average,_total,Class,day,BASIC,li_ling
不合法的标识符:
M.D.John,¥123,#33,3D64,a>b
2.常量的定义和使用方法
常量:
在程序运行过程中,其值不能被改变的量
Ø整型常量:
如1000,12345,0,-345
Ø实型常量
十进制小数形式:
如0.34-56.790.0
指数形式:
如12.34e3(代表12.34⨯103)
Ø字符常量:
如’?
’
◆转义字符:
如’\n’
Ø字符串常量:
如”boy”
Ø符号常量:
#definePI3.1416
3.变量的定义和使用方法
a)变量:
在程序运行期间,变量的值是可以改变的
b)(b)使用方法
◆变量必须先定义,后使用
◆定义变量时指定该变量的名字和类型
◆变量名和变量值是两个不同的概念
◆变量名实际上是以一个名字代表的一个存储地址
◆从变量中取值,实际上是通过变量名找到相应的内存地址,从该存储单元中读取数据
(二)掌握数据类型及其定义方法。
所谓类型,就是对数据分配存储单元的安排,包括存储单元的长度(占多少字节)以及数据的存储形式。
不同的类型分配不同的长度和存储形式。
ØC语言允许使用的数据类型:
Ø基本类型
Ø整型类型
Ø基本整型
Ø短整型
Ø长整型
Ø双长整型
Ø字符型
Ø布尔型
Ø浮点类型
Ø单精度浮点型
Ø双精度浮点型
Ø复数浮点型
C语言允许使用的数据类型:
Ø基本类型
Ø枚举类型
Ø空类型
Ø派生类型
◆指针类型
◆数组类型
◆结构体类型
◆共用体类型
◆函数类型
(三)理解整型、实型、字符型数据的定义、存储、表示范围及运用。
1.整型数据的分类
Ø最基本的整型类型
◆基本整型(int型):
占2个或4个字节
◆短整型(shortint):
VC++6.0中占2个字节
◆长整型(longint):
VC++6.0中占4个字节
◆双长整型(longlongint):
C99新增的
2.整型变量的符号属性
◆整型变量的值的范围包括负数到正数
◆可以将变量定义为“无符号”类型
◆扩充的整形类型:
Ø有符号基本整型[signed]int;
Ø无符号基本整型unsignedint;
Ø有符号短整型[signed]short[int];
Ø无符号短整型unsignedshort[int];
Ø有符号长整型[signed]long[int];
Ø无符号长整型unsignedlong[int]
Ø有符号双长整型[signed]longlong[int];
Ø无符号双长整型unsignedlonglong[int]
3.字符型数据
Ø字符是按其代码(整数)形式存储的
ØC99把字符型数据作为整数类型的一种
Ø字符型数据在使用上有自己的特点
Ø字符与字符代码大多数系统采用ASCII字符集
字母:
A~Z,a~z
数字:
0~9
专门符号:
29个:
!
”#&‘()*等
空格符:
空格、水平制表符、换行等
不能显示的字符:
空(null)字符(以‘\0’表示)、警告(以‘\a’表示)、退格(以‘\b’表示)、回车(以‘\r’表示)等
Ø字符变量用类型符char定义字符变量
4.浮点型数据是用来表示具有小数点的实数
Øfloat型(单精度浮点型)
◆编译系统为float型变量分配4个字节
◆数值以规范化的二进制数指数形式存放
浮点型数据是用来表示具有小数点的实数
float型(单精度浮点型)
double型(双精度浮点型)
编译系统为double型变量分配8个字节
15位有效数字
longdouble(长双精度)型
(四)掌握C运算符和表达式类型(算术表达式、关系表达式、逻辑表达式、条件表达式、逗号表达式)及求值规则。
1.基本的算术运算符:
+:
正号运算符(单目运算符)
-:
负号运算符(单目运算符)
*:
乘法运算符
/:
除法运算符
%:
求余运算符
+:
加法运算符
-:
减法运算符
2.自增、自减运算符:
作用是使变量的值1或减1
++i,--i:
在使用i之前,先使i的值加(减)1
i++,i--:
在使用i之后,使i的值加(减)1
3.算术表达式和运算符的优先级与结合性:
用算术运算符和括号将运算对象(也称操作数)连接起来的、符合C语法规则的式子,称为C算术表达式
运算对象包括常量、变量、函数等
C语言规定了运算符的优先级和结合性
(五)理解不同类型数据间的转换与运算。
1.+、-、*、/运算的两个数中有一个数为float或double型,结果是double型。
系统将float型数据都先转换为double型,然后进行运算
2.
(2)如果int型与float或double型数据进行运算,先把int型和float型数据转换为double型,然后进行运算,结果是double型
3.(3)字符型数据与整型数据进行运算,就是把字符的ASCII代码与整型数据进行运算
三、简单的C程序设计
(一)掌握表达式语句,空语句,复合语句。
C语句分为以下5类:
(1)控制语句:
if、switch、for、while、do…while、continue、break、return、goto等
(2)函数调用语句
(3)表达式语句
(4)空语句
(5)复合语句
(二)掌握赋值语句的含义和用法。
Ø在C程序中,最常用的语句是:
◆赋值语句
◆输入输出语句
Ø其中最基本的是赋值语句
1.赋值运算符
◆“=”是赋值运算符
◆作用是将一个数据赋给一个变量
◆也可以将一个表达式的值赋给一个变量
赋值运算符
复合的赋值运算符
在赋值符“=”之前加上其他运算符,可以构成复合的运算符
a+=3等价于a=a+3
1.赋值运算符
2.复合的赋值运算符
3.赋值表达式
一般形式为:
变量赋值运算符表达式
对赋值表达式求解的过程:
求赋值运算符右侧的“表达式”的值
赋给赋值运算符左侧的变量
(三)掌握C语言输入输出函数的基本格式和使用。
1.所谓输入输出是以计算机主机为主体而言的
Ø从计算机向输出设备(如显示器、打印机等)输出数据称为输出
Ø从输入设备(如键盘、磁盘、光盘、扫描仪等)向计算机输入数据称为输入
2.
(2)C语言本身不提供输入输出语句
输入和输出操作是由C标准函数库中的函数来实现的
printf和scanf不是C语言的关键字,而只是库函数的名字
putchar、getchar、puts、gets
3.在使用输入输出函数时,要在程序文件的开头用预编译指令
#include或#include″stdio.h″
4.用printf函数输出数据
在C程序中用来实现输出和输入的,主要是printf函数和scanf函数
这两个函数是格式输入输出函数
用这两个函数时,必须指定格式
1)printf函数的一般格式
printf(格式控制,输出表列)
例如:
printf(”i=%d,c=%c\n”,i,c);
2)常用格式字符
Ød格式符。
用来输出一个有符号的十进制整数
可以在格式声明中指定输出数据的域宽
printf(”%5d%5d\n”,12,-345);
%d输出int型数据
%ld输出long型数据
Øc格式符。
用来输出一个字符
charch=’a’;
printf(”%c”,ch);或
printf(”%5c”,ch);
Øs格式符。
用来输出一个字符串
printf(”%s”,”CHINA”);
Øf格式符。
用来输出实数,以小数形式输出
✧不指定数据宽度和小数位数,用%f
✧指定数据宽度和小数位数。
用%m.nf
✧输出的数据向左对齐,用%-m.nf
✧float型数据只能保证6位有效数字
✧double型数据能保证15位有效数字
✧计算机输出的数字不都是绝对精确有效的
Øe格式符。
指定以指数形式输出实数
%e,VC++给出小数位数为6位
指数部分占5列
小数点前必须有而且只有1位非零数字
e格式符。
指定以指数形式输出实数
5.用scanf函数输入数据
1)scanf函数中的格式声明
与printf函数中的格式声明相似
以%开始,以一个格式字符结束,中间可以插入附加的字符
scanf("a=%f,b=%f,c=%f",&a,&b,&c);
6.字符数据的输入输出
1)用putchar函数输出一个字符
从计算机向显示器输出一个字符
putchar函数的一般形式为:
putchar(c)
2)用getchar函数输入一个字符
向计算机输入一个字符
getchar函数的一般形式为:
getchar()
四、选择结构
(一)掌握关系运算符、逻辑运算符及其表达式的运用。
1.关系运算符:
用来对两个数值进行比较的比较运算符
2.C语言提供6种关系运算符:
①<(小于)②<=(小于或等于)
③>(大于)④>=(大于或等于)
优先级相同(高)
⑤==(等于)⑥!
=(不等于)
优先级相同(低)
3.关系、算术、赋值运算符的优先级
算术运算符(高)
关系运算符
赋值运算符(低)
4.关系表达式
用关系运算符将两个数值或数值表达式连接起来的式子
关系表达式的值是一个逻辑值,即“真”或“假”
在C的逻辑运算中,以“1”代表“真”,以“0”代表“假”
5.3种逻辑运算符:
&&(逻辑与)||(逻辑或)!
(逻辑非)
6.&&和||是双目(元)运算符
!
是一目(元)运算符
逻辑表达式
用逻辑运算符将关系表达式或其他逻辑量连接起来的式子
7.逻辑运算的真值表
a
b
!
a
!
b
a&&b
a||b
真
真
假
假
真
真
真
假
假
真
假
真
假
真
真
假
假
真
假
假
真
真
假
假
8.逻辑表达式
✧逻辑表达式的值应该是逻辑量“真”或“假”
✧编译系统在表示逻辑运算结果时
✧以数值1代表“真”,以0代表“假”
✧但在判断一个量是否为“真”时
✧以0代表“假”,以非0代表“真”
✧注意:
将一个非零的数值认作为“真”
(二)掌握用if语句实现选择结构。
有一种if语句,当被判别的表达式的值为“真”或“假”时,都执行一个赋值语句且向同一个变量赋值
◆求解表达式1
◆若为非0(真)则求解表达式2,此时表达式2的值就作为整个条件表达式的值
◆若表达式1的值为0(假),则求解表达式3,表达式3的值就是整个条件表达式的值
◆条件运算符优先于赋值运算符
◆条件运算符的结合方向为“自右至左”
◆以下为合法的使用方法:
◆a>b?
(max=a):
(max=b);
◆a>b?
printf(“%d”,a):
printf(“%d”,b);
(三)掌握用switch语句实现多分支选择结构。
switch语句的作用是根据表达式的值,使流程跳转到不同的语句
switch语句的一般形式:
switch(表达式)
{case常量1:
语句1
case常量2:
语句2
┇┇┇
case常量n:
语句n
default:
语句n+1
}
(四)掌握选择结构的嵌套。
五、循环结构
(一)掌握for循环结构。
for语句不仅可以用于循环次数已经确定的情况,还可以用于循环次数不确定而只给出循环结束条件的情况
for语句完全可以代替while语句
1.for语句的一般形式为
for(表达式1;表达式2;表达式3)
语句
2.for语句的执行过程:
(1)先求解表达式1
(2)求解表达式2,若其值为真,执行循环体,然后执行下面第(3)步。
若为假,则结束循环,转到第(5)步
(3)求解表达式3
(4)转回上面步骤
(2)继续执行
(5)循环结束,执行for语句下面的一个语句
(二)掌握while和dowhile循环结构。
while语句的一般形式如下:
while(表达式)语句
while循环的特点是:
先判断条件表达式,后执行循环体语句
Ødo---while语句的特点:
先无条件地执行循环体,然后判断循环条件是否成立
Ødo---while语句的一般形式为:
do
语句
while(表达式);
(三)掌握continue语句和break语句。
continue语句只结束本次循环,而不是终止整个循环的执行
break语句结束整个循环过程,不再判断执行循环的条件是否成立
六、数组
(一)掌握一维数组和二维数组的定义、引用及初始化。
1.一维数组是数组中最简单的
2.它的元素只需要用数组名加一个下标,就能惟一确定
3.要使用数组,必须在程序中先定义数组
4.定义一维数组的一般形式为:
a)类型符数组名[常量表达式];
5.数组名的命名规则和变量名相同
6.如inta[10];
7.引用数组元素的表示形式为:
数组名[下标]
8.一维数组的初始化
Ø在定义数组的同时,给各数组元素赋值
Øinta[10]={0,1,2,3,4,5,6,7,8,9};
Øinta[10]={0,1,2,3,4};相当于
inta[10]={0,1,2,3,4,0,0,0,0,0};
Øinta[10]={0,0,0,0,0,0,0,0,0,0};相当于
inta[10]={0};
Øinta[5]={1,2,3,4,5};可写为
inta[]={1,2,3,4,5};
9.怎样定义二维数组
Ø二维数组定义的一般形式为
类型符数组名[常量表达式][常量表达式];
如:
floata[3][4],b[5][10];
Ø二维数组可被看作是一种特殊的一维数组:
它的元素又是一个一维数组
Ø例如,把a看作是一个一维数组,它有3个元素:
a[0]、a[1]、a[2]
Ø每个元素又是一个包含4个元素的一维数组
Ø二维数组元素的表示形式为:
数组名[下标][下标]
Øb[1][2]=a[2][3]/2合法
Øfor(i=0;iprintf(“%d,%d\n”,a[i][0],a[0][i]);合法
(二)掌握字符数组的定义、引用及初始化,字符串和字符串结束标志,字符数组的输入输出,字符串函数的应用。
1.字符串和字符串结束标志
✧在C语言中,是将字符串作为字符数组来处理的
✧关心的是字符串的有效长度而不是字符数组的长度
✧为了测定字符串的实际长度,C语言规定了字符串结束标志’\0’
✧’\0’代表ASCII码为0的字符
✧从ASCII码表可以查到,ASCII码为0的字符不是一个可以显示的字符,而是一个“空操作符”,即它什么也不做
✧用它作为字符串结束标志不会产生附加的操作或增加有效字符,只起一个供辨别的标志
2.字符数组的输入输出
✧字符数组的输入输出可以有两种方法:
Ø逐个字符输入输出(%c)
Ø整个字符串一次输入输出(%s)
✧输出的字符中不包括结束符’\0’
✧用%s输出字符串时,printf函数中的输出项是字符数组名,不是数组元素名
✧如果一个字符数组中包含多个’\0’,则遇第一个’\0’时输出就结束
✧可以用scanf函数输入一个字符串
✧scanf函数中的输入项c是已定义的字符数组名,输入的字符串应短于已定义的字符数组的长度
3.善于使用字符串处理函数
1)puts函数----输出字符串的函数
其一般形式为:
puts(字符数组)
作用是将一个字符串输出到终端
charstr[20]=”China”;
puts(str);
输出China
2)gets函数----输入字符串的函数
Ø其一般形式为:
gets(字符数组)
Ø作用是输入一个字符串到字符数组
charstr[20];
gets(str);
Computer↙
3)strcat函数----字符串连接函数
Ø其一般形式为:
strcat(字符数组1,字符数组2)
Ø其作用是把两个字符串连接起来,把字符串2接到字符串1的后面,结果放在字符数组1中
Ø使用字符串函数时,在程序开头用#include
七、函数
(一)掌握函数的定义和调用。
1.为什么要用函数
1)在设计一个较大的程序时,往往把它分为若干个程序模块,每一个模块包括一个或多个函数,每个函数实现一个特定的功能
2)C程序可由一个主函数和若干个其他函数构成
3)主函数调用其他函数,其他函数也可以互相调用
4)同一个函数可以被一个或多个函数调用任意多次
2.说明
(1)一个C程序由一个或多个程序模块组成,每一个程序模块作为一个源程序文件。
对较大的程序,一般不希望把所有内容全放在一个文件中,而是将它们分别放在若干个源文件中,由若干个源程序文件组成一个C程序。
这样便于分别编写、分别编译,提高调试效率。
一个源程序文件可以为多个C程序共用。
(2)一个源程序文件由一个或多个函数以及其他有关内容(如预处理指令、数据声明与定义等)组成。
一个源程序文件是一个编译单位,在程序编译时是以源程序文件为单位进行编译的,而不是以函数为单位进行编译的。
(3)C程序的执行是从main函数开始的,如果在main函数中调用其他函数,在调用后流程返回到main函数,在main函数中结束整个程序的运行。
(4)所有函数都是平行的,即在定义函数时是分别进行的,是互相独立的。
一个函数并不从属于另一个函数,即函数不能嵌套定义。
函数间可以互相调用,但不能调用main函数。
main函数是被操作系统调用的。
(5)从用户使用的角度看,函数有两种。
库函数,它是由系统提供的,用户不必自己定义而直接使用它们。
应该说明,不同的C语言编译系统提供的库函数的数量和功能会有一些不同,当然许多基本的函数是共同的。
用户自己定义的函数。
它是用以解决用户专门需要的函数。
(6)从函数的形式看,函数分两类。
①无参函数。
无参函数一般用来执行指定的一组操作。
无参函数可以带回或不带回函数值,但一般以不带回函数值的居多。
②有参函数。
在调用函数时,主调函数在调用被调用函数时,通过参数向被调用函数传递数据,一般情况下,执行被调用函数时会得到一个函数值,供主调函数使用。
3.怎样定义函数
C语言要求,在程序中用到的所有函数,必须“先定义,后使用”
指定函数名字、函数返回值类型、函数实现的功能以及参数的个数与类型,将这些信息通知编译系统。
指定函数的名字,以便以后按名调用
指定函数类型,即函数返回值的类型
指定函数参数的名字和类型,以便在调用函数时向它们传递数据
指定函数的功能。
这是最重要的,这是在函数体中解决的
对于库函数,程序设计者只需用#include指令把有关的头文件包含到本文件模块中即可。
程序设计者需要在程序中自己定义想用的而库函数并没有提供的函数。
4.定义函数的方法
1)定义无参函数,定义无参函数的一般形式为:
类型名函数名()类型名函数名(void)
{{
函数体函数体
}}
包括声明部分和语句部分
2)定义有参函数,定义有参函数的一般形式为:
类型名函数名(形式参数表列)
{2.掌握函数参数(形参、实参及参数值的传递)和函数的返回值。
函数体
}
3)定义空函数,定义空函数的一般形式为:
类型名函数名()
{}
用空函数占一个位置,以后逐步扩充。
好处:
程序结构清楚,可读性好,扩充新功能方便,对程序结构影响不大。
(二)掌握函数参数(形参、实参及参数值的传递)和函数的返回值。
1.函数调用的形式
函数调用的一般形式为:
函数名(实参表列)
如调用无参函数,则“实参表列”可以没有,但括号不能省略;如实参表列含多个实参,则各参数间用逗号隔开。
按函数调用在程序中出现的形式和位置来分,可以有以下3种函数调用方式:
函数调用语句:
把函数调用单独作为一个语句,如printf_star();这时不要求函数带回值,只要求函数完成一定的操作。
函数表达式:
函数调用出现在另一个表达式中,如c=max(a,b);这时要求函数带回一个确定的值以参加表达式的运算。
函数参数:
函数调用作为另一函数调用时的实参,如m=max(a,max(b,c));其中max(b,c)是一次函数调用,它的值作为max另一次调用的实参。
2.函数调用时的数据传递
1)形式参数和实际参数
在调用有参函数时,主调函数和被调用函数之间有数据传递关系
定义函数时函数名后面的变量名称为“形式参数”(简称“形参”)
主调函数中调用一个函数时,函数名后面参数称为“实际参数”(简称“实参”),实际参数可以是常量、变量或表达式
2)实参和形参间的数据传递
在调用函数过程中,系统会把实参的值传递给被调用函数的形参;或者说,形参从实参得到一个值,该值在函数调用期间有效,可以参加被调函数中的运算
3.函数调用的过程
在定义函数中指定的形参,在未出现函数调用时,它们并不占内