C语言期末考试选择题.docx

上传人:b****6 文档编号:6507416 上传时间:2023-01-07 格式:DOCX 页数:85 大小:38.64KB
下载 相关 举报
C语言期末考试选择题.docx_第1页
第1页 / 共85页
C语言期末考试选择题.docx_第2页
第2页 / 共85页
C语言期末考试选择题.docx_第3页
第3页 / 共85页
C语言期末考试选择题.docx_第4页
第4页 / 共85页
C语言期末考试选择题.docx_第5页
第5页 / 共85页
点击查看更多>>
下载资源
资源描述

C语言期末考试选择题.docx

《C语言期末考试选择题.docx》由会员分享,可在线阅读,更多相关《C语言期末考试选择题.docx(85页珍藏版)》请在冰豆网上搜索。

C语言期末考试选择题.docx

C语言期末考试选择题

第一套

一、单项选择共30题(共计60分)

第1题(2.0分)

设有定义:

intk=0;,以下选项的四个表达式中与其他三个表达式的值不相同的是().

A:

k++

B:

k+=1

C:

++k

D:

k+1

第2题(2.0分)

已知inti=5,执行语句i+=++i后,i的值是().

A:

10

B:

11

C:

12

D:

A、B、C都不对

第3题(2.0分)

以下程序的功能是:

给r输入数据后,计算半径为r的圆面积s.程序在编译时出错.

#include

voidmain()

/*Beginning*/

{intr;floats;

scanf("%d",&r);

s=p*r*r;printf("s=%f\n",s);

}

出错的原因是().

A:

注释语句书写位置错误

B:

存放圆半径的变量r不应该定义为整型

C:

输出语句中格式描述符非法

D:

计算圆面积的赋值语句中使用了非法变量

第4题(2.0分)

"\\\″ABC\″\\″的长度是().

A:

11

B:

7

C:

5

D:

3

第5题(2.0分)

已知intj,i=1;,执行语句j=–i++;后,j的值是().

A:

1

B:

2

C:

-1

D:

-2

第6题(2.0分)

有以下程序:

#include

voidmain()

{ints=0,a=1,n;

scanf("%d",&n);

do{

s+=1;a=a–2;

}while(a!

=n);

printf("%d\n",s);

}

若要使程序的输出值为2,则应该从键盘输入给n的值是().

A:

-1

B:

-3

C:

-5

D:

0

第7题(2.0分)

执行以下程序后,输出的结果是().

#include

voidmain()

{inty=10;

do{

y––;

}while(––y);

printf("%d\n",y––);

}

A:

-1

B:

1

C:

8

D:

0

第8题(2.0分)

以下循环体的执行次数是().

#include

voidmain()

{inti,j;

for(i=0,j=1;i<=j+1;i+=2,j––)printf("%d\n",i);

}

A:

3

B:

2

C:

1

D:

0

第9题(2.0分)

有以下程序段:

intk=0;

while(k=1)k++;

while循环执行的次数是().

A:

无限次

B:

有语法错误,不能执行

C:

1次也不执行

D:

执行1次

第10题(2.0分)

有以下程序

#include

voidmain()

{intm,n,p;

scanf("m=%dn=%dp=%d",&m,&n,&p);

printf("%d%d%d\n",m,n,p);

}

若想从键盘上输入数据,使变量m中的值为123,n中的值为456,p中的值为789,则正确的输入是().

A:

m=123n=456p=789

B:

m=123n=456p=789

C:

m=123,n=456,p=789

D:

123456789

第11题(2.0分)

设变量已正确定义,以下能正确计算f=n!

的程序段是

A:

f=0;

for(i=1;i<=n;i++)f*=i;

B:

f=1;

