C语言函数部分练习题

合集下载

C语言函数章节题库及答案部分注释

C语言函数章节题库及答案部分注释

一、选择题1.以下正确的说法是(C)。

建立函数的目的之一是A)提高程序的执行效率。

B)提高程序的可读性。

C)减少程序的篇幅D)减少程序文件所占的内存2.以下正确的说法是(B)。

A)用户若需调用标准库函数,调用前必须重新定义。

B)用户可以重新定义标准库函数,若如此,该函数将失去原有含义C)系统根本不允许用户重新定义标准库函数D)用户若需调用标准库函数,调用前不必使用预编译命令将该函数所在文件包含到用户源文件中,系统自动去调。

3.以下正确的函数定义形式是(A)。

A)double fun(int x, int y)B)d ouble fun(int x; int y)C)d ouble fun(int x, int y);D)double fun(int x,y);4.以下正确的说法是(A)。

在C语言中A)实参和与其对应的形参各占用独立的存储单元B)实参和与其对应的形参共占用一个存储单元C)只有当实参和与其对应的形参同名时才共占用存储单元D)形参时虚拟的,不占用存储单元5.若调用一个函数,且此函数中没有return语句,则正确的说法是(A)。

该函数A)没有返回值B)返回若干个系统默认值C)能返回一个用户所希望的函数值D)返回一个不确定的值6.以下正确的说法是(C)。

A)定义函数时,形参的类型说明可以放在函数体内B)r eturn后边的值不能为表达式C)如果函数值的类型与返回值的类型不一致,以函数值类型为准D)如果形参与实参的类型不一致,以实参类型为准7.C语言规定,简单变量作实参时,它和对应形参之间的数据传递方式是(B)。

A)地址传递B)单向值传递实参传给形参C)由实参传给形参,再由形参传回给实参D)由用户指定传递方式8.以下程序有语法性的错误,有关错误原因的正确的说法是(C)。

main(){ int G=5, k;void prt_char(); void是不返回值,但却有k=prt_char(G)…..k=prt_char(G);…..}A)语句void prt_char();有错,它是函数调用语句,不能用void说明B)变量名不能用大写字母C)函数说明和函数调用语句之间有矛盾D)函数名不能使用下划线9.C语言允许函数值类型缺省定义,此时该函数值隐含的类型是(B)。

C语言函数习题

C语言函数习题

.习题一、选择题1、以下只有在使用时才为该类型变量分配内存的存储类说明是----____B______。

A.auto 和staticB.auto和registerC.register和staticD.extern和register2、下述程序的输出结果是____A____。

long fun(int n){ long s;if(n==1|| n==2)s=2;else s=n-fun(n-1);return s;}main(){ printf(“%ld\n”,fun(3));}A.1B.2C.3D.43、C语言中形参的默认存储类别是____A________。

A.自动(auto)B.静态(static)C.寄存器(register)D.外部(extern)4、下面对函数嵌套的叙述中,正确的是_____B_____。

A.函数定义可以嵌套,但函数调用不能嵌套B.函数定义不可以嵌套,但函数调用可以嵌套14/ 1.C.函数定义和函数调用均不能嵌套D.函数定义和函数调用均可以嵌套5、下面关于形参和实参的说法中,正确的是____B_____。

A.形参是虚设的,所以它始终不占存储单元B.实参与它所对应的形参占用不同的存储单元C.实参与它所对应的形参占用同一个存储单元D.实参与它所对应的形参同名时可占用同一个存储单元6、关于全局变量的作用范围,下列说法正确的是____D_______。

A.本程序的全部范围B.离定义该变量的位置最接近的函数C.函数内部范围D.从定义该变量的位置开始到本文件结束7、调用一个函数,此函数中没有return语句,下列说法正确的是:该函数____D____。

A.没有返回值B.返回若干个系统默认值C.能返回一个用户所希望的函数值D.返回一个不确定的值8、以下函数调用语句中含有____B_____个实参。

fun ((exp1,exp2),(exp3,exp4,exp5));A.1B.2C.4D.59、以下程序的输出结果是__C______。

C语言函数习题

C语言函数习题

习题、选择题1、以下只有在使用时才为该类型变量分配内存的存储类说明是------- ___ B _____A. auto 和staticB.auto 和registerC.register 和staticD.extern 和register2、下述程序的输出结果是_____ A ___ 。

long fun (int n){ long s;if(n==1|| n==2 )s=2 ;else s=n-fun (n-1 );return s;}main (){ printf (“ %ldn”,fun (3));}A. 1B.2C.3D.43、C 语言中形参的默认存储类别是______ A ______A. 自动(auto )B. 静态(static )C.寄存器(register)D.外部(extern )4、下面对函数嵌套的叙述中,正确的是________ B ___A. 函数定义可以嵌套,但函数调用不能嵌套B. 函数定义不可以嵌套,但函数调用可以嵌套C. 函数定义和函数调用均不能嵌套D. 函数定义和函数调用均可以嵌套5 、下面关于形参和实参的说法中,正确的是 ______ B ____ 。

A. 形参是虚设的,所以它始终不占存储单元B. 实参与它所对应的形参占用不同的存储单元C. 实参与它所对应的形参占用同一个存储单元D. 实参与它所对应的形参同名时可占用同一个存储单元6、关于全局变量的作用范围,下列说法正确的是______ D ______ 。

A.本程序的全部范围B.离定义该变量的位置最接近的函数C.函数内部范围D.从定义该变量的位置开始到本文件结束7、调用一个函数,此函数中没有return 语句,下列说法正确的是:该函数 ________ DA.没有返回值B.返回若干个系统默认值C.能返回一个用户所希望的函数值D.返回一个不确定的值8、以下函数调用语句中含有____ B ____ 个实参。

fun ((exp1,exp2),(exp3 ,exp4,exp5 ));A.1B.2C.4D.59、以下程序的输出结果是__C _____ 。

C语言各章节练习题(含答案)

C语言各章节练习题(含答案)
A) define IF type B) getc char printf
C) include case scanf D) while go pow
3. 下列四组选项中,均是不合法的用户标识符的选项是 。
4. 设有:int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b)&&(n=c>d)后n的值为 B 。
A) 1 B) 2 C) 3 D) 4
5. 以下程序的运行结果是 B 。
main()
{ int a,b,d=241;
2. printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列。如果字符串长度大于5,则输出按方式 B ;如果字符串长度小于5,则输出按方式 C 。
A) 从左起输出该字符串,右补空格 B) 按原字符长从左向右全部输出
C) 右对齐输出该字符串,左补空格 D) 输出错误信息
a=d/100%9;
b=(-1)&&(-1);
printf(“%d,%d”,a,b);
} A) 6,1 B) 2,1 C) 6,0 D) 2,0
四、逻辑运算与判断选取控制
选择 1. 逻辑运算符两侧运算对象的数据类型 D 。
A) 只能是0和1 B) 只能是0或非0正数 C) 只能是整型或字符型数据 D) 可以是任何类型的数据
2. 判断char型变量ch是否为大写字母的正确表达式是 C 。
11.设有说明:char w; int x; float y; double z;则表达式w*x+z-y值的数据类型为 。
A) float B) char C) int D) double
12.设以下变量均为int类型,则值不等于7的表达式是 。

