计算机二级C语言测试题含答案Word文件下载.docx

上传人:b****6 文档编号:20907110 上传时间:2023-01-26 格式:DOCX 页数:21 大小:35.60KB
下载 相关 举报
计算机二级C语言测试题含答案Word文件下载.docx_第1页
第1页 / 共21页
计算机二级C语言测试题含答案Word文件下载.docx_第2页
第2页 / 共21页
计算机二级C语言测试题含答案Word文件下载.docx_第3页
第3页 / 共21页
计算机二级C语言测试题含答案Word文件下载.docx_第4页
第4页 / 共21页
计算机二级C语言测试题含答案Word文件下载.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

计算机二级C语言测试题含答案Word文件下载.docx

《计算机二级C语言测试题含答案Word文件下载.docx》由会员分享,可在线阅读,更多相关《计算机二级C语言测试题含答案Word文件下载.docx(21页珍藏版)》请在冰豆网上搜索。

计算机二级C语言测试题含答案Word文件下载.docx

intx='

f'

;

printf("

%c\n"

'

A'

-'

a'

+x));

3.能正确表示数学描述中0≤a≤10的C语言表达式是________。

A.a>

=0&

a<

=10     B.a>

=0||a<

=10

C.a>

&

=10      D.0≤a&

a≤10

4.若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是________。

A.-3B.9C.-12D.6

5.假设所有变量均为int型,则表达式(a=2,b=5,b+1,a+b)的值是________。

A.7B.8C.6D.2

6.执行下面程序段后,y的结果是________。

intx,y;

x=y=2;

x=x-2&

(y=y+1);

printf("

%d"

y);

A.3B.2C.1D.0

7.表达式(int)*2+8/3-3%2的值是_________。

A.2B.3C.4D.5

1.A

2.F

3.C

4.C

5.A

6.B

7.B

C语言测试题(第三章)

1.以下程序的输出结果是________。

intk=8765;

*%-06d*\n"

k);

A.输出格式描述符不合法B.*008765*

C.*8765

*D.*-08765*

【答案】C.

2.有程序段如下:

inti;

floatf;

scanf("

i=%d,f=%f"

&

i,&

f);

若要求把数值100和分别赋给变量i和f,则正确的输入格式为________。

A.

B.i=100,f=

C.100,

D.i=100f=

【答案】B

3.有程序如下:

inti;

floatx,y;

scanf("

%2d%f%*d%f"

x,&

y);

%d,%f,%f\n"

i,x,y);

执行该程序时,若按如下形式输入数据,则输出结果是________。

输入数据:

34

45

A.56,,B.56789,,

C.56,,D.56,,

【答案】A

4.输入字母a时,下列程序的执行结果是________。

#include"

"

charch;

ch=getchar();

(ch>

='

ch<

z'

)putchar(ch+'

):

putchar(ch);

【答案】输出大写字母A

C语言测试题(第四章)

1.下面是由if构成的一个程序段:

if(a<

b)

if(d==c)

x=1;

else

x=2;

该程序段所表示的逻辑关系对应的表达式是________。

A.

B.

C.

D.

2.以下程序的运行结果为________。

intx=2,y=-1,z=2;

if(x<

y)/*第一个if*/

if(y<

0)z=0;

/*第二个if*/

elsez+=1;

z);

A.3B.2C.1D.0

3.有程序段如下:

inta=1,b=2,c=3;

