1.若变量已正确定义并赋值,对库函数错误调用的是
A) k=scanf("%d%d",&i,&j);
B) printf("\\%d\\\n",k);
C) getchar(ch);
D) putchar(ch);
2.要求定义一个返回值为double类型的名为mysum的函数,其功能为求两个double类型数的和值,正确的定义是:
A) mysum(double a,b)
{ return (a+b); }
B) mysum(double a, double b)
{ return a+b; }
C) double mysum(int a, intb);
{return a+b; }
D) double mysum(double a, double b)
{ retrun (a+b); }
3.以下是对fun函数的正确调用:
fun(a+b,fun(a+b,(a,b)));
则fun函数有______个形参。
4.若有以下函数定义:
myfun(double a, int n)
{…… }
则myfun函数值的类型是
A) void
B) double
C) int
D) char
5.若各选项中所用变量已正确定义,函数fun中通过return语句返回一个函数值。以下选项中错误的程序是
A) double fun( int a,int b )
{…… }
main()
{ ┇
fun( i,k );
┇
}
B) main()
{
printf( "%f\n",fun( 2,10 ));
┇
}
double fun( int a,int b )
{ …… }
C) double fun( int, int );
main()
{ ┇
x=fun( i,k );
┇
}
double fun( int a,int b )
{ …… }
D) main()
{ double fun(int i,int y);
┇
x=fun( i,k );
┇
}
double fun(int a,int b)
{ ……}
6.若有以下函数:
int fun(int x)
{ return (1+x*x); }
则语句printf(" %d\n",fun(fun(fun(fun( 1 )))) );的输出结果是
答案:C D 2 C B 677www
7.若有以下定义:floatx;inta,b,c=2;,则正确的switch语句是()
A)
switch(x)
{ case1.0∶printf("*\n");
case2.0∶printf("**\n");
}
B)switch(int(x))
{ case1∶printf("*\n");
case2∶printf("**\n");
}
C)
switch(a+b)
{ case1∶printf("*\n");
case1+2∶printf("**\n");
}
D)switch(a+b)
{ case1∶printf("*\n");
casec∶printf("**\n");
}
8.执行下面程序片段的结果是()
int x=123;
do
{ printf("=\n",x--);}
while(!x);
A)打印出321
B)打印出123
C)不打印任何内容
D)陷入死循环
9.以下程序的输出结果是()
# include
main()
{ int i=0,a=0;
while(i<20)
{ for(;;){ if((i)==0)break;else i--; }
i+=11;a+=i;
}
printf("%d\n",a);
}
A)21B)32C)33D)11
10.下列与表达式“b=(a<0?-1∶a>0?1∶0)”的功能等价选项是()
A)b=0;
if(a>=0)
if(a>0) b=1;
else b=-1;
B)if(a>0)b=1;
else if(a<0)b=-1;
elseb=0
C)if(a)
if(a<0) b=-1;
else if(a>0)b=1;
else b=0;
D) b=-1;
if(a)
if(a>0)b=1;
else if(a==0)b=0;
else b=-1;
11.若有以下定义:char a; int b; float c; double d; 则表达式“a*b+d-c”值的类型为()
A)float
B)int
C)char
D)double
12.以下叙述中正确的是()
A)在函数中必须要有return语句
B)在函数中可以有多个return语句,但只执行其中的一个
C)return语句中必须要有一个表达式
D)函数值并不总是通过return语句传回调用处
13.有以下程序
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
14.若已定义:
inta[]={0,1,2,3,4,5,6,7,8,9},*p=a,I;
其中0≤i≤9,则对a数组元素不正确的引用是()
A)a[p-a]
B)*(&a[i])
C)p[i]
D)a[10]
15.以下叙述中正确的是()
A)全局变量的作用域一定比局部变量的作用域大
B)静态(static)类型变量的生存期贯穿于整个程序的运行期间
C)函数的形参都属于全局变量
D)未在定义语句中赋初值的auto变量和static变量的初值都是随机值
16.若有如下程序:
main()
{char a[][9]={"china","Japan","USA","France"};
printf("\′%s\′\n",a[2]);}
则程序运行后的输出结果是()
A)′Japan′
B)′USA′
C)USA
D)′inaJapanUSAFrance′
答案:1.C 2.B 3.B 4.B 5.D 6.B 7.B 8.D 9.B 10.B
3COME考试频道为您精心整理,希望对您有所帮助,更多信息在http://www.reader8.com/exam/