C语言题库-函数(推荐文档)

C语言题库-函数(推荐文档)

C语言函数练习题一、选择题1.在函数的说明和定义时若没有指出函数的类型,则( A )A: 系统自动地认为函数的类型为整型。

B: 系统自动地认为函数的类型为字符型。

C: 系统自动地认为函数的类型为实型。

D: 编译时会出错。

2.下面正确的函数定义形式是( A )A: double fun(int x,int y) { }B: double fun(int x;int y) { }C: double fun(int x,int y);D: double fun(int x,y);3. 若调用一个函数,且此函数中没有return 语句,则正确的说法是:该函数( D )A: 没有返回值;B: 返回若干个系统默认值;C: 能返回一个用户所希望的函数值;D: 返回一个不确定的值4. C语言允许函数返回值类型缺省定义,此时该函数隐含的返回值类型是( B )A: float 型B: int 型C: long 型D: double 型5. C语言规定,函数返回值的类型是由( D )(二级题)A: return 语句中的表达式类型所决定;B: 调用该函数时的主调函数类型所决定;C: 调用该函数时系统临时决定;D: 在定义该函数时所指定的函数类型所决定6.下面函数调用语句含有实参的个数为( B )func((exp1,exp2),(exp3,exp4,exp5));A: 1B: 2C: 5D: 47. 以下错误的描述是( D )函数的调用可以A: 出现在执行语句中;B: 出现在一个表达式中;C: 为一个函数的实参;D: 作为一个函数的形参;8.若函数的形参为一维数组,则下列说法中正确的是( B )A: 调用函数时的对应实参必为数组名。

B: 形参数组可以不指定大小。

C: 形参数组的元素个数必须等于实参数组的元素个数。

D: 形参数组的元素个数必须多于实参数组的元素个数。

9.下面叙述中正确的是( C )A: 对于用户自己定义的函数,在使用前必须加以说明。

C语言 练习题(函数)

C语言 练习题(函数)

一、选择题1. 以下程序的运行结果是。

#include<stdio.h>int fun(int n){int m=0,f=-1,i;for(i=1;i<=n;i++){m=m+i*f;f=-f;}return m;}int main(){printf("m=%d\n",fun(10));return 0;}A.m=5 B.m=-6 C.m=6 D.m=-52. C语言规定,简单变量作为实参时,它和对应形参之间的数据传递方式是。

A.地址传递B.单项值传递C.由实参传给形参,再由形参传回给实参D.由用户指定传递方式3. 以下程序有语法性错误,有关错误原因的正确说法是。

#include<stdio.h>int main(){int G=5,k;void prt_char ( );...k=prt_char(G);...}A.语句void prt_char( ); 有错,它是函数调用语句,不能用void说明B.变量名不能使用大写字母C.函数说明和函数调用语句之间有矛盾D.函数名不能使用下划线4. 以下程序的运行结果是。

#include<stdio.h>int fun(int a,int b){if(a>b) return (a+b);else return (a-b);}int main(){int x=3,y=8,z=6,r;r=fun(fun(x,y),2*z);printf("%d\n",r);return 0;}A.-16 B.-17 C.17 D.165. 以下程序的功能是计算函数F(x,y,z) = (x+y)/(x-y)+(z+y)/(z-y)的值,请选择填空。

#include<stdio.h>#include<math.h>float f(float,float);int main( ){float x,y,z,sum;scanf("%f%f%f",&x,&y,&z);sum=f( )+f( );printf("sum=%f\n",sum);return 0;}float f(float a,float b){float value;value=a/b;return value;}A.x-y, x+y B.x+y, x-y C.z+y, z-y D.z-y, z+y A.x-y, x+y B.x+y, x-y C.z+y, z-y D.z-y, z+y 6. 以下程序可选出能被3整除且至少有一位是5的两位数,打印出所有这样的数及其个数。

c语言第7章函数练习题

c语言第7章函数练习题
3. 以下对 C语言函数的有关描述中,正确的是( )。 A. 调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参 B. C函数既可以嵌套定义又可以递归调用 C. 函数必须有返回值,否则不能使用函数 D. C程序中有调用关系的所有函数必须放在同一个源程序文件中
4. C语言程序中,当函数调用时( )。 A. 实参和形参各占一个独立的存储单元 B. 实参和形参共用一个存储单元 C. 可以由用户指定是否共用存储单元 D. 计算机系统自动确定是否共用存储单元
fun(int x,int y,int z)
{ z=x*x+y*y;}
main()
{
int a=31;
fun(5,2,a);
printf("%d",a);
}
A.0
B.29
30.下列程序执行后的输出结果是( )。
voidfunc1(int i);
voidfunc2(int i);
charst[]="hello,friend!";
printf("%d\n",x);
}
上面程序的输出结果是( )。
A.720
B.120
C.24
39.下面程序的输出是( )。
main()
{
intt=1;
fun(fun(t));
}
fun(inth)
{
staticinta[3]={1,2,3};
intk;
for(k=0;k<3;k++) a[k]+=a[k]-h;
B. 不同函数中,可以使用相同名字的变量
C. 形式参数是局部变量
D. 在一个函数内部,可以在复合语句中定义变量,这些变量只在本复合语句中有效

C语言函数题库及答案

C语言函数题库及答案

第六部分函数一、单项选择题1.C语言中的函数返回值的类型是由(D)决定A.return语句中的表达式B.调用函数的主调函数C.调用函数时临时D.定义函数时所指定的函数类型2.下面不正确的描述是(B)。

A.调用函数时,实参可以是表达式B.调用函数时,实参和形参可以共用内存单元C.调用函数时,将形参分配内存单元D.调用函数时,实参与形参的类型必须一致3.在C语言中,调用一个函数时,实参变量和形参变量之间的数据传递是(D)A.地址传递B.值传递C.由实参传递给形参,并由形参传回给实参D.由用户指定传递方式4.下面的函数调用语句中含有(A)个实参inta,b,c;intsum(intx1,intx2);……total=sum((a,b),c);A.2B.3C.4 D.55.在C语言中(C)A.函数的定义可以嵌套,但函数的调用不可以嵌套B.函数的定义和调用均不可以嵌套C.函数的定义不可以嵌套,但是函数的调用可以嵌套D.函数的定义和调用均可以嵌套6.关于C语言中的return语句正确的是(C)A.只能在主函数中出现B.在每个函数中都必须出现C.可以在一个函数中出现多次D.只能在除主函数之外的函数中出现7.两个形参中,第一个形参为指针类型、第二个形参为整型,则对函数形参的说明有错误的是(D)A.inta(floatx[],intn)B.inta(float*x,intn)C.inta(floatx[10],intn)D.inta(floatx,intn)8.在C语言中,函数的数据类型是指(A)A.函数返回值的数据类型B.函数形参的数据类型C.调用该函数时的实参的数据类型D.任意指定的数据类型9.已知如下定义的函数:fun1(a){printf("\n%d",a);}则该函数的数据类型是(C)A.与参数a的类型相同B.void型C.整型D.无法确定10.定义一个函数实现交换x和y的值,并将结果正确返回。

c语言函数练习题附答案

c语言函数练习题附答案

函数一、选择题1.在c语言中以下不正确的说法是:()A.实参可以是常量、变量、或表达式B.形参可以是常量、变量或表达式C.实参可以为任意类型D.形参应与其对应的实参类型一致2.以下程序有语法性错误,有关错误原因的正确说法是:()int main(){ int G=5,k;void prt_char();……k=prt_char(G);……}A.语句void prt_char();有错,它是函数调用语句,不能用void说明B.变量名不能使用大写字母C.函数说明和函数调用语句之间有矛盾D.函数名不能使用下划线3.以下正确的说法是:()A.函数的定义可以嵌套,但函数的调用不可以嵌套B.函数的定义不可以嵌套,但函数的调用可嵌套C.函数的定义和调用均不可以嵌套D.函数的定义和调用均可以嵌套4.若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是:()A)函数调用可以作为独立的语句存在B)函数调用可以作为一个函数的实参C)函数调用可以出现在表达式中D)函数调用可以作为一个函数的形参5.以下所列的各函数首部中,正确的是:()A、 void play(var :Integer,var b:Integer)B、 void play(int a,b)C、 void play(int a,int b)D、 Sub play(a as integer,b as integer)6.在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是:()A、地址传递B、单向值传递C、由实参传给形参,再由形参传回实参D、传递方式由用户指定7.有以下程序void fun (int a,int b,int c){ a=456; b=567; c=678;}int main(){ int x=10, y=20,z=30;fun (x,y,z);printf("%d,/%d,%d\n",x,y,z);return 0;}输出结果是:()A、30,20,10B、10,20,30C、456,567,678D、678,567,4568.下述函数定义形式正确的是()。

