当前位置:文档之家› 程序设计基础实验内容

程序设计基础实验内容

实验指导实验一 Visual C++6.0开发环境使用1.实验目的(1)熟悉Visual C++6.0集成开发环境。

(2)掌握C语言程序的书写格式和C语言程序的结构。

(3)掌握C语言上机步骤,了解C程序的运行方法。

(4)能够熟练地掌握C语言程序的调试方法和步骤2. 实验内容输入如下程序,实现两个数的乘积。

#include (stdio.h);int main(){x=10,y=20p=prodct(x,t)printf("The product is : ",p)int prodct(int a ,int b )int cc=a*breturn c}(1)在编辑状态下照原样键入上述程序。

(2)编译并运行上述程序,记下所给出的出错信息。

(3)再编译执行纠错后的程序。

如还有错误,再编辑改正,直到不出现语法错误为止。

3.分析与讨论(1)记下在调试过程中所发现的错误、系统给出的出错信息和对策。

分析讨论成功或失败的原因。

(2)总结C程序的结构和书写规则。

实验二数据类型、运算符和表达式1.实验目的(1)理解常用运行符的功能、优先级和结合性。

(2)熟练掌握算术表达式的求值规则。

(3)熟练使用赋值表达式。

(4)理解自加、自减运算符和逗号运算符(5)掌握关系表达式和逻辑表达式的求值2.实验内容(1)整数相除#include<stdio.h>int main(){int a=5,b=7,c=100,d,e,f;d=a/b*c;e=a*c/b;f=c/b*a;printf("d=%d , e=%d ,f=%d\n",d,e,f);return 0;}(2)自加、自减运算#include<stdio.h>int main(){int a=5,b=8;printf("a++=%d\n",a++);printf("a=%d\n",a);printf("++b=%d\n",++b);printf("b=%d\n",b);return 0;}(3)关系运算和逻辑运算#include<stdio.h>int main(){int a=5,b=8,c=8;printf("%d,%d,%d,%d\n",a==b&&a==c,a!=b&&a!=c,a>=b&&a>=c,a<=b&& a<=c);printf("%d,%d\n",a<=b||a>=c,a==b||b==c);printf("%d,%d,%d,%d\n",!(a==b),!(a>=b),!(a>=c),!(a<=b));return 0;}(1)在编辑状态下输入上述程序。

(2)编译并运行上述程序。

3.分析与讨论(1)整数相除有什么危险?应如何避免这种危险?(2)分析a++和++a的区别。

(3)条件表达式和逻辑表达式的意义是什么,它们取值如何?(4)如何比较两个浮点数相等?为什么?实验三格式化输入输出函数的使用1.实验目的(1)掌握格式字符使用的方法。

(2)掌握printf()进行格式化输出的方法。

(3)掌握scanf()进行格式化输入的方法。

2.实验内容(1)输入如下程序,观察运行结果#include<stdio.h>int main(){int x=1234;float f=123.456;double m=123.456;char ch='a';char a[]="Hello,world!";int y=3,z=4;printf("%d %d\n",y,z);printf("y=%d , z=%d\n",y,z);printf("%8d,%2d\n",x,x);printf("%f,%8f,%8.1f,%.2f,%.2e\n",f,f,f,f,f);printf("%lf\n",m);printf("%3c\n",ch);printf("%s\n%15s\n%10.5s\n%2.5s\n%.3s\n",a,a,a,a,a);return 0;}(2)输入下面程序,观察调试信息#include<stdio.h>int main(){double x,y;char c1,c2,c3;int a1,a2,a3;scanf("%d%d%d",a1,a2,a3);printf("%d,%d,%d\n",a1,a2,a3);scanf("%c%c%c",&c1,&c2,&c3);printf("%c%c%c\n",c1,c2,c3);scanf("%f,%lf",&x,&y);printf("%f,%lf\n",x,y);return 0;}(1)在VC++6.0集成开发环境中输入上述程序,观察调试结果。

(2)如果有错误,请修改程序中的错误。

3.分析与讨论(1)分析程序错误及运行结果错误的原因。

(2)总结printf()中可使用的各种格式字符。

(3)总结转移字符的使用和功能。

实验四分支结构程序设计1.实验目的(1)了解条件与程序流程的关系(2)了解用不同的数据使程序的流程覆盖不同的语句、分支和路径。

