C语言程序设计任务书 实验编号 实验一  实验名称 C语言程序的运行环境和运行一个C语言程序的方法  实验目的 1、了解在TC环境中如何编辑、编译、连接和运行一个C程序。 2、掌握输入输出语句中格式符的使用。 3、通过运行简单C程序,初步了解C程序的特点。  实验题目: 1、main() { int a; a=7; scanf(“%d”,a); printf(“%d”,a); } 2、main() { int a,b,c; a=6;b=9; c=a+b printf(“%d”,c); }( 看其错误) 3、main() { float a,b,c; Scanf(“%f%f”,&a,&b); d=a+b; printf(“%f\n”,d); } (看其错误)   C语言程序设计任务书 实验编号 实验二  实验名称 数据类型、运算符和表达式  实验目的 1、掌握C语言数据类型,熟悉如何定义一个变量,以及对它们的赋值运算。 2、掌握不同类型数据间的赋值规律。 3、学会使用C的有关算术运算符,以及包含这些运算符的表达式。  实验题目: 1、输入以下程序,观察并分析程序运行结果。 #include <stdio.h> main() { int a; long b; unsigned d; char e; float f; double g; a=1023; b=21454567; d=32768; e='u'; f=2.56987144147; g=2.56987144147; printf("a=%d\n",a); printf("a=%o\n",a); printf("a=%x\n",a); printf("b=%ld\n",b); printf(“b=%d\n”,b); printf("d=%u\n",d); printf(“d=%d\n”,d); printf("e=%c\n",e); printf("e=%d\n",e); printf("f=%f\n",f); printf("g=%lf\n",g); printf("\n"); } (仔细分析其运行结果) 2、输入一个字符ch,输出字符的类型,即字母(alpha)、数字(numeric)或其他字符(other)。参见P374页ASCII码表  C语言程序设计任务书 实验编号 实验三  实验名称 最简单的C语言程序设计  实验目的 1、掌握赋值语句的使用。 2、掌握数据的输入/输出方法,学会输入/输出函数的使用方法。  实验题目: 1、设圆半径r=1.5,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。用scanf()输入数据,输出计算结果。输出时要有说明,结果取小数点后两位数字。请编程完成题目要求。   2、编程,用getchar()读入两个字符c1、c2,然后分别用putchar()和canf()输出这两个字符。   C语言程序设计任务书 实验编号 实验四  实验名称 逻辑运算和判断选择结构  实验目的 1、了解C语言表示逻辑量的方法。 2、学会正确使用逻辑运算符和逻辑表达式。 3、掌握if语句和switch语句的格式及应用。  实验题目: 1、输入三个整数x,y,z,请把这三个数由小到大输 2、输入一个正整数,判断该数是奇数还是偶数。 3、从键盘上输入一个数,判断它是否在0~10000之内,如果该数是偶数的话,再从键盘上输入两个数,并求出这两个数的和;如果该数是奇数的话,则输出两个数的差。   C语言程序设计任务书 实验编号 实验五  实验名称 循环控制  实验目的 1、掌握用while语句、do—while语句和for语句实现循环的方法。 2、掌握用循环的方法实现各种算法(例如:累加、累乘、迭代等)。  实验题目: 1、求10! 2、输出1000以内个位数为6且能被3整除的所有数。 3、从1开始做自然数的累加,当其累加和超过1000时,共计累加了多少数?当时的累加和是多少?   C语言程序设计任务书 实验编号 实验六  实验名称 数组(1)  实验目的 1、掌握数组的定义、赋值和输入/输出方法。 2、掌握字符数组的使用,了解字符串函数的使用。 3、掌握与数组有关的算法(例如:各种排序算法)。  实验题目: 1、某歌手大赛,共有10个评委给歌手打分,分数采用百分制,去掉一个最高分,去掉一个最低分,然后取平均分,得到歌手的成绩。编程序实现。 2、求一个3*3矩阵对角线元素之和。   C语言程序设计任务书 实验编号 实验七  实验名称 数组(2)  实验目的 1、掌握数组的定义、赋值和输入/输出方法。 2、掌握字符数组的使用,了解字符串函数的使用。 3、掌握与数组有关的算法(例如:各种排序算法)。  实验题目: 1、把一个字符串逆序输出。 2、在一个字符数组中查找一个指定的字符,若数组中含有该字符则输出该字符在数组中第一次出现的位置,否则输出-1。   C语言程序设计任务书 实验编号 实验八  实验名称 函数(1)  实验目的 1、掌握定义函数的方法。 2、掌握函数实参与形参的对应关系,以及“值传递”的方式。 3、掌握全局变量、局部变量等的概念和使用方法。 4、掌握函数的嵌套调用方法。  实验题目: 1、判断101-200之间有多少个素数,并输出所有素数。 2、从3个红球、5个白球、6个黑球中任意取出8个作为一组,要求在每组中可以没有黑球,但必须有红球和白球。输出这样的组合数有多少?并且输出每组中的红、白、黑球数。 3、求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字  C语言程序设计任务书 实验编号 实验九  实验名称 函数(2)  实验目的 1、掌握定义函数的方法。 2、掌握函数实参与形参的对应关系,以及“值传递”的方式。 3、掌握全局变量、局部变量等的概念和使用方法。。 4、掌握函数的嵌套调用方法。  实验题目: 1、用函数实现把一个字符串逆序输出,函数名为revert。 2、编写一个函数,功能是在一个字符数组中查找一个指定的字符,若数组中含有该字符则返回该字符在数组中第一次出现的位置,否则返回-1。函数名为find。 3、编写一个函数功能是在指定字符串中查找并删除某个字符,函数无返回值。函数名为delete。  C语言程序设计任务书 实验编号 实验十  实验名称 指针(1)  实验目的 1、掌握指针的概念,掌握定义和使用指针变量的方法。 2、掌握使用数组的指针和指向数组的指针变量。 3、掌握使用字符串的指针和指向字符串的指针变量。  实验题目: 1、仔细分析下面两个程序的运行结果 #include <stdio.h> main() {int a1=11,a2=22; Int *p1,*p2,*p; P1=&a1; P2=&a2; Printf(“%d,%d”,*p1,*p2); P=P1;P1=P2;P2=P; Printf(“%d,%d”,*p1,*p2); Printf(“%d,%d”,a1,a2); } #include <stdio.h> main() {int a1=11,a2=22; Int *p1,*p2,t; P1=&a1; P2=&a2; Printf(“%d,%d”,*p1,*p2); t=*P1;*P1=*P2;*P2=t; Printf(“%d,%d”,*p1,*p2); Printf(“%d,%d”,a1,a2); } 2、用指针实现对两个整型变量的值交换。 3、输入3个整数,输出最大数(用指针实现)   C语言程序设计任务书 实验编号 实验十一  实验名称 指针(2)  实验目的 1、掌握指针的概念,掌握定义和使用指针变量的方法。 2、掌握使用数组的指针和指向数组的指针变量。 3、掌握使用字符串的指针和指向字符串的指针变量。  实验题目: 1、输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。写三个函数:a.输入是10数;b.进行处理;c.输出10个数。 2、写一函数,将一个3*3的整数矩阵转置。   C语言程序设计任务书 实验编号 实验十二  实验名称 指针(3)  实验目的 1、掌握指针的概念,掌握定义和使用指针变量的方法。 2、掌握使用数组的指针和指向数组的指针变量。 3、掌握使用字符串的指针和指向字符串的指针变量。  实验题目: 1、写一函数,求一个字符串的长度。在main()中输入字符串,并输出其长度。 2、输入一行文字,找出其中大写字母、小写字母、空格、数字以及其他字符各有多少?   C语言程序设计任务书 实验编号 实验十三  实验名称 结构体和共同体(1)  实验目的 1、掌握结构体类型变量的定义和使用方法。 2、掌握结构体类型数组的概念和使用方法。 3、掌握指向结构体的指针变量的定义和使用方法。  实验题目: 编写一个简单的图书借阅程序。图书信息包含以下数据项: a.图书编号 b.图书名 c.出版社 d.出版时间 e.是否已被借阅。 要求: <1>、自己根据以上信息定义图书的结构体类型book <2>、假定该图书馆有图书5本(为简化调试,输入5本图书信息为例),定义该结构体类型数组,程序运行时先从键盘上输入图书信息,建立该图书信息库。 <3>、由用户从键盘上输入所借阅的“图书编号”或“图书名”,程序根据输入信息,查找有无该图书,如果没有则显示“没有该图书”;如果有该书,则查看该书是否已被借阅(最后一个成员值),如果已借阅则反馈信息为“该书已借出,不能借阅”;如果没被借阅,则将该书借出(借阅标志变为’Y’)并显示“借阅成功!”。   C语言程序设计任务书 实验编号 实验十四  实验名称 结构体和共同体(2)  实验目的 1、掌握结构体类型变量的定义和使用方法。 2、掌握结构体类型数组的概念和使用方法。 3、掌握指向结构体的指针变量的定义和使用方法。  实验题目: 1、将上次试验课题目中的“输入图书信息”和“图书借阅”用函数实现,函数名分别为input和borrow。input函数的参数有一个结构体类型的指针(或结构体类型的数组);borrow函数的参数为2个,一个为结构体指针,一个为图书书名。 再添加一个“还书”函数back,其参数为两个,第一个是结构体数组(或指针),第二个参数是图书的书名。提示:将该书的“借阅”成员置’N’。 2、定义一个枚举类型teach,有6个枚举元素:chinese,math, english,gym,music,art。 已知一个表,用二维数组(5×6)实现,该数组是上面定义的teach枚举类型,5行表示星期一至星期五,6列表示每一天的课程名称。该表在定义数组的同时初始化,或从键盘输入均可(注意赋值是枚举元素,不是字符串)。 星期一 chinese math chinese music english art  星期二 math chinese math english chinese gym  星期三 english math chinese art chinese music  星期四 chinese math english chinese math gym  星期五 math chinese english music english 空   编写一个程序,输入某教师teacher的授课课程(以上枚举元素值之一),输入查询日期(星期数),查询该教师这一天是否上课。   C语言程序设计任务书 实验编号 实验十五  实验名称 文件  实验目的 1、掌握文件和文件指针的概念。 2、学会使用文件打开、关闭、读、写等文件操作函数。  实验题目: 1、使用相关文件打开、读写、关闭函数,生成一个文本文件,文件名为cfile.txt,文件内容为“c is a advanced programming language!” 2、打开上题生成的文件,统计其中字符c的个数。 3、修改以往保存的程序,将输出结果写入到新建文件result.dat中保存起来,以二进制方式写入。