二级C语言字符串处理函数部分练习题(十二)

二级C语言字符串处理函数部分练习题(十二)
#include <string.h>
main( )
{ char p[20]={'a', 'b', 'c', 'd'}, q[ ]="abc", r[ ]="abcde";
strcpy(p+strlen(q), r); strcat(p, q);
printf("%d %d\n", sizeof(p), strlen(p));
}
程序运行后的输出结果是( C )。
A)20 9 B)9 9
C)20 11 D)11 11
(5)有下列程序:
# include <string.h>
main( )
{ char p[20]={'a','b','c','d'},q[ ]="abc", r[ ]="abcde";
D)12
(10) 函数调用:strcat(strcpy(str1,str2),str3)的功能是C
A) 将串str1复制到串str2中后再连接到串str3之后
B) 将串str1连接到串str2之后再复制到串str3之后
C) 将串str2复制到串str1中后再将串str3连接到串str1之后
strcat(p, r); strcpy(p+strlen(q), q);
printf("%d\n", strlen(p));
}
程序运行后的输出结果是( B )。
A)9 B)6
C)11 D)7

C语言程序设计函数练习题及参考答案

C语言程序设计函数练习题及参考答案

C语言程序设计练习题及参考答案1、定义一个函数int fun(int a,int b,int c),它的功能是:若a,b,c能构成等边三角形函数返回3,若能构成等腰三角形函数返回2,若能构成一般三角形函数返回1,若不能构成三角形函数返回0。

#include <stdio.h>int fun(int a,int b,int c){if(a+b>c && b+c>a && a+c>b){if(a==b && b==c)return 3;else if(a==b||b==c||a==c)return 2;else return 1;}else return 0;}void main(){int a,b,c,shape;printf("\nInput a,b,c: ");scanf("%d%d%d",&a,&b,&c);printf("\na=%d, b=%d, c=%d\n",a,b,c);shape =fun(a,b,c);printf("\n\nThe shape : %d\n",shape);}2、编写一个程序,将两个变量的值交换, 例如变量a中的值原为3,b中的值原为8,程序运行后a 中的值为8,b中的值为3。

#include <stdio.h>void fun(int *x,int *y){int t;t=*x;*x=*y;*y=t}void main(){int a=3,b=8;printf("%d %d\n",a,b);fun(&a,b);printf("%d %d\n",a,b);}3、从键盘输入3个数,将最大值放在变量a中,最小值放在变量c中。

例如,输入的数为:55 12 34,输出结果应当是:a=55.0,b=34.0,c=12.0。

C语言函数习题及答案

