《C 语言程序设计》教学大纲.doc

上传人:飞****2 文档编号:52202722 上传时间:2022-10-21 格式:DOC 页数:12 大小:80KB
返回 下载 相关 举报
《C 语言程序设计》教学大纲.doc_第1页
第1页 / 共12页
《C 语言程序设计》教学大纲.doc_第2页
第2页 / 共12页
点击查看更多>>
资源描述

《《C 语言程序设计》教学大纲.doc》由会员分享,可在线阅读,更多相关《《C 语言程序设计》教学大纲.doc(12页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、C语言程序设计一、课程基本情况课程名称:C语言程序设计(C Programming Language)考核对象:计算机专业和理工类的非计算机专业学生先修课程:大学计算机基础,高等数学学 时:总学时数108,其中:课堂讲授 72 学时,上机实验 36 学时教学目标:C语言是计算机专业的一门基础课,也是理工类非计算机专业学习计算机语言、建立和培养编程思想与程序语言能力和素质的基础课程。C语言与其它高级语言相比有其显著的优点,它既具有高级语言的特点,又具有低级语言的许多特点;它不仅是系统描述语言,而且也是通用的程序设计语言。因此,它既适合编写系统程序,又适合编写应用程序,应用领域很广,是一种理想的结

2、构化语言。通过对本课程的学习,使学生了解和掌握C语言基本语法规则,熟练阅读和理解简单的C语言程序,掌握一些基本的算法,并具备设计简单程序的能力,为继续学好后续计算机课程和今后的计算机应用与开发打下良好的基础。教学参考:C语言的学习包括知识和技能两个方面:知识方面 重点掌握数据类型、运算符与表达式,程序流程控制,数组,函数,指针,结构体、共用体和枚举,文件的基本操作,面向对象的基本概念等。其中指针是难点,对于理工类非计算机专业学生,以一级指针为主。技能方面 须通过上机操作掌握所学的知识,要特别强调讲授与上机操作相结合,保证学生有充分的上机条件和学时数。程序调试平台可以选择Turbo C 2.0或

3、者Visual C+ 6.0,如果选择后者,请注意其与前者的不同。主要参考书:1 丁亚涛.C语言程序设计第2版M.北京:高等教育出版社.2006.82 丁亚涛.C语言程序设计实训与考试指导第2版M.北京:高等教育出版社.2006.83 谭浩强.C语言程序设计第3版M.北京:清华大学出版社.2005.8二、课程内容与考核目标第1章 C语言概述(一)课程内容C语言的发展历史、特点、基本程序结构、算法、流程图、上机编辑和调试程序的方法和步骤。(二)考核知识点与考核目标了解C语言的形成、发展和基本特点;了解程序、程序设计、高级语言的基本概念;掌握C语言程序的基本结构和组成,掌握算法的基本概念和算法描述

4、的基本工具;学会用传统流程图描述一个具体的算法(简单应用)。第2章 数据类型、运算符和表达式(一)课程内容C语言的数据类型、标识符、关键字、常量、变量、运算符、表达式、类型转换。(二)考核知识点与考核目标了解C语言的数据类型、运算符、关键字;掌握标识符的命名规则,掌握各种基本类型的特点,掌握常量的书写方法,掌握变量的定义、赋值、初始化和使用方法;掌握各种基本表达式的组成、运算规则和优先级别,理解并掌握不同类型数据运算的类型转换规则。第3章 简单程序设计(一)课程内容C语言中的语句类型、程序结构、赋值语句、字符输入/输出函数、格式输入/输出函数、格式控制符。(二)考核知识点和考核目标了解结构化程

5、序设计方法以及3种基本程序结构;理解顺序结构的程序执行过程;掌握赋值语句和基本输入/输出函数的使用;学会用printf和scanf函数进行简单的程序设计。第4章 选择结构程序设计(一)课程内容C语言选择程序结构、关系运算符与关系表达式、逻辑运算符与逻辑表达式、if语句、switch语句、转移语句。(二)考核知识点和考核目标理解选择(分支)结构程序设计的概念;理解语句嵌套的概念、掌握关系表达式和逻辑表达式的组成及运算规则, 并能运用这些运算符构成表达式;学会阅读和理解简单的选择结构程序,学会利用if语句和switch语句进行简单的程序设计(应用)。第5章 循环结构程序设计(一)课程内容C语言循环

6、程序结构、for语句、while语句、do-while语句、循环嵌套、转移语句break、continue和goto。(二)考核知识点和考核目标掌握for语句、while语句、do-while语句、break语句、continue语句;学会利用循环进行简单的程序设计(求和、求阶乘、素数判断、Fibonacci数列、水仙花数等)。第6章 数 组(一)课程内容数组的概念、一维数组、二维数组、字符数组、字符串处理函数。(二)考核知识点和考核目标理解构造数据类型的概念;掌握一维数组、二维数组的定义、初始化和数组元素的引用;掌握字符数组的定义、初始化和数组元素的引用;理解并掌握字符串的存储方法和应用;掌

7、握有关字符串处理的函数的使用方法;理解并掌握有关数组应用的简单算法(冒泡排序、矩阵转置、字符串的插入、删除和替换操作等)。第7章 函 数(一)课程内容函数的基本概念和功能、函数的定义和声明、函数参数和返回值、函数的参数传递方式、函数的嵌套调用、函数的递归调用、数组作为函数参数、变量的作用域和存储类型、内部函数和外部函数。(二)考核知识点和考核目标了解函数的基本概念和功能、内部函数和外部函数;理解并掌握函数的定义和声明;重点理解传值和传址的区别;掌握函数的调用方法;理解作用域和存储类型的概念;学会区分不同作用域和存储类型的变量;学会设计具有简单功能的函数;掌握常量、变量、数组作为函数参数的函数调

8、用和参数传递的方法和特点;理解并掌握函数的递归调用方法,学会利用“递归”设计简单的函数(求和、阶乘)。第8章 指 针(一)课程内容指针的基本概念、指针变量的类型说明、指针变量的引用、指针和函数参数、数组指针变量、数组名和数组指针作函数参数、指向多维数组的指针变量、字符串指针变量、使用字符串指针变量与字符数组、函数指针变量、指针型函数、指针数组、命令行参数、指向指针的指针变量。(二)考核知识点和考核目标了解指针数组和多级指针的概念;理解地址、指针和指针变量的概念;变量、数组、字符串指针的含义;掌握指向变量、数组、字符串的指针变量的定义与引用方法;各种指针变量作为函数参数时的传递过程;学会正确利用

9、指针变量来引用所指向的变量、数组或函数;学会在程序设计中应用指针解决一些简单的问题。第9章 结构体、共用体与枚举(一)课程内容结构体的概念、结构体的定义和声明、结构体变量的定义和引用;结构体数组的定义和引用、指向结构体数据的指针变量的定义和引用、共用体的定义和声明、共用体变量的定义和引用、枚举型的定义和声明、枚举型变量的定义和引用;用户自定义类型的定义和使用、动态存储分配、链表。(二)考核目标了解结构体、共用体和枚举类型数据的特点;掌握结构体类型、变量、数组、指针变量的定义、初始化和成员的引用方法;了解共用体和枚举类型、变量的定义和引用;掌握用户自定义类型的定义和使用;了解动态存储分配和链表的

10、基本特点。第10章 位运算(一)课程内容位运算符及其运算规则和优先级。(二)考核知识点和考核目标了解位运算符及其运算规则和优先级;掌握基本位运算的形式。三、课程学时分配章次内 容课堂讲授学时数一C语言概述4二数据类型、运算符和表达式8三简单程序设计8四选择结构程序设计6五循环结构程序设计4复习小结2六数组6七函数8八指针8九结构、共用体与枚举8十位运算4复习总结2总 计68四、考试参考题型考试采用笔试方式,时间120分钟,主要考查C语言基本语法、阅读程序和编写程序的能力。笔试题型和分值分配如下表:题型题数单元分值题目说明总分值单项选择题30每题1分C语言程序设计30填空题6-15每空2分C语言

11、程序设计20-30阅读理解题4-5每题4-5分C语言程序设计20编程题2-4每题5-10分C语言程序设计20-30五、样卷1.笔试样卷一、单项选择题(每题1分,共30分)1下列关于C语言程序书写规则的说法中正确的是_。A)不区分大小写字母 B)一行只能写一条语句C)一条语句可分成几行书写D)每行必须有行号2以下不能作为C语言常量的是_。A) 0582B) 2.5e-2C) 3e2D) 0xA53以下不符合标识符规定的是_。A)_sumB)sumC)3cdD)Void 4下列可以正确表示字符常量的是_。A) tB) tC) tD) t5在C语言中,要求操作数不能是实型的运算符是_。A)%=B)

