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
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语言函数习题的主要内容,如果未能解决你的问题,请参考以下文章