C语言函数习题及答案

}
void main( )
{ int array[10],i;
for (i=0;i<10;i++)
{int i;
char c;
for(i=0;i<=(n-1)/2;i++)
{c=s[i];
s[i]=s[n-1-i];
s[n-1-i]=c;}
}
main()
{ char s [N];
int l;
printf("input a string:");gets(s);
l=பைடு நூலகம்trlen(s);
fun(s,l);
2021/3/26
printf("The new string is :");puts(s);
2
}
3.编写一个函数fun实现字符串连接功能(不允许使用strcat函数)。
#include "stdio.h"
#include "string.h"
void fun(char s[],char t[])
{int i,j;
j=strlen(s);
for(i=0;t[i]!='\0';i++)
s[j++]=t[i];
s[j]='\0';
}
main()
{char s[100],t[100];
gets(s);gets(t);
fun(s,t);
printf("\nThe result is :%s\n",s);
for(j=i+n;str[j]!='\0';j++)

习题四函数宏定义(4)

习题四函数宏定义(4)

C语言程序设计第函数、宏练习题
printf("%4d", f1(a)); } f1(int x) { static int z=3, y=0; y++; z++; return(x+y+z); } A、6 8 10 B、6 6 6 C、7 8 9 D、7 9 11 116、以下程序的运行结果是_____ main( ) { char str1[ ]="abcdef"; ff(str1); printf("str[ ]=%s\n", str1); } ff(char str1[ ]) { int x, y; for (x=y=0; str1[x]!='\0'; x++) if (str1[x]!='c') str[y++]=str1[x]; str1[y]='\0'; } A、str[ ]=abdef B、str[ ]=abcdef C、str[ ]=a D、程序中存在语法错误 二、填空题 69、一个C程序是由若干个函数构成的,其中必须有一个__ ___ 70、在C语言中,一个函数通常由两部分组成,它们是___ __和_____ 71、以下程序的运行结果是_____ void f1(int x, int y, int z) { x=111; y=222; z=333; } main( ) { int x=100, y=200, z=300; f1(x, y, z); printf("%d, %d, %d\n", z, y, x); } 72、以下程序的运行结果是_____ int fun(int x, int y) { int z; while (y) { z=x%y; x=y; y=z; } return(x); } main( ) { int i=16, j=6, k; k=fun(i, j); printf("%d\n", k); } 73、以下函数用于统计一行中的单词个数,单词之间用空格分 隔。请填空。 word_num(char str [ ]) { int i, num=0, word=0; for (i=0; str[i]!= ___; i++) if (____==32) word=0; else if (word==0) { word=1; _____; } return(num); } 74、以下函数用于找出一个 2×4 矩阵中的最大元素值 max_value(int arr[ ][4]) { int i, j, max; max=arr[0][0]; for (i=0; _____; i++) for (j=0; _____; j++) if (arr[i][j]>max) max=_____; return(max); } 75、以下函数 f1 用于求两个整数 a 和 b 的最大公约数。 f1(int a, int b) { int i, j, m, n; if (a>b) { m=a; a=b; _____; } i=a; j=b; while ((n= =_____)!=0) { j=i; i=_____; } return(i); } 76、以下程序的功能是:从键盘输入若干字符后,可统计出主 函数调用 count 函数的次数, 用字符 “!” 作为输入结束的标志。 请填空。 count(_____) { static int k=0; k++; if (ch2=='!') printf("count=%d\n",_____); } main( ) { char ch1; while (1) { scanf("%c", &ch1); count(ch1); if (ch1=='!') break; } } 77、以下程序的功能是完成下面数学函数 A(x, y)的计算。请填 空。

完整版函数练习题C语言带答案

完整版函数练习题C语言带答案

C语言函数练习题一、选择题1. 一个完整的C源程序是【】.A)要由一个主函数或一个以上的非主函数构成B)由一个且仅由一个主函数和零个以上的非主函数构成C)要由一个主函数和一个以上的非主函数构成D)由一个且只有一个主函数或多个非主函数构成2. 以下关于函数的叙述中正确的是【】.A)C语言程序将从源程序中第一个函数开始执行B)可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行C)C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束D)main可作为用户标识符,用以定义任意一个函数3. 以下关于函数的叙述中不正确的是【】.A)C程序是函数的集合,包括标准库函数和用户自定义函数B)在C语言程序中,被调用的函数必须在main函数中定义C)在C语言程序中,函数的定义不能嵌套D)在C语言程序中,函数的调用可以嵌套4. 在一个C程序中,【】.A)main函数必须出现在所有函数之前B)main函数可以在任何地方出现C)main函数必须出现在所有函数之后D)main函数必须出现在固定位置5. 若在C语言中未说明函数的类型,则系统默认该函数的数据类型是【】A)float B)longC)int D)double6. 以下关于函数叙述中,错误的是【】.A)函数未被调用时,系统将不为形参分配内存单元B)实参与形参的个数应相等,且实参与形参的类型必须对应一致 C)当形参是变量时,实参可以是常量、变量或表达式D)形参可以是常量、变量或表达式7. 若函数调用时参数为基本数据类型的变量,以下叙述正确的是【】.A)实参与其对应的形参共占存储单元B)只有当实参与其对应的形参同名时才共占存储单元C)实参与对应的形参分别占用不同的存储单元D)实参将数据传递给形参后,立即释放原先占用的存储单元9. 函数调用时,当实参和形参都是简单变量时,他们之间数据传递的过程是【】.A)实参将其地址传递给形参,并释放原先占用的存储单元B)实参将其地址传递给形参,调用结束时形参再将其地址回传给实参)实参将其值传递给形参,调用结束时形参再将其值回传给实参C D)实参将其值传递给形参,调用结束时形参并不将其值回传给实参10. 若函数调用时的实参为变量时,以下关于函数形参和实参的叙述中正确的是【】.A)函数的实参和其对应的形参共占同一存储单元B)形参只是形式上的存在,不占用具体存储单元C)同名的实参和形参占同一存储单元D)函数的形参和实参分别占用不同的存储单元11. 若用数组名作为函数调用的实参,则传递给形参的是【】.A> 数组的首地址 B> 数组的第一个元素的值C> 数组中全部元素的值 D> 数组元素的个数12. 若函数调用时,用数组名作为函数的参数,以下叙述中正确的是【】.A)实参与其对应的形参共用同一段存储空间B)实参与其对应的形参占用相同的存储空间C)实参将其地址传递给形参,同时形参也会将该地址传递给实参D)实参将其地址传递给形参,等同实现了参数之间的双向值的传递13. 如果一个函数位于C程序文件的上部,在该函数体内说明语句后的复合语句中定义了一个变量,则该变量【】.b5E2RGbCAPA)为全局变量,在本程序文件范围内有效B)为局部变量,只在该函数内有效C)为局部变量,只在该复合语句中有效D)定义无效,为非法变量14. C语言中函数返回值的类型是由【】决定.A)return语句中的表达式类型B)调用函数的主调函数类型C)调用函数时临时D)定义函数时所指定的函数类型15. 若在一个C源程序文件中定义了一个允许其他源文件引用的实型外部变量a,则在另一文件中可使用的引用说明是【】.p1EanqFDPw A)extern static float a。

c语言for函数练习题

c语言for函数练习题

c语言for函数练习题C语言是一门广泛应用于计算机科学领域的编程语言,而其中的for循环函数是一种十分重要且常用的语法结构。

在学习C语言的过程中,我们经常会遇到一些需要使用for循环函数来解决的练习题。

本文将通过一些具体的练习题来帮助读者更好地理解和掌握for循环函数的使用方法。

1. 计算1到100的和首先,我们来看一个简单的练习题:计算1到100之间所有整数的和。

这个问题可以通过使用for循环函数来解决。

我们可以先定义一个变量sum,用来保存累加的结果,然后使用for循环函数从1到100进行迭代,并将每次迭代的值加到sum中。

最后,输出sum的值即可。

2. 判断素数接下来,让我们来解决一个稍微复杂一些的练习题:判断一个数是否为素数。

素数是指只能被1和自身整除的数。

我们可以使用for循环函数来遍历从2到这个数的平方根之间的所有整数,判断是否存在能够整除这个数的因子。

如果存在,那么这个数就不是素数;如果不存在,那么这个数就是素数。

3. 输出九九乘法表九九乘法表是一个经典的练习题,它可以帮助我们熟悉for循环函数的嵌套使用。

我们可以使用两个嵌套的for循环函数,外层循环控制行数,内层循环控制列数。

在每次内层循环结束后,我们可以输出一个换行符,以实现每一行的换行显示。

4. 找出数组中的最大值接下来,我们来解决一个与数组相关的练习题:找出一个数组中的最大值。

我们可以使用for循环函数来遍历整个数组,同时使用一个变量max来保存当前找到的最大值。

在每次循环中,我们将当前元素与max进行比较,如果当前元素大于max,则更新max的值。

最终,当循环结束时,max的值就是数组中的最大值。

5. 统计字符串中某个字符出现的次数最后,让我们来解决一个与字符串相关的练习题:统计一个字符串中某个字符出现的次数。

我们可以使用for循环函数遍历整个字符串,同时使用一个变量count来记录字符出现的次数。

