二级C语言上机题库05Word文档格式.docx

上传人:b****3 文档编号:17529648 上传时间:2022-12-07 格式:DOCX 页数:26 大小:23.29KB
下载 相关 举报
二级C语言上机题库05Word文档格式.docx_第1页
第1页 / 共26页
二级C语言上机题库05Word文档格式.docx_第2页
第2页 / 共26页
二级C语言上机题库05Word文档格式.docx_第3页
第3页 / 共26页
二级C语言上机题库05Word文档格式.docx_第4页
第4页 / 共26页
二级C语言上机题库05Word文档格式.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

二级C语言上机题库05Word文档格式.docx

《二级C语言上机题库05Word文档格式.docx》由会员分享,可在线阅读,更多相关《二级C语言上机题库05Word文档格式.docx(26页珍藏版)》请在冰豆网上搜索。

二级C语言上机题库05Word文档格式.docx

;

%d\n"

(x<

1)&

&

(z<

'

z'

));

B)1

C)2

D)3

7.设a、b、C、d、m、n均为int型变量,且a=5、b=6、c=7、d=8、m=2、n=2,则逻辑表达式(m=a>

b)&

(n=c>

d)运算后,n的值位为

8.阅读以下程序:

{intx;

scanf("

&

if(x--<

5)printf("

elseprintf("

x++);

程序运行后,如果从键盘上输人5,则输出结果是

A)3

B)4

C)5

9.以下程序的输出结果是

{

intnum=0;

while(num<

=2)

{num++;

num);

A)1

2

3

4

2

C)1

D)l

10.在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是

A)地址传递

B)单向值传递

C)由实参传给形参,再由形参传回实参

D)传递方式由用户指定

11.以下程序的输出结果是

amovep(intp,int(a)[3],intn)

{inti,j;

for(i=0;

i<

i++)

for(j=0;

j<

n;

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

p++;

{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)程序错误

12.以下程序的输出结果是

#defineM(x,y,z)x*y+z

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

M(a+b,b+c,c+a));

A)19

B)17

C)15

D)12

13.若有说明语句:

inta,b,c,*d=&

c;

,则能正确从键盘读入三个整数分别赋给变量a、b、c的语句是

A)scanf("

%d%d%d"

a,&

b,d);

B)scanf("

b,&

d);

C)scanf("

a,b,d);

D)scanf("

a,b,*d);

14.以下程序的输出结果是

inta=5,b=4,c=6,d;

d=a>

b?

(a>

c?

a:

c):

(b));

A)5

C)6

D)不确定

15.以下程序段的输出结果是

chars[]="

\\141\141abc\t"

printf("

strlen(s));

A)9

B)12

C)13

D)14

16.不合法的main函数命令行参数表示形式是

A)main(inta,char*c[])

B)main(intarc,char**arv)

C)main(intargc,char*argv)

D)main(intargv,char*argc[])

17.以下程序的输出的结果是

intx=3;

voidncre();

inti;

for(i=1;

x;

i++)ncre();

voidncre()

staticintx=1;

x*=x+1;

x);

A)33

B)22

C)26

D)25

18.若以下定义:

structlink

{intdata;

strucklink*next;

}a,b,c,*p,*q;

且变量a和b之间已有如下图所示的链表结构:

ab

datanextdatanext

┌──┬──┐┌──┬──┐

│5│┼──→│9│\0│

└──┴──┘└──┴──┘

↑p

c

datanext

┌──┬──┐

│7││

└──┴──┘

↑q

指针p指向变量a,q指向变量c。

则能够把c插入到a和b之间并形成新的链表的语句组是:

A)a.next=c;

c.next=b;

B)p.next=q;

q.next=p.next;

C)p->

next=&

c;

q->

next=p->

next;

D)(*p).next=q;

(*q).next=&

b;

19.以下选项中合法的实型常数是

A)5E2.0B)E-3C).2E0D)1.3E

20.与数学式子对应的C语言表达式是

A)3*x^n(2*x-1)

B)3*x**n(2*x-1)

C)3*pow(x,n)*(1/(2*x-1))

D)3*pow(n,x)/(2*x-1)

21.若有以下程序:

#include"

stdio.h"

intk=2,i=2,m;

m=(k+=i*=k);

%d,%d\n"

m,i);

执行后的输出结果是

A)8,6

