计算机技术基础C语言 理工类专科教学大纲.docx
- 文档编号:9441108
- 上传时间:2023-02-04
- 格式:DOCX
- 页数:40
- 大小:42.02KB
计算机技术基础C语言 理工类专科教学大纲.docx
《计算机技术基础C语言 理工类专科教学大纲.docx》由会员分享,可在线阅读,更多相关《计算机技术基础C语言 理工类专科教学大纲.docx(40页珍藏版)》请在冰豆网上搜索。
计算机技术基础C语言理工类专科教学大纲
塔里木大学
课程教学大纲
课程名称:
计算机技术基础—C语言
适用层次:
汉族本科、民族本科
适用专业:
非计算机专业理工科
完成单位:
信息工程学院
编写人员:
杨全丽
执笔人:
杨全丽
2011年10月1日
教务处印制
《计算机技术基础-C语言》课程教学大纲
一、基本信息
1、课程中文名称:
计算机技术基础-C语言
2、课程英文名称:
CLanguageProgrammingOfComputer-basedTechnology
3、课程编号:
XXXXXX。
4、课程类别:
公共基础课。
5、课程性质:
必修课。
6、适用层次:
汉族专科、民族专科。
7、适用专业:
非计算机专业理工科。
8、开课学期:
2。
9、学时:
总学时56(理论课学时30,实验课学时26)。
10、学分:
3.5。
二、课程教育目标
《计算机技术基础-C语言》是我校面向非计算机专业理工科学生开设的属于通识教育基本技能中计算机技术类的课程之一,是理工类各专业必修的一门课程,具有很强的理论性和实践性。
通过本课程的学习,要求学生掌握C语言的数据类型、表达式、三大基本结构、数组、函数、指针、文件等知识,掌握模块化程序设计的编程技巧,具备初步的高级语言程序设计能力,并以此为基础,培养学生严谨的程序设计思想、灵活的思维方式及较强的动手能力,让学生逐渐掌握复杂软件的设计和开发手段,为后续专业课程的学习打下扎实的理论和实践基础。
三、教学内容与要求
1、理论课教学内容与要求
第一章C语言概述
教学要求:
(1)了解C语言的发展历史背景以及C语言的各种标准。
(2)了解C语言的主要特点以及和其他高级语言的简单比较。
(3)通过对简单C程序的分析,了解C语言程序的基本构成。
(4)掌握C程序运行的基本步骤:
源程序的编辑、编译、链接和运行。
(5)掌握在TC和VC编译环境中运行程序的基本方法。
教学内容:
(1)C语言出现的历史背景
(2)C语言的特点
(3)简单的C语言程序介绍
(4)运行C程序的步骤与方法
教学重点:
C程序的编辑、编译、链接和运行的过程
教学难点:
理解C程序和C++程序的编译、链接的作用
第二章程序的灵魂—算法
教学要求:
(1)了解算法的概念
(2)掌握算法的特性
(3)掌握算法的表示
(4)理解结构化程序设计思想
教学内容:
(1)算法的概念
(2)简单算法举例
(3)算法的特性
(4)怎样表示一个算法
(5)结构化程序设计方法
教学重点:
算法的特性、算法的表示、结构化程序设计思想
教学难点:
算法的表示
第三章数据类型、运算符与表达式
教学要求:
(1)了解C语言的数据类型及其常量的表示方法
(2)掌握C语言的基本数据类型(整型、实型、字符型)变量的定义及初始化方法
(3)掌握算术运算符、赋值运算符、逗号运算符的优先级、结合性及其表达式的求值规则
(4)理解不同类型数据间的转换与运算,包括赋值转换和强制转换。
教学内容:
(1)C语言的数据类型
(2)常量与变量
(3)整型数据
(4)浮点型数据
(5)字符型数据
(6)变量赋初值
(7)各类数值型数据间的混合运算
(8)算术运算符和算术表达式
(9)赋值运算符和赋值表达式
(10)逗号运算符和逗号表达式
教学重点:
C的数据类型、常量与变量、算术运算符和算术表达式、赋值运算符和赋值表达式、运算符的优先级和结合性
教学难点:
自增、自减运算符、复合的赋值运算符
第四章最简单的C程序设计—顺序程序设计
教学要求:
(1)了解C语言程序的构成及语句的分类。
(2)掌握C语言中赋值语句的基本特点和功能。
(3)掌握C语言程序中数据输入、数据输出的常用控制方法,以及格式的输入和输出方法。
(4)通过简单顺序程序举例,理解C语言自顶向下的结构化程序设计方法及特点,并能将几种顺序执行的语句灵活运用到程序设计中。
教学内容:
(1)C语句概述
(2)赋值语句
(3)数据输入输出的概念及在C语言中的实现
(4)字符数据的输入输出
(5)格式输入输出
(6)顺序结构程序设计举例
教学重点:
顺序结构中赋值语句、数据输出、输入
教学难点:
格式的输入和输出
第五章选择结构程序设计
教学要求:
(1)理解关系运算符、逻辑运算符、条件运算符的功能和作用。
(2)掌握关系表达式、逻辑表达式、条件表达式的求值规则。
(3)掌握if语句、switch语句的基本形式和使用方法。
(4)通过选择结构程序举例,学会在程序中利用if、switch语句实现单分支或多分支控制,掌握选择结构的基本程序设计方法。
教学内容:
(1)关系运算符和关系表达式
(2)逻辑运算符和逻辑表达式
(3)if语句
(4)switch语句
(5)程序举例
教学重点:
关系表达式和逻辑表达式、if语句、switch语句
教学难点:
在程序中实现单分支或多分支控制
第六章循环结构程序设计
教学要求:
(1)了解使用循环结构的必要性和实现循环结构有几种基本语句。
(2)了解goto语句的用法以及用goto语句构成循环的程序举例。
(3)掌握while、do…while、for循环语句的结构和执行过程。
(4)掌握几种循环的嵌套形式和含义。
(5)理解continue语句和break语句的作用。
(6)通过程序举例,学会在程序中利用循环语句实现单重或双重循环控制,掌握循环结构的基本程序设计方法。
教学内容:
(1)概述
(2)goto语句以及用goto语句构成循环
(3)用while语句实现循环
(4)用do…while语句实现循环
(5)用for语句实现循环
(6)循环的嵌套
(7)几种循环的比较
(8)break语句和continue语句
(9)程序举例
教学重点:
while语句、do…while语句、for语句、break语句和continue语句、循环的嵌套
教学难点:
循环的嵌套
第七章数组
教学要求:
(1)掌握一维数组的定义、引用和初始化方法。
(2)掌握二维数组的定义、引用和初始化方法。
(3)掌握字符数组的定义、使用方法,掌握字符数组与字符串的关系。
(4)掌握使用字符串处理函数进行字符串的简单处理。
(5)通过程序举例,学会在程序中使用数组,掌握数组的使用方法。
教学内容:
(1)一维数组的定义和引用
(2)二维数组的定义和引用
(3)字符数组
教学重点:
一维数组、二维数组、字符数组的使用
教学难点:
二维数组的使用
第八章函数
教学要求:
(1)掌握函数定义的一般形式。
(2)掌握函数的形式参数和实际参数之间的关系,函数的原形,函数的返回值。
(3)掌握函数调用的一般形式,对被调用函数的声明和函数的原型。
(4)掌握函数嵌套调用、递归调用的一般形式和调用关系。
(5)掌握数组元素和数组名作为函数参数的形式和参数传递的实质。
(6)理解局部变量、全局变量、动态存储变量、静态存储变量的概念以及作用范围。
(7)理解各种变量存储类别的声明形式,以及声明后变量的作用域与生存期。
教学内容:
(1)概述
(2)函数定义的一般形式
(3)函数参数和函数的值
(4)函数的调用
(5)函数的嵌套调用
(6)函数的递归调用
(7)数组作为函数参数
(8)局部变量和全局变量
(9)变量的存储类别
教学重点:
函数的定义、函数的调用、数组和函数
教学难点:
函数的调用、数组和函数、变量的存储类别
第九章预处理命令
教学要求:
(1)理解编译预处理的功能和作用,掌握宏定义的使用方法。
(2)掌握“文件包含”处理的使用方法。
教学内容:
(1)宏定义
(2)“文件包含”处理
教学重点:
宏定义、“文件包含”处理
教学难点:
带参数的宏定义
第十章指针
教学要求:
(1)理解指针、地址、指针类型、void指针类型、空指针等概念。
(2)理解变量的指针的概念,掌握指向变量的指针变量的定义和使用。
(3)理解数组的指针、字符串的指针、函数的指针、指针数组、指向指针的指针的概念和使用
教学内容:
(1)地址和指针的概念
(2)变量的指针和指向变量的指针变量
(3)数组与指针
(4)字符串与指针
(5)指向函数的指针
(6)返回指针值的函数
(7)指针数组和指向指针的指针
教学重点:
指针的概念、变量的指针和指向变量的指针变量、数组的指针和指向数组的指针变量、字符串的指针和指向字符串的指针变量、函数的指针和指向函数的指针变量
教学难点:
数组的指针和指向数组的指针变量
2、实验课教学内容与要求
序
号
实践教学名称
学
时
理论基础
实践
类型
备
注
1
熟悉VisualC++6.0环境
2
第一章C语言概述
验证/设计型
2
基本数据类型编程
2
第三章数据类型、运算符与表达式
验证型
3
顺序结构程序设计
2
第四章顺序程序设计
验证/设计型
4
选择结构程序设计一
2
第五章选择结构程序设计
验证/设计型
5
选择结构程序设计二
2
第五章选择结构程序设计
验证/设计型
6
循环结构程序设计一
2
第六章循环结构程序设计
验证/设计型
7
循环结构程序设计二
2
第六章循环结构程序设计
验证/设计型
8
数组一
2
第七章数组
设计型
9
数组二
2
第七章数组
验证/设计型
10
函数一
2
第八章函数
验证/设计型
11
函数二
2
第八章函数
验证/设计型
12
编译预处理
2
第九章预处理命令
验证型
13
指针
2
第十章指针
验证型
合计
26学时
实验一熟悉VisualC++6.0环境
实验目的:
(1)掌握VisualC++6.0的安装和启动方法。
(2)掌握在VisualC++6.0中如何编辑、编译、连接和运行一个C语言程序。
(3)通过运行简单的C语言程序,初步了解C语言程序的结构特点。
实验内容:
(1)验证环节
程序一:
main()
{printf("*\n");
printf("***\n");
printf("*****\n");
printf("*******\n");
}
程序二:
main()
{inta,b,c;
printf("pleaseinputa,b;");
scanf("%d,%d",&a,&b);
c=a+b;
printf("%d+%d=%d\n",a,b,c);
}
程序三:
main()
{floata,b,c,average;
printf("pleaseinputa,b,c:
");
scanf("%f%f%f",&a,&b,&c);
average=(c+a+b)/3;
printf("theaveragevalueis:
%f\n",average);
}
(2)设计环节
编写C程序输出‘*’组成的任何一种图形,如方框、椭圆、菱形、箭头等。
实验二基本数据类型编程
实验目的:
(1)熟悉上机环境
(2)掌握C语言的各基本数据类型的具体含义。
(3)能够正确使用各基本数据类型。
(4)了解C语言中运算符的优先级以及所构成的表达式的运算。
实验内容:
(1)验证环节
程序一:
voidmain()
{inta=4,b=7;
printf(“%d\n”,(a=a+1,b+a,b+1));}
程序二:
voidmain()
{intm=4,n=5;
floata=12.5,b=8.4,x;
x=m/2+n*a/b+1/2;
printf(“%f\n”,x);}
程序三:
voidmain()
(printf(“\t*\n”);
printf(“\t\b***\n”);
printf(“\t\b*****\n”);}
程序四:
voidmain()
{inta=5,x=6,y=7;
a+=a-=6;
x=y++;
y=x++;
printf(“%d,%d,%d”,a,x,y);}
程序五,熟悉强制转换,运行并分析程序(为什么输出结果不同呢?
)。
voidmain()
{floatx;
inti;
x=3.6;
i=(int)x;
printf(“x=%f,i=%d\n”,x,i);
}
程序六,体会符号常量“一改全改”的用途,运行并分析程序(为什么运行结果和实际分析结果不一致?
)。
#definePI3.1415926
voidmain()
{floatr=2.0,l,s,v;
l=2*PI*r;
s=PI*r*r;
v=4/3*PI*r*r*r;
printf("%f,%f,%f\n",l,s,v);
}
实验三顺序结构程序设计
实验目的:
(1)熟悉上机环境
(2)掌握C语言的输入输出函数printf和scanf的格式;
(3)掌握C语言中顺序结构简单程序的编写。
实验内容:
(1)验证环节
程序一,运行并分析程序。
main()
{inta=123;longL=65537;
printf("a=%6d------------a(=%%6d)\n",a);
printf("a=%+6d------------a(=%%+6d)\n",a);
printf("a=%-06d------------a(=%%-06d)\n",a);
printf("a=%+6.6d------------a(=%%+6.6d)\n",a);
printf("a=%-6.5d------------a(=%%-6.5d)\n",a);
printf("L=%ld------------a(=%%ld)\n",L);
printf("L=%hd------------a(=%%hd)\n",L);
}
程序二,运行并分析程序。
main()
{doublef=2.5e5;
printf("f=%15f-------(f=%%15f)\n",f);
printf("f=%-15.0f-------(f=%%-15.0f)\n",f);
printf("f=%+15.4f-------(f=%%+15.4f)\n",f);
}
程序三,运行并分析程序。
main()
{charch='A';
printf("char=%-4c---------(char=%%-4c)\n",ch);
printf("string=%s---------(char=%%s)\n","NationalDay");
printf("string=%6s---------(char=%%6s)\n","NationalDay");
printf("string=%016.3s---------(char=%%016.3s)\n","NationalDay");
}
程序四,运行并分析程序。
main()
{intnum1,num2,h,m,s,a,b;
charch1,ch2,ch3;
floatf;
scanf("%d%d",&num1,&num2);
printf("num1=%d,num2=%d\n",num1,num2);
/*scanf("num1=%d,num2=%d",&num1,&num2);
printf("num1=%d,num2=%d\n",num1,num2);
scanf("%3c%3c",&ch1,&ch2);//输入abcdef
printf("ch1=%c,ch2=%c\n",ch1,ch2);
scanf("%3d%*5d%f",&a,&f);//123456788765.43
printf("%d%7.2f",a,f);
scanf("%c%c%c",&ch1,&ch2,&ch3);//输入ABC
printf("ch1=%c,ch2=%c,ch3=%c\n",ch1,ch2,ch3);*/
}
(2)设计环节
程序一,要求从键盘上输入一个四位整数,分别把它的个位数字,十位数字,百位数字,千位数字分别输出到显示器屏幕上。
程序二,输入圆的半径r,求圆的周长、圆面积。
要求用scanf输入数据,输出计算结果。
实验四选择结构程序设计一
实验目的:
(1)掌握C语言逻辑运算符和逻辑表达式,学会表示逻辑值的方法。
(2)掌握正确使用关系运算符和关系表达式
(3)熟练掌握条件语句,学习选择结构程序设计的方法及应用。
(4)熟悉多路分支选择的switch语句。
(5)进一步学习跟踪调试程序,熟悉选择结构程序段中语句的执行过程。
实验内容:
(1)验证环节
程序一:
main()
{printf("5>3&&2||4-!
5result:
%d\n",5>3&&2||4-!
5);}
程序二:
main()
{inta=0,b=1,c=3,y;
y=(++a)&&(--b)&&(c=b+3);
printf("a=%d,b=%d,c=%d,y=%d\n",a,b,c,y);
}
思考:
如果将语句改为“y=(++a)||(--b)||(c=b+3);”,结果又是多少?
程序三:
main()
{floata,b,t;
printf("inputa,b:
");
scanf("%f,%f",&a,&b);/*注意在输入数的时候中间要加逗号*/
if(a>b)
{t=a;a=b;b=t;}
printf("%5.2f,%5.2f\n",a,b);/*表示输出的数两位小数*/
}
程序四,从键盘输入一个整数,判别它的奇偶性,并显示结果。
main()
{inta;
printf("请输入一个整数a:
\n");
scanf("%d",&a);
if(a%2==0)
printf("a是偶数\n");
else
printf("a是奇数\n");
}
程序五,输入一年份,判断该年是否是闰年。
main()
{intyear;
printf("inputayear:
");
scanf("%d",&year);
if(year%4==0&&year%100!
=0||year%400==0)
printf("%disaleapyear!
\n",year);
else
printf("%disnotaleapyear!
\n",year);
}
(2)设计环节
程序一,判断输入的一个字符是否是大写英文字母,如果是就输出相应的小写字符。
程序二,判断输入的一个整数是否能被3和7同时整除,并输出判断结果。
程序三,有三个整数a、b、c,由键盘输入,输出其中最大的数。
实验五选择结构程序设计二
实验目的:
(1)掌握C语言逻辑运算符和逻辑表达式,学会表示逻辑值的方法。
(2)掌握正确使用关系运算符和关系表达式
(3)熟练掌握条件语句,学习选择结构程序设计的方法及应用。
(4)熟悉多路分支选择的switch语句。
(5)进一步学习跟踪调试程序,熟悉选择结构程序段中语句的执行过程。
实验内容:
(1)验证环节
程序一:
main()
{floatx,y;
scanf("%f",&x);
if(x<=-10)
y=2*x;
elseif(x<=0)
y=x+2;
elseif(x<=10)
y=x-2;
else
y=x/10;
printf("%f",y);
}
程序二:
voidmain()
{intscore;
scanf("%d",&score);
switch(score/10)
{case10:
case9:
printf("%d:
A\n",score);break;
case8:
case7:
printf("%d:
B\n",score);break;
case6:
printf("%d:
C\n",score);break;
default:
printf("%d:
D\n",score);
}
}
程序三,从键盘输入一个字符,可以是数字、字母、或是标点符号,对输入的字符进行判断,如果是数字则输出“*isanumber!
”,如果是字母则输出“*isaletter!
”,如果是其他的字符怎输出“*istheother!
”(*为输入的字符)
main()
{charc;
printf("inputachar:
");
scanf("%c",&c);
if(c>=48&&c<=57)
printf("%cisanumber!
\n",c);
elseif(c>=65&&c<=90||c>=97&&c<=122)
printf("%cisaletter!
\n",c);
else
printf("%cistheother!
\n",c);
}
程序四,输入一年份,判断该年是否是闰年。
main()
{intyear;
intflag=0;
printf("inputayear:
");
scanf("%d",&year);
if((year%4==0&&year%100!
=0)||(year%100==0&&year%400==0))
flag=1;
if(flag==1)
printf("%disaleapyear!
\n",year);
else
printf("%disnotaleapyear!
\n",year);
}
(2)设计环节
程序一,铁路托运行李,假设每张车票可按每公斤0.5元托运50公斤以内的行李,如果超过50公斤时,超过的部分每公斤加价0.3元,试编写一道计算行李托运费的程序。
设托运行李重为W公斤,托运费为X元,要求如下:
①用if语句实现分支。
自变量w与函数值x均采用实型。
②自变量w值从键盘输入,且输入前要有提示信息。
③数据的输出格式采用以下形式:
w=输入值,x=计算值
④分别以行李重30公斤,80公斤为自变量,运行该程序。
记录运行结果。
实验六循环结构程序设计一
实验目的:
掌握while、do-while和for三种循环语句的基本应用。
实验内容:
(1)验证环节
程序一,从键盘上输入一个整数n,求1+2+3+…+n。
main()
{inti,s=0,n;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机技术基础C语言 理工类专科教学大纲 计算机技术 基础 语言 理工类 专科 教学大纲
![提示](https://static.bdocx.com/images/bang_tan.gif)