调用c语言函数习题 c语言调用函数例题

C语言函数调用问题(选择题)

A是先取函数f返回的内存单元(参数是i即i的地址)中存储的值,并作更改(改为6)

创新互联-专业网站定制、快速模板网站建设、高性价比泰宁网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式泰宁网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖泰宁地区。费用合理售后完善,十载实体公司更值得信赖。

B项 i+6 是算术表达式,不能直接取地址,必须使用变量保存才能取地址

C项 是定义一个指向整型的指针p,并赋值为函数f的返回值(该函数返回一个指针,也就是内存地址)

D项 直接以i为参数执行函数f,返回值不起任何作用

c语言函数习题

1、 函数调用:strcat(strcpy(str1,str2),str3)的功能是________。

C) 将串str2复制到串str1中后再将串str3连接到串str1之后

2、 若有以下调用语句,则正确的fun函数首部是

main()

{ ∶

int a;float x;

fun(x,a);

}

B) void fun(float a,int x)

3、 有如下程序

int func(int a,int b)

{ return(a+b); }

main()

{ int x=2,y=5,z=8,r;

r=func(func(x,y),z);

printf("%d\n",r); }

该程序的输出结果是__________。

D) 15

4、 函数pi的功能是根据以下近似公式求π值:

(π*π)/6=1+1/(2*2)+1/(3*3)+……+1/(n*n)

请你在下面程序中的划线部分填入________,完成求π的功能。

#include "math.h"

double pi(long n)

{ double s=0.0; long i;

for(i=1;i=n;i++) s=s+________;

return (sqrt(6*s)); }

A) 1.0/i/i

5、 在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递

方式是________。

B) 单向值传递

6、 对于C语言的函数,下列叙述中正确的是________。

A) 函数的定义不能嵌套,但函数调用可以嵌套 (这答案有待斟酌)

7、 函数f的功能是:测定字符串的长度,空白处应填入________。

int f(char s[ ])

{ int i=0;

while(s[i]!='\0') i++;

return (________); }

main( )

{ printf("%d\n",f("goodbye!")); }

B) i

8、 若主调用函数类型为double,被调用函数定义中没有进行函数类型

说明,而return语句中的表达式类型为float型,则被调函数返回

值的类型是________。

C) double 型

9、 以下叙述中,错误的是________。

D) 形参可以是常量、变量或表达式

10、 以下叙述中,不正确的是________。

B) 在main函数体内定义的变量是全局变量

关于C语言函数调用的程序设计题

#includestdio.h

#includemath.h

void f(int x)

{

int j=0,i;

double k;

k=sqrt(x);

for(i=2;ik;i++)

{

if(x%i==0)

j++;

}

if(j==0)

printf("%4d",x);

}

int g(int x)

{

int a,b,c;

a=x/100;

b=x%100/10;

c=x%10;

if(a*a*a+b*b*b+c*c*c==x)

return 1;

else

return 0;

}

void main()

{

int array[100],i,n=300;

for(i=0;i99;i++,n++)

array[i]=n;

for(i=0;i99;i++,n++)

printf("%4d,",array[i]);

printf("素数为:");

for(i=0;i99;i++,n++)

f(array[i]);

printf("水仙花数为:");

for(i=0;i99;i++,n++)

if(g(array[i])==1)

printf("%4d,",array[i]);

}

C语言编程题调用函数求解方程组,a1x+b1y=c1,a2x+b2y=c2

#includestdio.h

double

val(double

a00,double

a11,double

a01,double

a10)

{

return

a00*a11-a01*a10;

}

void

main()

{

double

a1,b1,c1,a2,b2,c2;

double

m1,m2,m3;

printf("Please

input

a1,b1,c1\n");

scanf("%lf%lf%lf",a1,b1,c1);

printf("Please

input

a2,b2,c2\n");

scanf("%lf%lf%lf",a2,b2,c2);

m1

=

val(a1,b2,a2,b1);

m2

=

val(c1,b2,c2,b1);

m3

=

val(c1,a2,c2,a1);

if(m1==0){

if(m2==0

m3==0)

printf("无数解\n");

else

printf("无解\n");

}else

printf("x=%lf,y=%lf\n",m2/m1,-m3/m1);

}

这个是先求行列式的值,然后判断其是否为0,讨论解的情况,当有唯一解的时候,输出x和y的值。

val()函数用于计算2x2行列式的值。

有不明白的地方可以追问,望采纳:)


文章名称:调用c语言函数习题 c语言调用函数例题
URL标题:http://abwzjs.com/article/dospeii.html