12、/=C)!=D)+6设有int a=1,b=2,c=1; ,则表达式a ?a+b:a+c的值是_。A)0B)1C)2D)37设有int a=2,b=6;,则表达式a*b/5的值是_。A)2B)3C)2.4D)3.6 8已知int i; float f;,则以下正确的语句是_。A) (int f)%i;B) int(f)%iC) int(f%i);D) (int)f%i;9设变量x,y均为int类型,则下面程序段的输出结果是_。x=6;y=x+;+y;printf(%d,y);A)9B)8C)7D)610已知int a=6,b=8,c=3;,则逻辑表达式ab & +c运算后,c的值是_。A) 1

13、B) 2C) 3D) 411已知int x=2,y=-1,z=3;,执行下面语句后,z的值是_。if (xy) if (y0) z=1; else z+;A) 1B) 2C) 3D) 412下面程序运行结果为_。#include void main( )inta=1;if (!a) printf(YES);else printf(NO);A)NOB)YESC)YESNOD)提示运行错误13有以下程序段: int a,b,c;a=1;b=2;c=3;if (ab) c=a;b=c;printf(a=%d,b=%d,c=%dn,a,b,c);程序运行结果为_。A) a=1,b=3,c=3B) a=

14、1,b=3,c=2C) a=1,b=2,c=3D) a=2,b=1,c=114for(表达式1 ; ;表达式3)可理解为_。A) for(表达式1 ; 0 ; 表达式3)B) for(表达式1 ; 1 ; 表达式3)C) for(表达式1 ; 表达式1 ; 表达式3)D) for(表达式1 ; 表达式3 ; 表达式3)15执行语句for(i=1;i6; i+=2);后,变量i的值是_。A) 5B) 6C) 7D) 816有如下程序:#include void main( )int s=1,i;for (i=1;i=5;i+)s=s*i;printf(%dn,s);该程序执行后输出_。A) 6B

