第一篇:A01_C语言程序设计课程说明
《C语言程序设计》课程说明
课程性质任务:本课程是中央广播电视大学开放教育“计算机科学与技术专业(本科)”的一门专业基础课,中央电大统设必修。4学分,72学时,开设一学期。主要任务是介绍C语言中的数据类型、数据表示、运算规则、语句定义、函数调用、程序结构、文件使用以及面向过程的结构化、模块化程序设计方法等内容。
课程主要内容:本课程的主要内容是介绍C语言上机操作环境、程序基本结构,系统函数的使用;介绍常用输入输出函数的作用;介绍C语言基本数据类型、常量、变量、运算符、数学函数、表达式等的表示与含义;介绍各种分支语句、循环语句的流程控制功能及相应的程序设计方法;介绍一维数组和二维数组的定义与作用,字符串数组的特殊存储格式与作用;介绍指针的定义和运算,变量存储空间的动态分配,数组名的指针含义;介绍用户函数的定义与调用,值参数和指针参数的使用,变量的作用域,递归函数;介绍结构和联合类型的定义与应用,结构链表的建立和使用;介绍文件的概念,文件的打开和关闭,字符文件和字节文件的处理操作;介绍利用C语言编写解决实际问题的程序设计思路和方法。先修课程是《计算机应用基础》等,对计算机基本结构、编码系统和内外存储系统有一定了解。
课程能力目标:通过本课程的学习,使学生能够利用一种计算机程序设计语言编写出解决较简单的数值计算和数据处理问题的程序,逐步掌握C语言面向过程的结构化、模块化程序设计的基本知识和基本技能,为学习后续课程奠定程序设计和算法设计的基础。
课程教学媒体:本课程的教学媒体主要有文字教材、音像教材、常规资料、IP课件、CAI课件等,具体说明如下。
1、文字教材:《C语言程序设计》任爱华编著中央广播电视大学出版社《C语言程序设计形成性考核作业册》徐孝凯中央电大编辑部《C语言程序设计期末复习指导》徐孝凯中央电大编辑部
2、音像教材:《C语言程序设计》(A类视频,共20讲,每讲50分钟)任爱华主讲《C语言程序设计》(B类视频,共2讲,每讲50分钟)徐孝凯主讲
3、常规资料:《C语言程序设计》课程说明、教师介绍等8种常规资料,详见中央电大在线平台和江苏电大在线平台open.jstvu.edu.cn。
4、IP课件:《C语言程序设计》(共16讲)徐孝凯主讲,详见中央电大在线平台。
第二篇:《C语言程序设计》A课程考核说明
中央广播电视大学计算机科学与技术专业
C语言程序设计A课程考核说明(2008)
一、考核说明
《C语言程序设计》课程是全国电大系统计算机科学与技术专业(本科)的一门基础必修课程。本课程是学习数据结构、操作系统、计算机网络、数据库、软件工程等课程的先修课,在整个专业教学体系中占有非常重要的作用。
本课程主要介绍C语言的基本语法规则和程序设计方法,包括C语言程序结构和上机运行程序的基本过程,各种数据类型的常量和变量的定义与表示,各种运算符和表达式的表示与应用,各种流程控制语句的定义与作用,各种常用函数的定义格式与调用方法,用户函数的定义与调用,数组、指针、结构、文件等数据类型的定义与使用,结构化和模块化的程序设计方法等内容。
学习《C语言程序设计》需要理论与实践相结合,只注重书本知识是空洞的,只注重上机实践是迷茫的,必须两者结合循序渐进,通过书本知识指导实践,通过实践加深理解和吸收知识,以及运用知识解决问题的能力。
现将该课程考核的有关问题说明如下:
1.考核对象 全国电大系统开放教育计算机科学与技术专业(本科)的学生。2.教学媒体
文字主教材《C语言程序设计》 任爱华主编 中央广播电视大学出版社出版。
录象教材 20讲 任爱华等主讲 中央广播电视大学音像出版社出版,时间待定。IP网络课件 16讲 徐孝凯主讲 电大在线的该课程网站点播,2008年9月。
复习资料 《C语言程序设计期末复习指导》中央电大教育杂志社出版发行。
平时考核 《C语言程序设计形成性考核册》 中央电大教育杂志社出版发行。
网上辅导 在电大在线《C语言程序设计》课程教学网页上发表。
3.命题依据
本考核说明以中央电大计算机科学与技术专业《C语言程序设计》课程的教学大纲为依据编制。本考核说明是考试命题的依据。
4.考核要求
本课程是以掌握C语言知识并解决实际程序设计问题为目的。主要考核学生对C语言知识的掌握程度和对解决一般问题的程序设计能力。对C语言知识要在理解和应用的基础上加强记忆和掌握,不能死记硬背。
本课程教学内容包括了解、理解和应用三个层次,并且逐步递进,具体含义如下:(1)了解层次:记忆C语言中的基本概念和语法规则;
(2)理解层次:掌握C语言中的每个语法成分和语句的定义格式、含义及作用;(3)应用层次:利用C语言,结合实际解决问题的需要,能够分析和编写程序。
5.命题原则
(1)在教学大纲和考核说明所规定的知识范围内命题。在教学知识范围之内,需要灵活运用才能够解决问题的试题不属于超纲。
(2)试题的取材要求覆盖面广、区分度高。
(3)试题兼顾各个能力层次,了解和理解约占40%,应用约占60%。
(4)试题的难易程度和题量适当,按难易程度分为四个层次:容易占20%,较易占40%,较难占30%,难占10%。题量安排以平时能够独立完成作业者,能在规定的考试时间内做完 1 并有一定时间检查为原则。
6.试题题型
选择:根据题意,从四种可选择的答案中选择合适的一种答案。
填空:根据题意,在画有横线或空白括号内填写合适内容。
写出程序运行结果:根据所给的C语言程序,写出运行后的输出结果。
指出程序或函数功能:根据所给的C语言程序或函数,指出运行程序或进行函数调用时所能实现的功能。
编写程序或函数:根据所给出的题目要求,编写出相应的程序或函数模块。
7.考核形式:
本课程考核采用终结性考试与形成性考核相结合的方式。形成性考核分为两种,一种视形成性考核册作业完成情况和所规定的上机实验完成情况而定,占总成绩的20%;另一种为省级电大统一命题和组织的期末上机考核,占总成绩的10%,要求完成一个带有多个程序文件的程序项目的编写(或修改)并上机运行通过,上机考核时限为60分钟。形成性考核成绩由省级电大考核和确认。终结性考试采用书面和闭卷方式,考试成绩占总成绩的70%,由中央电大统一命题和考试时间,答卷时限为90分钟。总成绩满分为100分,合成成绩达到60及以上分数者可获得该课程规定的4学分,否则不获得该课程学分。
第二部分 考核内容及要求
第一章 C语言概述
考核内容(知识点):
1.程序、程序文件和函数的概念及其相互之间的关系。2.函数的定义格式和作用,主函数的特殊地位和作用。3.C语言简单语句和复合语句的语法格式。4.#include预处理命令的格式与作用。
5.头文件的文件名格式、在程序中的使用方法和作用。6.程序中两种注释标记的写法和作用。
7.标准输出函数printf()和标准输入函数scanf()的定义格式和具体应用。
8.C语言程序文件名、编译后生成的目标文件名和连接后生成的可执行文件名的命名规则,以及上机输入、编辑、编译、连接和运行程序的过程。
考核要求:
要求了解和理解以上内容。
第二章 数据类型和表达式
重点考核的内容(知识点): 1.C语言中的数据类型的分类。
2.各种整数类型的关键字表示,存储空间的大小和值域范围。3.整型变量的定义和初始化,十进制整型常量的表示。
4.字符类型的关键字表示,存储空间的大小和值域范围;字符型常量的表示,回车、换行、单引号、双引号、反斜线、空字符等特殊字符的表示。5.字符型变量的定义和初始化,字符型与整型的关系。
6.枚举的概念,枚举类型的定义,枚举变量的定义和初始化,枚举常量与整型常量的对应关系。
7.各种实数类型的关键字表示,存储空间的大小和有效位数。
8.单精度和双精度实数的定点表示和浮点(科学)表示,实型变量的定义和初始化。
9.加、减、乘、除、取余、赋值、增
1、减
1、取数据存储长度等算术运算符的表示、含义、运算对象个数和运算优先级。
10.关系运算符的定义和关系表达式的计算,逻辑运算符的定义与逻辑表达式的计算,根据任意表达式的值判断其逻辑值的方法。
一般考核的内容(知识点):
1.整型常量的八进制和十六进制表示。
2.符号常量的两种定义方法,它们之间的区别。3.位操作符、复合赋值操作符的含义与使用。4.求关系或逻辑表达式的相反表达式的方法。
考核要求:
理解和掌握以上重点考核的内容,了解和理解以上一般考核内容。
第三章 流程控制语句
考核内容(知识点):
1.C语言程序中的顺序、分支和循环这三种基本结构,每种结构的执行过程。
2.简单if语句、带else子句的if语句、多分支结构的if语句的定义格式、执行过程和在处理问题中的具体应用。
3.switch语句的定义格式、执行过程和在处理问题中的具体应用。
4.if语句与switch语句之间的功能比较,if语句与switch语句之间的转换。
5.for循环、while循环和do-while循环的定义格式、执行过程和在处理问题中的具体应用。
6.三种循环结构不同特点。7.Break语句在switch语句和各种循环语句中的作用,continue语句在各种循环语句中的作用。
8.goto语句和return语句的定义格式和功能。
考核要求:
理解和掌握本章的所有内容,并能够灵活应用。
第四章 数组和字符串
考核内容(知识点):
1.一维数组的含义、定义格式及初始化格式。
2.数组长度、数组元素、元素下标的含义,访问数组元素的语法格式,下标运算符的操作对象和操作结果。
3.数组元素的下标变化范围,数组元素所占存储空间大小和整个数组所占存储空间大小的计算,各元素对应存储空间的排列情况,每个元素的存储地址的计算。
4.利用一维数组存储数据,按元素值的升序或降序排列数据,按给定条件或功能对数组元素依次进行访问和处理。
5.二维数组的含义、定义格式及初始化格式。
6.二维数组的行数和列数的概念,数组长度(即所含元素个数)的计算。7.访问二维数组元素的语法格式,每个下标运算符的操作对象和操作结果。
8.二维数组中的所有元素在存储空间中的排列情况,每个元素的存储地址的计算。9.利用二维数组存储矩阵数据,按给定条件或功能对数组元素依次进行访问和处理。10.字符串常量的定义格式,字符串的存储格式,字符串长度的概念。
11.一维字符数组、二维字符数组与字符串之间的关系,一维字符数组与二维字符数组 3 的初始化。
12.strlen、strcpy、strcmp、strcat等字符串函数的声明格式及功能。13.利用typedef语句定义数据类型的方法。
考核要求:
了解和理解一维数组、二维数组和字符串的概念的使用方法,会利用它们存储和处理数据。
第五章 指针
考核内容(知识点):
1.指针的概念,指针变量的定义和初始化。2.指针赋值(=)、取对象(变量)地址(&)、访问指针所指对象(*)、指针比较(==、!=、>、<等)、指针算术运算(+、-、+=等)、指针增1或减1(++、--)等各种运算的含义和使用。3.数组名的指针含义。
4.一维数组元素的下标访问方式与指针访问方式及其之间的转换。5.二维数组元素的下标访问方式与指针访问方式及其之间的转换。
6.动态存储分配函数malloc()和calloc()以及动态存储空间释放函数free()的定义格式与调用方法。
考核要求:
理解指针的概念,掌握利用指针访问简单数据和数组元素的方法,掌握进行动态存储分配与释放的方法。
第六章 函数
考核内容(知识点): 1.函数的定义格式。
2.函数调用表达式的语法格式及执行过程。
3.函数定义中形参变量的作用及实虚参数结合的过程。5.函数声明(原型)语句的定义格式及作用。
6.形参为一维数组或二维数组时的说明格式,调用时数组参数传递的过程。
7.变量的作用域的概念和含义;系统对全局变量、static变量、局部变量的建立和初始化过程。
8.函数的递归调用的概念和递归函数的具体执行过程。9.头文件在程序文件中的位置和作用。
考核要求:
掌握用户自定义函数的定义、声明与调用方法,掌握函数调用中一般参数、指针参数、数组参数的传递,以及函数体执行和返回的过程。
第七章 结构与联合考核内容(知识点):
1.结构的概念,结构类型的定义格式,结构类型的声明(即不完整定义)格式。2.结构对象(变量)的各种定义格式和初始化,结构大小的计算,结构对象和结构数组对象的动态分配和初始化。
3.结构赋值,结构成员的直接访问和间接访问,利用结构数组保存和处理数据。4.结构和结构指针作为函数参数和返回值类型的具体应用。
5.链表的概念,链表中结点的结构,链表的建立和遍历的方法和算法。
6.联合的概念,联合类型的定义格式,联合对象的定义和初始化,联合的存储结构及大小的计算,匿名联合的特点。
考核要求:
理解和掌握结构和联合类型的特点以及数据成员的访问方法,了解和理解链表中结点的结构和建立与访问链表的方法,以及结构与联合嵌套定义的概念。
第八章
文件
考核内容(知识点):
1.数据文件的概念。
2.文件的打开和关闭方法。
3.文件的各种访问方式的表示。
4.对字符文件进行的输入和输出数据的方法。
5.对字节文件进行的输入和输出数据的方法。
考核要求:
了解和理解文件的有关概念和访问方式,会利用字符或字节文件保存和处理数据。
第三部分 模拟考核试题及解答
一、选择题
1.由C语言源程序文件编译而成的目标文件的缺省扩展名为()。A.cpp B.exe C.obj D.C 2.C语言程序的基本模块为()。
A.表达式 B.标识符 C.语句 D.函数 3.x>0 || y==5的相反表达式为()。
A.x<=0 || y!=5 B.x<=0 && y!=5 C.x>0 || y!=5 D.x>0 && y==5 4.枚举类型中的每个枚举常量的值都是一个()。A.整数 B.浮点数 C.字符 D.逻辑值
5.循环语句“for(int i=0;i 9.假定a为一个整型数组名,则元素a[4]的地址比该数组的首地址大()个字节。A.4 B.8 C.16 D.32 10.下列给字符数组赋初值时,正确的是()。 A.char s1[]=“abcdef”;B.char s2[4]=“abcd”;5 C.char s3[2][3]={“abc”,“xyz”};D.char s4[4][]={'a','x','s','t'};A.char *p=s;B.char *p=&s;C.char *p;p=*s;D.char *p;p=&s;11.要使p指向二维整型数组a[10][20],p应定义为()。 A.int *p=a;B.int **p=a;C.int *p[20]=a;D.int(*p)[20]=a;12.标准输入设备的文件流标识符是()。 A.stdin B.stdout C.stderr D.stdio 13.若要以读/写操作方式打开一个二进制文件,当文件不存在时返回打开失败信息,则选用的打开方式字符串为()。 A.“r+” B.“ab+” C.“rb+” D.“wb+” 二、填空题 1.单行或多行注释的开始标记符为__________。 2.使用#include命令可以包含一个头文件,也可以包含一个______文件。 3.执行“printf(“%s%s%d”,“wei”,“rong”,18);”语句后得到的输出结果为________。4.执行“printf(“%c”,'A'+2);”语句后得到的输出结果为________。5.short类型的大小为________个字节。6.十进制数3.26f的类型为________。 7.假定y=10,则表达式++y*3的值为________。8.关系表达式(x==0)的等价表达式为________。9.若x=5,y=10,则x!=y的逻辑值为________。10.在if语句中,每个else关键字与它前面同层次并且最接近的________关键字相配套。 11.当在程序中执行到________语句时,将结束所在循环语句中循环体的一次执行。12.假定二维数组的定义为“char a[M][N];”,则该数组所占存储空间的字节数为________。 13.存储字符串“a”需要占用存储器的________个字节空间。14.strlen函数用于计算一个字符串的________。 15.函数中的形参变量的初值由调用该函数时对应的________值决定。16.程序的编译是以__________为单位进行的。 17.假定a是一个一维数组,则a[i]的指针访问方式为________。 18.执行int *p=malloc(sizeof(int))操作得到的一个动态分配的整型对象为________。 19.假定要动态分配一个类型为struct Worker的具有n个元素的数组,并由r指向这个动态数组,则使用的语句表达式为 ________________ =malloc(n*sizeof(struct Worker))。 20.与结构成员访问表达式p->name等价的表达式是____________。 三、写出下列每个程序运行后的输出结果 1.#include 2.#include 3.#include 4.#include 5.#include 6.#include 7.#include 8.#include float pay;//工资 };int Equal(struct Worker* r1, struct Worker* r2){ if(strcmp(r1->name, r2->name)==0)return 1;else return 0;} void main(){ struct Worker a[4]={{“abc”,25,420},{“defa”,58,638}, {“ghin”,49,560},{“jklt”,36,375}};struct Worker x={“defa”};int i;for(i=0;i<4;i++)if(Equal(a+i,&x))break;if(i>=4)printf(“没有查找所需要的记录!n”);else printf(“%s %d %6.2fn”,a[i].name,a[i].age,a[i].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;} 2.#include 3.#include 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(fptr,0,SEEK_SET);while(1){ ch=fgetc(fptr);if(ch!=EOF)c++;else break;} return c;} 五、根据下列每个题目要求编写程序 1.编写一个函数fun(),首先从键盘上输入一个4行4列的一个实数矩阵到一个二维数组a[4][4]中,接着求出主对角线上元素之和,最后返回求和结果。 210 2.编写一个主函数,计算1+3+3+...+3的值并输出,假定分别用i,p,s作为循环变量、累乘变量和累加变量的标识符。 3.编写一个主函数,已知6≤a≤40,15≤b≤30,求出满足不定方程2a+5b=120的全部整数组解。如(13,20)就是其中的一组解。 参考解答: 一、选择题 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.float 7.33 8.(!x)9.1 10.if 11.continue 12.M*N 13.2 14.长度 15.实参 16.程序文件 17.*(a+i)18.*p 19.struct Worker* r 20.(*p).name 三、写出下列每个程序运行后的输出结果 11 1.i,s=15, 56 2.***** **** *** ** * 3.264 4.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 a[4][4];double s=0;int i,j;printf(“输入一个4*4的数值矩阵:n”);for(i=0;i<4;i++)for(j=0;j<4;j++)scanf(“%lf”,&a[i][j]);for(i=0;i<4;i++)s+=a[i][i];return s;} 2.#include 3.#include 《C语言程序设计》课程教学大纲 一、课程教学目的 本课程系统学习C语言的基本知识和基本语法,较好地训练学生解决问题的逻辑思维能力以及编程思路和技巧,使学生具有较强的利用 C 语言编写软件的能力,为培养学生有较强软件开发能力打下良好基础。 二、课程教学要求 通过本课程的学习,应熟练掌握 C 语言中的基本知识、各种语句及程序控制结构,熟练掌握 C 语言的函数、数组、指针、结构体、链表等数据结构的基本算法;并能熟练地运用 C 语言进行结构化程序设计;具有较强的程序修改调试能力;具备较强的逻辑思维能力和独立思考能力。 三、课时分配 本学科计划学时为246学时,其中理论与实训课时比例为7:3。 四、课程教学重、难点 课程教学重点:掌握C语言变量类型及不同类型常量的表示;标准的输入输出函数的使用;运算符及常用数学函数的使用;控制流程、数组和指针的使用;结构体、链表的构造使用;函数结构、函数参数传递及递归等方面的知识;基本的文件操作。难点:指针的使用、结构体链表的构造和使用及函数的参数传递。 五、课程教学方法(或手段) 本课程实践性较强,故采用讲授和上机操作相结合的方式进行教学。 六、课程教学内容 第一章 C语言概述 1.教学内容 (1)编程历史的回顾、程序设计介绍(过程式,面向对象,函数式,逻辑式);(2)C语言的历史背景、特点;(3)C语言源程序的格式和程序结构;(4)C程序的上机步骤。2.重、难点提示 (1)重点:掌握简单的 C程序格式,包括main()函数、数据说明、函数开始和结束标志等; (2)难点:编程入门以及对语言的理解。第二章 算法 1.教学内容 (1)算法的概念及特性;评价算法优劣的方法(时间和空间);(2)简单算法举例; (3)算法的表示(自然语言、流程图、N-S流程图);(4)结构化程序设计的基本思想及基本步骤。2.重、难点提示 (1)重点: 算法流程图三种基本结构(以后各章学习中利用流程图强化对程序的理解); (2)难点: 算法概念以及对结构化程序设计思想的理解。第三章 数据类型、运算符与表达式 1.教学内容 (1)基本数据类型及其常量的表示法(字符和字符串常量),各种数制(八、十、十六进制)的整型数和长整型数,实型数(float和double); (2)变量的类型说明、初始化及引用;(3)运算符与表达式: 2.重、难点提示 (1)重点: 掌握 C的几种基本数据类型,不同类型数据间的混合运算规则;不同运算符的使用特点,清楚每种运算符的优先级与结合性;各种表达式的含义与使用要点。 (1)难点:不同类型数据间的混合运算;运算符的优先级与结合性。第四章 最简单的 C 程序设计 — 顺序程序设计 1.教学内容 (1)C程序结构和语句的构成; (2)顺序结构程序的设计:赋值语句的使用要点;(3)数据的输入与输出: 2.重、难点提示 (1)重点: 顺序结构程序的表达式语句形式; 输入/输出函数的表示与调用方法; 利用流程图加深对顺序结构程序的理解。 (2)难点: 格式输入与输出表示中各种格式字符的表示含义。 第五章 选择结构程序设计 1.教学内容 (1)关系运算符和关系表达式;(2)逻辑运算符和逻辑表达式; (3)if语句(if;if„else„;if„else if„else„);(4)switch和break语句。2.重、难点提示 (1)重点:关系、逻辑运算符及其表达式的语法形式;掌握if语句;switch语句; 利用流程图加深对选择结构程序的理解。 (1)难点: 关系与逻辑运算符表达式的结果判定; if语句嵌套的层次判定;程序中使用break语句运行结果的判定。第六章 循环控制 1.教学内容 (1)用goto语句构成循环、for语句、while语句和do„while语句;(2)循环嵌套; (3)break,continue语句。2.重、难点提示 (1)重点:掌握while语句与do while语句的结构,for语句的结构,其使用方法;常见的循环嵌套形式;正确区分for语句、do„while语句与while语句;break语句和continue的应用及其区别; (2)难点:分析总结常用的程序设计方法及算法特点,并能编写相应的程序。第七章 数组 1.教学内容 ⑴ 数组的含义与存储特点; ⑵ 数组的定义与使用; ⑶ 字符数组。2.重、难点提示 (1)重点:掌握一维数组、二维数组;字符数组与字符串的概念与定义方法,常用的字符串处理函数。 (2)难点:数组下标的起始数问题;利用数组形式进行程序设计的一般方法与典型算法。 第八章 函数 1.教学内容 ⑴ 函数的定义; ⑵ 函数的调用(一般调用、嵌套调用、递归调用),return语句; ⑶ 参数的传递方式:形式参数与实在参数; ⑷ 局部变量与全局变量; ⑸ 变量的动态存储与静态存储; ⑹ 内部函数与外部函数。2.重、难点提示 (1)重点: 掌握函数定义的一般形式;函数的调用的几种形式;函数嵌套调用的一般过程;数组名作为函数的参数的一些特点;局部变量与全局变量的概念及它们的使用特点。 (2)难点:不同的函数参数传递方法在程序中应用的结果判定;利用函数调用方法实现程序设计中涉及的参数定义、参数传递以及返回值问题;函数调用的理解。第九章 预处理命令 1.教学内容 ⑴ 预处理的概念与特点; ⑵ 符号常数和宏的定义; ⑶ “文件包含”处理。2.重、难点提示 (1)重点:宏定义的方法;“文件包含”与预处理的应用。(2)难点:宏定义的方法。第十章 指针 1.教学内容 ⑴ 指针与地址的概念; ⑵ 指针变量的定义,初始化;指针变量的引用(取地址运算符&及指针运算符*);指针变量作为函数参数的应用; ⑶ 指针与数组(数组的指针和指向数组的指针变量); ⑷ 字符串的指针和指向字符串的指针变量; ⑸ 函数的指针和指向函数的指针变量、返回指针值的指针函数; ⑹ 指针数组和指向指针的指针; ⑺ 对main()函数命令行参数的基本了解。2.重、难点提示 (1)重点:指针变量定义、初始化和引用;数组的指针和指向数组的指针变量;字符串的指针和指向字符串的指针变量;指针数组与指向指针的指针。 (2)难点:指针概念深刻理解;区别指向数组的指针和指针数组;指向指针的指针; 有关指针的数据类型定义和指针的相关运算。第十一章 结构体与共用体 1.教学内容 ⑴ 定义结构体类型变量的方法; ⑵ 结构体变量的引用与结构体变量的初始化; ⑶ 结构体数组与指向结构体数据的指针; ⑷ 指向结构体类型数据的指针及用指针处理链表; ⑸ 共用体; ⑹ 枚举类型; ⑺ 用typedef定义类型。2.重、难点提示 (1)重点:掌握结构体类型变量的定义方法;结构体类型变量的引用方法;结构体类型变量如何在定义的同时初始化; 通过图示正确理解链表的概念和形态,共同体的含义、共同体类型变量的定义方法。 (2)难点:结构体与共用体概念的掌握;各种结构体结构的定义。第十二章 位运算 1.教学内容 ⑴ 运算符和位运算; ⑵ 位运算举例; ⑶ 位段。2.重、难点提示 (1)重点:掌握各种位运算符,运算规则和优先级。(2)难点:各种位运算符的运算规则和优先级。第十三章 文件 1.教学内容 ⑴ 文件类型指针; ⑵ 文件的打开与关闭; ⑶ 文件的读写; ⑷ 文件的定位。2.重、难点提示 (1)重点:掌握文件操作的相关标准函数;(2)难点:文件的读写和定位操作。 七、实验教学内容 实验项目(一):C 语言中控制语句的使用(1)项目类别:必做(2)项目性质:综合性(3)项目主要目的要求: 掌握各类控制语句的书写格式,能在具体问题解决时给出合适的程序控制结构;用分支结构实现程序的条件控制;用循环结构实现程序中重复执行操作的控制。(4)主要仪器:计算机(5)实验考核方法:随堂考查 实验项目(二):C 语言中数组的使用(1)项目类别:必做(2)项目性质:综合性(3)项目主要目的要求: 掌握数组这种构造类型的特点,如何用数组数据对象并对数据对象进行处理;熟练掌握一维数组的定义、引用、初始化,用一维数组来对字符进行处理;掌握二维数组的定义、引用、初始化,用二维数组实现矩阵的有关方法算法。(4)主要仪器:计算机(5)实验考核方法:随堂考查 实验项目(三):C 语言中函数的使用(1)项目类别:必做(2)项目性质:综合性(3)项目主要目的要求: C语言中用函数来实现子功能模块,掌握系统函数的调用方法及用户自定义函数的定 义、调用方法;用自定义函数来实现一个具体问题;用自定义函数的嵌套调用来实现一个复杂问题。 (4)主要仪器:计算机(5)实验考核方法:随堂考查 实验项目(四):C 语言中指针的使用(1)项目类别:必做(2)项目性质:综合性(3)项目主要目的要求: 掌握指针变量的运用,通过指针引用数组元素的方法,函数指针变量作函数的参数;在程序中进行指针变量的运算操作,指针变量作函数的参数;数组元素的指针。(4)主要仪器:计算机(5)实验考核方法:随堂考查 实验项目(五):C 语言中结构体与链表的使用(1)项目类别:必做(2)项目性质:综合性(3)项目主要目的要求: 掌握结构体类型变量的定义和使用;结构体类型数组的概念和应用;链表的创建与使用;检共用体的概念与使用。(4)主要仪器:计算机(5)实验考核方法:随堂考查 实验项目(六):C 语言中文件的使用(1)项目类别:必做(2)项目性质:综合性(3)项目主要目的要求: 掌握文件以及缓冲文件系统、文件指针的概念;学会使用文件打开、关闭、读、写等文件操作函数;学会用缓冲文件系统对文件进行简单的操作。(4)主要仪器:计算机(5)实验考核方法:随堂考查 八、课程考核方式 1.考核方式: 闭卷考试 2.成绩构成: 平时+期末 九、选用教材和参考书目 [1]《C程序设计》(第三版),谭浩强编,清华大学出版社,2007。 [2]《数据结构—用C语言描述》(第二版),唐策善编,高等教育出版社,2004。[3]《程序设计基础与C语言》(第一版),梁力.郭晓玲.高浩编,西安电子科技大学出版社,2001。 [4]《C语言程序设计》(第二版)刘德恒编,电子工业出版社,2001。 《C语言程序设计》课程教学大纲 课程编号: 适用专业:机械制造、数控、焊接 专业责任教学单位:机电工程系 总学时:36学时 考核形式:闭卷 笔试 课程类型:专业基础课 选读方式:必修课 教学目的: 我们的时代是一个离不开计算机的时代,对于机械制造、数控、焊接专业学生,程序设计是学生必备的技能之一。C语言是一种广泛使用的结构化程序设计语言,它既具有高级语言的特点,又具有低级语言的特点,它的通用性与灵活性使得它比一般的程序设计语言更加通俗易懂。 本课程从介绍C语言的基础知识入手,引入“模块化程序设计”思想,强调实例教学,并结合大量的上机实践,要求学生在模仿、实践中逐步学会编写程序,提高阅读程序的能力及实际操作能力和技能,为以后更好的理解程序,学习程序,开发软件打好基础。 主要教学内容及要求: 第一部分 进入C语言程序世界(2学时) 1、要求:了解C语言的特点,掌握C程序的结构组成,算法的概念及其表示方法,熟悉VC编程环境使用。 2、内容: 1.1 了解C语言程序的结构 1.2 设计简单的C语言程序 1.3 C程序的调试与运行 1.4 计算机语言的发展 3、重点:C程序的结构、VC编程环境、算法的概念及其表示、编写最简单的C程序。难点:编写简单的C程序。 第二部分 编制C程序设计的基础知识(2学时) 1、要求:熟练掌握C语言基本数据类型和表达式,掌握并熟练运用常用的I/O函数。 2、内容: 2.1 常量与变量 2.2 C语言的基本数据类型 2.3 C语言的常用运算符与表达式 3、重点:C语言基本类型、C语言常用表达式。难点:C语言表达式运算符优先级的判断。第三部分 顺序结构程序设计(2学时) 1、要求:了解三种结构程序设计的思想,掌握顺序化结构程序设计的方法。 2、内容: 3.1 结构化程序设计的三种基本结构 3.2 数据的输入与输出 3.3顺序结构程序设计举例 3、重点:顺序结构程序设计,printf与scanf函数的使用。难点:printf与scanf函数的使用。 4、实验: 实验 一、输入/输出函数编程实训 实验 二、顺序程序结构设计 第四部分 选择结构程序设计(2学时) 1、要求:掌握选择结构程序设计的方法,if语句,switch语句的应用。 2、内容: 4.1 选择结构程序设计简介 4.2 if语句的典型应用形式 4.3条件运算符和条件表达式 4.4 switch语句的应用 4.5 选择结构程序设计应用 3、重点:选择结构程序设计,if语句与switch语句的应用。难点:if语句与switch语句的使用。 4、实验: 实验 三、选择结构程序设计 第五部分 循环结构程序设计(4学时) 1、要求:掌握循环结构程序设计的思路,while语句、do—while语句和 for语句的使用,循环语句嵌套,break和continue语句。 2、内容: 5.1 为什么使用循环 5.2 while语句与do...while语句 5.3 for语句实现循环 5.4 几种循环的比较 5.5 多重循环(嵌套循环)5.6 break和continue语句 5.7 循环结构程序设计举例 3、重点: while语句、do—while语句和 for语句的使用,循环语句嵌套,break语句。难点:循环语句的嵌套。 4、实验: 实验 四、循环结构程序设计 第六部分 应用数组设计程序(4学时) 1、要求:掌握数组的定义、引用和初始化,熟练运用数组解决同类型的多个变量问题。 2、内容: 6.1 数组的引入 6.2 一维数组 6.3 二维数组 6.4 字符数组 6.5 数组的应用 3、重点:一维数组、二维数组和字符数组的定义和应用。难点:二维数组、字符数组的应用。 4、实验: 实验五、一维数组的使用 实验 六、字符数组的使用 第七部分 应用函数设计程序(4学时) 1、要求:掌握函数的定义及调用规则,理解实参和形参数据的传递方式,熟练运用函数实现模块化程序设计,理解函数的嵌套调用和递归调用,内部函数与外部函数,理解变量的作 用范围和存储类别 2、内容: 7.1 函数的引入 7.2 函数的定义与调用 7.3 函数的嵌套调用和递归调用 7.4 函数应用实例 7.5 局部变量、全局变量及其存储 7.6 内部函数和外部函数 3、重点:函数的定义与调用、递归和嵌套函数、变量的存储类别和作用范围。难点:函数的调用、递归函数的使用。 4、实验: 实验 七、函数的使用 第八部分 应用指针编制程序 1、要求:了解指针的概念及定义,掌握指针的使用方法,掌握指针和一维数组以及指针和二维数组的应用。掌握几种特殊类型的指针。 2、内容: 8.1 指针概述 8.2 指针变量 8.3 指针与数组 8.4 指针与函数 8.5 指针数组 8.6 指向指针的指针 3、重点:指针变量的定义和使用、指针与变量、数组、函数指向应用。难点:指针变量作为函数参数、指针指向数组、函数的应用。 4、实验: 实验 八、指针的简单使用 实验 九、指针的高级使用 第九部分 结构体、共用体和枚举类型的应用(4学时) 1、要求:理解并掌握结构体的基本概念和用法,掌握共用体和枚举类型的基本概念及一般使用方法,了解用户自定义类型。 2、内容: 9.1 结构体类型与结构体变量的定义 9.2 结构体变量的引用 9.3 结构体数组 9.4 结构体与指针 9.5 结构体与函数 9.6 结构体应用—链表 9.7 共同体 9.8 枚举类型 9.9 用typedef定义类型 3、重点:结构体、共用体和枚举类型的定义、引用和初始化 难点:结构体的概念和使用 4、实验: 实验 十、结构体和共用体的应用 第十部分 文件(2学时) 1、要求:理解文件的结构类型、文件指针的相关概念,掌握文件的打开、关闭、读写、定位等文件操作 2、内容: 10.1 文件概述 10.2 文件的常用操作 10.3 文件的应用举例 3、重点:文件的打开与关闭,文件的读写 难点:文件类型指针的概念,文件的读写 4、实验: 实验 十一、文件的使用 第十一部分 C语言程序设计应用实例(4学时) 1、要求:成功完成“实现通讯录的管理程序”与“贪吃蛇游戏编程实例”训练。 2、内容: 11.1 实现通讯录的管理程序 11.2 学生成绩管理程序 11.3 图形与游戏编程实例 3、重点:强化多种C语句、规则的混合使用,理解结构化程序设计的思路。难点:C语句规则的熟练使用,图形库函数的使用。本课程与其它课程的联系与分工: 先修课程:《计算机应用基础》、《高等数学》、《线性代数》 编写者签名: ****年**月**日 系部审核: 教务处批准: 年 月 ****年**月**日 日 C语言程序设计课程教学大纲 中央电大教务处教学管理科 2007年08月29日 第一部分 大纲说明 1.课程性质、任务与目的 《C语言程序设计》是中央电大计算机科学与技术专业(专科起点本科)的一门专业基础课。主要任务是介绍C语言中的数据类型、数据表示、运算规则、语句定义、函数调用、程序结构、文件使用、编程方法等内容。目的是使学生能够利用一种计算机程序设计语言编写出解决较简单的数值计算和数据处理问题的程序,为学习后续课程奠定程序设计和算法设计的基础。 2.与其他课程的关系 学习《C语言程序设计》课程需要了解计算机基本组成,并具有对计算机进行基本操作的技能。本课程的后续课程为《数据结构》、《操作系统》、《数据库》等。 3.课程教学特点 《C语言程序设计》是一门知识性和实践性都很强的课程,必须在学习中掌握C语言的语法规则,并在上机实践中体会和加深理解,通过实际的上机操作训练,还能够学习到书本上学不到的知识和技能,提高自己进行程序设计和开发的实际能力。 4.教学主要内容 (1)介绍C语言上机操作环境、程序基本结构,系统函数的使用; (2)介绍常用输入输出函数的作用; (3)介绍C语言基本数据类型、常量、变量、运算符、数学函数、表达式等的表示与含义; (4)介绍各种分支语句、循环语句的流程控制功能及相应的程序设计方法; (5)介绍一维数组和二维数组的定义与作用,字符串数组的特殊存储格式与作用; (6)介绍指针的定义和运算,变量存储空间的动态分配,数组名的指针含义; (7)介绍用户函数的定义与调用,值参数和指针参数的使用,变量的作用域,递归函数; (8)介绍结构和联合类型的定义与应用,结构链表的建立和使用; (9)介绍文件的概念,文件的打开和关闭,字符文件和字节文件的处理操作。 (10)介绍利用C语言编写解决实际问题的程序设计思路和方法。 5.教学基本要求 本课程教学内容包括了解、理解和应用三个层次,并且逐步递进,具体含义如下: (1)了解层次:记忆C语言中的基本概念和语法规则; (2)理解层次:掌握C语言中的每个语法成分和语句的定义格式、含义及作用; (3)应用层次:利用C语言,结合实际解决问题的需要,能够分析和编写程序。 第二部分 媒体使用和教学过程建议 1.课程学分和学时 本课程为4学分、72学时、第一学期开设。电视、实验和面授辅导学时各为20、27和25学时。课程中各章内容及学时分配如下表所示。 序号 一 二 三 四 五 六 七 C语言概述 数据类型与表达式 流程控制语句 数组和字符串 指针 函数 结构与联合 内容 电视学时 实验学时 面授学时 3 3 2 2 3 3 2 4 4 4 4 4 3 3 3 3 4 3 八 文件 2 3 4 2.教学媒体设计 (1)课程以文字教材为主,文字教材采用合一型。文字教材担负起形成整个课程体系系统性和完整性的任务,是学生学习的主要媒体形式。因此教材要概念准确、条理清晰、深入浅出、便于自学,并且要包含实验指导和实验内容。 (2)电视课程作为文字教材的强化媒体,配合文字教材讲授课程的基本知识以及重点和难点。 (3)面授辅导课程由面授教师系统地辅导教学内容,保证教学进度,检查学习效果,随时解答学生的问题,是非常重要的教学活动。 (4)CAI课件是利用计算机进行自主学习的重要教学手段,它能够集名师讲授、动画教学演示、作业练习、学习效果检查等为一体,不受时间、地点和空间的限制,深受学习者喜爱。 (5)网络资源媒体可以汇集有关教学文件为学生查询提供方便,还可以进行网络交流答疑活动,便于师生定期或随时开展。 3.教学过程建议 本课程的电视和面授课堂教学要把知识讲授与上机操作演示结合起来,同时要加强学生的上机操作练习和指导,使所学知识都能够得到上机运行结果的充分验证。 第三部分 教学内容和教学要求 第一章 C语言概述 (一)教学内容 1.C语言的特点 2.C语言中的基本语法成分和程序结构 3.常用输入输出函数printf和scanf的作用 4.C程序的编辑、编译、链接和运行 (二)教学要求 了解:C语言的特点,基本的语法成分,程序的结构,C程序的编辑、编译、链接和运行的过程。 理解:常用输入输出函数printf和scanf的作用 第二章 基本数据类型与表达式 (一)教学内容 1C语言中的基本数据类型; 2.整数、实数、字符、枚举等常量的表示; 3.使用#define编译预处理命令定义符号常量; 4.变量的定义和分类; 5.各种运算符的表示和应用; 6.数值、关系、逻辑表达式的求值; 7.常用数值函数的调用,如绝对值函数、平方根函数、指数函数、对数函数、取整函数等的调用。 (二)教学要求 理解:C语言中的基本数据类型种常量和变量的表示,运算符的优先级和结合性,表达式的构成,常用数学函数的调用格式与作用。 第三章 流程控制语句 (一)教学内容 1.if语句的定义格式和作用; 2.switch语句的定义格式和作用; 3.for语句的定义格式和作用; 4.while语句的定义格式和作用; 5.do---while语句的定义格式和作用; 6.continue和break语句的定义格式和作用; 7.return和goto语句的定义格式和作用。 (二)教学要求 理解:各种语句的定义格式; 应用:分析程序,按照解决问题的需要编写出相应程序。 第四章 数组和字符串 (一)教学内容 1.数组和数组元素的有关概念; 2.一维数组的定义和应用; 3.二维数组的定义和应用; 4.字符串的存储和字符与字符串函数的使用。 (二)教学要求 了解:数组和数组元素的有关概念; 理解:一维数组和二维数组的定义格式,字符串的存储格式,字符与字符串函数的调用格式; 应用:会分析含有数组和字符串应用的程序,根据数值计算和数据处理问题编写出数组应用程序。 第五章 指针 (一)教学内容 1.指针的有关概念; 2.指针的各种运算 3.数组元素的指针访问方式 4.数据存储空间的动态存储分配 (二)教学要求 了解:指针的有关概念; 理解:指针的各种运算符的含义,一维和二维元素的指针访问方式,动态存储分配与释放函数的含义; 应用:会分析含有指针操作的程序。 第六章 函数 (一)教学内容 1.函数的定义格式和各个语法成分的作用; 2.函数的调用格式以及调用过程; 3.值参数和指针参数的不同作用; 4.变量的作用域分类; 5.递归函数的概念和调用过程。 (二)教学要求 了解:函数的定义、声明、调用与返回的有关概念; 理解:函数的定义和调用过程,值参数和指针参数的使用,变量的各种不同作用域; 应用:会分析一个函数定义的功能,根据问题编写出对应的函数。 第七章 结构与联合(一)教学内容 1.结构的基本概念 2.结构的定义与初始化 3.结构成员的访问和结构变量的赋值 4.结构与数组 5.结构与函数 6.结构与链表 7.联合的定义与使用 (二)教学要求 了解:结构和联合的有关概念; 理解:结构和联合的定义格式,结构和联合成员的访问,结构作为函数参数的应用,结构作为链表中结点类型的应用; 应用:会分析和编写使用结构的函数或程序 第八章 文件 (一)教学内容 1.数据文件的概念 2.文件的打开和关闭,3.文件的操作方式 4.字符文件的访问 5.字节文件的访问 (二)教学要求 了解:文件的有关概念; 理解:文件的各种访问方式; 应用:会分析和编写使用文件的程序。 第四部分 实验 实验是学习该课程的非常重要的教学环节,通过上机实验能够加深理解和巩固书本上所学的知识,能够提高动手操作的能力以及分析问题和解决问题的能力。在教材中的每章都将给出具体的实验练习题,以及必要的操作步骤。第三篇:《C语言程序设计》课程教学大纲
第四篇:c语言程序设计课程教学大纲2012
第五篇:C语言程序设计课程教学大纲