for(i=1;i

C:

f=1;

for(i=n;i>1;i++)f*=i;

D:

f=1;

for(i=n;i>=2;i––)f*=i;

第12题(2.0分)

在下列程序中,没有构成死循环的程序段是().

A:

inti=100;

inti=100;

while

(1)while

(1)永远为真

{i=i%100+1;

if(i>100)break;}

B:

intk=1000;

do

{++k;}while(k>=10000);

C:

for(;;);无循环条件死循环

D:

ints=36;while(s);--s;s不为0时为while(s)真

第13题(2.0分)

有如下程序:

#include

voidmain()

{intn=9;

while(n>6)

{n––;printf("%d",n);}

}

该程序段的输出结果是().

A:

987

B:

876

C:

8765

D:

9876

第14题(2.0分)

以下程序的输出结果是().

#include

voidmain()

{intx=10,y=10,i;

for(i=0;x>8;y=++i)

printf("%d%d",x––,y);

}

A:

10192

B:

9876

C:

10990

D:

101091

 

第15题(2.0分)

有如下程序:

#include

voidmain()

{intn[5]={0,0,0},i,k=2;

for(i=0;i

{printf("%d\n",n[k]);}

}

该程序的输出结果是().

A:

不确定的值

B:

2

C:

1

D:

0

第16题(2.0分)

下列程序执行后的输出结果是().

#include

voidmain()

{chararr[2][4];

strcpy(arr,"you");strcpy(arr[1],"me");

arr[0][3]='&';

printf("%s\n",arr);

}

A:

you&me

B:

you

C:

me

D:

err

 

第17题(2.0分)

以下程序的输出结果是().

#include

voidmain()

{inti,x[3][3]={1,2,3,4,5,6,7,8,9};

for(i=0;i<3;i++)printf("%d,",x[i][2–i]);

}

A:

1,5,9,

B:

1,4,7,

C:

3,5,7,

D:

3,6,9,

第18题(2.0分)

以下数组定义中不正确的是().

A:

inta[2][3];

B:

intb[][3]={0,1,2,3};//前面能省,后面不能省

C:

intc[100][100]={0};

D:

intd[3][]={{1,2},{1,2,3},{1,2,3,4}};

第19题(2.0分)

以下能正确定义数组并正确赋初值的语句是().

A:

intN=5,b[N][N];

B:

inta[1][2]={{1},{3}};

C:

intc[2][]={{1,2},{3,4}};

D:

intd[3][2]={{1,2},{3,4}};

第20题(2.0分)

有以下程序:

inta=4;

intf(intn)

{

intt=0;staticinta=5;

if(n%2){inta=6;t+=a++;}

else{inta=7;t+=a++;}

returnt+a++;

}

main()

{

ints=a,i=0;

for(;i<2;i++)s+=f(i);

printf("d\n",s);

}

程序运行后的输出结果是b

A:

24

B:

28

C:

32

D:

36

第21题(2.0分)

以下正确的函数定义形式为

A:

doublefun(intx,inty)

B:

doublefun(intx;y)

C:

doublefun(intx;inty)

D:

doublefun(intx,y)

第22题(2.0分)

C语言规定,函数返回值的类型是由

A:

return语句中的表达式类型所决定的

B:

调用该函数时的主调函数类型所决定的

C:

调用该函数时系统临时决定的

D:

在定义该函数时所指定的函数类型所决定的

第23题(2.0分)

有以下程序:

voidswap1(intc0[],intc1[])

{intt;

t=c0[0];c0[0]=c1[0];c1[0]=t;

}

voidswap2(int*c0,int*c1)

{intt;

t=*c0;*c0=*c1;*c1=t;

}

main()

{inta[2]={3,5},b[2]={3,5};

swap1(a,a+1);swap2(&b[0],&b[1]);

printf("%d%d%d%d\n",a[0],a[1],b[0],b[1]);

}D

A:

3553

B:

5335

C:

3535

D:

5353

第24题(2.0分)

以下程序的输出结果是().

amovep(int*p,int(*a)[3],intn)

{inti,j;

for(i=0;i

for(j=0;j

{*p=a[i][j];

p++;}

}

main()

{int*p,a[3][3]={{1,3,5},{2,4,6}};

p=(int*)malloc(100);

amovep(p,a,3);

printf("%d%d\n",p[2],p[5]);

free(p);

}

A:

56

B:

25

C:

34

D:

程序错误

第25题(2.0分)

有以下函数:

fun(char*a,char*b)

{while((*a!

='\0')&&(*b!

='\0')&&(*a==*b))

{a++;b++;}

return(*a–*b);}

该函数的功能是().

A:

计算a和b所指字符串的长度之差

B:

将b所指字符串复制到a所指字符串中

C:

将b所指字符串连接到a所指字符串后面

D:

比较a和b所指字符串的大小

第26题(2.0分)

有以下程序:

fun(charp[][10])

{intn=0,i;

for(i=0;i<7;i++)

if(p[i][0]=='T')n++;//判断每组的第一个字符是否为T

returnn;

}

main()

{charstr[][10]={"Mon","Tue","Wed","Thu","Fri","Sat","Sun"};

printf("%d\n",fun(str));

}

程序执行后的输出结果是().

A:

1

B:

2

C:

3

D:

0

第27题(2.0分)

有以下程序:

main()

{charstr[][10]={"China","Beijing"},*p=str;

printf("%s\n",p+10);

}

程序运行后的输出结果是().

A:

China

B:

Beijing

C:

ng

D:

ing

第28题(2.0分)

有以下程序:

#definef(x)(x*x)

main()

{inti1,i2;

i1=f(8)/f(4)i2=f(4+4)/f(2+2)

printf("%d,%d\n",i1,i2);

}

程序运行后的输出结果是().

A:

64,28

B:

4,4

C:

4,3

D:

64,64

第29题(2.0分)

有以下程序:

voidchange(intk[]){k[0]=k[5];}

main()

{intx[10]={1,2,3,4,5,6,7,8,9,10},n=0;

while(n<=4){change(&x[n]);n++;}

for(n=0;n<5;n++)printf("%d",x[n]);

printf("\n");

}

A:

678910

B:

13579

C:

12345

D:

62345

第30题(2.0分)

在以下程序中,能够通过调用函数fun(),使main()函数中的指针变量p指向一个合法的整型单元的是(C)

A:

main()

int*p;

fun(p);…}

intfun(int*p)

{ints;

p=&s;}

B:

main()

{int*p;

fun(&p);…}

intfun(int**p)

{ints;

*p=&s;}

C:

#include

main()

{int*p;

fun(&p);…}

intfun(int**p)

{*p=(int*)malloc

(2);}…

D:

#include

main()

{int*p;

fun(p);…}

intfun(int*p)

{p=(int*)malloc(sizeof(int));}

第二套

一、单项选择共30题(共计60分)

第1题(2.0分)

有以下程序

#include

voidmain()

{intx,y,z;

x=y=1;

z=x++,y++,++y;

printf("%d,%d,%d\n",x,y,z);

}

程序运行后的输出结果是().

A:

2,3,3

B:

2,3,2

C:

2,3,1

D:

2,2,1

第2题(2.0分)

已知inti,a;,执行语句i=(a=2*3,a*5),a+6;后,变量i的值是().

A:

6

B:

12

C:

30

D:

36

第3题(2.0分)

已知intj,i=1;,执行语句j=–i++;后,j的值是().

A:

1

B:

2

C:

-1

D:

-2

第4题(2.0分)

已有定义:

charc;,程序前面已在命令行中包含ctype.h文件,不能用于判断c中的字符是否为大写字母的表达式是().

A:

isupper(c)//判断字符c是否为大写英文字母

B:

'A'<=c<='Z'

C:

'A'<=c&&c<='Z'

D:

c<=('z'–32)&&('a'–32)<=c

第5题(2.0分)

以下程序的功能是:

给r输入数据后,计算半径为r的圆面积s.程序在编译时出错.

#include

voidmain()

/*Beginning*/

{intr;floats;

scanf("%d",&r);

s=p*r*r;printf("s=%f\n",s);

}

出错的原因是().

A:

注释语句书写位置错误

B:

存放圆半径的变量r不应该定义为整型

C:

输出语句中格式描述符非法

D:

计算圆面积的赋值语句中使用了非法变量

第6题(2.0分)

有如下程序段:

intn=0,p;

do{scanf("%d",&p);n++;}while(p!

=12345&&n<3);

此处do-while循环的结束条件是().

A:

P的值不等于12345,并且n的值小于3

B:

P的值等于12345,并且n的值大于或等于3

C:

P的值不等于12345,或者n的值小于3

D:

P的值等于12345,或者n的值大于或等于3

第7题(2.0分)

有如下程序:

#include

voidmain()

{inti,sum;

for(i=1;i<=3;sum++)sum+=i;

printf("%d\n",sum);

}

该程序的执行结果是().

A:

6

B:

3

C:

死循环

D:

0

第8题(2.0分)

有以下程序:

#include

voidmain()

{intk=5;

while(––k)printf("%d",k–=3);

printf("\n");

}

执行后的输出结果是()

A:

1

B:

2

C:

4

D:

死循环

第9题(2.0分)

以下程序中,while循环的循环次数是()

#include

voidmain()

{inti=0;

while(i<10)

{if(i<1)continue;

if(i==5)break;

i++;

}

A:

1

B:

10

C:

6

D:

死循环,不能确定次数

第10题(2.0分)

以下程序的功能是:

给r输入数据后,计算半径为r的圆面积s.程序在编译时出错.

#include

voidmain()

/*Beginning*/

{intr;floats;

scanf("%d",&r);

s=p*r*r;printf("s=%f\n",s);

}

出错的原因是().

A:

注释语句书写位置错误

B:

存放圆半径的变量r不应该定义为整型

C:

输出语句中格式描述符非法

D:

计算圆面积的赋值语句中使用了非法变量

第11题(2.0分)

在下列程序中,没有构成死循环的程序段是().

A:

inti=100;

inti=100;

while

(1)

{i=i%100+1;

if(i>100)break;}

B:

intk=1000;

do

{++k;}while(k>=10000);

 

C:

for(;;);

D:

ints=36;while(s);--s;

第12题(2.0分)

有以下程序:

#include

voidmain()

{inti,j,m=55;

for(i=1;i<=3;i++)

for(j=3;j<=i;j++)

m=m%j;

printf("%d\n",m);

}

程序的运行结果是()

A:

0

B:

1

C:

2

D:

3

第13题(2.0分)

以下程序的输出结果是().

#include

voidmain()

{inta,b;

for(a=1,b=1;a<=100;a++)

{if(b>=10)break;

if(b%3==1)

{b+=3;continue;}

}

printf("%d\n",a);

}

A:

101

B:

6

C:

5

D:

4

第14题(2.0分)

以下程序的输出结果是().

#include

voidmain()

{inti,j,x=0;

for(i=0;i<2;i++)

{x++;

for(j=0;j<3;j++)

{if(j%2)continue;

x++;//不论是否满足if条件,x++都要执行

}

}

printf("x=%d\n",x);

}

A:

x=4

B:

x=8

C:

x=6

D:

x=12

 

第15题(2.0分)

以下能正确定义一维数组的选项是().

A:

intnum[];

B:

#defineN100intnum[N];

C:

intnum[0..100];

D:

intN=100;intnum[N];

第16题(2.0分)

以下对一维数组a的正确定义是().

A:

inta(10)

B:

intn=10,a[n];

C:

intn;

scanf("%d",&n);

inta[n];

D:

#defineSIZE10

inta[SIZE]

第17题(2.0分)

以下程序的输出结果是().

#include

voidmain()

{inti,a[10];

for(i=9;i>=0;i––)a[i]=10–i;

printf("%d%d%d",a[2],a[5],a[8]);

}

A:

258

B:

741

C:

852

D:

369

第18题(2.0分)

若有定义:

inta[2][3];,以下选项中对a数组元素正确引用的是().

A:

a[2][!

1]

B:

a[2][3]

C:

a[0][3]

D:

a[1>2][!

1]

第19题(2.0分)

有如下程序:

#include

voidmain()

{inta[3][3]={{1,2},{3,4},{5,6}},i,j,s=0;

for(i=1;i<3;i++)

for(j=0;j<=i;j++)s+=a[i][j];

printf("%d",s);

}

该程序的输出结果是().

A:

18

B:

19

C:

20

D:

21

第20题(2.0分)

下列程序的输出结果是

#include

voidf1()

{

intx=0;

x++;

printf("%d,",x);

}

voidf2()

{

staticintx;

x++;

printf("%d,",x);

}

voidmain()

{

intk;

for(k=0;k<3;k++)

{f1();f2();}

}

A:

1,1,1,1,1,1

B:

1,1,1,2,1,3

C:

1,1,2,2,3,3

D:

1,1,2,1,3,1

第21题(2.0分)

C语言规定,函数返回值的类型是由

A:

return语句中的表达式类型所决定的

B:

调用该函数时的主调函数类型所决定的

C:

调用该函数时系统临时决定的

D:

在定义该函数时所指定的函数类型所决定的

第22题(2.0分)

有以下程序:

voidfun(inta,intb,intc)

{

a=456;b=567;c=678;

}

main()

{

intx=10,y=20,z=30;

fun(x,y,z);

printf("%d,%d,%d",x,y,z);

}

运行后输出结果是

A:

30,20,10

B:

10,20,30

C:

456,567,678

D:

678,567,456

第23题(2.0分)

以下程序的输出结果是().

amovep(int*p,int(*a)[3],intn)

{inti,j;

for(i=0;i

for(j=0;j

{*p=a[i][j];

p++;}

}

main()

{int*p,a[3][3]={{1,3,5},{2,4,6}};

p=(int*)malloc(100);

amovep(p,a,3);

printf("%d%d\n",p[2],p[5]);

free(p);

}

A:

56

B:

25

C:

34

D:

程序错误

第24题(2.0分)

若有以下程序:

main(

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

当前位置:首页 > 法律文书 > 判决书

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

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