1、C语言程序设计A课程考核说明定稿中央广播电视大学计算机科学与技术专业C语言程序设计A课程考核说明(2008)一、考核说明 C 语言程序设计课程是全国电大系统计算机科学与技术专业(本科)的一门基础 必修课程。本课程是学习数据结构、操作系统、计算机网络、数据库、软件工程等课程的 先修课,在整个专业教案体系中占有非常重要的作用。本课程主要介绍 C 语言的基本语法规则和程序设计方法,包括 C 语言程序结构和上机 运行程序的基本过程,各种数据类型的常量和变量的定义与表示,各种运算符和表达式的 表示与应用,各种流程控制语句的定义与作用,各种常用函数的定义格式与调用方法,用 户函数的定义与调用,数组、指针、
2、结构、文件等数据类型的定义与使用,结构化和模块 化的程序设计方法等内容。学习 C 语言程序设计需要理论与实践相结合, 只注重书本知识是空洞的,只注重 上机实践是迷茫的, 必须两者结合循序渐进,通过书本知识指导实践,通过实践加深理解 和吸收知识,以及运用知识解决问题的能力。现将该课程考核的有关问题说明如下:1.考核对象 全国电大系统开放教育计算机科学与技术专业(本科)的学生。2教案媒体文字主教材C语言程序设计 任爱华主编 中央广播电视大学出版社出版。录象教材 20 讲 任爱华等主讲 中央广播电视大学音像出版社出版,时间待定。IP 网络课件 16 讲 徐孝凯主讲 电大在线的该课程网站点播, 200
3、8 年9月。复习资料C语言程序设计期末复习指导中央电大教育杂志社出版发行。平时考核C语言程序设计形成性考核册 中央电大教育杂志社出版发行。网上辅导 在电大在线C语言程序设计课程教案网页上发表。3.命题依据本考核说明以中央电大计算机科学与技术专业 C 语言程序设计课程的教案大纲为 依据编制。本考核说明是考试命题的依据。4.考核要求本课程是以掌握 C 语言知识并解决实际程序设计问题为目的。主要考核学生对 C 语言知识的掌握程度和对解决一般问题的程序设计能力。对 C 语言知识要在理解和应用的基础上加强记忆和掌握,不能死记硬背。本课程教案内容包括了解、理解和应用三个层次,并且逐步递进,具体含义如下:(
4、1)了解层次:记忆(2)理解层次:掌握(3)应用层次:利用5. 命题原则C语言中的基本概念和语法规则;C语言中的每个语法成分和语句的定义格式、含义及作用;C语言,结合实际解决问题的需要,能够分析和编写程序。(1)在教案大纲和考核说明所规定的知识范围内命题。在教案知识范围之内,需要灵 活运用才能够解决问题的试卷不属于超纲。(2)试卷的取材要求覆盖面广、区分度高。(3)试卷兼顾各个能力层次,了解和理解约占 40%,应用约占 60%。(4)试卷的难易程度和题量适当,按难易程度分为四个层次:容易占 20%,较易占40%,较难占 30%,难占 10%。题量安排以平时能够独立完成作业者,能在规定的考试时间
5、 内做完并有一定时间检查为原则。6.试卷题型选择 :根据题意,从四种可选择的答案中选择合适的一种答案。填空: 根据题意,在画有横线或空白括号内填写合适内容。写出程序运行结果: 根据所给的C语言程序,写出运行后的输出结果。指出程序或函数功能: 根据所给的 C 语言程序或函数,指出运行程序或进行函数调用时所 能实现的功能。编写程序或函数: 根据所给出的题目要求,编写出相应的程序或函数模块。7.考核形式: 本课程考核采用终结性考试与形成性考核相结合的方式。形成性考核分为两种,一种视形 成性考核册作业完成情况和所规定的上机实验完成情况而定,占总成绩的 20%;另一种为省级电大统一命题和组织的期末上机考
6、核,占总成绩的 10%,要求完成一个带有多个程序文件的程序工程的编写(或修改)并上机运行通过,上机考核时限为 60 分钟。 形成性考核成绩由省级电大考核和确认。终结性考试采用书面和闭卷方式,考试成绩占总成绩的70%, 由中央电大统一命题和考试时间,答卷时限为 90 分钟。总成绩满分为 100 分,合成成绩达到 60 及以上分数者可获得该课程规定的 4 学分,否则不获得该课程学分。第二部分 考核内容及要求第一章 C 语言概述考核内容(知识点):1程序、程序文件和函数的概念及其相互之间的关系。2函数的定义格式和作用,主函数的特殊地位和作用。3. C语言简单语句和复合语句的语法格式。4 #inclu
7、de 预处理命令的格式与作用。5头文件的文件名格式、在程序中的使用方法和作用。6程序中两种注释标记的写法和作用。7标准输出函数 printf() 和标准输入函数 scanf() 的定义格式和具体应用。8C 语言程序文件名、编译后生成的目标文件名和连接后生成的可执行文件名的命名 规则,以及上机输入、编辑、编译、连接和运行程序的过程。考核要求:要求了解和理解以上内容。第二章 数据类型和表达式重点考核的内容(知识点):1. C语言中的数据类型的分类。2各种整数类型的关键字表示,存储空间的大小和值域范围。3整型变量的定义和初始化,十进制整型常量的表示。4字符类型的关键字表示,存储空间的大小和值域范围;
8、字符型常量的表示,回车、 换行、单引号、双引号、反斜线、空字符等特殊字符的表示。5字符型变量的定义和初始化,字符型与整型的关系。6枚举的概念,枚举类型的定义,枚举变量的定义和初始化,枚举常量与整型常量的 对应关系。7各种实数类型的关键字表示,存储空间的大小和有效位数。8单精度和双精度实数的定点表示和浮点(科学)表示,实型变量的定义和初始化。9加、减、乘、除、取余、赋值、增 1、减 1 、取数据存储长度等算术运算符的表示、含义、运算对象个数和运算优先级。10关系运算符的定义和关系表达式的计算,逻辑运算符的定义与逻辑表达式的计 算,根据任意表达式的值判断其逻辑值的方法。一般考核的内容(知识点):1
9、整型常量的八进制和十六进制表示。2符号常量的两种定义方法,它们之间的区别。3位操作符、复合赋值操作符的含义与使用。 4求关系或逻辑表达式的相反表达式的方法。考核要求: 理解和掌握以上重点考核的内容,了解和理解以上一般考核内容。第三章 流程控制语句 考核内容(知识点):1 C语言程序中的顺序、分支和循环这三种基本结构,每种结构的执行过程。2简单 if 语句、带 else 子句的 if 语句、多分支结构的 if 语句的定义格式、执行过 程和在处理问题中的具体应用。3 switch 语句的定义格式、执行过程和在处理问题中的具体应用。4 if 语句与 switch 语句之间的功能比较, if 语句与
10、switch 语句之间的转换。5for 循环、 while 循环和 do-while 循环的定义格式、执行过程和在处理问题中的具 体应用。6三种循环结构不同特点。7 Break 语句在 switch 语句和各种循环语句中的作用, continue 语句在各种循环语 句中的作用。8 goto 语句和 return 语句的定义格式和功能。 考核要求:理解和掌握本章的所有内容,并能够灵活应用。第四章 数组和字符串 考核内容(知识点):1一维数组的含义、定义格式及初始化格式。2数组长度、数组元素、元素下标的含义,访问数组元素的语法格式,下标运算符的 操作对象和操作结果。3数组元素的下标变化范围,数组元
11、素所占存储空间大小和整个数组所占存储空间大 小的计算,各元素对应存储空间的排列情况,每个元素的存储地址的计算。4利用一维数组存储数据,按元素值的升序或降序排列数据,按给定条件或功能对数 组元素依次进行访问和处理。5二维数组的含义、定义格式及初始化格式。6二维数组的行数和列数的概念,数组长度(即所含元素个数)的计算。7访问二维数组元素的语法格式,每个下标运算符的操作对象和操作结果。8二维数组中的所有元素在存储空间中的排列情况,每个元素的存储地址的计算。9利用二维数组存储矩阵数据,按给定条件或功能对数组元素依次进行访问和处理。10字符串常量的定义格式,字符串的存储格式,字符串长度的概念。11一维字
12、符数组、二维字符数组与字符串之间的关系,一维字符数组与二维字符数 组的初始化。12 strlen 、 strcpy 、 strcmp 、 strcat 等字符串函数的声明格式及功能。13利用 typedef 语句定义数据类型的方法。 考核要求: 了解和理解一维数组、二维数组和字符串的概念的使用方法,会利用它们存储和处理数 据。第五章 指针 考核内容(知识点):1指针的概念,指针变量的定义和初始化。2指针赋值( = )、取对象(变量)地址( &)、访问指针所指对象( * )、指针比较 (=、!= 、 等)、指针算术运算( +、 - 、 +=等)、指针增 1 或减 1(+、- )等各种 运算的含义
13、和使用。3数组名的指针含义。4一维数组元素的下标访问方式与指针访问方式及其之间的转换。5二维数组元素的下标访问方式与指针访问方式及其之间的转换。6 动态存储分配函数 malloc() 和 calloc() 以及动态存储空间释放函数 free() 的定义格式 与调用方法。考核要求: 理解指针的概念,掌握利用指针访问简单数据和数组元素的方法,掌握进行动态存储分配 与释放的方法。第六章 函数 考核内容(知识点):1函数的定义格式。2函数调用表达式的语法格式及执行过程。3函数定义中形参变量的作用及实虚参数结合的过程。5 函数声明(原型)语句的定义格式及作用。6形参为一维数组或二维数组时的说明格式,调用
14、时数组参数传递的过程。7变量的作用域的概念和含义;系统对全局变量、 static 变量、局部变量的建立和 初始化过程。8函数的递归调用的概念和递归函数的具体执行过程。9头文件在程序文件中的位置和作用。 考核要求: 掌握用户自定义函数的定义、声明与调用方法,掌握函数调用中一般参数、指针参 数、数组参数的传递,以及函数体执行和返回的过程。第七章 结构与联合 考核内容(知识点):1结构的概念,结构类型的定义格式,结构类型的声明(即不完整定义)格式。2结构对象(变量)的各种定义格式和初始化,结构大小的计算,结构对象和结构数 组对象的动态分配和初始化。3结构赋值,结构成员的直接访问和间接访问,利用结构数
15、组保存和处理数据。4结构和结构指针作为函数参数和返回值类型的具体应用。5链表的概念,链表中结点的结构,链表的建立和遍历的方法和算法。6联合的概念,联合类型的定义格式,联合对象的定义和初始化,联合的存储结构及 大小的计算,匿名联合的特点。考核要求: 理解和掌握结构和联合类型的特点以及数据成员的访问方法,了解和理解链表中结点的结 构和建立与访问链表的方法,以及结构与联合嵌套定义的概念。第八章 文件 考核内容(知识点):1.数据文件的概念。2.文件的打开和关闭方法。3.文件的各种访问方式的表示。4.对字符文件进行的输入和输出数据的方法。5.对字节文件进行的输入和输出数据的方法。 考核要求:了解和理解
16、文件的有关概念和访问方式,会利用字符或字节文件保存和处理数据。第三部分 模拟考核试卷及解答、选择题1.由 C 语言源程序文件编译而成的目标文件的缺省扩展名为 ( ) 。A. cpp B. exe C. obj D. C2.C 语言程序的基本模块为( )。A. 表达式 B. 标识符 C. 语句 D. 函数3.x0 | y=5 的相反表达式为( )。A. x=0 | y!=5 B. x0 | y!=5 D. x0 & y=54.枚举类型中的每个枚举常量的值都是一个( )。A. 整数 B. 浮点数C. 字符 D. 逻辑值5.循环语句“ for(int i=0 。 in 。 i+) S 。”中循环体
17、S 被执行的次数为 ( ) A. 1 B. n-1 C. n D. n+16.在下面的 while 循环语句中,其循环体被执行的次数为( )。 int i=0,s=0 。 while(sname 等价的表达式是 。三、写出下列每个程序运行后的输出结果1.#includevoid main() int i, s=0 。for(i=1 。 i+) if(s50) break 。if(i%2=0) s+=iprintf(i,s=%d, %dn,i,s) 。 / s=2+4+6+8+10+12+14=56 i=152.#includevoid main() char ch=* 。int i, n=5
18、。while(1) for(i=0 。 in 。 i+) printf(%c,ch) 。printf(n) 。if(-n=0) break 。3.#includevoid main()int x=24,y=88 。int i=2,p=1 。do while(x%i=0 & y%i=0) p*=i 。 x/=i 。 y/=i 。i+ 。while(x=i & y=i) 。printf(%dn,p*x*y) 。/* i=2 p=2 x=12 y=44P=4 x=6 y=22P=8 x=3 y=11i=3 i=4 循环条件不成立 因此循环体不执行 p*x*y=8*3*11=264 */4.#incl
19、udevoid main() int a9=36,25,48,24,55,40,18,66,20 。int i, b1, b2 。a0=a1? (b1=a0, b2=a1):(b1=a1,b2=a0) 。/ b1=25,b2=36for(i=2 。 i9 。 i+) /i 取 2 到 8if(aib1) b2=b1 。 b1=ai 。 / 注意循环体 else if(aib2) b2=ai 。printf(%d %dn,b1,b2) 。分析 i=2 a2=48 b1=25 b2=36i=3a3=24b2=25b1=24i=4a4=55b2=25b1=24i=5a5=44b1=25b1=24i=
20、6a6=18b2=24b1=18i=7a7=66b2=24b1=18i=8 a8=20 b2=20 b1=18结果18 20#includevoid main() int a9=36,25,48,24,55,40,18,66,20int i, b1, b2 。/ b1=25,b2=36a0=a1? (b1=a0, b2=a1):(b1=a1,b2=a0)for(i=2 。 i9 。 i+) /i 取 2 到 8 if(aib1) b2=b1 。 b1=ai 。 / 注意循环体 else if(aib2) b2=ai 。 printf(%d %dn,b1,b2) 。 分析 i=2 a2=48 b
21、1=25 b2=36i=3a3=24b2=25b1=24i=4a4=55b2=25b1=24i=5a5=44b1=25b1=24i=6a6=18b2=24b1=18i=7a7=66b2=24b1=18i=8 a8=20 b2=20 b1=18结果25 3624 2524 2524 2518 2418 2418 205.#include void main() int a=10, b=20 。 printf(%d %dn,a,b) 。 int b=a+25 。 / 注意局部变量 b 的作用域 a*=4 。printf(%d %dn,a,b) 。printf(%d %dn,a,b) 。 结果102
22、040 3540 206.#include void SelectSort(int a, int n) int i,j,k,x 。for(i=1 。 in 。 i+) / 进行 n-1 次选择和交换k=i-1 。for(j=i 。 jn 。 j+)if(ajak) k=j 。x=ai-1 。 ai-1=ak 。 ak=x 。 void main() int i 。int a6=20,15,32,47,36,28 。 SelectSort(a,6) 。for(i=0 。 i6 。 i+) printf(%d ,ai) 。 printf(n) 。7.#include void LE(int* a,
23、 int* b) int x=*a 。 *a=*b 。 *b=x 。void main() int x=15, y=26 。printf(%d %dn,x,y)LE(&x,&y) 。printf(%d %dn,x,y)。8. #include#includestruct Worker char name15。 / 姓名int age 。/ 年龄float pay 。/ 工资 。int Equal(struct Worker* r1, struct Worker* r2)if(strcmp(r1-name, r2-name)=0) return 1else return 0 。void main
24、() struct Worker a4=abc,25,420,defa,58,638, ghin,49,560,jklt,36,375struct Worker x=defa 。int i 。for(i=0 。 i=4) printf( 没有查找所需要的记录 !n)else printf(%s %d %6.2fn,ai.name,ai.age,ai.pay)四、写出下列每个函数的功能1.int SE(int n) /n 为大于等于 1 的整数int x,s=0 。printf( 输入 d个整数:,n)。scanf(%d,&x) 。if(n=1) return x 。s=x 。while(-n) scanf(%d,&x) 。 s+=x 。 return s 。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1