B)8,3

C)6,4

D)7,4

22.有以下程序

floatfun(intx,inty)

{return(x+y);

{inta=2,b=5,c=8;

%3.0f\n"

fun(int)fun(a+c,b),a-c));

程序运行后的输出结果是

A)编译出错

C)21

D)9.0

23.有以下程序

intf(intn)

{if(n==1)return1;

elsereturnf(n-1)+1;

{inti,j=0;

for(i=i;

3;

i++)j+=f(i);

j);

A)4

B)3

D)1

24.有以下程序

inta=3;

{ints=0;

{inta=5;

s+=a++;

s);

A)8

B)10

C)7

D)11

25.有以下程序

{inti=10,j=1;

 printf("

i--,++j);

执行后输出结果是( )。

A)9,2

B)10,2

C)9,1

D)10,1

26.有如下程序

  voidf(intx,inty)

  {intt;

  if(x  }

  main()

  {inta=4,b=3,c=5;

  f(a,b);

f(a,c);

f(b,c);

  printf("

%d,%d,%d\n"

a,b,c);

  }

 A)3,4,5

 B)5,3,4

 C)5,4,3

 D)4,3,5

27.有以下程序

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

  inti,j,k=2;

  for(i=0;

  {printf("

m[k][i]);

 A)456

 B)258

 C)369

 D)789

28.以下叙述中正确的是( )。

 A)全局变量的作用域一定比局部变量的作用域范围大

 B)静态(static)类别变量的生存期贯穿于整个程序的运行期间

 C)函数的形参都属于全局变量

 D)未在定义语句中赋初值的auto变量和static变量的初值都是随机值

29.有以下程序

inta=1,b=2,m=0,n=0,k;

k=(n=b>

a)||(m=a<

b);

k,m);

A)0,0B)0,1C)1,0D)1,1

30.设变量x为float型且已赋值,则以下语句中能将x中的数值保留到小数点后两位,并将第三位四舍五入的是( )。

 A)x=x*100+0.5/100.0;

 B)x=(x*100+0.5)/100.0;

 C)x=(int)(x*100+0.5)/100.0;

 D)x=(x/100+0.5)*100.0;

31.有以下程序

  {ints=0,a=1,n;

  scanf("

n);

  do

  {s+=1;

a=a-2;

  while(a!

=n);

  printf("

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

 A)-1

 B)-3

 C)-5

 D)0

32.要求以下程序的功能是计算:

s=1+1/2+1/3+……+1/10

  main()

  {intn;

floats;

  s=1.0;

  for(n=10;

n>

1;

n--)

  s=s+1/n;

%6.4f\n"

程序运行后输出结果错误,导致错误结果的程序行是( )。

 A)s=1.0;

 B)for(n=10;

 C)s=s+1/n;

 D)printf("

33.有以下函数定义:

  voidfun(intn,doublex){……}

若以下选项中的变量都已正确定义并赋值,则对函数fun的正确调用语句是( )。

 A)fun(inty,doublem);

 B)k=fun(10,12.5);

 C)fun(x,n);

 D)voidfun(n,x);

34.若程序中已包含头文件stdio.h,以下选项中,正确运用指针变量的程序段是( )。

A)int*i=NULL;

B)float*f=NULL;

i);

*f=10.5;

C)chart='

m'

*c=&

t;

D)long*L;

  *c=&

L='

\0'

  

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

A)intnum[];

B)#defineN100

 intnum[N];

C)intnum[0..100];

D)intN=100;

36.有以下程序

charstr[][20]={"

Hello"

"

Beijing"

};

char*p=str[0];

strlen(p+20));

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

 A)0

 B)5

 C)7

 D)20

37.有以下程序

main()

{inti,n=0;

for(i=2;

5;

{do

{if(i%3)continue;

   n++;

}while(!

i);

}

printf(“n=%d\n”,n);

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

A)n=5  B)n=2  C)n=3  D)n=4

38.以下程序段中,不能正确赋字符串(编译时系统会提示错误)的是

A)chars[10]="

abcdefg"

B)chart[]="

*s=t;

C)chars[10];

s="

D)chars[10];

strcpy(s,"

);

39.有以下程序(提示:

程序中fseek(fp,-2L*sizeof(int),SEEK_END);

语句的作用是使位置指针从文件尾向前移2*sizeof(int)字节)