15、) 120C) 240D) 217运行下面程序:#include #include void main( )char p =123450QQ0;printf(%dn,strlen(p);输出结果为_。A) 8B) 7C) 6D) 518以下能正确定义一维数组的选项是_。A) int num ;B) #define N 100int numN; C) int num0.100;D)int N=100;int numN;19下面能正确对字符串s进行初始化操作的是_。A) char s5= C, H, I, N, A, 0;B) char s5= CHINA;C) char s = CHINA;D)

16、 char s5;s0=C; s1=H; s2=I; s3=N; s4=A; s5=0;20若有int a34;,则对a数组元素非法引用的是_。A) a02+1B) a04C) *(*(a+2)+3)D) a1221当调用函数时,实参是一个数组名,则向函数传送的是_。A) 数组的长度B) 数组的首地址C) 数组每一个元素的地址D) 数组每个元素中的值22C语言中,如果在定义函数时没有指定函数类型,系统会隐含指定为_型。A) intB) charC) floatD) static23一个源文件中定义的全局变量的作用域是_。A) 本函数的全部范围B) 本程序的全部范围C) 本文件的全部范围D) 从

17、定义开始至本文件结束24设有以下函数首部: int func(double x10,int n)如果在程序中需要对该函数进行声明, 则以下选项中错误的是_。A) int func(double x ,int n);B) int func(double ,int );C) int func(double x10,int n);D) int func(double *x,int n);25对于类型相同的两个指针变量之间,不能进行的运算是_。A) +B) =C) age);C) printf(%d, std.age);D) printf(%d, p.age);29已知int x=28;,则执行语句p