在每次循环中,我们将当前字符与目标字符进行比较,如果相等,则将count加一。

C语言函数题库

C语言函数题库

本章(函数)共3种题型:一、填空题(共95道)二、判断题(共20道)三、填空题(共10道)*********************************************************************一、填空题(共95道)1.考题所在章节:函数本题序号:124下列说法中错误的是A一个数组只允许存储同种类型的变量。

B在对数组进行初始化时,给定的数据元素个数可以比数组本身大小多。

C数组的名称其实是数组在内存中的首地址。

D当数组名作为参数被传递给某个函数时,函数运行过程中原数组中的元素的值可能被修改。

参考答案B2.考题所在章节:函数本题序号:126下列叙述中错误的是A主函数中定义的变量在整个程序中都是有效的。

B在其它函数中定义的变量在主函数中也不能使用。

C形式参数也是局部变量。

D复合语句中定义的变量只在该复合语句中有效。

参考答案A3.考题所在章节:函数本题序号:127若函数的形参为一维数组,则下列说法中正确的是A调用函数时的对应实参必为数组名。

B形参数组可以不指定大小。

C形参数组的元素个数必须等于实参数组的元素个数。

D形参数组的元素个数必须多于实参数组的元素个数。

参考答案B4.考题所在章节:函数本题序号:128在函数的说明和定义时若没有指出函数的类型,则A系统自动地认为函数的类型为整型。

B系统自动地认为函数的类型为字符型。

C系统自动地认为函数的类型为实型。

D编译时会出错。

参考答案A5.考题所在章节:函数本题序号:135下面叙述中正确的是A对于用户自己定义的函数,在使用前必须加以说明。

B说明函数时必须明确其参数类型和返回类型。

C函数可以返回一个值,也可以什么值也不返回。

D空函数不完成任何操作,所以在程序设计中没有用处。

参考答案C6. 考题所在章节:函数本题序号:157下面正确的函数定义形式是A double fun(int x,int y)B double fun(int x;int y)C double fun(int x,int y);D double fun(int x,y);参考答案A7.考题所在章节:函数本题序号:158若调用一个函数,且此函数中没有return语句,则正确的说法是()该函数:A没有返回值B返回若干个系统默认值;C能返回一个用户所希望的函数值;D返回一个不确定的值参考答案D8.考题所在章节:函数本题序号:159下面说法中不正确的是()在C语言中A实参可以是常量、变量或表达式;B形参可以是常量、变量或表达式;C函数的参数是函数间传递数据的一种手段;D实参个数应与对应的形参个数相等,类型匹配;参考答案B9.考题所在章节:函数本题序号:162C语言允许函数返回值类型缺省定义,此时该函数隐含的返回值类型是A float型B int 型C long 型D double型参考答案B10.考题所在章节:函数本题序号:163C语言规定,函数返回值的类型是由A return语句中的表达式类型所决定;B调用该函数时的主调函数类型所决定;C调用该函数时系统临时决定;D在定义该函数时所指定的函数类型所决定;参考答案D11.考题所在章节:函数本题序号:164下面函数调用语句含有实参的个数为()func((exp1,exp2),(exp3,exp4,exp5));A1B2C5D4参考答案B12.考题所在章节:函数本题序号:165以下错误的描述是()函数的调用可以A出现在执行语句中;B出现在一个表达式中;C为一个函数的实参;D作为一个函数的形参;参考答案D13.考题所在章节:函数本题序号:167若使用一维数组名作函数参数,则以下正确的说法是A必须在主调用函数中说明此数组的大小;B实参数组类型与形参数组类型可以匹配;C在被调函数中,不需要考虑形参数组的大小;D实参数组名与形参数组名必须一致;参考答案C14.考题所在章节:函数本题序号:168下正确的说法是()。

c语言函数习题

c语言函数习题

B)第一个函数前 ) D)函数中静态变量 )
15.下面程序的运行结果为: .下面程序的运行结果为: void fun(int a,int b,int c) { a=456;b=567;c=678; } main() { int x=10,y=20,z=30; fun (x,y,z); printf("%d,%d,%d\n",z,y,x); }
5
22、下面程序的运行结果为: 、下面程序的运行结果为: main( ) { int w=5; 012345 fun(w); printf("\n"); } fun(int k) { if(k>0) fun(k-1); printf("%d",k); }
23、下面程序能够统计主函数调用 、下面程序能够统计主函数调用count 函数的次数(用 函数的次数(
int next(j) 1 1 1 10 12 int j ; 1 2 2 9 13 { 1 3 3 8 14 return(j=i++); } int last(j) int j; { static int i=10; return(j=i--); } int new(i) int i; { int j=10; return(i=j+=i); }
20.下面程序的运行结果为: 下面程序的运行结果为: 下面程序的运行结果为 #include <stdio.h> int k=1; main() { int i=4; fun(i); printf("%d,%d\n",i,k);} fun(m) int m; { m+=k; k+=m; { char k='B'; printf("%d\n",k-'A'); } printf("%d,%d\n",m,k);}

C语言练习4(函数)=参考答案

C语言练习4(函数)=参考答案

C语言(函数,变量作用范围)一、选择题1 下列定义不正确的有 ( C ) 。

A)#define PI 3.141592 B)#define S 345C)int max(x,y); D)char c;int x,y ;{ }2 下列程序结构中,不正确的是 ( B )。

A)main() B) main(){float a,b,c; {float a,b,c;scanf("%f,%f",&a,&b); scanf("%f,%f",&a,&b);c=add(a,b); c=add(a,b);...... .....} }int add(float x,float y) float add(float x,float y) { ... } { ... }C)float add(float x,float y); D)float add(float x,float y) main() { ... }{float a,b,c; main()scanf("%f,%f",&a,&b); {float a,b,c;c=add(a,b); scanf("%f,%f",&a,&b);...... c=add(a,b);} .....float add(float x,float y) }{ ... }3 一个C语言的程序总是从( A )开始执行的.A)main函数B)文件中的第一个函数C)文件中的第一个子函数调用D)文件中的第一条语句4 以下正确的函数定义是( D ).A)double fun(int x,int y){z=x+y; return z;}B) double fun(int x,int y);{int z;z=x+y; return z;}C) fun(int x,y){int z; return z;}D) double fun(int x,int y){double z;z=x+y; return z;}5 以下正确的函数声明形式是( D ).A) double fun(int x,int y)B) double fun(int x;int y)C) double fun(int ,int )D) double fun(int ,int );6 以下说法中正确的是( A )在C语言中A)实参与其对应的形参各占用独立的存储单元B)实参与其对应的形参占用同一个存储单元C)只有当实参与形参同名时才占用同一个存储单元D)实参占用存储单元,但形参是虚拟的,不占用存储单元7 设有如下函数定义:int f(char *s){ char *p=s ;while(*p!='\0') p++;return(p-s) ;}如果在主程序中用下面的语句调用上述函数,则输出结果为( A ). printf("%d\n",f("goodbye!"));的输出结果是A) 3 B) 6 C) 8 D) 08 下面程序段中,主函数中变量a被初始化为 ( C )。

