c语言函数习题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言函数习题相关的知识,希望对你有一定的参考价值。

1、 函数调用:strcat(strcpy(str1,str2),str3)的功能是________。
A) 将串str1复制到串str2中后再连接到串str3之后
B) 将串str1连接到串str2之后再复制到串str3之后
C) 将串str2复制到串str1中后再将串str3连接到串str1之后
D) 将串str2连接到串str1之后再将串str1复制到串str3中
请选择-> A B C D

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


int a;float x;


fun(x,a);



A) void fun(int m,float x) B) void fun(float a,int x)
C) void fun(int m,float x[]) D) void fun(int x,float a)
请选择-> A B C D

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);
该程序的输出结果是__________。
A) 12 B) 13
C) 14 D) 15
请选择-> A B C D

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 B) 1.0/i*i
C) 1/(i*i) D) 1/i/i
请选择-> A B C D

5、 在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递
方式是________。
A) 地址传递
B) 单向值传递
C) 由实参传给形参,再由形参传回实参
D) 传递方式由用户指定
请选择-> A B C D

6、 对于C语言的函数,下列叙述中正确的是________。
A) 函数的定义不能嵌套,但函数调用可以嵌套
B) 函数的定义可以嵌套,但函数调用不能嵌套
C) 函数的定义和调用都不能嵌套
D) 函数的定义和调用都可以嵌套
请选择-> A B C D

7、 函数f的功能是:测定字符串的长度,空白处应填入________。
int f(char s[ ])
int i=0;
while(s[i]!='\0') i++;
return (________);
main( )
printf("%d\n",f("goodbye!"));
A) i-1 B) i
C) i+1 D) s
请选择-> A B C D

8、 若主调用函数类型为double,被调用函数定义中没有进行函数类型
说明,而return语句中的表达式类型为float型,则被调函数返回
值的类型是________。
A) int 型 B) float 型
C) double 型 D) 由系统当时的情况而定
请选择-> A B C D

9、 以下叙述中,错误的是________。
A) 函数未被调用时,系统将不为形参分配内存单元
B) 实参与形参的个数应相等,且类型相同或赋值兼容
C) 实参可以是常量、变量或表达式
D) 形参可以是常量、变量或表达式
请选择-> A B C D

10、 以下叙述中,不正确的是________。
A) 在同一C程序文件中,不同函数中可以使用同名变量
B) 在main函数体内定义的变量是全局变量
C) 形参是局部变量,函数调用完成即失去意义
D) 若同一文件中全局变量和局部变量同名,则全局变量在
局部变量作用范围内不起作用
请选择-> A B C D

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函数体内定义的变量是全局变量
参考技术A 2楼基本都回答了~智能看看 参考技术B 返回值是4
在C语言中,字符'\0'标识一个字符串的结尾.
在字符串中,只要遇见字符'\0',就标志着字符串已经结束,其后面的字符已经不属于当前字符串,比如:
“abcd\0ef”,"abcd"是一个字符串,ef则不属于字符串"abcd"
参考技术C 1.C

YTU 2427: C语言习题 整数排序


2427: C语言习题 整数排序


时间限制: 1 Sec   内存限制: 128 MB

提交: 391  

解决: 282


题目描述


用指向指针的指针的方法对n个整数排序并输出。要求将排序单独写成一个函数。整数和n在主函数中输入。最后在主函数中输出。


输入


n和n个整数


输出


排序后的整数


样例输入

5
4 3 2 1 5

样例输出

1 2 3 4 5

提示




 主函数已给定如下,提交时不需要包含下述主函数





/* C代码 */






int main()









void sort(int **,int );




int i,n,data[20],**p,*pstr[20];




scanf("%d",&n);




for (i=0; i<n; i++)




pstr[i]=&data[i];




for (i=0; i<n; i++)




scanf("%d",pstr[i]);




p=pstr;




sort(p,n);




for (i=0; i<n; i++)




printf("%d ",*pstr[i]);




return 0;













/* C++代码 */




int main()









void sort(int **,int );




int i,n,data[20],**p,*pstr[20];




cin>>n;




for (i=0; i<n; i++)




pstr[i]=&data[i];




for (i=0; i<n; i++)




cin>>*pstr[i];




p=pstr;




sort(p,n);




for (i=0; i<n; i++)




cout<<*pstr[i]<<" ";




return 0;







迷失在幽谷中的鸟儿,独自飞翔在这偌大的天地间,却不知自己该飞往何方……



#include <stdio.h>
void sort(int **a,int n)

for(int i=0; i<n; i++)
for(int j=0; j<n-i-1; j++)
if(**(a+j)>**(a+j+1))

int t=**(a+j);
**(a+j)=**(a+j+1);
**(a+j+1)=t;


int main()

void sort(int **,int );
int i,n,data[20],**p,*pstr[20];
scanf("%d",&n);
for (i=0; i<n; i++)
pstr[i]=&data[i];
for (i=0; i<n; i++)
scanf("%d",pstr[i]);
p=pstr;
sort(p,n);
for (i=0; i<n; i++)
printf("%d ",*pstr[i]);
return 0;


以上是关于c语言函数习题的主要内容,如果未能解决你的问题,请参考以下文章

C语言总结_数组与函数传参练习题

c语言函数习题

YTU 2427: C语言习题 整数排序

C语言练习题

YTU 2422: C语言习题 n个数逆序

C语言经典习题