学习网考试学习资料

Gzu521.com

2007年9月计算机等级考试二级C模拟试题(9)(2)

全国计算机等级考试   点击:次   发布时间:2007-9-18   【字体: 】   来源:Gzu521.com
贵州学习网—属于你的学习中心

(21)下列语句中,错误的是(x,y,a,b假设已经定义好)
a)while(x=y)5;
b)do x++ while(x==10);
c)while(0);
d)do 2;while(a==b);
正确答案:  b

(22)若i,j已经定义为整型,则以下程序段中,内循环体的执行次数是
for(i=6;i;i--)
 for(j=0;j<5;j++){……}
a)40
b)35
c)30
d)25
正确答案:  c

(23)下列说法中错误的是
a)只能在循环体内使用break语句
b)在循环体内使用break语句可以使流程跳出本层循环体,从而提前结束本层循环
c)在while和do…while循环中,continue语句并没有使整个循环终止
d)continue的作用是结束本次循环,即跳过本次循环体中余下尚未执行的语句,接着再一次进行循环判断
正确答案:  a

(24)阅读如下程序段
#include "stdio.h"
main()
{ int x,a,b;
scanf("%d",&x);
a=b=x;
for(;x!=0;)
{ if(x<b)b=x;
if(x>a)a=x;
scanf("%d",&x);}
printf("a=%d,b=%d\n",a,b);}
现输入如下。[注] :′ц′表示空格
34ц56ц23ц45ц5ц56ц7ц12ц365ц49ц48ц57ц87ц7ц6ц7569ц789ц0<enter>
输入后输出结果是
a)a=7569,b=789
b)a=5,b=365
c)a=7,b=789
d)a=7569,b=5
正确答案:  d

(25)下面关于字符常量的说法错误的是
a)一个字符常量代表ascii字符集中的一个字符
b)单引号中的大写字母和小写字母代表不同的字符常量
c)字符常量只能包含一个字符
d)字符常量可以用单引号或双引号括起来
正确答案:  d

(26)现有如下程序
#include "stdio.h"
int fun(int x)
{printf("x=%d\n",++x);}
main()
{fun(12+5);}
则程序的输出结果是
a)12
b)13
c)17
d)18
正确答案:  d

(27)现有如下程序段
#include "stdio.h"
int aa(int x,int y);
main()
{int a=24,b=16,c;
c=aa(a,b);
printf("%d\n",c);}
int aa(int x,int y)
{int w;
while(y)
{w=x%y;
x=y;
y=w;}
return x;}
则程序段的输出结果是
a)8
b)7
c)6
d)5
正确答案:  a

(28)下列说法错误的是
a)函数调用时,函数名必须与所调用的函数名字完全相同
b)实参的个数必须与形式参数的个数一致
c)实参可以是表达式,在类型上必须与形参一一对应匹配
d)c语言规定,函数必须先定义,后调用(函数的返回值类型为int或char时除外)
正确答案:  c

(29)函数的值通过return语句返回,下面关于return语句的形式描述错误的是
a)return表达式;
b)return(表达式);
c)一个return语句可以返回多个函数值
d)一个return语句只能返回一个函数值
正确答案:  c

(30)现有如下定义:int a,b,*p,*q;,则下列赋值语句错误的是
a)p=&a;
b)q=&b;
c)p=q;
d)p=a;
正确答案:  d

(31)现有如下程序段
#include "stdio.h"
int *fun(int *a,int *b)
{int c;
c=*a%*b;
return &c;}
main()
{int a=5,b=19,*c;
c=fun(&a,&b);
printf("%d\n",++*c);}
则程序段执行后的结果为
a)8
b)7
c)6
d)5
正确答案:  c

(32)现有int a,*b;,b=&a;,则下列运算错误的是
a)*&a 
b)&*a
c)*&b
d)&*b
正确答案:  b

(33)现有如下程序段
#include "stdio.h"
main()
{ int k[30]={12,324,45,6,768,98,21,34,453,456};
int count=0,i=0;
while(k[i])
{ if(k[i]%2==0‖k[i]%5==0)count++;
 i++; }
printf("%d,%d\n",count,i);}
则程序段的输出结果为
a)7,8
b)8,8
c)7,10
d)8,10
正确答案:  d

(34)现有如下定义语句
int*p,s[20],i;
p=s;
表示数组元素s[i]的表达式不正确的是
a)*(s+i)
b)*(p+i)
c)*(s=s+i)
d)*(p=p+i)
正确答案:  c

(35)阅读如下程序段,这个程序在编译的时候会有一个警告,下列关于这个警告叙述正确的是
 #include "stdio.h"
#define n 10
int *fun(int a[n],int n)
{ int i,b[n];
for(i=0;i<n;i++)
b[i]=a[i];
return(b);}
main()
{ int a[n]={12,34,45,5,6,34,4,655,2};
int *k;
k=fun(a[n],5);
printf("%d\n",*k);}
a)指针k没有指向任何对象而成为"无向指针",所以这里会产生警告
b)return语句不应该有括号,所以在这里会有警告
c)return语句的返回值类型与指针k的基类型不一致,这里会产生警告
d)数组赋值的时候没有把数组全部都赋初值,所以在这里会有警告
正确答案:  a

上 一 页 下 一 页
文共4页:第 【1】 【2】 【3】 【4】

责任编辑:gzu521

IT认证分类
计算机软件水平考试
全国计算机等级考试
思科认证
微软认证
ORACLE/CIW认证
Linux认证
JAVA认证
其它认证
分类推荐信息
更多...
大类最新文章
更多...