C语言函数部分练习题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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,20
B 20,10
C 10,10
D 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 7
B 7 10 13
C 7 9 11
D 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 3
B 4
C 5
D 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 1
B 2 2 2
C 3 3 3
D 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
本题序号:162
C语言允许函数返回值类型缺省定义,此时该函数隐含的返回值类型是
A float型
B int 型
C long 型
D double型
参考答案
B
C语言规定,函数返回值的类型是由
A return语句中的表达式类型所决定;
B 调用该函数时的主调函数类型所决定;
C 调用该函数时系统临时决定;
D 在定义该函数时所指定的函数类型所决定;
参考答案
D
本题序号:164
下面函数调用语句含有实参的个数为()
func((exp1,exp2),(exp3,exp4,exp5));
A 1
B 2
C 5
D 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 7
B 7 10 13
C 7 9 11
D 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,17
B 8,16
C 8,20
D 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 extern
B register
C auto
D 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 3
B 4
C 5
D 有语法错
参考答案
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 int
B long
C unsigned long
D 其它三个答案都不对
参考答案
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 20
B 24
C 25
D 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进行说明,则只能在主函数中正确调用函数f
B 若在主函数前对函数f进行说明,则在主函数和其后的其它函数中都可以正确调用函数f
C 对于以上程序,编译时系统会提示出错信息:提示对f函数重复说明
D 函数f无返回值,所以可用void将其类型定义为无值型
参考答案
C
本题序号:624
在C语言中,形参的缺省存储类是
A auto
B register
C static
D 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
}
{
staic int x=1;
x*=x+1;
printf(" %d",x);
}
A 3 3
B 2 2
C 2 6
D 2 5
参考答案
C
本题序号:658
若各选项中所用变量已正确定义,函数fun中通过return语句返回一个函数值,以下选项中错误的程序是
A main()
{……x=fun(2,10);……}
float fun(int a,int b){……}
B float fun(int a,int 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.21
C 6
D 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);
}
程序运行后的输出结果是()。
A 4,3,7
B 3,4,7
C 5,2,7
D 2,5,7
参考答案
A
本题序号:772
以下关于函数的叙述中正确的是
A 每个函数都可以被其它函数调用(包括main函数)
B 每个函数都可以被单独编译
C 每个函数都可以单独运行
D 在一个函数内部可以定义另一个函数
参考答案
B
本题序号:787
设函数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);
参考答案
D
本题序号:827
结构化程序由三种基本结构组成,三种基本结构组成的算法
A 可以完成任何复杂的任务
B 只能完成部分复杂的任务
C 只能完成符合结构化的任务
D 只能完成一些简单的任务
参考答案
C
本题序号:843
有以下程序
int f(int a)
{
return a%2;
}
main()
{
int s[8]={1,3,5,2,4,6},i,d=0;
for (i=0;f(s[i]);i++)
d+=s[i];
printf("%d\n",d);
}
程序运行后的输出结果是()。
A 9
B 11
C 19
D 21
参考答案
A
本题序号:890
若程序中定义了以下函数
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);
参考答案
A
本题序号:891
有以下程序
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 7
参考答案
D
本题序号:893
有以下程序
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,1
参考答案
C
本题序号:915
在函数调用过程中,如果函数funA调用了函数funB,函数funB又调用了函数funA,则()。
A 称为函数的直接递归调用
B 称为函数的间接递归调用
C 称为函数的循环调用
D C语言中不允许这样的递归调用
参考答案
B
本题序号:941
若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是
A 函数调用可以作为独立的语句存在
B 函数调用可以作为一个函数的实参
C 函数调用可以出现在表达式中
D 函数调用可以作为一个函数的形参
参考答案
D
本题序号:942
有以下函数定义:
void fun(int n, double x) { …… }
若以下选项中的变量都已正确定义并赋值,则对函数fun的正确调用语句是()。
A fun(int y,double m);
B k=fun(10,12.5);
C fun(x,n);
D void fun(n,x);
参考答案
C
本题序号:953
有以下程序
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 12
参考答案
D
本题序号:977
在一个C程序中
A main函数必须出现在所有函数之前
B main函数可以在任何地方出现
C main函数必须出现在所有函数之后
D main函数必须出现在固定位置
参考答案
B
本题序号:991
有以下程序
int fl(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,4
参考答案
C
本题序号:1002
以下叙述中正确的是
A 全局变量的作用域一定比局部变量的作用域范围大
B 静态(static)类别变量的生存期贯穿于整个程序的运行期间
C 函数的形参都属于全局变量
D 未在定义语句中赋初值的auto变量和static变量的初值都是随机值参考答案
B
本题序号:1040
C语言中,函数值类型的定义可以缺省,此时函数值的隐含类型是
A void
B int
C float
D double
参考答案
B
本题序号:1042
有以下程序
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.0
参考答案
B
本题序号:1055
有以下程序
int a=3;
main()
{ int s=0;
{ int a=5; s+=a++; }
s+=a++;printf(“%d\n”,s);
}
程序运行后的输出结果是()。
A 8
B 10
C 7
D 11
参考答案
A
本题序号:1093
在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是
A 地址传递
B 单向值传递
C 由实参传给形参,再由形参传回实参
D 传递方式由用户指定
参考答案
B
本题序号:1094
以下函数值的类型是()。
fun ( float x )
{ float y;
y= 3*x-4;
return y;
}
A int
B 不确定
C void
D float
参考答案
A
本题序号:1095
设有以下函数:
f ( int a)
{ int b=0;
static int c = 3;
b++; c++;
return(a+b+c);
}
如果在下面的程序中调用该函数,则输出结果是()。
main()
{ int a = 2, i;
for(i=0;i<3;i++) printf(“%d\n”,f(a));
}
A 7
8
9
B 7
9
11
C 7
10
13
D 7
7
7
参考答案
A
本题序号:1132
下列叙述中正确的是
A C语言编译时不检查语法
B C语言的子程序有过程和函数两种
C C语言的函数可以嵌套定义
D C语言所有函数都是外部函数
参考答案
D
本题序号:1145
以下程序的输出结果是()。
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 无定值
参考答案
C
本题序号:1198
有如下程序
int runc(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
参考答案
D
本题序号:1304
int d=1;
fun(int p)
{ static int d=5;
d+=p;
printf("%d ",d);
return(d);
}
main( )
{ int a=3;printf("%d \n",fun(a+fun(d)));}
A 6 9 9
B 6 6 9
C 6 15 15
D 6 6 15
参考答案
C
本题序号:1347
以下程序运行后,输出结果是( )。
func(int a, int b)
{ static int m=0,i=2;
i+=m+1;
m=i+a+b;
return(m);
}
main()
{ int k=4,m=1,p;
p=func(k,m);printf("%d,",p);
p=func(k,m);printf("%d\n",p);
}
A 8,15
B 8,16
C 8,17
D 8,8
C
本题序号:1351
以下程序运行后,输出结果是( )。
int d=1;
fun(int p)
{ int d=5;
d+=p++;
printf("%d,d);
}
main()
{ int a=3;
fun(a);
d+=a++;
printf("%d\n,d);
}
A 84
B 99
C 95
D 44
参考答案
A
本题序号:1397
以下叙述中不正确的是
A 在不同的函数中可以使用相同名字的变量
B 函数中的形式参数是局部变量
C 在一个函数内定义的变量只在本函数范围内有效
D 在一个函数内的复合语句中定义的变量在本函数范围内有效参考答案
D
本题序号:1413
有以下程序
viod 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,456
A
本题序号:1416
有以下程序
#include "atdio.h"
int abc(int u,int v);
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 9
参考答案
C
本题序号:1464
以下对C语言函数的有关描述中,正确的是
A 在C中,调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参
B C函数既可以嵌套定义又可以递归调用
C 函数必须有返回值,否则不能使用函数
D C程序中有调用关系的所有函数必须放在同一个源程序文件中
参考答案
A
本题序号:1465
以下叙述中不正确的是
A 在C中,函数中的自动变量可以赋初值,每调用一次,赋一次初值。
B 在C中,在调用函数时,实在参数和对应形参在类型上只需赋值兼容。
C 在C中,外部变量的隐含类别是自动存储类别。
D 在C中,函数形参可以说明为register变量。
参考答案
C
本题序号:1511
若有以下函数调用语句:fun(a+b,(x,y),fun(n+k,d,(a,b)));在此函数调用语句中实参的个数是
A 3
B 4
C 5
D 6
参考答案
A
本题序号:1512
下面程序的输出是
main()
{ int t=1; fun(fun(t));}
fun(int h)
{ static int a[3]={1,2,3};
int k;
for(k=0;k<3;k++) a[k]+=a[k]-h;
for(k=1;k<3;k++) printf("%d",a[k]);
printf("\n"); return(a[h]);}
A 1,2,3,
1,5,9,
B 1,3,5,
1,3,5,
C 1,3,5,
0,4,8,
D 1,3,5,
-1,3,7,
参考答案
D
本题序号:1513
C语言中,函数的隐含存储类别是
A auto
B static
C extern
D 无存储类别
参考答案
C
本题序号:1549
以下说法中正确的是
A C语言程序总是从第一个的函数开始执行
B 在C语言程序中,要调用的函数必须在main()函数中定义
C C语言程序总是从main()函数开始执行
D C语言程序中的main()函数必须放在程序的开始部分
参考答案
C
本题序号:1559
下列程序执行后输出的结果是
#include <stdio.h>
f(int a)
{ int b=0; static c=3:
a=c+ +,b+ +;
return (a); }
main( )
{ int a=2,i,k;
for(i=0;i〈2;i=+ +〉k=f(a+ +); printf("%d\n",k); }
A 3
B 0
C 5
D 4
参考答案
D
本题序号:1565
下列程序执行后输出的结果是int d=1;
fun (int q)
{ int d=5;
d + =p + +; printf("%d".d); } main( )
{ int a=3;
fun(a);
d + = a + +; printf("%d\n",d); }
A 8 4
B 9 6
C 9 4
D 8 5
参考答案
A
本题序号:1612
下面程序的输出是
fun3(int x)
{
static int a=3;
a+=x;
return(a);
}
main()
{
int k=2, m=1, n;
n=fun3(k);
n=fun3(m);
printf("%d\n",n);
}
A 3
B 4
C 6
D 9
参考答案
C
本题序号:1615
下面程序的输出是
int m=13;
int fun2(int x, int y)
{ int m=3;
return(x*y-m);
}
main()
{ int a=7, b=5;
printf("%d\n",fun2(a,b)/m);}
A 1
B 2
C 7
D 10
参考答案
B
本题序号:1652
请读程序:
#include<stdio.h>
func( 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,x+y),z--); printf("%d\n",r);
}
上面程序的输出结果是
A 11
B 20
C 21
D 31
参考答案
B
本题序号:1682
下面程序的输出结果是____。
main()
{ int a=2,i;
int f(int a);
for(i=2;i>0;i--)
printf("%4d",f(a));
}
int f(int a)
{ int b=0;
static int c;
b+=2;
c--;
return(a+b+c);
}
A 结果不确定
B 3 3 9
C 3 2
D 7 8 9
参考答案
C
本题序号:1693
下面说法中不正确的是
A 全局变量一定是外部变量
B 局部变量一定是内部变量。
C 全局变量作为函数间传递数据的手段时,与文件的作用类似,都是通过共享某种资源来传递数据。
D 全局变量与局部变量不可以重名。
参考答案
D
本题序号:1694
C 语言允许函数返回值类型缺省定义,此时该函数返回值默认的类型是
A float 型
B int 型
C long 型
D double 型
参考答案
B
本题序号:1701
关于流程控制语句,下列说法正确的一项是
A 一个自定义函数中的return语句只能出现一次;
B break语句只适用于几种循环语句格式,表示终止当前层的循环;
C 在循环体中遇到continue,表示结束本次循环,直接进行下次循环条件的判断;
D 在自定义函数的执行过程中,return语句可能被多次执行。
C
本题序号:1703
下面程序中空白的地方应该填入什么语句?main()
{ int a=2,b=5,GY,GB;
void Fun(int a,int b,int *GY);
____1____
GB=a*b/GY;
printf("%d,%d",GY,GB);
}
void Fun(int a,int b,int *GY)
{
int c,i;
if(a>b){c=a;a=b;b=c;}
for(i=a;i>=2;i--)
if(a%i==0&&b%i==0)
break;
_____2_____
}
A 1)Fun(a,b GY);2)(*GY)=i;
B 1)Fun(a,b,&GY);2) *GY=i;
C 1) Fun(a,b *GY);2)return i;
D 1) Fun(a,b,GY);2) return *GY;
参考答案
B
本题序号:1704
以下程序的输出结果为:
int d;
f(int p)
{ int d=0;
d+=p+3;
printf("%d",d);
}
main( )
{ int c=3;
d=3;
f(c);
d+=c+3;
printf(" %d",d);
}
A 3 6
B 6 9
D 12 12
参考答案
B
本题序号:1714
如果要限制一个变量只能被本程序文件中所有函数使用,必须通过_____来实现
A 静态内部变量
B 静态外部变量
C 外部变量说明
D 局部变量说明
参考答案
B
本题序号:1725
下述程序的输出是______。
main( )
{ int k=4,m=1,p;
p=fun(k,m);printf("%d,",p);
p=fun(k,m);printf("%d",p);
}
fun(int a,int b)
{ static int m=0,i=2;
i+=m++;
m=i+a+b;
return(m);
}
A 8,8
B 8,16
C 7,14
D 7,7
参考答案
C
本题序号:1728
下述程序的输出是______。
int d;
f(int p)
{ int d=0;
d+=p+5;
printf("%d",d);
}
main( )
{ int c=5;
d=5;
f(c);
d+=c+5;
printf("\t%d",d);
}
A 10 15
B 15 25
C 10 20
D 其它答案都不对
参考答案
A
本题序号:1755
若有定义语句:int m[]={5,4,3,2,1},i=4;,则下面对m数组元素的引用错误的是
A m[--i]
B m[2*2]
C m[2*2]
D m[m[i]]
参考答案
C
本题序号:1757
若有定义语句:double x[5]={1.0,2.0,3.0,4.0,5.0},*p=x;则错误引用x数组元素的是
A *p
B x[5]
C *(p+1)
D *x
参考答案
B
本题序号:1758
若有定义语句:char s[10]="1234567\0\0";,则strlen(s)的值是
A 7
B 8
C 9
D 10
参考答案
A
本题序号:1770
有以下程序
#include
int fun(int(*s)[4],int n,int k)
{int m,i;
m=s[0][k];
for(i=1;i if(s[i][k]>m)m=s[i][k];
return m;
}
main()
{int a[4][4]={{1,2,3,4},{11,12,13,14},{21,22,23,24},{31,32,33,34}};
printf("%d\n",fun(a,4,0));
}
程序的运行结果是
A 4
B 34
C 31
D 32
参考答案
C
本题序号:1773
有以下程序
#include
main()
{char a=4;
printf("%d\n",a=a<<1);
}
程序的运行结果是
A 40
B 16
C 8
D 4
参考答案
C。