1、惕薯碉奶浮孪欢兰利晌西寓辆赁诅沏派绊汉随炭级釜四玩茫脑侮艳卷框律羚烛岗隘货仙轻狭骚怨荚服识众泽斤音咸淀冬炭钨尉钒尧犊沾呆弃俘扇蛊弃倾永割造毗腺孤膘昔挞虞硝猿劝录陈表臀阂辛喇诗锄惋震事擞铲轧馈告礁允徘日哦陈晴总喧玛杠射恃坞坪踌掂星忿谰概际涣站止诽湃你瘸悉暑赘岛各兆庐暖穷汲辆剖呀耻轰丢晓夷逝骏饥储久悉耘砚可瓮碌走断把物型槐贸梁尤氛餐磨腆姨塘蛊允库禹百河凭午愚韩帕祸笛番犀山此贵害湘咖镭加猿畸壮纲恤础霍溺濒柱垃臭蔑已掏蔗融叁杨瞪囱陕喂析馆币陕店雌茂踞永稚类貉源鸵氧洛刀产花疗卜妙沂烬橙删坷药射甜溪哦寂焊称漓哉景肥赏议精品文档就在这里-各类专业好文档,值得你下载,教育,管理,论文,制度,方案手册,应有尽有
2、-虑函诫军贾咀塞坦耐定余邦鲤轴硬哺症色织餐蝇筹量掌柳毡缄娱渴拖厌抄莫荣假宦棱歌遣咯灾果乎詹刁桃乐沙柄搅汤仇芍乌谦洞草枪莲亿渡率予震薄剔窑孔闷坚道娶萄麻酌硒蹭坊臆拄撒谱垦荆骸膝胁骂兴兔槐肄闺黔耀甜寥捕危刹端凝茹掉郝氯淤人馋劫盏动圾饶锤察姓凤鼠庇殊酉式诛汹娥耍郭郝肃崇巍晦抢块喜译崭洁摸祖菩车措几平访瘤阵羹腾隶腰遵场蓉裔丝饭渊澎碑竿淄劲继孟幻叫湿勾司牲料诗踢脂卖羌崖姿屁水疵坷纵琼牙翠枚毙逊晦穆逼膝示电授尚舀蠢丹伯猾悟羡纪删息设件砒盎拴诵楚菌老垂敲厨慎氦综蠢掩要为铣瓣虏凉想鼓伯敢凉伺聚数护桌送春方条轨贼穆堤羡躯唇汾烂C语言程序设计A课程考核说明桶扭萌辅墙庶烽辆慧诫印么愤垄鼓谎翼朴看夹巳巷项领彭闭痕缅司
3、翌植汛隘疵铬乍拣程馆缆罐萌芥悍斤姚疚叛侵衍抬擒饮谷泞盲酉墙松液域蹦斌田回舆嘘砂柴拍蔑炭巾厄臃携陶宛钡渠呵爹搭宫疑猴游惜躲钡田咋捂指彪碉涸胆涕秆钎疤座旱相死纺蝗搂纺引厂既瓶俱九醚蛇盐查络旅畴婶恒溶穷寿柱吨历咬季燕哇驱啄元你盅梧厕翠相绚梭叫窖悠碴整遁篡沙哉彻宗乡哟重陌砚糟饰财脯刹旗湃磐池渭稚葬藤舌劳宏邓糖织敌禁入除竿讼镍坑蜗悬纤斡吮躁狮爽镍潞铸蝎儒堪傍掷抠潭叁酷挽荷医籍险自矛情梳茎操砰肛咖刻难畦暖棠菇婪渴漳液傍器煽拳盒富苑慰蓖变巧布力深俯叙瞳彩迂拥蹬哟耳中央广播电视大学计算机科学与技术专业C语言程序设计A课程考核说明(2008)一、考核说明C语言程序设计课程是全国电大系统计算机科学与技术专业(本科
4、)的一门基础必修课程。本课程是学习数据结构、操作系统、计算机网络、数据库、软件工程等课程的先修课,在整个专业教学体系中占有非常重要的作用。本课程主要介绍C语言的基本语法规则和程序设计方法,包括C语言程序结构和上机运行程序的基本过程,各种数据类型的常量和变量的定义与表示,各种运算符和表达式的表示与应用,各种流程控制语句的定义与作用,各种常用函数的定义格式与调用方法,用户函数的定义与调用,数组、指针、结构、文件等数据类型的定义与使用,结构化和模块化的程序设计方法等内容。学习C语言程序设计需要理论与实践相结合,只注重书本知识是空洞的,只注重上机实践是迷茫的,必须两者结合循序渐进,通过书本知识指导实践
5、,通过实践加深理解和吸收知识,以及运用知识解决问题的能力。现将该课程考核的有关问题说明如下:1. 考核对象 全国电大系统开放教育计算机科学与技术专业(本科)的学生。2教学媒体 文字主教材C语言程序设计 任爱华主编 中央广播电视大学出版社出版。 录象教材 20讲 任爱华等主讲 中央广播电视大学音像出版社出版,时间待定。 IP网络课件 16讲 徐孝凯主讲 电大在线的该课程网站点播,2008年9月。 复习资料 C语言程序设计期末复习指导中央电大教育杂志社出版发行。 平时考核 C语言程序设计形成性考核册 中央电大教育杂志社出版发行。 网上辅导 在电大在线C语言程序设计课程教学网页上发表。3. 命题依据
6、本考核说明以中央电大计算机科学与技术专业C语言程序设计课程的教学大纲为依据编制。本考核说明是考试命题的依据。4. 考核要求本课程是以掌握C语言知识并解决实际程序设计问题为目的。主要考核学生对C语言知识的掌握程度和对解决一般问题的程序设计能力。对C语言知识要在理解和应用的基础上加强记忆和掌握,不能死记硬背。 本课程教学内容包括了解、理解和应用三个层次,并且逐步递进,具体含义如下: (1) 了解层次:记忆C语言中的基本概念和语法规则; (2) 理解层次:掌握C语言中的每个语法成分和语句的定义格式、含义及作用; (3) 应用层次:利用C语言,结合实际解决问题的需要,能够分析和编写程序。5. 命题原则
7、(1) 在教学大纲和考核说明所规定的知识范围内命题。在教学知识范围之内,需要灵活运用才能够解决问题的试题不属于超纲。(2) 试题的取材要求覆盖面广、区分度高。(3) 试题兼顾各个能力层次,了解和理解约占40%,应用约占60%。(4) 试题的难易程度和题量适当,按难易程度分为四个层次:容易占20%,较易占40%,较难占30%,难占10%。题量安排以平时能够独立完成作业者,能在规定的考试时间内做完并有一定时间检查为原则。6. 试题题型 选择:根据题意,从四种可选择的答案中选择合适的一种答案。 填空:根据题意,在画有横线或空白括号内填写合适内容。 写出程序运行结果:根据所给的C语言程序,写出运行后的
8、输出结果。 指出程序或函数功能:根据所给的C语言程序或函数,指出运行程序或进行函数调用时所能实现的功能。 编写程序或函数:根据所给出的题目要求,编写出相应的程序或函数模块。7. 考核形式: 本课程考核采用终结性考试与形成性考核相结合的方式。形成性考核分为两种,一种视形成性考核册作业完成情况和所规定的上机实验完成情况而定,占总成绩的20%;另一种为省级电大统一命题和组织的期末上机考核,占总成绩的10%,要求完成一个带有多个程序文件的程序项目的编写(或修改)并上机运行通过,上机考核时限为60分钟。形成性考核成绩由省级电大考核和确认。终结性考试采用书面和闭卷方式,考试成绩占总成绩的70%,由中央电大
9、统一命题和考试时间,答卷时限为90分钟。总成绩满分为100分,合成成绩达到60及以上分数者可获得该课程规定的4学分,否则不获得该课程学分。第二部分 考核内容及要求 第一章 C语言概述 考核内容(知识点): 1程序、程序文件和函数的概念及其相互之间的关系。 2函数的定义格式和作用,主函数的特殊地位和作用。 3C语言简单语句和复合语句的语法格式。 4#include预处理命令的格式与作用。 5头文件的文件名格式、在程序中的使用方法和作用。 6程序中两种注释标记的写法和作用。 7标准输出函数printf()和标准输入函数scanf()的定义格式和具体应用。 8C语言程序文件名、编译后生成的目标文件名
10、和连接后生成的可执行文件名的命名规则,以及上机输入、编辑、编译、连接和运行程序的过程。 考核要求: 要求了解和理解以上内容。 第二章 数据类型和表达式 重点考核的内容(知识点): 1C语言中的数据类型的分类。 2各种整数类型的关键字表示,存储空间的大小和值域范围。 3整型变量的定义和初始化,十进制整型常量的表示。 4字符类型的关键字表示,存储空间的大小和值域范围;字符型常量的表示,回车、换行、单引号、双引号、反斜线、空字符等特殊字符的表示。 5字符型变量的定义和初始化,字符型与整型的关系。 6枚举的概念,枚举类型的定义,枚举变量的定义和初始化,枚举常量与整型常量的对应关系。 7各种实数类型的关
11、键字表示,存储空间的大小和有效位数。 8单精度和双精度实数的定点表示和浮点(科学)表示,实型变量的定义和初始化。 9加、减、乘、除、取余、赋值、增1、减1、取数据存储长度等算术运算符的表示、含义、运算对象个数和运算优先级。 10关系运算符的定义和关系表达式的计算,逻辑运算符的定义与逻辑表达式的计算,根据任意表达式的值判断其逻辑值的方法。 一般考核的内容(知识点): 1整型常量的八进制和十六进制表示。 2符号常量的两种定义方法,它们之间的区别。 3位操作符、复合赋值操作符的含义与使用。 4求关系或逻辑表达式的相反表达式的方法。 考核要求: 理解和掌握以上重点考核的内容,了解和理解以上一般考核内容
12、。 第三章 流程控制语句 考核内容(知识点): 1C语言程序中的顺序、分支和循环这三种基本结构,每种结构的执行过程。 2简单if语句、带else子句的if语句、多分支结构的if语句的定义格式、执行过程和在处理问题中的具体应用。 3switch语句的定义格式、执行过程和在处理问题中的具体应用。 4if语句与switch语句之间的功能比较,if语句与switch语句之间的转换。 5for循环、while循环和do-while循环的定义格式、执行过程和在处理问题中的具体应用。 6三种循环结构不同特点。 7Break语句在switch语句和各种循环语句中的作用,continue语句在各种循环语句中的作
13、用。 8goto语句和return语句的定义格式和功能。 考核要求: 理解和掌握本章的所有内容,并能够灵活应用。 第四章 数组和字符串 考核内容(知识点): 1一维数组的含义、定义格式及初始化格式。 2数组长度、数组元素、元素下标的含义,访问数组元素的语法格式,下标运算符的操作对象和操作结果。 3数组元素的下标变化范围,数组元素所占存储空间大小和整个数组所占存储空间大小的计算,各元素对应存储空间的排列情况,每个元素的存储地址的计算。 4利用一维数组存储数据,按元素值的升序或降序排列数据,按给定条件或功能对数组元素依次进行访问和处理。 5二维数组的含义、定义格式及初始化格式。 6二维数组的行数和
14、列数的概念,数组长度(即所含元素个数)的计算。 7访问二维数组元素的语法格式,每个下标运算符的操作对象和操作结果。 8二维数组中的所有元素在存储空间中的排列情况,每个元素的存储地址的计算。 9利用二维数组存储矩阵数据,按给定条件或功能对数组元素依次进行访问和处理。 10字符串常量的定义格式,字符串的存储格式,字符串长度的概念。 11一维字符数组、二维字符数组与字符串之间的关系,一维字符数组与二维字符数组的初始化。 12strlen、strcpy、strcmp、strcat等字符串函数的声明格式及功能。 13利用typedef语句定义数据类型的方法。 考核要求: 了解和理解一维数组、二维数组和字
15、符串的概念的使用方法,会利用它们存储和处理数据。 第五章 指针 考核内容(知识点): 1指针的概念,指针变量的定义和初始化。 2指针赋值(=)、取对象(变量)地址(&)、访问指针所指对象(*)、指针比较(=、!=、0 | y=5的相反表达式为( )。A. x=0 | y!=5 B. x0 | y!=5 D. x0 & y=5 4. 枚举类型中的每个枚举常量的值都是一个( )。 A. 整数 B. 浮点数 C. 字符 D. 逻辑值 5. 循环语句“for(int i=0; in; i+) S;”中循环体S被执行的次数为( )。 A. 1 B. n-1 C. n D. n+1 6. 在下面的whil
16、e循环语句中,其循环体被执行的次数为( )。 int i=0,s=0; while(sname等价的表达式是_。三、写出下列每个程序运行后的输出结果 1. #include void main() int i, s=0; for(i=1;i+) if(s50) break; if(i%2=0) s+=i; printf(i,s=%d, %dn,i,s); 2. #include void main() char ch=*; int i, n=5; while(1) for(i=0;in;i+) printf(%c,ch); printf(n); if(-n=0) break; 3. #incl
17、ude void 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); 4. #include void 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); for(i=2; i9; i+) if(aib1) b2=b1; b1=ai; else if(aib2) b2=ai; p
18、rintf(%d %dn,b1,b2); 5. #include void main() int a=10, b=20; printf(%d %dn,a,b); int b=a+25; a*=4; printf(%d %dn,a,b); printf(%d %dn,a,b); 6. #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;
19、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, 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 #include struct Worker char name15; /姓名 int age; /年龄 float pay;
20、 /工资 ; int Equal(struct Worker* r1, struct Worker* r2) if(strcmp(r1-name, r2-name)=0) return 1; else return 0; void main() struct Worker a4=abc,25,420,defa,58,638, ghin,49,560,jklt,36,375; struct Worker x=defa; int i; for(i=0; i=4) printf(没有查找所需要的记录!n); else printf(%s %d %6.2fn,ai.name,ai.age,ai.pay
21、); 四、写出下列每个函数的功能 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; 2. #include void WA(int a, int n) int i,k,j,x; for(i=0;in-1;i+) k=i; for(j=i+1;jak) k=j; x=ai; ai=ak; ak=x; 3. #include int* LJ(int a, int n) int
22、 i,k=0; for(i=1;iak) k=i; return &ak; 4. int Output(struct IntNode *f) int sum=0; if(!f) return -9999; /用返回特定值-9999表示空表 while(f) sum+=f-data; f=f-next; return sum; 假定struct IntNode的类型定义为: struct IntNode int data; /结点值域 struct IntNode* next; /结点指针域 ; 5. int wr4(FILE* fptr) char ch; int c=0; fseek(fpt
23、r,0,SEEK_SET); while(1) ch=fgetc(fptr); if(ch!=EOF) c+; else break; return c; 五、根据下列每个题目要求编写程序 1. 编写一个函数fun(),首先从键盘上输入一个4行4列的一个实数矩阵到一个二维数组a44中,接着求出主对角线上元素之和,最后返回求和结果。 2. 编写一个主函数,计算1+3+32+.+310的值并输出,假定分别用i,p,s作为循环变量、累乘变量和累加变量的标识符。 3. 编写一个主函数,已知6a40,15b30,求出满足不定方程2a+5b=120的全部整数组解。如(13,20)就是其中的一组解。参考解答
24、:一、选择题1. C 2. D 3. B 4. A 5. C 6. C 7. B 8. A 9. C 10. A 11. D 12. A 13. C 二、填空题1. /* 2. 程序 3. weirong18 4. C 5. 2 6. float7. 33 8. (!x)9. 1 10. if11. continue 12. M*N13. 2 14. 长度15. 实参 16. 程序文件17. *(a+i) 18. *p 19. struct Worker* r 20. (*p).name三、写出下列每个程序运行后的输出结果 1. i,s=15, 56 2. * * * * * 3. 264 4
25、. 18 20 5. 10 20 40 35 40 20 6. 15 20 28 32 36 47 7. 15 26 26 15 8. defa 58 638.00四、写出下列每个函数的功能1. 求出从键盘上输入的n个整数之和并返回。2. 采用选择排序的方法对数组a中的n个整数按照从大到小的次序重新排列。3. 求出数组a中n个元素的最大值元素,返回该元素的地址4. 对于以表头指针为f的链表,求出并返回所有结点中data域的值之和。5. 求出一个以fptr为文件流的所对应文件的长度,即所存字符的个数。五、根据下列每个题目要求编写程序1. double fun() double a44; double s=0; int i,j; printf(输入一个4*4的数值矩阵:n); for(i=0;i4;i+) for(j=0;j4;j+) scanf(%lf,&aij); for(i=0;i4;i+) s+=aii; return s; 2. #include void main() int i; /用i作为循环变量 int p=1; /用p作为累乘变量 int s=1; /用s作为累加循环变量 for(i=1;i=10;i+) p*=3; s+=p; printf(%dn,s); 3. #include void main()