#include

{FILE*fp;

inti,a[4]={1,2,3,4},b;

fp=fopen("

data.dat"

wb"

for(i=0;

4;

i++)fwrite(&

a[i],sizeof(int),1,fp);

fclose(fp);

fp=fopen("

rb"

);

fseek(fp,-2L*sizeof(int).SEEK_END);

fread(&

b,sizeof(int),1,fp);

/*从文件中读取sizeof(int)字节的数据到变量b中*/

fclose(fp);

B);

执行后输出结果是

A)2B)1C)4D)3

40.若x和y代表整型数,以下表达式中不能正确表示数学关系|x-y|<

10的是( )。

A)abs(x-y)<

10

B)x-y>

-10&

x-y<

10

C)!

(x-y)<

-10||!

(y-x)>

D)(x-y)*(x-y)<

100

41.有以下程序

  {inti=0,x=0;

  for(;

  {

  if(i==3||i==5)continue;

  if(i==6)break;

  i++;

  s+=i;

  };

  }

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

A)10

B)13

C)21

D)程序进入死循环

42.以下能正确定义二维数组的是( )。

A)inta[][3];

B)inta[][3]=2{2*3};

C)inta[][3]={};

D)inta[2][3]={{1},{2},{3,4}};

43.有以下程序

intf(inta)

{returna%2;

{ints[8]={1,3,4,2,3,6},i,d=0;

for(i=0;

f(s[i]);

{d=d+s[i];

i,s[i]);

d);

A)9

B)4

C)19

D)21  

44.有以下定义和语句

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

p[0]=a[1];

则*p[0]+1)所代表的数组元素是( )。

A)a[0][1]

B)a[1][0]

C)a[1][1]

D)a[1][2]

45.有以下程序

{intm,n,p;

m=%dn=%dp=%d"

m,&

n,&

p);

%d%d%d"

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

46.有以下程序

intp[8]={11,12,13,14,15,16,17,18},i=0,j=0;

while(i++<

7)if(p[i]%2)j+=p[i];

%d"

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

 A)42

 B)45

 C)56

 D)60

47.有以下程序

voidf(int*x,int*y)

{intt;

t=*x;

*x=*y;

*y=t;

{inta[8]={1,2,3,4,5,6,7,8},i,*p,*q;

p=a;

q=&

a[7];

while(p<

q)

f(p,q);

q--;

for(i=0;

8;

%d,"

a[i]);

 A)8,2,3,4,5,6,7,1,

 B)5,6,7,8,1,2,3,4,

 C)1,2,3,4,5,6,7,8,

 D)8,7,6,5,4,3,2,1,

48.有以下程序

intc=35;

c&

c);

 A)0

 B)70

 C)35

 D)1

49.以下叙述中错误的是( )。

  A)C语句必须以分号结束

  B)复合语句在语法上被看作一条语句

  C)空语句出现在任何位置都不会影响程序运行

  D)赋值表达式末尾加分号就构成赋值语句

50.以下关于函数的叙述中正确的是( )。

  A)每个函数都可以被其它函数调用(包括main函数)

  B)每个函数都可以被单独编译

  C)每个函数都可以单独运行

  D)在一个函数内部可以定义另一个函数

51.若有语句:

char*line[5];

,以下叙述中正确的是( )。

  A)定义line是一个数组,每个数组元素是一个基类型为char的指针变量

  B)定义line是一个指针变量,该变量可以指向一个长度为5的字符型数组

  C)定义line是一个指针数组,语句中的*号称为间址运算符

  D)定义line是一个指向字符型函数的指针

52.设变量已正确定义,则以下程序不能正确计算f=n!

的程序段是( )。

A)f=1;

  for(i=1;

=n;

f*=i;

B)f=0;

i--)

 f*=i;

C)f=1;

         

 for(i=n;

i>

f=f*i;

D)f=1;

for(i=n;

=2;

i--)

f=f*i

53.以下数组定义中错误的是

 A)intx[][3]={0};

 B)intx[2][3]={{1,2},{3,4},{5,6}};

 C)ntx[][3]={{1,2,3},{4,5,6}};

 D)intx[2][3]={1,2,3,4,5,6};

54.已定义以下函数

intfun(int*p)

{return*p;

}

fun函数返回值是

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

当前位置:首页 > 高中教育 > 小学教育

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

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