应科院c语言实验函数及应用Word格式文档下载.docx

上传人:b****5 文档编号:19888924 上传时间:2023-01-11 格式:DOCX 页数:12 大小:226.71KB
下载 相关 举报
应科院c语言实验函数及应用Word格式文档下载.docx_第1页
第1页 / 共12页
应科院c语言实验函数及应用Word格式文档下载.docx_第2页
第2页 / 共12页
应科院c语言实验函数及应用Word格式文档下载.docx_第3页
第3页 / 共12页
应科院c语言实验函数及应用Word格式文档下载.docx_第4页
第4页 / 共12页
应科院c语言实验函数及应用Word格式文档下载.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

应科院c语言实验函数及应用Word格式文档下载.docx

《应科院c语言实验函数及应用Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《应科院c语言实验函数及应用Word格式文档下载.docx(12页珍藏版)》请在冰豆网上搜索。

应科院c语言实验函数及应用Word格式文档下载.docx

,g,i,j);

x=%d;

y=%d\n"

x,y);

}

voidfun(inti,intj)

intx,y,g;

g=8;

x=7;

y=2;

x=8,y=6;

运行结果:

结果分析:

具有相同名字局部变量在不同函数中的值互不影响。

2、分析下面程序的运行结果,为什么出现这种结果?

掌握全局变量与局部变量的区别。

源程序:

inta=3,b=5;

max(inta,intb)

{intc;

c=a>

b?

a:

b;

return(c);

}

main()

{inta=8;

max=%d\n"

max(a,b));

b=%d\n"

b);

文件中如果有相同名字的全局变量与局部变量,那么函数执行时是先执行局部变量,如果没有局部变量那么就执行全局变量。

3、分析下面程序的运行结果,为什么出现这种结果?

掌握使用static定义局部变量与使用auto(可省略)定义局部变量的区别

voidincx(void);

voidincy(void);

incx();

incy();

voidincx(void)

intx=0;

x=%d\t"

++x);

voidincy(void)

staticinty=0;

\ny=%d\n"

++y);

使用static定义局部变量时,程序运行后会储存变量的值,而使用auto(可省略)定义局部变量时,程序运行后变量的值自动释放,不会储存变量的值。

4、实现两个数的加、减、乘、除运算,共4个函数,每个函数分别存储在1个独立的源文件中。

掌握外部函数的调用

(1)利用Vc++,建立一个工程

(2)新建文件add.c,

在文件中定义加法函数floatadd(floatn1,floatn2);

并保存

(3)新建文件sub.c

在文件中定义减法函数floatsub(floatn1,floatn2);

(4)新建文件mul.c

在文件中定义乘法函数floatmul(floatn1,floatn2);

(5)新建文件div.c

在文件中定义除法函数floatdiv(floatn1,floatn2);

(6)新建文件test.c

在该文件中,编写主函数,并在主函数中调用函数add、sub、mul、div

注意在主函数中,声明函数add、sub、mul、div为外部函数,方法如下:

externfloatadd(floatn1,floatn2);

externfloatsub(floatn1,floatn2);

externfloatmul(floatn1,floatn2);

externfloatdiv(floatn1,floatn2);

代码:

add.c文件:

voidadd(floatx,floaty)

{

floatz;

z=x+y;

%g+%g=%g\n"

x,y,z);

sub.c文件:

voidsub(floatx,floaty)

z=x-y;

%g-%g=%g\n"

mul.c文件:

voidmul(floatx,floaty)

z=x*y;

%g*%g=%g\n"

div.c文件:

voiddiv(floatx,floaty)

z=x/y;

%g/%g=%g\n"

test.c文件:

#include<

externvoidadd(floatx,floaty);

externvoiddiv(floatx,floaty);

externvoidsub(floatx,floaty);

externvoidmul(floatx,floaty);

voidmain()

floata,b;

charc,h;

do

{

printf("

请输入要计算的表达式:

);

scanf("

%f%c%f"

&

a,&

c,&

b);

getchar();

switch(c)

{

case'

+'

:

add(a,b);

break;

-'

sub(a,b);

*'

mul(a,b);

/'

div(a,b);

default:

;

}

继续计算吗?

<

yes>

输入y继续,其它字符退出"

%c"

h);

}while(h=='

y'

||h=='

Y'

运行结果:

5.定义一个带参的宏,使两个参数的值互换,并写出程序,输入两个数作为使用宏时的实参。

输出已交换后的两个值。

intc=0;

#defineCHANGE(a,b)c=a,a=b,b=c;

intmain()

intn1=0,n2=0;

scanf("

%d%d"

n1,&

n2);

运行请前n1=%dn2=%d\n"

n1,n2);

CHANGE(n1,n2);

运行请后n1=%dn2=%d\n"

return0;

6、输入两个整数,并使其从大到小输出,用指针变量实现数的比较。

(读懂下面程序)

(1)源程序:

voidmain()

int*p1,*p2,*p,a,b;

%d,%d"

p1=&

a;

p2=&

if(a<

b)

{

p=p1;

p1=p2;

p2=p;

}

a=%d,b=%d\n"

a,b);

max=%d,min=%d\n"

*p1,*p2);

调换指针地址并不改变变量本身的值。

 

7.(综合设计题)

写3个函数:

①输个职工的姓名和职工号;

②按职工号由小到大顺序排序,姓名顺序也随之调整;

③要求输入一个职工号,找出该职工的姓名

从主函数输入要查找的职工号,输出该职工姓名。

string.h>

#defineN10

voidinput(int[],charname[][8]);

voidsort(int[],charname[][8]);

voidsearch(int,int[],charname[][8]);

intnum[N],number,flag=1,c;

charname[N][8];

input(num,name);

sort(num,name);

while(flag==1)

printf("

\ninputnumbertolookfor:

"

scanf("

%d"

number);

search(number,num,name);

continueotnot(Y/N)?

getchar();

c=getchar();

if(c=='

N'

||c=='

n'

)flag=0;

}

voidinput(intnum[],charname[N][8])

inti;

for(i=0;

i<

N;

i++)

inputNO.:

"

num[i]);

inputname:

gets(name[i]);

voidsort(intnum[],charname[N][8])

inti,j,min,templ;

chartemp2[8];

N-1;

min=i;

for(j=i;

j<

j++)

if(num[min]>

num[j])min=j;

templ=num[i];

strcpy(temp2,name[i]);

num[i]=num[min];

strcpy(name[i],name[min]);

num[min]=templ;

strcpy(name[min],temp2);

\nresult:

\n%5d%10s"

num[i],name[i]);

voidsearch(intn,intnum[],charname[N][8])

inttop,bott,mid,loca,sign;

top=0;

bott=N-1;

loca=0;

sign=1;

if((n<

num[0])||(n>

num[N-1]))

loca=-1;

while((sign==1)&

&

(top<

=bott))

mid=(bott+top)/2;

if(n==num[mid])

loca=mid;

NO.%d,Hisnameis%s.\n"

n,name[loca]);

sign=-1;

elseif(n<

num[mid])

bott=mid-1;

elsetop=mid+1;

if(sign==1||loca==-1)

%dnotbeenfound.\n"

n);

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 幼儿教育 > 家庭教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1