if(a>

c=a;

a=b;

b=c;

执行该程序段后,变量a、b、c的值是__________。

A.a=1,b=2,c=3B.a=2,b=3,c=3

C.a=2,b=3,c=1D.a=2,b=3,c=2

4.有程序如下:

intc;

while((c=getchar())!

\n'

switch(c-'

2'

{

case0:

case1:

putchar(c+4);

case2:

break;

case3:

putchar(c+3);

default:

putchar(c+2);

}

\n"

);

若运行该程序时,按如下形式从键盘输入数据,则程序的运行结果为________。

2473

A.668977B.668966

C.D.6688766

5.执行下面的程序段后,a和b的值分别为________。

inta=3,b=5,c;

c=(a>

--b)a++:

b--;

A.3,2B.3,3C.4,4D.4,5

1.D

2.B

3.B

4.A

5.B

 

C语言测试题(第五章)

1.有程序段如下:

intk=10;

while(k=0)

k=k-1;

则下面描述中正确的是________。

A.语句“k=k-1;

”被执行10次

B.语句“k=k-1;

”被执行无限多次

C.语句“k=k-1;

”一次也不执行

D.语句“k=k-1;

”只执行一次

do

}while(k>

=0);

”执行1次

”执行10次

”执行11次

”执行12次

3.下面是一个程序段:

for(y=1,x=2;

y<

=50;

y++)

if(x>

=10)break;

x+=5;

执行该程序段后,x值为________。

 

A.2B.7C.12D.15

4.有程序段如下:

inti,j;

for(i=5;

i;

i--)

for(j=1;

j<

5;

j++)

......

假若内循环体内不存在中止循环的控制语句,则内循环体执行的总次数为________。

A.20B.24C.25D.30

5.下面是一个循环控制程序:

floatx,y,z;

%f,%f"

z=x/y;

while

(1)

if(fabs(z)>

x=y;

y=z;

else

break;

%\n"

运行该程序,按如下形式从键盘输入数据,程序的数出结果是________。

键盘输入数据:

A.B.C.D.

1.C2.C3.C4.A5.B

C语言测试题(第六章)

1.若有数组定义intm[][2]={1,3,5,7,9},则以下叙述正确的是________。

A.该定义存在语法错误

B.该定义等价于intm[3][2]={1,3,5,7,9}

C.该定义等价于intm[][2]={{1,3,5},{7,9}}

D.该定义等价于intm[2][2]={1,3,5,7,9}

2.对两个数组a和b进行如下的初始化:

chara[]={'

'

b'

c'

d'

e'

};

charb[]="

abcdef"

则以下叙述正确的是________。

A.a数组与b数组完全相同

B.a数组与b数组具有相同的长度

C.a数组和b数组的最后一个字符都是字符串结束标志符'

\0'

D.a数组的长度比b数组的长度小

3.下面程序的功能是输出数组s中最大元素的下标。

请在横线上填上适当的内容,使它能得出正确的结果。

intk,p,s[]={1,-9,7,2,-10,3};

for(p=0,k=p;

p<

6;

p++)

if(s[p]>

s[k])____________;

k);

4.下面程序的功能是将一字符串中的小写英文字母全部改成大写形式,然后输出。

请在横线上填上适当的程序代码,使它能输出正确的结果。

inti=0;

charstr[80];

%s"

str);

while(①)

if(②)str[i]=str[i]-32;

③;

%s\n"

str);

5.下面程序的功能是将一个字符串str的内容颠倒过来。

请在横线上填上适当的内容,使它能输出正确的结果。

inti,j,①;

charstr[]="

abcdefghijk"

j=strlen(str)②;

for(i=0;

i<

j;

i++,j--)

k=str[i];

str[i]=str[j];

str[j]=k;

1.B

2.D

3.k=p

4.①str[i]!

='

或简写成str[i]

②str[i]>

str[i]<

③i++或++i或i=i+1或i+=1

5.①k②-1。

C语言测试题(第七章)

1.以下代码用来对函数进行定义,正确的函数形式是________。

A.doublefun(intx,inty)

{z=x+y;

return(z);

B.fun(intx,y)

{intz;

returnz;

C.doublefun(intx,inty)

{doublez;

z=x+y;

returnz;

D.fun(x,y)

{intx,y;

doublez;

2.有下列函数调用语句,函数fun1()的实参个数是________。

fun1(a+b,(y=9,y*x),fun2(y,n,k));

3.下列函数调用错误的是________。

A.max(a,b)B.ax(3,a+b)

C.max(3,5)D.floatmax(c,5)

4.在C程序中,下面描述正确的是________。

A.函数的定义可以嵌套,但函数的调用不可以嵌套

B.函数的定义不可以嵌套,但函数的调用可以嵌套

C.函数的定义和函数调用都可以嵌套

D.函数的定义和调用都不可以嵌套

5.下列关于参数的说法正确的是________。

A.实参和与其对应的形参各占用独立的存储单元

B.实参和与其对应的形参共用一个存储单元

C.形参是虚拟的,不占用存储单元

D.只有当实参和与其对应的形参同名时才共用存储单元

1.C

2.A

3.D

4.B

C语言测试题(第八章)

1.有如下定义:

intk=2;

int*ptr1=&

k,*ptr2=&

k;

下面不能正确执行的赋值语句是________。

A.k=*ptr1+*ptr2;

B.ptr2=k;

C.ptr1=ptr2;

D.k=*ptr1*(*ptr2);

2.若有如下定义:

chars[20],*ps=s;

则,以下赋值语句正确的是________。

A.s=ps+s;

B.ps=ps+20;

C.s[5]=ps[9];

D.ps=s[0];

3.以下程序的运行结果是________。

staticintarr[]={6,7,8,9};

4;

i++)

*(arr+i));

4.以下程序的输出结果是________。

char*s[]={"

one"

"

two"

three"

},*p;

p=s[1];

%c,%s\n"

*(p+1),s[0]);

A.n,twoB.t,oneC.w,oneD.o,two

5.以下程序运行时,若输入数据为17

18

19,则程序的输出结果为________。

#incliude"

voidrcircle(int*p1,int*p2,int*p3);

voidmain()

inta,b,c;

int*p1,*p2,*p3;

Enterthreeintegers:

%d%d%d"

a,&

b,&

c);

p1=&

a;

p2=&

b;

p3=&

c;

rcircle(p1,p2,p3);

%5d%5d%5d\n"

