C语言教学大纲.docx
- 文档编号:8195671
- 上传时间:2023-01-29
- 格式:DOCX
- 页数:75
- 大小:56.90KB
C语言教学大纲.docx
《C语言教学大纲.docx》由会员分享,可在线阅读,更多相关《C语言教学大纲.docx(75页珍藏版)》请在冰豆网上搜索。
C语言教学大纲
课程编号:
JC6.0-01-B2(学院-6.0-阶段-序号)(小5号宋体)
C语言基础
总学时:
80
总天数:
22
课程性质:
基础
教学周期及周学时分配:
月度教学周期(22)天、每天4学时
使用专业及层次:
软工专业
先行课程:
ASP和JS语言
后续课程:
C语言实训
编写人:
胡金生2016年12月
推荐参考书:
《C程序设计》,作者:
谭浩强出版社:
清华大学出版社出版年:
2010-6-1
推荐网站:
一本门课程在整个课程体系中的作用:
作用:
通过对该课程的学习,使学生掌握C语言程序设计的基本知识,程序结构基本算法及程序设计思想,并培养使用C语言进行程序设计基本能力,为后继课程及其他程序设计课程的学习和应用打下扎实的高级语言理论和实践基础。
学会:
学生通过学习该课程后主要应掌握以下内容:
(1)了解C语言的发展与特点。
(2)掌握C语言源程序的结构和编程风格与惯例。
(3)熟练掌握变量的概念;C的基本数据类型的存储和取值范围;各种基本类
型变量的说明规则和变量的赋初值。
(4)能够编写、调试和运行结构化编程的程序。
(5)熟练掌握一维、二维数组的定义和数组元素引用的方法,并能用数组解决
实际编程问题(如排序问题)
(6)掌握指针变量、指针和地址的概念。
指针变量的初始化和指针变量所指的
对象的引用。
(7)理解函数在结构化程序设计中的重要作用,掌握C语言中函数的分类(库
函数和用户函数)。
(8)能够正确书写函数调用语句;掌握在调用时实在参数与形式参数的对应规
则;能正确书写被调用函数的说明和调用函数;理解实在参数与形式参数
的对应关系与传递过程。
正确理解递归的概念,能编写和阅读简单的递归
函数。
二课程的性质、任务和要求(小3号楷体)
单元
教学内容
课时数
其中
态度
A
技能
S
知识点
K
要求
理论课时数
上机课时数
第
1
单元
程序设计基本概念
4
3
1
2
2
4
理解什么是程序和程序设计,什么是算法,深刻理解什么是结构化程序设计和模块化结构
第
2
单元
C程序设计的初步知识
4
3
1
2
5
2
深刻记忆C语言程序的构成和格式,哪些是主函数,哪些是标识符,常量和变量
第
3
单元
C语言的基础知识
(一)
4
2
2
3
5
4
理解和记忆什么是标识符,常量和变量,对各种算术表达式要逻辑清楚
第
4
单元
C语言的基础知识
(二)
4
2
2
1
4
7
理解和记忆什么是标识符,常量和变量,对各种算术表达式要逻辑清楚
第
5
单元
输入和输出语句
4
2
2
2
3
3
理解熟记输出和输入语句的格式,对注意事项一定要牢记
第
6
单元
C语言的程序结构
4
2
2
3
6
5
理解关系运算和逻辑运算的概念,对if和switch语句,要逻辑清楚,表达准确。
第
7
单元
循环结构
4
2
3
2
4
3
理解while、do-while和for语句,要逻辑清楚,表达准确。
第
8单元
字符型数据
4
1
3
1
3
3
理解和牢记字符常量和变量的要求和格式
第
9
单元
函数
(一)
4
2
2
2
3
5
学会如何调用库函数,以及函数的定义语法和返回值。
第10单元
函数
(二)
4
1
3
2
3
5
学会调用函数的方式,说明函数,以及调用函数和被调用函数之间的数据传递
第11单元
指针变量
4
2
2
1
3
5
理解指针的概念,掌握指针变量的定义合乎使、了解数组的指针和指向数组的指针变量、了解字符串的指针和指向字符串的指针变量。
第12单元
数组
(一)
4
2
2
1
4
8
理解数组的概念,学会如何对一、二维数组和数组元素进行引用,其间涉及到如何建立指针等。
第13单元
数组
(二)
4
2
2
2
4
6
理解数组的概念,学会如何对一、二维数组和数组元素进行引用,其间涉及到如何建立指针等。
第14单元
字符串
4
2
2
3
3
5
理解字符数组与字符串变量之间的联系和区别,学会如何用使指针指向一个字符串,以及如何利用字符串处理函数
第15单元
对函数的进一步讨论
4
2
2
2
2
5
学会如何通过实参向函数传递函数名或指向函数的指针变量
第16单元
C语言中用户标识符的作用域与存储类
4
2
2
1
2
2
理解局部变量和全局变量的联系和区别
第17单元
编译预处理和动态存储分配
4
1
3
2
2
3
理解什么是编译预处理,学会如何动态存储分配
第18单元
结构体、共用体和用户定义类型
4
2
2
2
3
3
理解并熟悉结构体、共用体类型,如何用户定义类型。
第19单元
位运算
4
2
2
1
2
2
熟记位运算符,学会
位运算符的运算功能。
第20单元
文件
4
2
2
1
4
3
学会文件指针的作用和使用方法
(注:
按20天教学填写,表格内容小5号宋体)
三课程教学目标(小3号楷体)
(一)技术目标(积累技术经验)(小四仿宋体)
(1)掌握C语言的语法规则,熟练使用C语言完成简单程序的编写。
(2)通过C语言的学习,建立程序设计语言的编程思维。
(3)通过上机练习,不断提高学生的动手操作能力。
(二)项目目标(积累项目经验)(小四仿宋体)
注重基础,突出应用,采用项目教学方法,先以任务为驱动对每个子项目进行分析讲解,再学习相关理论知识,最后进行任务实施。
注重能力的培养,易教易学,能够学以致用,对初学者容易混淆的内容进行了重点提示和讲解。
。
(三)职业素养目标(积累职场经验)(小四仿宋体)
(1)使学生充分认识计算机编程思维的建立对其它课程学习的铺垫作用。
利用编程思维的训练提高学生对本课程的学习兴趣,充分调动其学习
积极性。
(2)激发学生创新意识,培养结构化程序设计思维。
(3)培养认真、刻苦、勇于实践的工作作风,养成规范、严谨、精确的工
作态度。
四课程的内容及学时分配、微课、重点及难点(小3号楷体)
【第1单元】程序设计基本概念(4课时)(知识点项目;综合项目、阶段项目)
1.1程序和程序设计(了解)
1.1.2程序设计(理解)
1.2算法主要教学案例:
(掌握)
1.3结构化程序设计和模块化结构(掌握)
主要教学案例:
结构化程序由三种基本结构组成流程图:
3.循环结构
本单元项目内容:
(知识点项目)
本单元重点内容:
算法和结构化程序设计和模块化结构
本单元难点内容:
算法和结构化程序设计和模块化结构
本单元典型作业练习:
单选
1)计算机能直接执行的程序是()。
A)源程序B)目标程序C)汇编程序D)可执行程序
2)以下叙述中正确的是()
A)程序设计的任务就是编写程序代码并上机调试
B)程序设计的任务就是确定所用数据结构
C)程序设计的任务就是确定所用算法
D)以上三种说法都不完整
【第2单元】C程序设计的初步知识(4课时)
2.1C语言程序的构成和格式(掌握)
#include
Main()
{}
主要教学案例:
#include
Main()
{
doublea,b,area;
a=1.2,b=3.6;/*将矩形的两条边长分别赋给a和b变量*/
area=a*b;
printf(“a=%f,b=%f,area=%f\n”,a,b,area);/*输出矩形的两条边长和面积*/
}
本单元项目内容:
(知识点项目)
本单元重点内容:
C语言程序的构成与书写形式。
本单元难点内容:
上机的方法和步骤。
本单元典型作业练习:
单选
1)以下叙述中正确的是()。
A)C程序的基本组成单位是语句B)C程序中的每一行只能写一条语句
C)简单C语句必须以分号结束D)C语句必须在一行内写完
2)以下叙述中正确的是()
A)C程序中的注释只能出现在程序的开始位置和语句的后面
B)C程序书写格式严格,要求一行内只能写一个语句
C)C程序书写格式自由,一个语句可以写在多行上
D)用C语言编写的程序只能放在一个程序文件中
【第3单元】C语言的基础知识
(一)(4课时)
2.2标识符,常量和变量(掌握)
2.2.1标识符
2.2.2常量:
2.2.3整型常量与实型常量(掌握)
2.2.4变量:
主要教学案例:
#include
main()
{
Inta;
A=5;/*给A变量赋值5
A+=3;再赋值后再加3*/
Printf(“%d”,a);
}
本单元项目内容:
(知识点项目)
本单元重点内容:
数据基本类型、同类型数据间的转换与运算。
本单元难点内容:
逗号运算符及其优化级与结合性。
本单元典型作业练习:
单选
1)以下选项中,能用作用户标识符的是()
A)voidB)8_8C)_0_D)unsigned
2)以下选项中合法的标识符是()
A)1-1B)1—1C)-11D)1—
3)以下选项中不合法的标识符是()
A)printB)FORC)&aD)_00
4)以下选项中,能用作数据常量的是()
A)o115B)0118C)1.5e1.5D)115L
5)以下选项中不能作为C语言合法常量的是()。
A)'cd'B)0.1e+6C)"\a"D)'\011'
6)以下选项中不属于字符常量的是()
A)'C'B)"C"C)'\xCC0'D)'\072'
【第4单元】C语言的基础知识
(二)(4课时)
2.3算术表达式(掌握)
一、基本的算术运算符
二、优先级
2.4强制类型转换表达式(掌握)
2.5赋值表达式(掌握)
2.5.1复合赋值表达式(掌握)
2.6++和——的讲解(掌握)
2.7逗号表达式(掌握)
主要教学案例:
++和——的讲解
++:
自身加1
--:
自身减1
如
i=3i++_______I=i+1i=4
单目
3++
++II++
当++在前,先自身加1,然后再干别人让干的事情。
当++在后,先别人让干的事情然后再干自身加1。
inti=3;
inta;
a=i++;a=3
a=++I;a=4
inti=5;
inta,b,c;
a=i+8,7,i+7;a=12i=5
b=i++,++i;b=7i=7
c=i+7,i++;c=5i=6
本单元项目内容:
(知识点项目)
本单元重点内容:
算术表达式、强制类型转换表达式、赋值表达式、++和——的讲解、逗号表达式
本单元难点内容:
算术表达式、强制类型转换表达式、赋值表达式
本单元典型作业练习:
单选
1)表达式:
4-(9)%2的值是(B)
A)0B)3C)4D)5
2)设变量已正确定义并赋值,以下正确的表达式是()
A)x=y*5=x+zB)int(15.8%5)C)x=y+z+5,++yD)x=25%5.0
3)若有定义语句:
intx=10;,则表达式x-=x+x的值为()
A)-20B)-10C)0D)10
4)设有定义:
intx=2;,以下表达式中,值不为6的是()
A)x*=x+1x=x*(x+1)B)x++,2*x
C)x*=(1+x)D)2*x,x+=2
5)若变量均已正确定义并赋值,以下合法的C语言赋值语句是()
A)x=y==5;B)x=n%2.5;C)x+n=ID)x=5=4+1;
【第5单元】输入和输出语句(4课时)
3.2输出语句的讲解(掌握)
一、printf函数的一般调用形式
3.3输入语句的讲解(掌握)
主要教学案例:
阅读以下程序
#include
main()
{intcase;floatprintF;
printf(“请输入2个数:
”);
scanf(“%d%f”,&case,&pjrintF);
printf(“%d%f\n”,case,printF);
}
该程序编译时产生错误,其出错原因是
有以下程序
#include
main()
{inta=1,b=0;
printf(“%d,”,b=a+b);
printf(“%d\n”,a=2*b);
}
程序运行后的输出结果是
本单元项目内容:
(知识点项目)
本单元重点内容:
输入与输出的3种基本实现方式与应用。
本单元难点内容:
printf函数的一般调用形式
本单元典型作业练习:
1、编写一个程序,从键盘上输入两个数字,让后让他们互换一下。
2、编写程序,对一个double型数据进行四舍五入运算。
要求保留两位有效
小数。
3、编写程序,使从键盘中输入的三位数倒着输出。
【第6单元】C语言的程序结构(4课时)
4.1关系运算与逻辑运算
一、简介(了解)
二、几个简单的关系运算符(掌握)
三、几个简单的逻辑运算符(掌握)
4.2if语句
一、定义:
(理解)
二、分类(掌握)
1.不含有else的语句
2.含有else语句
4.3节
4.4条件表达式
4.5switch语句
(一)
4.6switch语句
(二)
主要教学案例:
几个简单的逻辑运算符
&&与一假则假
||或一真则真
!
非非假则真,非真则假
1&&2=1
0&&6=0
inta=4,b=7;
a&&7=1
intx=0,y=7;
x++&&y++?
x=1y=7
++x&&y++?
x=1y=8
同样放在||中也是一样的。
if(成绩>60)
显示及格
else
显示不及格
1.不含有else的语句
if(表达式)语句
if(a
{
t=a;
a=b;
b=t;
}
2.含有else语句
if(条件)
语句1;
else
{
语句2;
语句3;
}
本单元项目内容:
(知识点项目)
本单元重点内容:
1.逻辑运算符和逻辑表达式;
2.if语句和switch语句。
本单元难点内容:
if语句的嵌套
本单元典型作业练习:
1、输入一个学生的成绩,评定他的等级。
每十分一个等级。
2、请将以下语句改写成switch语句。
if(a<30)m=1;
elseif(a<40)m=2;
elseif(a<50)m=3;
elseif(a<60)m=4;
elsem=5;
【第7单元】循环结构(4课时)
5.1while语句(掌握)
5.2do-while语句(掌握)
5.3for语句
(1)(掌握)
主要教学案例:
while(表达式)
循环体
注:
1:
2:
3:
一条
while(a<3)1
{a+=s;2
s=a;3}
1.......100
inti=1,sum=0;
while(i<101)
sum=sum+i++;
printf("%d",sum);
丛1开始加到哪个数时他们的和将超过1000?
inti=1,sum=0;
while(sum<1000)
{sum+=i;999+42=1041
i++;}4243
printf("%d",--i);
本单元项目内容:
(知识点项目)
本单元重点内容:
while语句、do-while语句、for语句
(1)
本单元难点内容:
while语句、do-while语句、for语句
(1)
本单元典型作业练习:
1、编写程序,输入一位学生的生日(年:
y0、月:
m0、日:
d0);并输入当前
的日期(年:
y1、月:
m1、日:
d1);输出该生的实足年龄。
2、编写程序,输入一个整数,打印出它是奇数还是偶数。
【第8单元】字符型数据(4课时)
6.1字符型常量(掌握)
6.2字符变量(掌握)
6.3程序举例(掌握)
主要教学案例:
写出26个大写字母和他们的ASCII代码要求每行输出两组数据
#include
Main()
{
Charch;intI;
For(i=0;i<26:
i++)
{
Ch=i+65;
If(i%2==0)
Printf(“\n”);
Printf(“c=%c,ASCII=%d”,ch,ch);
}
}
在上面的程序中有对于字符的输入与输出,在C语言中也有另外的输入输出字符的语句。
输入:
变量名=getchar()
输出:
putchar(变量名)
本单元项目内容:
(知识点项目)
本单元重点内容:
字符型常量和变量
本单元难点内容:
字符型常量和变量
本单元典型作业练习:
1、编写程序,对一个double型数据进行四舍五入运算。
要求保留两位有效小
数。
【第9单元】函数
(一)(4课时)
7.1库函数(掌握)
1.调用C语言标准库函数时要求的include命令行
2.标准库函数的调用
7.2函数的定义和返回值(掌握)
7.2.1函数定义的语法
主要教学案例:
1、编写求两个双精度数之和的函数。
doubleadd(doublea,doubleb)
{
doubles;
s=a+b;
returns;
}
2、函数名(实在参数表)
当实参的个数多于一个时,各实参用逗号隔开。
实参的个数必须与调用函数中形参的个数相周,类型一一对应匹配。
如没有形参,则形式为函数名()注意后面的小括号不能丢。
如题:
#include
doubleadd(double,double);
main()
{
doublem,n,z;
scanf(“%lf%lf”,m,n);
z=add(m,n);
printf(“%lf”,z);\
}
doubleadd(doublea,doubleb)
{
doubles;
s=a+b;
returns;
}
本单元项目内容:
(知识点项目)
本单元重点内容:
库函数、函数的定义和返回值
本单元难点内容:
库函数、函数的定义和返回值
本单元典型作业练习:
1、编写一个函数isprime(inta),用来判断自变量a是否为素数。
若是素数,函
数返回整数1,否则返回0.
2、编写函数myupper(ch),把ch中的小写字母转换成大写字母作为函数值返
回,其他字符不变。
主函数中不断输入字符,用字符@结束输入,同时不断
输出结果。
【第10单元】函数
(二)(4课时)
7.3函数的调用(掌握)
7.3.1函数的两种调用方式
7.4函数的说明(掌握)
7.5调用函数和被调用函数之间的数据传递(掌握)
主要教学案例:
三种格式进行传递
1.实在参数和形式参数之间进行数据传递
2.通过return语句把函数值返回调用函数
3.能过全局变量,但这不是一种好的方式,通常不提倡使用。
通过一个程序来看一下数据到底是怎样传递的。
#include
viodtry(int,int,int);
main()
{
intx=2,y=3,z=0;
printf(“
(1)x=%dy=%dz=%d\n”,x,y,z);
try(x,y,z);
printf(“(4)x=%dy=%dz=%d\n”,x,y,z);
}
voidtry(intx,inty,intz)
{
printf(“
(2)x=%dy=%dz=%d\n”,x,y,z);
z=x+y;
x=x*x;
y=y*y;
printf(“(3)x=%dy=%dz=%d\n”,x,y,z”);
}
屏幕上的结果是:
(1)x=2y=3z=0
(2)x=2y=3z=0
(3)x=4y=9z=5
(4)x=2y=3z=0
再来一个程序
#include
viodswap(int,int);
main()
{
intx=10,y=20;
printf(“
(1)x=%dy=%d\n”,x,y);
swap(x,y);
printf(“(4)x=%dy=%d\n”,x,y);
}
voidswap(inta,intb)
{
intt;
printf(“
(2)a=%db=%d\n”,a,b);
t=a;a=b;b=t;
printf(“(3)a=%db=%d\n”,a,b);
}
程序运行结果
(1)x=10y=20
(2)a=10b=20
(3)a=20b=10
(4)x=10y=20
本单元项目内容:
(知识点项目)
本单元重点内容:
函数的调用、函数的说明、调用函数和被调用函数之间的数据传递
本单元难点内容:
调用函数和被调用函数之间的数据传递
本单元典型作业练习:
1、编写函数统计输入字符的个数,用@字符结束输入,在主函数中调用此函
数,输出统计结果。
2、以下fun函数用以判断n是否是素数,fun函数中有逻辑错,请调试改正.
fun(intn)
{intk,yes;
for(k=2;k<=n/2;k++)
if(n%k==0)return0;
elsereturn1;
}
【第11单元】指针变量(4课时)
8.1变量的地址和指针(掌握)
8.2指针变量的定义和指针变量的基类型(掌握)
8.3给指针变量赋地址值(掌握)
8.4移动指针(掌握)
8.5函数之间地址值的传递(掌握)
主要教学案例:
用指针指向两个变量,通过指针运算选出值小的那个数。
#include
main()
{
inta,b,min,*pa,*pb,*pmin;
pa=&a;pb=&b;pmin=&min;
scanf(“%d%d”,pa,pb);
printf(“a=%d,b=%d\n”,a,b);
*pmin=*pa;
if(*pa>*pb)
*pmin=*pb;
printf(“min=%d\n”,min);
本单元项目内容:
(知识点项目)
本单元重点内容:
变量的地址和指针、给指针变量赋地址值、函数之间地址值的传递
本单元难点内容:
函数之间地址值的传递
本单元典型作业练习:
1、调用swap函数,交换主函数中变量x和y中的数据
2、编写函数order(int*a,int*b),使用函数中的第一个实参总是存放两个数中
较小的数,第二个参数存放两个数中较大的数
【第12单元】数组
(一)(4课时)
9.1一维数组的定义和一维数组元素的引用(掌握)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 教学大纲