当前位置:文档之家› 实验四:函数与指针

实验四:函数与指针

陕西理工大学《高级语言程序设计(C)》实验报告院系:班级:学号:姓名:目录实验一:C开发环境与顺序结构程序设计 (2)1.实验目的: (2)2.实验环境: (2)3.实验步骤: (2)4.实验内容: (2)5.实验总结 (9)实验二:分支结构与循环结构程序设计 (10)1.实验目的: (10)2.实验环境: (10)3.实验内容: (10)4.实验总结 (18)实验三数组及数组的应用 (19)1.实验目的: (19)2.实验环境: (19)3.实验内容: (19)4.实验总结: (20)实验四:函数与指针 (20)1.实验目的: (21)2.实验内容: (21)3.实验总结 (24)实验一:C开发环境与顺序结构程序设计1.实验目的:(1) 了解集成开发环境VC++6.0的使用方法,理解相关命令的含义,掌握编辑、编译、连接以及运行调试的方法,掌握程序的基本结构,掌握输入输出的方式。

(2) 掌握程序设计的基本要素中的数据类型、变量、运算符以及表达式的运用。

(3) 学会正确使用逻辑运算符和逻辑表达式以及关系运算符与关系表达式,掌握在程序设计中灵活使用顺序结构。

2.实验环境:(1) 硬件环境CPU:Inter Pentium(R)4 CPU 3.00GHz 以上内存:2GByte(2) 软件环境操作系统:Microsoft Windows 7编译系统:Microsoft Visual C++ 6.03.实验步骤:按如图所示流程进行实验内容的调试。

(1) 在XP操作系统中,启动VC++6.0编译环境;(2) 在VC++6.0编译界面输入C源程序;(3) 选择编译、组建、执行命令进行编译、链接和运行,并记录实验数据;(4) 按以上方法依次输入其他源程序并调试、运行和记录实验数据。

4.实验内容:4.1 输入并运行下列程序,查看程序运行的结果。

#include<stdio.h>void main(){printf(“* * * * * * * * * *\n”);printf(“Programing in c A Labrtry Maual\n”);printf(“* * * *\n”);printf(“*\n”);}4.2查看程序运行的结果#include<stdio.h>void main(){int i,j,m,n;i=8;j=10;m=++i;n=j--;printf(“%d,%d,%d,%d\n”,i,j,m,n);}4.3找出下列程序中的错误,改正后写出程序运行结果.#include<stdio.h>void main(){Int x,y=z=5,aver;x=7;AVER=(x+y+z)/3printf(“AVER=%d\n”,aver);}4.4输入参考程序。

在下划线处分别填入不同的变量定义、表达式、输出格式控制符号。

#include<stdio.h>void main(){int a,b,x; //数据类型定义a=5;b=10;x=a+10; //表达式printf(“%d”,x); //格式控制符}该程序的执行结果为:15当数据类型说明符为int 时,对应的格式控制符为%d ;当数据类型说明符为long 时,对应的格式控制符为%l ;;当数据类型说明符为float 时,对应的格式控制符为%f ;当数据类型说明符为double 时,对应的格式控制符为%lf ;当数据类型说明符为char 时,对应的格式控制符为%c ;仅当表达式更改为1/2*a*b 时,程序执行结果为0 ;仅当表达式更改为0.5*a*b 时,程序执行结果为25 (2)求从键盘上输入的两个整数之和,完成程序并将结果输出。

源程序:#include<stdio.h>void main( ){int x,y,z;.scanf("%d%d",&x,&y);z=x+y;printf("%d\n",z);}输入:12输出:34.5将整型变量a、b的值进行交换。

方法一:借助中间变量t#include<stdio.h>void main(){int a=1,b=2,t;t=a;a=b;b=t;printf("%d\n%d\n",a,b);}方法二:不借助中间变量#include<stdio.h>void main(){int a=1,b=2;a=b-a;b=b-a;a=b+a;printf("%d\n%d\n",a,b);}4.6编写程序输入华氏温度f,求摄氏温度c。