C语言练习-函数

C语言练习-函数

1. 单项选择题(1)在C语言程序中,下列叙述正确的是。

A. 函数的定义可以嵌套,但函数的调用不可以嵌套B. 函数的定义不可以嵌套,但函数的调用可以嵌套C. 函数的定义和调用都可以嵌套D. 函数的定义和调用均不可以嵌套【答】B(2)在C语言程序中,下列叙述错误的是。

A. 形参是局部变量B. 不同的函数中,可以使用相同名称的变量C. 在一个函数的内部,可以在复合语句中定义变量D. main()函数中定义的变量在整个文件或者程序中都有效【答】D(3)在C语言程序中,下列叙述正确的是。

A. 实参和对应的形参各占用独立的存储单元B. 实参和对应的形参共占用一个存储单元C. 形参是虚拟的,不占用存储单元D. 只有当实参和对应的形参同名时才共占用存储单元【答】A(4)在C语言程序中,下列叙述正确的是。

A. 实参可以是常量、变量或表达式B. 实参可以是任意类型C. 形参可以是常量、变量或表达式D. 形参与对应的实参类型要求可以不一致【答】A(5)在C语言程序中,简单变量做实参时,它和对应形参之间的数据传递方式是。

A. 地址传递B. 单向值传递C. 由用户指定传递方式D. 由实参传给形参,再由形参传回给实参【答】C语言函数调用时,只有单向的值传递,即实参将值传递给形参,传址调用也是一种单向的值传递,它是通过间接方式达到将形参回传给实参的。

本题答案为B。

(6)下列关于return语句说法正确的是。

A. 必须在每个函数中都出现B. 只能在除main()函数之外的函数中出现一次C. 可以在同一个函数中多次出现D. 在main()函数和其他函数中都可以出现【答】C(7)C语言中规定函数的返回值的类型是由。

A. return语句中的表达式类型所决定B. 调用该函数时的主调用函数类型所决定C. 调用该函数时系统临时决定D. 在定义该函数时所指定的函数类型所决定【答】D(8)如果要限制一个变量只能被本源文件中的函数使用,必须通过来实现。

计算机二级c语言第七章 函数习题

计算机二级c语言第七章 函数习题

第七章函数一、选择题1、以下关于函数的叙述中正确的是A)每个函数都可以被其它函数调用(包括main函数)B)每个函数都可以被单独编译C)每个函数都可以单独运行D)在一个函数内部可以定义另一个函数2、设函数fun的定义形式为void fun(char ch,float x) { … }则以下对函数fun的调用语句中,正确的是A)fun("abc",3.0); B)t=fun('D',16.5);C)fun('65',2.8); D)fun(32,32);3、有以下程序int f1(int x,int y){return x>y?x:y;}int f2(int x,int y){return x>y?y:x;}main(){ int a=4,b=3,c=5,d=2,e,f,g;e=f2(f1(a,b),f1(c,d));f=f1(f2(a,b),f2(c,d));g=a+b+c+d-e-f;printf("%d,%d,%d\n",e,f,g); }程序运行后的输出结果是A)4,3,7 B)3,4,7 C)5,2,7 D)2,5,74、有以下程序#define P 3#define F(int x) { return (P*x*x);}main(){ printf("%d\n",F(3+5));}程序运行后的输出结果是A)192 B)29 C)25 D)编译出错5、若程序中定义了以下函数double myadd(double a,double B){ return(a+B);}并将其放在调用语句之后,则在调用之前应该对该函数进行说明,以下选项中错误的说明是A)double myadd(double a,B); B)double myadd(double,double);C)double myadd(double b,double A); D)double myadd(double x,double y);6、有以下程序char fun(char x ,char y){ if(x < y) return x;return y;}main(){ int a=’9’,b=’8’,c=’7’;printf("%c\n",fun(fun(a,b),fun(b,c))); }程序的执行结果是A)函数调用出错 B)8 C)9 D)77、有以下程序void f(int v,int w){ int t;t=v;v=w;w=t;}main(){ int x=1,y=3,z=2;if(x>y) f(x,y);else if(y>z) f(y,z);else f(x,z);printf("%d,%d,%d\n",x,y,z);}执行后输出结果是A) 1,2,3 B) 3,1,2 C) 1,3,2 D) 2,3,18、若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是A) 调用可以作为独立的语句存在 B) 调用可以作为一个函数的实参C) 调用可以出现在表达式中 D) 调用可以作为一个函数的形参9、有以下函数定义:void fun(int n,double x) { …… }若以下选项中的变量都已正确定义并赋值,则对函数fun的正确调用语句是A)fun(int y,double m); B) k=fun(10,12.5);C)fun(x,n); D) vold fun(n,x);10、有以下程序fun(int a,int b){ if(a>b) return(a);else return(b);}main(){ int x=3,y=8,z=6,r;r=fun(fun(x,y),2*z);printf("%d\n",r);}程序运行后的输出结果是A) 3 B) 6 C) 8 D) 1211、在一个C程序中A) main函数必须出现在所有函数之前 B) main函数可以在任何地方出现C) main函数必须出现在所有函数之后 D) main函数必须出现在固定位置12、有以下程序int f1(int x,int y){ return x>y?x:y; }int f2(int x,int y){ return x>y?y:x; }main(){ int a=4,b=3,c=5,d,e,f;d=f1(a,b); d=f1(d,c);e=f2(a,b); e=f2(e,c);f=a+b+c-d-e;printf("%d,%d,%d\n",d,f,e);}执行后输出结果是A) 3,4,5 B) 5,3,4 C) 5,4,3 D) 3,5,413、有如下程序void f(int x,int y){ int t;if(x < y){ t=x; x=y; y=t; }}main(){ int a=4,b=3,c=5;f(a,b); f(a,c); f(b,c);printf("%d,%d,%d\n",a,b,c);}执行后输出结果是A) 3,4,5 B) 5,3,4 C) 5,4,3 D) 4,3,514、C语言中,函数值类型的定义可以缺省,此时函数值的隐含类型是A) void B) int C) float D) double15、有以下程序float fun(int x,int y){ return(x+y); }main(){ int a=2,b=5,c=8;printf("%3.0f\n",fun((int)fun(a+c,b),a-c));}程序运行后的输出结果是A) 编译出错 B) 9 C) 21 D) 9.016、若有以下程序#includevoid f(int n);main(){ void f(int n);f(5);}void f(int n){ printf("%d\n",n); }则以下叙述中不正确的是A)若只在主函数中对函数f进行说明,则只能在主函数中正确调用函数fB)若在主函数前对函数f进行说明,则在主函数和其后的其它函数中都可以正确调用函数fC)对于以上程序,编译时系统会提示出错信息:提示对对f函数重复说明D)函数f无返回值,所以可用void将其类型定义为无值型17、以下函数值的类型是fun(float x){ float y;y= 3*x-4;return y;}A)int B)不确定 C)void D)float18、以下所列的各函数首部中,正确的是A)void play(var :Integer,var b:Integer)B)void play(int a,b)C)void play(int a,int b)D)Sub play(a as integer,b as integer)19、以下程序的输出结果是fun(int x, int y, int z){ z=x*x+y*y; }main(){ int a=31;fun(5,2,a);printf("%d",a);}A)0 B)29 C)31 D)无定值20、有如下函数调用语句func(rec1,rec2+rec3,(rec4,rec5));该函数调用语句中,含有的实参个数是A) 3 B) 4 C) 5 D) 有语法错21、有如下程序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) 1522、以下叙述中不正确的是A)在不同的函数中可以使用相同名字的变量B)函数中的形式参数是局部变量C)在一个函数内定义的变量只在本函数范围内有效D)在一个函数内的复合语句中定义的变量在本函数范围内有效23、有以下程序void fun (int a,int b,int c){ a=456; b=567; c=678;}main(){ int x=10, y=20,z=30;fun(x,y,z);printf("%d,%d,%d \n",z,y,x);}输出结果是A)30,20,10 B)10,20,30 C) 456,567,678 D) 678,567,45624、有以下程序#include "stdio.h"int abc(int u,intv);main(){ int a=24,b=16,c;c=abc(a,b);printf("%d\n",c);}int abc(int u,int v){ int w;while(v){ w=u%v; u=v; v=w }return u;}输出结果是A)6 B)7 C)8 D)925、以下说法中正确的是A)C语言程序总是从第一个的函数开始执行B)在C语言程序中,要调用的函数必须在main()函数中定义C)C语言程序总是从main()函数开始执行D)C语言程序中的main()函数必须放在程序的开始部分26、请读程序:#includefunc( int a, int b){ int c;c=a+b;return c;}main(){ int x=6,y=7,z=8,r;r=func((x--,y++,x+y),z--);printf("%d\n",r);}上面程序的输出结果是A)11 B)20 C)21 D)31二、填空题1、有以下程序int sub(int n) {return(n/10+n%10); }main(){ int x,y;scanf("%d",&x);y=sub(sub(sub(x)));printf("%d\n",y);}若运行时输入:1234<回车>,程序的输出结果是。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