a,b,c);

voidrcircle(int*pr1,int*pr2,int*pr3)

inttemp;

temp=*pr3;

*pr3=*pr2;

*pr2=*pr1;

*pr1=temp;

2.C

3.6789

5.191718

C语言测试题(第九章)

1.关于结构体类型的定义,下列描述正确的是________。

A.定义结构体类型时,系统会根据各个成员的大小为其分配内存空间。

B.定义结构体类型时,系统会根据最大成员的大小为其分配内存空间。

C.定义结构体类型时,不会产生内存分配。

D.以上说法都不对。

2.以下各项用于定义结构体类型,并定义结构体变量,其中正确的是________。

A.structstudentB.structstudentstu1,stu2;

{charnum[5];

structstudent

intscore;

};

studentstu1,stu2;

C.structstudentD.structstudent

intscore=96;

structstudentstu1,stu2;

3.以下形式定义了结构体变量member,对其成员name的引用有多种形式。

在下面的引用形式中,错误的是________。

struct

charname[10];

intage;

}member,*p;

A.B.name

C.p->

nameD.(*p).name

4.下面的程序运行后的输出结果为________。

structstu

{intnum;

voidfun(structstu*p)

(*p).name);

structstustudents[3]={{9801,"

Zhang"

20},{9802,"

Wang"

19},{9803,"

Zhao"

18}};

fun(students+1);

5.有程序如下:

structdate

intyear,month,day;

}today;

%d,%d\n"

sizeof(structdate),sizeof(today));

该程序执行后输出的结果是________。

A.2,2B.6,2C.6,6D.2,6

4.Wang

5.C

C语言测试题(第十章)

1.已知fp为文件类型指针,若要打开e盘text文件夹(目录)下的文件,下面各选项中正确的是________。

A.fp=fopen(e:

text\,"

r"

)B.fp=fopen(e:

\text\,"

C.fp=fopen("

e:

\text\"

)D.fp=fopen("

\\text\\"

2.使用fclose(fp)函数正常关闭fp文件后,函数fclose()的返回值是________。

A.1B.0C.–1D.非零值

3.函数调用fseek(fp,-20L,2)的含义是________。

A.将文件位置指针移到距离文件头20个字节处

B.将文件位置指针从当前位置向后移动20个字节

C.将文件位置指针从文件末尾处向文件头方向移动20个字节

D.将文件位置指针移到离当前位置20个字节处

4.有如下定义:

structstua[20];

FILE*fp;

设文件中以二进制文件格式存放了5个班的学生数据,且文件已打开,fp指向文件头。

若要从文件中读出20个学生的数据放入a数组中,以下语句不正确的是_________。

A.for(i=0;

20;

i++)fread(&

a[i],sizeof(structstu),1L,fp);

B.for(i=0;

i++)fread(a+i;

sizeof(structstu),1L,fp);

C.fread(a,sizeof(structstu),20L,fp);

D.for(i=0:

i++)fread(a[i],sizeof(structstu),1L,fp);

4.D

C语言测试题(第十一章)

1.以下程序的运行结果是_________。

#defineN4

#defineMN+2

#defineKM*M/2

i=N+M+K;

i);

2.以下程序的输出结果是________。

#defineT(x,y)(x)<

(y)(x):

(y)

inti,j,k;

i=10,j=15,k=10*T(i,j);

A.15B.100C.10D.150

3.在下面的宏定义中,能将宏调用M(a+b)展开为(a+b)*(a+b)的宏定义是________。

A.M(x)

x*xB.M

(x)

(x)*(x)

C.M(x)

(x)*(x)D.A,B,C都可以

4.以下程序的执行结果是________。

#definePI

#defineR5

#defineK1

#ifK

%"

2*PI*R);

#else

PI*R*R);

#endif

5.在下面程序的横线位置填上合适的代码,使程序能够正常运行。

typedefstruct

chartitle[20];

floatprice;

}BOOK;

___________;

%s%f"

,&

Title:

%sprice:

%\n"

,;

1.232.A3.C4.C5.BOOKvariable

C语言测试题(第十二章)

1.C++对C语言作了很多改进,下列描述中________使得C语言发生了质变,从面向过程变成了面向对象。

A.C++增加了一些新的运算符。

B.C++允许函数重载,并允许设置缺省参数。

C.C++允许在使用变量之前的任何位置对变量进行说明。

D.C++引进了类和对象的概念。

2.下列描述中,错误的是________。

A.C++的内联函数主要解决程序的运行效率问题。

B.C++的内联函数通常用于处理比较复杂的问题。

C.C++内联函数中可以包括各种语句。

D.除需要使用inline关键字说明外,内联函数与其它函数的定义没有区别。

3.C++中,以下对函数参数默认值设置正确的是________。

A.intsum(inta=20,intb,intc=10);

B.intsum(inta,intb=20,intc=10);

C.intsum(in

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 幼儿教育 > 幼儿读物

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1