程序设计语言(C)

课程名称:程序设计语言(C)

英文名:programming language(C)

课程编号:2

课程总学时:

实验总学时:28

实验周学时: 2

开设实验项目数:14

课程总学分:

实验课学分: 1

面对其他院系:院系名称,实验项目 个,学时 ;院系名称,实验项目 个,学时 ......

本大纲主撰人:成颖(信息管理系)

一、实验教学目标与基本要求:

1.本实验的教学目的和要求:

1)加深对讲授内容的理解,尤其是一些语法规定,通过上机实验帮助掌握。

2)熟悉对所用的计算机系统的操作方法,即了解和熟悉C语言程序的开发环境。

3)上机调试程序,即培养发现程序错误,排除错误的能力和经验。

2.本实验的主要内容:

C语言的各种数据类型,运算符,表达式;结构化程序设计语句;函数的概念和用法;编译预处理命令;指针;位运算;文件的操作;算法的基本表示方法及结构化程序设计方法;C语言编译环境的使用方法。

3.实验重点与难点:

C语言的高级数据类型,如数组,指针,结构体;函数的概念和用法;C语言编译环境的使用方法;调试程序的经验和一些常用手段。

二、课程(实验)内容与学时分配:

序号

实验项目名称

内 容 提 要

学 时

本专业

非本

专业

必修实验:

C程序的运行环境和运行一个C程序的方法

1)检查自己所用的计算机系统。

2)学习进入C的工作环境并熟悉visual c++集成环境。

3)练习输入并运行一个简单的C程序。

4)运行一个自己编写的程序

数据类型、运算符和表达式

1)输入有代表性的程序比较整型数据、字符型数据以及字符串型数据的区别与联系。

2)输入程序体会C编译系统自动的数据类型转换。

3)将习题编程并上机运行。

最简单的C程序设计

1)掌握各种格式转换符的正确使用方法。

2)要求编写程序,练习小数的输出用法。

3)编程序,用getchar函数读入两个字符给c1、c2,然后分别用putchar函数和scanf函数输出这两个字符。

逻辑结构程序设计

1)求一分段函数的输出值,在程序运行当中动态输入x的值,根据x的之所在范围决定输出值。

2)输入一个百分制成绩,要求输出成绩等级A、B、C、D、E,联系使用switch语句。

3)输入4个整数,按由小到大顺序输出。

循环控制

1)输入两个整数m和n,求它们的最大公约数和最小公倍数。

2)输入一行字符,分别统计出其中的英文字母、空格、数字和其它字符的个数。

3)用牛顿迭代法求方程的根。

4)解决猴子吃桃问题。

数组

1)用冒泡法对10个整数排序。10个整数用scanf函数输入。

2)对一个有序数列,用折半查找法找出该数是第几个元素的值。

3)将两个字符串连接起来,不要用strcat函数。

函数(1)

1)写一个判别素数的函数,在主函数输入一个整数,输出是否素数的信息。

2)用一个函数来实现将一行字符串中最长的单词输出。此行字符串从主函数传递给该函数。

3)用递归法将一个整数n转换成字符串。例如,输入483,应输出字符串"483"。n的位数不确定。

函数(2)

1)求两个整数的最大公约数和最小公倍数。用一个函数求最大公约数,用另一函数根据求出的最大公约数求最小公倍数。

a)不用全局变量;b)用全局变量的方法。

2)写一函数,输入一个十六进制数,输出相应的十进制数。

编译预处理

定义一个带参数的宏,使两个参数的值互换。

设计输出实数的格式,包括:一行输出一个实数;一行内输出两个实数;一行内输出三个实数

10

指针(1)

输1)入三个整数,按由小到大的顺序输出,然后将程序改为:输入三个字符串,按由小到大顺序输出。

2)将一个3××3的矩阵转置,用一函数实现之。

3)有n个人围成一圈,顺序排号。从第1个人开始1---3报数,凡报到3的人退出圈子,问最后留下的是原来第几号的那位。

11

指针(2)

1)用一个函数实现两个字符串的比较,即自己写一个strcmp函数。

2)写一个用矩形法求定积分的通用函数。

3)用指向指针的指针的方法对n个整数排序并输出。要求将排序单独写成一个函数。

12

结构体和共用体

1)由10个学生,每个学生的数据包括学号、姓名、3门课的成绩,从键盘输入10个学生数据,要求打印出3门课总平均成绩,以及最高分的学生的数据。