本题序号:80下面程序的输出结果是____。

#include <stdio.h>main( ){ int x=10;{ int x=20;printf ("%d,", x);}printf("%d\n", x);}A 10,20B 20,10C 10,10D 20,20参考答案B本题序号:107下面程序的输出结果是____。

main(){ int a=2,i;for(i=0;i<3;i++)printf("%4d",f(a));}f(int a){ int b=0;static int c=3;b++;c++;return(a+b+c);}A 7 7 7B 7 10 13C 7 9 11D 7 8 9参考答案D本题序号:108下面程序的输出结果是____。

#include <stdio.h>try( ){ static int x=3;x++;return(x);}main( ){ int i, x;for(i=0; i<=2; i++ )x=try( );printf("%d\n", x);}A 3B 4C 5D 6参考答案D本题序号:109下面程序的输出结果是____。

#include <stdio.h>main( ){int x=1;void f1( ), f2( );f1( );f2(x);printf("%d\n", x);}void f1(void){int x=3;printf("%d ", x);}void f2( x )int x;{printf("%d ", ++x);}A 1 1 1B 2 2 2C 3 3 3D 3 2 1参考答案D本题序号:126下列叙述中错误的是A 主函数中定义的变量在整个程序中都是有效的。

B 在其它函数中定义的变量在主函数中也不能使用。

C 形式参数也是局部变量。

D 复合语句中定义的变量只在该复合语句中有效。

参考答案A本题序号:127若函数的形参为一维数组,则下列说法中正确的是A 调用函数时的对应实参必为数组名。

B 形参数组可以不指定大小。

C 形参数组的元素个数必须等于实参数组的元素个数。

D 形参数组的元素个数必须多于实参数组的元素个数。

参考答案B本题序号:128在函数的说明和定义时若没有指出函数的类型,则A 系统自动地认为函数的类型为整型。

B 系统自动地认为函数的类型为字符型。

C 系统自动地认为函数的类型为实型。

D 编译时会出错。

参考答案A本题序号:135下面叙述中正确的是A 对于用户自己定义的函数,在使用前必须加以说明。

B 说明函数时必须明确其参数类型和返回类型。

C 函数可以返回一个值,也可以什么值也不返回。

D 空函数不完成任何操作,所以在程序设计中没有用处。

参考答案C本题序号:136有如下程序:#incl ude “stdio.h”int m,n;ps1(){ printf(“please input the first code:”);scanf(“%d”,&m);m++;}ps2(){ printf(“please input the second code:”);scanf(“%d”,&n);n--;}main(){ int a=ps1();int b=ps2();printf(“%d,%d”,a,b);return(1);}则下列关于上述程序的说确的是()A 由于ps1和ps2函数没有return语句,所以调用形式a=ps1()和b=ps2()是错误的。

B 上述程序正确,a和b的值将分别为m和n的值。

C 上述程序正确,a和b的值为不确定的整数。

D 上述程序正确,a和b的值将都是零。

参考答案C本题序号:157下面正确的函数定义形式是A double fun(int x,int y)B double fun(int x;int y)C double fun(int x,int y);D double fun(int x,y);参考答案A本题序号:158若调用一个函数,且此函数中没有return语句,则正确的说法是()该函数:A 没有返回值B 返回若干个系统默认值;C 能返回一个用户所希望的函数值;D 返回一个不确定的值参考答案D本题序号:159下面说法中不正确的是()在C语言中A 实参可以是常量、变量或表达式;B 形参可以是常量、变量或表达式;C 函数的参数是函数间传递数据的一种手段;D 实参个数应与对应的形参个数相等,类型匹配;参考答案B本题序号:162C语言允许函数返回值类型缺省定义,此时该函数隐含的返回值类型是A float型B int 型C long 型D double型参考答案BC语言规定,函数返回值的类型是由A return语句中的表达式类型所决定;B 调用该函数时的主调函数类型所决定;C 调用该函数时系统临时决定;D 在定义该函数时所指定的函数类型所决定;参考答案D本题序号:164下面函数调用语句含有实参的个数为()func((exp1,exp2),(exp3,exp4,exp5));A 1B 2C 5D 4参考答案B本题序号:165以下错误的描述是()函数的调用可以A 出现在执行语句中;B 出现在一个表达式中;C 为一个函数的实参;D 作为一个函数的形参;参考答案D本题序号:167若使用一维数组名作函数参数,则以下正确的说法是A 必须在主调用函数中说明此数组的大小;B 实参数组类型与形参数组类型可以匹配;C 在被调函数中,不需要考虑形参数组的大小;D 实参数组名与形参数组名必须一致;参考答案C本题序号:168下正确的说法是()。