18、rintf(%dn,x32;后,i的值为_。6已知int x,y; scanf(“%d%*d%d”,&x,&y); ,从键盘输入数据102030时,y的值是_。7以下程序段的功能是:从键盘上输入一个正整数n并判断其是否为素数,请填空。int n,i;printf(请输入一个正整数n:n);scanf(%d,&n);for(i=2;i=n-1;i+)if(n%i = 0) break;if( i _ n) printf(%d是素数n,n);else printf(%d不是素数n,n);8已知int k=8;,则下面while循环执行的次数为_。while(k=2) k=k-1;9已知int a1

19、0;,则_代表数组a的首地址。10若有int a34=1,2,0,4,6,8,10,则a21的值是_。11下列程序执行后的输出结果为_。#include #define M(x) x*(x+1)void main()int a=2,b=3;printf(%d,M(a+b);12在C标准库函数中,常用的字符串连接函数是_。13若有如下定义,则变量w在内存中所占的字节数是_。union aafloat x;char c2;struct stunion aa v;float y;double z;w;14已知:enum color black,white,yellow=4,red,blue=8;,则

20、枚举元素red对应的数值为 。15若fp是指向某二进制文件的指针,且未指到文件末尾,则!feof(fp)的值是_。三、阅读理解题(每题4分,共20分)1以下程序的运行结果为_。#include int main()char c=A;int a=65;float f=3.14159;printf(%d,%cn,c,c);printf(%d,%cn,a,a);printf(%f,%.4fn,f,f);return 0;2以下程序的运行结果为_。#include int main()int i,s=0;for(i = 1 ; i = 10 ; i+) switch(i % 5) case 1:cas

21、e 2: s+;break;case 3:case 4: s-;break;default:s+; printf(%dn,s); return 0;3以下程序的运行结果为_。#include int main()int a25,i;for( i = 0 ; i 5 ; i+)a0i=i*2;a1i=i+2;printf(%dn,a01*a13);return 0;4以下程序的运行结果为_。#include int fun(int n)static int x=1; int y;x = x + n;y = x + n;return (x+y);int main()int s;s = fun(1)

22、;printf(%dn,s);s = fun(s);printf(%dn,s);return 0;5以下程序的运行结果为_。#include int f(int n)if(n=0) return 0;else return n + f(n+1);int main()printf(%dn,f(-5);return 0;四、编程题(共20分)1编写程序计算并输出下面式子的值(要求用循环语句实现)。(7分)5+10+15+490+495+5002编写程序输出下面图形(要求用嵌套的循环语句实现) (7分) 1 21 321 4321 543213编写程序将字符串中的所有小写字母转换为大写字母,并统计其

23、中字母的个数。要求输出转换后的字符串和字母个数。(6分) 运行结果如下:HELLO 2009,WE ARE READY. n=15 程序框架如下:#include int main() char s100=Hello 2009,We are ready.; int n=0;/*考生在此完善程序*/ return 0;【参考答案】一、单项选择题(每题1分,共30分)1-5CACBA6-10DADCC11-15CAABC16-20BDBCB21-25BADBA25-30DCDDA二、填空题(每空2分,共30分)序号参考答案序号参考答案(1)十六 或16(9)A(2)18(10)6(3)8(11)2

24、0(4)int 或 整型(12)strcat 或strcat( )(5)0(13)16(6)30(14)5(7)= 或 =(15)1(8)0评分细则略三、阅读理解题(每小题4分,共20分)序号参考答案165,A65,A3.,3.14162231045195-15四、编程题(共20分)序号参考程序1#include int main()int i;int s = 0;for(i = 5 ; i = 500 ; i = i + 5)s = s + i;printf(%dn,s);return 0;2#include int main()int i,j;for(i = 1 ; i = 5; i+)for(j = 1 ; j = 1 ; j-)printf(%d,j);printf(n);return 0;3#include int main()char s100=Hello 2009,We are ready.;int n=0;/*考生在此完善程序*/int i;for(i = 0 ; si != 0 ; i+)if(si = A & si = a & si = a & si = z)si = si -32;printf(%sn,s);printf(n=%dn ,n);return 0;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