华氏转摄氏的公式为:c=5/9(f-32) 输入输出都要有文字提示和说明,输出保留2位小数。

#include<stdio.h>void main(){float f,c;printf("输入华氏温度=");scanf("%f",&f);c=(f-32)*5/9;printf("摄氏温度=%.2f\n",c); }4.7 编程求)ln()sin(xaaxy++=。

要求a和x从键盘输入。

当a=6.4,x=3.4时,求y的值。

#include<stdio.h>#include<math.h>void main(){float a,x,y;scanf("%f%f",&a,&x);y=sin(sqrt(a*x))+log(a+x);printf("%f\n",y);}4.8 从键盘上任意输入一个三位整数,按逆序输出。

例如输入456,输出654。

提示:456%10=6 456/10%10=5 456/10/10=46*102+5*101+4*10=654#include<stdio.h>main(){int n;int a,b, c;int num;printf("请输入一个三位整数n\n");scanf("%d", &n);c=n/100;b=(n-c*100)/10;a=n%10;num= a*100 + b*10 + c;printf("num=%d\n", num);}5.实验总结实验二:分支结构与循环结构程序设计1.实验目的:⑴了解C 语言表示逻辑量的方法;(0为“假”,非0为“真”)学会正确使用关系表达式和逻辑表达式。

⑵熟练掌握if 语句、switch 语句、while 语句、do-while 语句和for 语句的使用方法。

⑶结合程序掌握一些简单的算法。

⑷掌握在程序设计中用循环的方法实现一些常用算法(如穷举、迭代、递推等)。

⑸学习调试程序2.实验环境:操作系统:Windows 7 编程软件:Visual C++ 6.03.实验内容:(1) 使用if 语句或者switch 语句编程求解以下分段函数:y= 。

#include<stdio.h> #include<math.h> main() {float x,y;scanf("%f",&x); if(x<1)y=2*x-1;else if(x>=1&&x<10) y=sqrt(x+10); elsey=2*x+1; printf("%f\n",y); }(2) 使用if语句或者switch语句编程实现以下功能:从键盘任意输入0----100之间的整数作为学生的成绩,要求根据以下的条件判断并输出相应成绩的等级。

大于等于90,小于等于100:优秀大于等于70,小于等于89:良好大于等于60,小于等于69:及格小于60:不及格#include<stdio.h>main(){int x;scanf("%d",&x);switch(x/10){case 10:printf("优秀\n");break;case 9:printf("优秀\n");break;case 8:printf("良好\n");break;case 7:printf("良好\n");break;case 6:printf("及格\n");break;default:printf("不及格\n");}}(3)n的值从键盘输入,要求分别用三种循环语句实现以下功能:1+2+3+4+……+n1、用while语句实现。

#include<stdio.h>main(){int i=1,s=0,n;scanf("%d",&n);while(i<=n){s=s+i;i=i++;}printf("%d\n",s);}2、用do----while语句实现#include<stdio.h>main(){int i=1,s=0,n;scanf("%d",&n);do{s=s+i;i=i++;}while(i<=n);printf("%d\n",s);}3、用for语句实现。

#include<stdio.h>main(){int i=1,s=0,n;scanf("%d",&n);for (;i<=n;i++)s=s+i;printf("%d\n",s);}(4)n的值从键盘输入,要求用循环语句实现以下功能:1!+2!+………+n!#include<stdio.h>void main(){ int n,i;float s=0,t=1;scanf("%d",&n);for(i=1;i<=n;i++){ t*=i; s+=t; }printf("1+2!+3!...+n!=%f\n",s);}(5)程序填空,求100以内的整数中最大可被13整除的数是哪一个?#include<stdio.h>int main( ){int i;for( i=100 ; i>=0 ;i--){ if( i%13==0 )break;}printf("%d\n",i);return 0;}(6)输入两个正整数m和n,求其最大公约数和最小公倍数。

相关主题