如果在一个函数中的复合语句中定义了一个变量,则该变量A 只在该复合语句中有效B 在该函数中有效C 本程序中有效D 为非法变量参考答案A以下不正确的说法是A 在不同函数中可以使用相同的名字的变量;B 形式参数是局部变量;C 在函数定义的变量只在本函数围有效;D 在函数的复合语句中定义的变量在本函数围有效;参考答案D本题序号:173以下程序的正确的运行结果是()。

main(){int a=2,i;for(i=0;i<3;i++)printf(“%d”,f(a));}f(int a){int b=0;static int c=3;b++;c++;return(a+b+c);}A 7 7 7B 7 10 13C 7 9 11D 7 8 9参考答案D本题序号:174以下程序的正确运行结果是()。

#include<stdio.h>main(){int k=4;m=1,p;p=func(k,m);printf(“%d”,p);p=func(k,m);printf(“%d\n”,p);}func(int a,int b){static int m=0,i=2;i+=m+1;m=i+a+b;return(m);}A 8,17B 8,16C 8,20D 8,8参考答案A本题序号:309如果主调函数传递数组给被调函数,对函数形参的说明有错误的是A int a(float x[],int n)B int a(float *x,int n)C int a(float x[10],int n)D int a(float x,int n)参考答案D本题序号:310如果一个变量在整个程序运行期间都存在,但是仅在说明它的函数是可见的,这个变量的存储类型应该被说明为____。

A 静态变量B 动态变量C 外部变量D 部变量参考答案A本题序号:311在一个C源程序文件中,•若要定义一个只允许在该源文件中所有函数使用的变量,则该变量需要使用的存储类别是。

A externB registerC autoD static参考答案D本题序号:312在C语言中,函数的数据类型是指A 函数返回值的数据类型B 函数形参的数据类型C 调用该函数时的实参的数据类型D 任意指定的数据类型参考答案A本题序号:313已知如下定义的函数:fun1(int a){printf("\n%d",a);}则该函数的数据类型是____。

A 与参数a的类型相同B void型C 没有返回值D 无法确定参考答案A本题序号:449有如下函数调用语句func(rec1,rec2+rec3,(rec4,rec5));该函数调用语句中,含有的实参个数是A 3B 4C 5D 有语法错参考答案A本题序号:477以下所列的各函数首部中,正确的是A void play(var :Integer,var b:Integer)B void play(int a,b)C void play(int a,int b)D Sub play(a as integer,b as integer)参考答案C本题序号:483当调用函数时,实参是一个数组名,则向函数传送的是A 数组的长度B 数组的首地址C 数组每一个元素的地址D 数组每个元素中的值参考答案B本题序号:491以下正确的说法是A 用户若需调用标准库函数,调用前必须重新定义;B 用户可以重新定义标准库函数,若如此,该函数将失去原有含义;C 系统根本不允许用户重新定义标准库函数;D 用户若需调用标准库函数,调用前不必使用预编译命令将该函数所在文件包括到用户源文件中,系统自动去调;参考答案B本题序号:511在下列结论中,只有一个是错误的,它是A C语言允许函数的递归调用B C语言中的continue语句,可以通过改变程序的结构而省略C 有些递归程序是不能用非递归算法实现的D C语言中不允许在函数中再定义函数参考答案C本题序号:545函数用 return 语句返回计算 20! 的结果,此函数的类型应说明为______。

A intB longC unsigned longD 其它三个答案都不对参考答案D本题序号:619以下程序的输出结果是int f(){static int i=0;int s=1;s+=i;i++;return s;}main(){int i,a=0;for(i=0;i<5;i++)a+=f();printf("%d\n",a);}A 20B 24C 25D 15参考答案D本题序号:621若有以下程序#include "stdio.h"void f(int n);main(){void f(int n);f(5);}void f(int n){printf("%d\n",n);}则以下叙述中不正确的是A 若只在主函数中对函数f进行说明,则只能在主函数中正确调用函数fB 若在主函数前对函数f进行说明,则在主函数和其后的其它函数中都可以正确调用函数fC 对于以上程序,编译时系统会提示出错信息:提示对f函数重复说明D 函数f无返回值,所以可用void将其类型定义为无值型参考答案C本题序号:624在C语言中,形参的缺省存储类是A autoB registerC staticD extern参考答案A本题序号:636不合法的main函数命令行参数表示形式是A main(int a,char *c[])B main(int arc,char **arv)C main(int argc,char *argv)D main(int argv,char *argc[])参考答案C本题序号:637以下程序的输出的结果是int x=3;main(){int i;for (i=1;i}ncre(){staic int x=1;x*=x+1;printf(" %d",x);}A 3 3B 2 2C 2 6D 2 5参考答案C本题序号:658若各选项中所用变量已正确定义,函数fun过return语句返回一个函数值,以下选项中错误的程序是A main(){……x=fun(2,10);……}float fun(int a,int b){……}B float fun(int a,i nt b){……}main(){……x=fun(i,j);……}C float fun(int,int);main(){……x=fun(2,10);……}float fun(int a,int b){……}D main(){ float fun(int i,int j);……x=fun(i,j);……}float fun(int a,int b){……}参考答案A本题序号:670有以下程序int fun1(duoble a){return a*=a;}int fun2(dpuble x,double y){double a=0,b=0;a=fun1(x); b=fun1(y); return (int)(a+b);}main(){double w;w=fun2(1.1,2.0);……}程序执行后变量w中的值A 5.21B 5C 6D 0参考答案A本题序号:683以下叙述中错误的是A C程序必须由一个或一个以上的函数组成B 函数调用可以作为一个独立的语句存在C 若函数有返回值,必须通过return语句返回D 函数形参的值也可以传回对应的实参参考答案D本题序号:688在C语言中关于函数的正确叙述是A 函数的定义和调用均可以嵌套B 函数的定义不可以嵌套,但函数的调用可以嵌套C 函数的定义和调用均不可以嵌套D 函数的定义可以嵌套,但函数的调用不可以嵌套参考答案B本题序号:700在以下对C语言的描述中,正确的是A 在C语言中调用函数时,只能将实参的值传递给形参,形参的值不能传递给实参B C语言的函数既可以嵌套定义又可以递归定义C 函数必须有返回值,否则不能使用函数D C语言程序中有关调用关系的所有函数必须放在同一源程序文件中参考答案A本题序号:702若用数组名作为函数调用时的实参,则实际上传递给形参的是A 数组首地址B 数组的第一个元素值C 数组中全部元素的值D 数组元素的个数参考答案A本题序号:733有以下程序int f1(int x,int y){return x>y?x:y;}int f2(int x,int y){return x>y?y:x;}main(){int a=4,b=3,c=5,d=2,e,f,g;e=f2(f1(a,b),f1(c,d));f=f1(f2(a,b),f2(c,d));g=a+b+c+d-e-f;printf("%d,%d%d ",e,f,g);}程序运行后的输出结果是()。

相关文档
最新文档