(3)掌握if语句和if else语句的用法(4)掌握switch语句的用法2.实验内容1.从键盘上输入三个数,让它们代表三条线段的长度,请写一个判断这三条线段所组成的三角形属于什么类型(不等边,等腰,等边或不构成三角形)的C程序。

请分别设计下列数据对自己的程序进行测试:(1)找出各条语句中的错误。

(2)找出各分支中的错误。

(3)找出各条件中的错误。

(4)找出各种条件组合中的错误。

(5)找出各条路径中的错误。

2.用scanf函数输入一个百分制成绩(整型量),要求输出成绩等级A,B,C,D,E。

其中90-100分为A,80-89分为B,70-79分为C,60-69分为D,60分以下为E。

具体要求如下:(1)用if语句实现分支或switch分支。

(2)在输入百分制成绩前要有提示。

(3)在输入百分制成绩后,要判断该成绩的合理性,对于不合理的成绩(即大于100分或小于0分)应输出出错信息。

(4)在输出结果中应包括百分制成绩与成绩等级,并要有文字说明。

(5)分别输入百分制成绩:-90,100,90,85,70,60,45,101,运行该程序。

3.编程找出5个整数中的最大数和最小数,并输出找到的最大数和最小数。

3.分析与讨论(1)总结分支程序设计的方法。

(2)复合语句的使用。

(3)switch语句的注意事项。

实验五循环结构程序设计1.实验目的(1)掌握在程序设计条件型循环结构时,如何正确地设定循环条件,以及如何控制循环的次数。

(2)了解条件型循环结构的基本测试方法。

(3)掌握如何正确地控制计数型循环结构的次数。

(4)了解对计数型循环结构进行测试的基本方法。

(5)了解在嵌套循环结构中,提高程序效率的方法。

2.实验内容(1)输入一个正整数,并将其颠倒过来。

如12345对应为54321。

(2)将一个长整型数s 的每一位数位上的偶数依次取出来,构成一个新的数t 中,高位仍在高位,低位仍在低位,例如:s=87653142时,t 中的数为:8642。

(3)判断101~200之间有多少个素数。

(4)编写程序,输出杨辉三角。

3.分析与讨论(1)总结条件循环结构的一般方法。

(2)如何测试计数型循环结构的控制表达式中的错误? (3)从实验中你得到了哪些提高嵌套循环程序效率的启示?实验六 函数1.实验目的(1)掌握C 语言函数定义及调用的规则。

(2)理解参数传递的过程。

(3)掌握函数返回值的大小和类型确定的方法。

(4)理解变量的作用范围2.实验内容(1)上机调试下面的程序,记录系统给出的出错信息,并指出出错原因。

#include<stdio.h> int main() {int x,y;printf("%d\n",sum(x+y)); int sum(a,b) {int a,b;return(a+b); }return 0; }(2)编写一个程序,输入系数a 、b 、c ,求一元二次方程02=++c bx ax 的根,包括主函数和如下函数。

判断a 是否为零。

计算判别式ac b 42- ●计算根。

❍输出根。

(3)输入下面程序,分析运行结果 #include<stdio.h>int func (int ,int ); int main ( ){ int k=4,m=1,p1,p2; p1=func(k,m) ;p2=func(k,m) ;printf("%d,%d\n",p1,p2) ;return 0;}int func (int a,int b){ static int m=0,i=2;i+=m+1;m=i+a+b;return (m);}3.分析与讨论(1)针对以上实验内容写出相应的参数传递过程并分析结果。

(2)函数在定义时要注意什么?(3)讨论静态局部变量的继承性?实验七数组及其应用1.实验目的(1)掌握数组定义的规则。

(2)掌握C语言数组的基本用法。

(3)掌握数组名作为函数参数传递的方法2.实验内容(1)运行下面的C程序,根据运行结果,可以说明什么?#include <stdio.h>int main( ){int num[5]={1,2,3,4,5};inti i;for(i=0;i<=5;i++)printf("%d ",num[i]);return 0;}(2)为一个冒泡排序程序设计测试用例,并测试之。

(3)操作符&用以求一个变量的地址,这在函数scanf中已经使用过了。

现在要你设计一个程序,返回一个3 ×5 的二维数组各元素的地址,并由此说明二维数组中各元素是按什么顺序存储的。

3.分析与讨论(1)通过实验,分析定义与引用数组的区别。

(2)数组的作用是什么?(3)数组名作为参数有什么特点?实验八指针及其应用1.实验目的(1)掌握变量的指针及其基本用法。

相关主题