C语言程序设计实验报告Word文件下载.docx
《C语言程序设计实验报告Word文件下载.docx》由会员分享,可在线阅读,更多相关《C语言程序设计实验报告Word文件下载.docx(38页珍藏版)》请在冰豆网上搜索。
实验项目名称
实验
学时
实验类型
C程序的运行环境和运行一个C程序的方法
2
验证性实验
数据类型、运算符和表达式
3
最简单的C程序设计
选择结构程序设计
设计性实验
5
循环控制
6
数组
7
函数
8
指针
总计
28
注:
带*的实验项目为选做实验项目
六、教材、讲义及参考书
《C程序设计题解与上机指导》谭浩强主编清华大学出版社
七、实验成绩评定办法
实验成绩=平时实验表现+实验报告。
实验成绩占总成绩的20%
实验成绩以等级形式给出,评定等级分优、良、中、及格、不及格五类。
1、平时考核:
上机实验前,学生必须事先根据题目的内容编好程序,然后在实验时输入程序、调试程序、直至运行结果正确为止。
在实验中,教师可根据学生编程操作能力、观察和分析及运用知识能力、程序编制正确性以及学生的课堂纪律、实验态度、保持实验室卫
生等方面的表现进行综合考核。
2、实验报告:
学生实验后应按时完成实验报告。
八、实验教学大纲说明
本大纲共安排28学时的实验,其中带*号实验项目为选做实验项目,实际课时为时。
实验项目多为设计性实验项目,每个设计性实验项目中都包含数个小的设计性题目,中带*号的题目为选做题目,有时间和有能力的同学可以选做。
九、实验项目
实验一C程序的运行环境和运行一个C程序的方法一、实验目的
1.了解VisualC++编译系统的基本操作方法,学会独立使用该系统。
2.了解在该系统上如何编辑、编译、连接和运行一个C程序。
3.通过运行简单的C程序,初步了解C源程序的特点。
二、实验内容
1.用编辑程序,输入教材第一章例程序,并进行编译和运行。
应了解所用的系统是用什么命令进行编译和连接运行的。
编译和连接后所得到的目标程序的后缀是什么形式的?
2.编写一个C程序,输出以下信息:
****************************
verygood!
3.输入并运行教材第一章中例,了解如何在运行时向程序变量输入数据。
实验二数据类型、运算符和表达式
一、实验目的
1.掌握C语言数据类型,熟悉如何定义一个整型、字符型、实型变量,以及对它们赋值的方法,了解以上类型数据输出时所用格式转换符。
2.学会使用C的有关算术运算符,以及包含这些运算符的表达式,特别是自加自减(--)运算符的使用。
二、实验内容
1.输入并运行以下程序:
main(){charc1,c2;
c1=97;
c2=98;
printf(“%cn”,c1,c2);
printf(“%d%dn”,c1,c2);
}
在此基础上
1将第三行、第四行改为:
c1=321;
c2=353;
再使之运行,分析其运行结果。
2将第二行改为:
intc1,c2;
再使之运行,分析其运行结果。
。
2.
18学
其
丿、
(++)和
输入并运行以下程序:
main()
{inti=8,j=10,m,n;
m=++i;
n=j++;
printf(“%d,%d,%d,%d\n”,i,j,m,n);
}
分别作以下改动并运行:
①程序改为:
{inti=8,j=10;
printf(“%d,%d\n”,i++,j++);
2在②的基础上,将printf语句改为:
printf(“%d,%d\n”,++i,++j);
3再将printf语句改为:
printf(“%d,%d,%d,%d\n”,i,j,i++,j++);
4程序改为:
{inti=8,j=10,m=0,n=0;
;
m+=i++;
n-=--j;
printf(“i=%d,j=%d,m=%d,n=%d\n”,i,j,m,n);
3.请将下列给出的两个程序段分别输入计算机后,分析其运行结果:
1main()
{intnum;
num=32767;
printf(“num=%d\n”,++num);
2main()
{inta=-2;
printf(“%d,%d\n”,a,a--);
实验三最简单的C程序设计
1.掌握C语言中使用最多的一种语句一一赋值语句的使用。
2.掌握数据的输入输出的方法,能正确使用各种格式转换符。
1.上机输入以下程序:
{inta,b;
floatc;
scanf(“%d%d%”f,&
a,&
b,&
c);
printf(“a=%-4d,b=%4d,c=%f,c=%.2f\n”,a,b,c,c);
要使a=3,b=4,c=,在键盘上应如何输入?
有几种方式?
2.若将输入函数改为scanf(“%d,%d,%f”,&
应该如何输入数据?
3.上机输入以下程序:
main()
{inta;
floatb;
charc;
scanf(“%4d%5f%3”c,&
printf(“a=%d,a=%o,a=%x,b=%8.3f,b=%4.0f,c=%c\n”,a,a,a,b,b,c);
要使a=77,b=,c=‘A'
在键盘上应如何输入?
4.输入两面整型变量a、b的值,输出下列算式以及运算结果。
a+b、a-b、a*b、a/b、(float)a/b、a%b每个算式占一行。
如a等于10,b等于6,a+b应输入为:
10+6=16
5.编写程序,用getchar函数读入两个字符cl、c2,然后分别用putchar函数和printf函数输出这两个字符。
上机运行程序,比较用printf和putchar函数输出字符的特点。
实验四选择结构程序设计一、实验目的
1.了解C语言表示逻辑量的方法(以0代表“假”,以1代表“真”);
2.学会正确使用逻辑运算符和逻辑表达式;
3.熟练掌握if语句和switch语句。
先编程序,解以下问题,然后上机调试运行程序。
1.有一个函数
用scanf函数输入x的值(分别为x<
1、1〜10、》10三种情况),求y值。
2.给出一个百分制成绩,要求输出成绩等级‘A'
‘B'
‘C'
‘D'
‘E'
。
90分以上为
‘A'
,80〜89分为‘B'
,70〜79分为‘C'
,60〜69分为‘D'
,60分以下为‘E'
要求分别用if语句和switch语句实现
3.输入一个三位数,若此数是水仙花数输出“Y”,否则输出“N'
若输入值不是三
位数输出“dataerror”。
提示:
水仙花数是一个三位数,组成这个三位数的三个数字的立方和与这个三位数相等。
如:
153=13+53+33。
判断是否是水仙花数需把构成三位数的三个数字分离出来并存入变量。
实验五循环控制
1.熟悉用while语句,do-while语句和for语句实现循环的方法。
2.掌握在程序设计中用循环的方法实现各种算法(如穷举、迭代、递推等)。
编程序并上机调试运行。
1.输入两个正整数,求其中最大公约数和最小公倍数。
2.输入一行字符,分别统计出其中的英文字母、空格、数字和其它字符的个数。
3.打印出以下图案:
*****
*******
*
4.编程求1!
+2!
+3!
+……+20!
5.编写程序输出乘法表
实验六数组
1.掌握一维数组和二维数组的定义、赋值和输入输出的方法;
2.掌握字符数组和字符串函数的使用。
3.掌握与数组有关的算法(特别是排序算法)。
1.编写程序,用seanf函数输入10个整数的数列,先将整数按照从大到小的顺序进行排序,然后输入一个整数插入到数列中,使数列保持从大到小的顺序。
2.有15个数存放在一个数组中,输入一个数,要求用折半查找法找出该数是数组中第
几个元素的值,如果该数不在数组中,则输出“无此数”,并且可以实现连续查找。
15个
数用赋初值的方法在程序中给出,要找的数用seanf函数输入。
3•将以下二维数组中数按列的顺序存放到一个一维数组中。
二维数组的内容是
11223344
则一维数组中的内容是111111222222333333444444
4•将两个字符串连接起来,不要用streat函数。
5.从键盘输入5个字符串,找出最长的字符串和最大的字符串。
实验七函数
1.掌握定义函数的方法;
2.掌握函数实参与形参的对应关系,以及“值传递”的方式;
3.掌握函数的嵌套调用和递归调用的方法;
4.掌握全局变量和局部变量,动态变量和静态变量的概念和使用方法。
编程序并上机调试运行之。
1.写一个判断素数的函数,在主函数输入一个整数,输出是否是素数的信息。
2.两个函数,分别求两个整数的最大公约数和最小公倍数,用主函数调用这两个函数,
并输出结果。
两个整数在主函数中输入,并传送给函数1,求出的最大公约数返回主函数,
然后再与两个整数一起作为实参传递给函数2,以求出最小公倍数,返回到主函数输出最大
公约数和最小公倍数。
3.已知二阶Fibonacci数列:
若n=1
其他情况
Fib(n)=1
Fib(n-1)+Fib(n-2)
定义递归函数求Fib(n)
10
4.编写函数,求n!
实验八指针
一、实验目的
1.掌握指针的概念,会定义和使用指针变量;
2.学会使用数组的指针和指向数组的指针变量;
3.学会使用字符串的指针和指向字符串的指针变量;
4.学会使用指向函数的指针变量;
5.了解指向指针的指针的概念及其使用方法。
二、实验内容编程序并上机调试运行程序(都要求用指针处理)。
1.定义函数voidfun(intx[],int*max,int*min),找出数组x中的最大值和最小值,最大值和最小值通过形参指针max和min传回。
2.编写一个函数comp(s1,s