2)13个人围成一圈,从第1个人开始顺序报号1、2、3。凡报到3者退出圈子,找出最后留在圈子中的人原来的序号。本题要求用链表实现。

3)建立一个链表,每个结点包括:学号、姓名、性别、年龄。输入一个年龄,如果链表中的结点所包含的年龄等于此年龄,则将此结点删去。

4)练习一个使用共用体的程序。

13

位运算

1)编写一程序,检查所用的计算机系统的C编译在执行右移时是按照逻辑右移的原则,还是按照算术右移的原则进行操作。

2)编一个函数getbits,从一个16位的单元中取出某几位,用八进制数打印出来。

3)设计一个函数,使给出一个数的原码,能得到该数的补码。

14

文件

有5个学生,每个学生有3门课的成绩,从键盘输入以上数据,计算出平均成绩,将原有数据和计算出的平均分数存放在磁盘文件stud中。

选修实验:

类 型

设创

计新

其它

三、教学方式与考核要求:

程序设计语言实验主要基于局域网环境的实验室中完成,是对程序设计语言课堂教学的检验。程序设计语言实验采用平时、考查和考试相结合的成绩评定方法。每个实验、考查和考试都有统一和详细的评分标准。考查和考试的方法,有笔试也有实验。

四、实验教科书、参考书:

(一)教科书:

《C程序设计题解与上机指导》 谭浩强编 清华大学出版社

(二)参考书:

  1. 邵维忠,杨芙清. 面向对象的系统分析. 北京:清华大学出版社,1998

  2. 王燕. 面向对象的理论与C++实践. 北京:清华大学出版社,1997

  3. 张素琴. C++程序设计语言. 北京:清华大学出版社,1995

  4. 谭浩强. C程序设计. 北京:清华大学出版社,1991

  5. H.M. Deltel, P.J. Deltel著,薛万鹏等译. C/C++程序设计教程. 北京:机械工业出版社,1995

6.Al Kelley, Ira Plhl著,麻志毅译. C程序解析教程. 北京:机械工业出版社,2002

7.Al. Stevens, Clayton Walnum, Standard C++ bible. Califormia:IDG books worldwide,2000

8.Brian Overland著,董梁等译. C++语言命令详解. 北京:电子工业出版社,1999

  1. Kris Jamsa, Lars Klander著,张春晖等译. C/C++程序员实用大全. 北京:中国水利水电出版社,1999

  2. Bjarne Stroustrup. The c++ programming language. 北京:高等教育出版社,2001,影印第三版

  3. Cohoon & Davidson. C++ program design: an introduction toprogramming and object-oriented design. 北京:清华大学出版社,2002, 影印第三版

  4. Brian W. Kernighan, Dennis M. Ritchie. The c programming language. 北京:清华大学出版社,1997, 影印第二版

  5. Frank B. Brokken. C++ Annotations Version5.1.1a. ftp://ftp.rug.nl/contrib/frank/documents/cplusplus.annotations,

  6. Danny Kalev. ANSI/ISO C++ Professional Programmer's Handbook. MacmillanComputer Publishing,1999

15.Bruce Eckel. Thinking in C++. Prentice HallPTR,1998

相关推荐
不会C语言的男孩2 小时前
Linux 系统编程 · 第 4 章:文件属性与元数据
linux·c语言·开发语言
C语言小火车2 小时前
什么时候用智能指针?什么时候用裸指针?
c语言·c++·学习·指针
玖玥拾3 小时前
C/C++ 基础笔记(十二)友元、运算符重载
c语言·c++·运算符重载·友元
dtq04244 小时前
C语言刷题数组5,6(求平均值,求最大值)
c语言·数据结构·算法
石一峰6995 小时前
C 语言函数设计模式实战经验
c语言·开发语言·设计模式
坚果派·白晓明6 小时前
鸿蒙 PC 应用集成 libhv 鸿蒙化三方库 —— AtomCode + Skills 驱动的高效集成实践
c语言·c++·ai编程·harmonyos·atomcode
aaaameliaaa6 小时前
C语言随机数函数使用全解析
c语言·笔记
玖玥拾7 小时前
C/C++ 数据结构(二)双向链表
c语言·数据结构·c++
dnbug Blog7 小时前
C 程序基本结构
c语言·程序结构