2017计算机二级C语言选择题及答案
练习做多了自然会形成自己的做题方法和速度,为此,今天百分网小编为大家整理了以下2017计算机二级C语言选择题及答案,希望对大家有帮助!
1.若有说明语句:double*p,a;则通过scanf语句正确给输入项读人数据的程序段是( )。
A.*p=&a;scanf("%1f”,p);
B.*p=&a;scanf("%f",p);
C.p=&a;scanf("%",*p);
D.p=&a;scanf("%1f",p);
2.下列程序的输出结果是( )。
#include
main()
{ int a[2][3]={{1,2,3),{4,5,6)),(*p)[3],i;
p=a ;
for(i=0;i<3;i++)
{ if(i<2)
p[1][i]=p[1][i]-1;
else
p[1][i]=1;
}
printf("%d\n",a[o][1]+a[1][1]+a[1][2]);
}
A.8
B.7
C.12
D.9
3.执行下列程序后,输出的结果是( )。
#include
#define S(X) X*X
void main()
{ int a=9,k=3,m=2;
a/=S(k+m)/S(k+m):
printf("%d",a);
}
A.1
B.4
C.9
D.0
4.设x=015,则x=x^017的值是( )。
A.00001111
B.11111101
C.00000010
D.1 1000000
5.若fp是指向某文件的指针,且尚未读到文件末尾,则函数feof(fp)的返回值是( )。
A.EOF B.-l
c.非零值D.0
6.设变量a、b、c、d和y都已正确定义并赋值。若有以下if语句:
if(a if(c==d)y=0;
else y=1;
该语句所表示的含义是( )。
A.y=0,a y=1,a≥b
B.y=0,a y=1,a≥b且c≠d
C.y=0,a y=1,a D.y=0,a y=1,c≠d
7.下列程序的运行结果是( )。
#include
void main()
{int s=0,k;
for(k=7;k>1;k--)
{switch(k)
{case 1:
case 4:
case 7:
s++:
break;
case 2:
case 3:
case 6:break;
case 0:
case 5:
s+=2:
break;
}}
printf("s=%d",s);
}
A.s=3
B.s=4
C.s=5
D.无输出结果
8.若i、j已定义成mt型,则下列程序段中内循环体的总执行次数是( )。
for(i=6;i>0;i--)
for(j=0;j<4;j++){…}
A.20
B.24
C.25
D.30
9.下列叙述中正确的是( )。
A.只能在循环体内和switch语句体内使用break语句
B.eotinue语句的作用是结束整个循环的执行
C.在循环体内使用break语句或continue语句的作用相同
D.从多层循环嵌套中退出时,只能使用got0语句
10.有以下程序:
#include
void WriteStr(char*fn.char*str)
{ FILE*fp;
fp=fopen(fn,"w");fputs(str,fp);fclose(fp);}
main()
{ WriteStr("tl.dat","start");
WriteStr("t1.dat","end");)
程序运行后,文件t1.dat中的内容是( )。
A.start
B.end
C.startend
D.endrt
11.运行下列程序时,若输入的数据为“1,2,3”,则输出结果是( )。
main()
{ float a,b,c,t;
scanf("%f,%f,%f",&a,&b,&c);
if(a {t=a;a=b.b=t;)
if(a {t=a;a=c;c=t;)
it(b {t=b;b=C;c—=;)
printf("%f\n%f\n%f\n",a,b,c);
}
A.1.00
2.00
3.00
B.1.00
3.00
2.00
C.1
3
2
D.3.00000
2.00000
1.00000
12.设有程序段:
int k=12:
while(k=1)k=k一1;
则下列描述中正确的是( )。
A.while循环执行10次
B.循环是无限循环
C.循环体语句一次也不执行
D.循环体语句执行一次
13.在执行完下列的c语句段之后,则B的`值是( )。
char a=’A’;
int b;
B=((34&&56)&&(a<’b’));
A.0
B.1
C.TRUE
D.FALSE
14.有下列函数定义:
fun(float h)
{ printf("%f,%f\n",h,h*h);)
该函数的类型是( )。
A.int类型
B.float类型
C.void类型
D.函数无类型说明,定义有错
15.有下列程序段:
int n,t=1,S=0;
scanf("%d",&n);
do{s=s+t;t=t-2;while(t!=n);
为使此程序段不陷入循环,从键盘输入的数据应该是( )。
参考答案:
1.D。【解析】double*p,a定义了一个指向双精度型的指针变量P和双精度型变量a,p=&a表示将变量a的地址赋给指针变量p;scanf("%If",p)表示用键盘输入的数赋给指针变量P所指向的地址单元中,scanf()函数要求在输入double型数据,格式控制符必须用%1f。否则,数据不能正确输入。所以选项D正确。
2.B。【解析】本题考查for循环及if…else语句嵌套,第1次执行for循环,p[1][0]=p[1][0]=p[1][0]-1=3;第2 次执行for循环,p[1][1]=p[1][1]-1=4;第3次执行for 循环,p[1][2]=l,最后输出的是a[0][1]+a[1][1]+a[1] [2]=2+4+1=7。
3.D。【解析】本题主要考查带参数的宏定义,过程如下:由于定义为define(x) x*x没有括号优先级,所以:a= a/(S(k+m)/S(k+m))=a/(k+m*k+m/k+m*k+m) =9/(3+2*3+2/3+2*3+2)=0。
4.C。【解析】本题考查按位异或运算,异或就是相同为0,不同为1(化为二进制00001101),017的二进制为000001111,两者异或结果为00000010。
5.D。【解析】本题考查leon(tp)函数,其功能是:测试所指的文件的位置指针是否已达到文件尾,如果已达到文件尾,则函数返回非0值;否则返回0,表示文件未结束。
6.C。【解析】语句“if(c==d)y=0;else y=1;”是if(a
7.B。【解析】运行程序,当k=7时switch(7)执行case:7,s++后s=1,break跳出。k--,k=7继续循环switch(6),执行case 6;直接跳出循环,k--变成5,继续循环switch(5),执行case 5后面的语句s+=2,也相当于s= s+2,此时s为3,break跳出,k变为4,继续循环,执行case 4为空,继续执行case 7;s++为4跳出循环,k--变为3,继续循环,执行case 3,空语句往下执行case 6,跳出,k -- 为2,继续循环,执行case 2;空语句往下执行case 3,空语句再执行case 7,跳出循环,k--为1不符合循环,退出,此时S=4。
8.B。【解析】本题考查for循环的使用。对于第1个for循环,任何一个i,内层j的循环都要使j~0到3,j=4时不符合,所以退出j循环;然后i减1,J仍然要从0~3,j=4 时退出J循环直到i变成0,退出i循环。第一条for语句执行6次,第二条for语句执行4次,所以内循环体执行6*4 =24次。
9.A。【解析】本题考查循环跳出的知识点:①break语句可以出现在switch循环体内及语句体内,它的作用是跳出循环体,不能用于其他的语句;②continue语句的作用是结束本次循环,即跳过循环体中下面尚未执行的语句,而接着判定循环条件是否成立,确定下一次循环是否继续执行,执行contiune语句不会使整介循环终止;③循环体内使用break语句会使循环提前终止;④从多层循环嵌套中退出时,可以使用90t0语句或者break语句。
10.B。【解析】用"w"方式打开文件,意思是如果文件名相同则覆盖原来的文件,所以当再次输入时覆盖了第一次的内容,B选项正确。
11.D。【解析】本题考查if语句。第1个if语句,如果
a 12.C。【解析】本题考查while,while循环表达式k=1是个赋值表达式而不是逻辑表达式,k的初值为12不符合循环条件,所以循环体一次也不执行。
13.B。【解析】本题考查3个知识点:将一个字符赋给一个字符变量时,是将该字符对应的ASCIl码存储到内存单元中;常见ASCII码的值如A和a;只要逻辑与运算符&&的两个运算对象都为真时,返回值就是1。
14.A。【解析】本题考查函数值的类型,在函数定义时, 由于函数没有说明其类型,系统默认一律自动按整型(int)
处理。
15.D。【解析】本题主要考查do—while循环,因为变量t的初始值等于1,经过第一次do-while循环后,执行t= t-1这条语句一次,所以变量t的值为-1,判断关系表达式t!=n是否成立,如果关系表达式成立,则执行第二次循环,如果关系表达式不成立,退出循环。由此可见,只要输入变量n的值为负奇数,则一定会使t==n成立,故退出do-while循环。
A.任意正奇数
B.任意负偶数
C.任意正偶数
D.任意负奇数
【2017计算机二级C语言选择题及答案】相关文章:
计算机二级《C语言》选择题训练题及答案10-04
计算机二级C语言试题及答案10-06
计算机二级《C语言》专项试题及答案09-28
2017计算机二级C语言章节练习题及答案10-30
计算机二级考试C语言试题与答案(选择题)10-01
计算机二级C语言选择题08-31
计算机二级C语言练习题及答案10-04
计算机二级考试C语言强化题及答案09-28
计算机二级C语言选择题冲刺题和答案10-04
计算机二级C语言笔试选择题09-16