C语言程序设计模拟试题2附答案new文档格式.docx

上传人:b****7 文档编号:21897918 上传时间:2023-02-01 格式:DOCX 页数:22 大小:25.41KB
下载 相关 举报
C语言程序设计模拟试题2附答案new文档格式.docx_第1页
第1页 / 共22页
C语言程序设计模拟试题2附答案new文档格式.docx_第2页
第2页 / 共22页
C语言程序设计模拟试题2附答案new文档格式.docx_第3页
第3页 / 共22页
C语言程序设计模拟试题2附答案new文档格式.docx_第4页
第4页 / 共22页
C语言程序设计模拟试题2附答案new文档格式.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

C语言程序设计模拟试题2附答案new文档格式.docx

《C语言程序设计模拟试题2附答案new文档格式.docx》由会员分享,可在线阅读,更多相关《C语言程序设计模拟试题2附答案new文档格式.docx(22页珍藏版)》请在冰豆网上搜索。

C语言程序设计模拟试题2附答案new文档格式.docx

doubles,d;

s=0.0;

d=1.0;

K=0;

do

s=s+d;

_k++ 

_________;

d=1.0/(k*(k+1));

}while(k<

=n);

s);

5.执行下述程序的输出结果是_-3-40443___ 

____。

#inclued<

inta[6],i;

for(i=0;

i<

6;

i++)

a[i]=9*(i-2+4*(i>

3))%5;

%3d"

a[i]);

\n"

);

6.执行下述程序时的输出结果是____6_____ 

________。

inta[]={2,4,6,},*ptr=&

a[0],x=8,y,z;

for(y=0;

y<

3;

y++)

z=(*(ptr+y)<

x)?

*(ptr+y):

x;

z);

7.执行下述程序的输出结果是____60_ 

_______。

inta[][2]={10,20,30,40,50,60},(*p)[2];

p=a;

*(*(p+2)+1));

8.执行以下程序的输出结果是___s=10 

______。

ints,i,sum();

for(i=1;

=10;

s=sum(i);

s=%d\n"

sum(intk)

intx=0;

return(x+=k);

9.下述函数定义用来求出两个整数之和,并通过函数的模拟传地址调用,传回两整数相加之和值,请填空。

voidadd(intx,inty,___int*z_ 

___)

*z=x+y;

10.函数func的功能是将整型变量x的值转换成二进制数,并将该二进制数的每一位存入由整型指针b所指向的一维数组a,最低位存放于a[0]中,次低位存放于a[1]中,依此类推。

voidfunc(intx,int*b)

intr;

r=x%2;

____*b++___=r;

x/=2;

}while(x);

11.以下程序中函数invert实现将数组内所有数组元素的值逆置。

比如,执行本程序将输出

10 

1

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

invert(a,n-1);

10;

%3d”,a[i]);

invert(int*s,intnum)

int*t,k;

t=s+num;

while(____t>

=s 

________)

k=*s;

*s=*t;

*t=k;

s++;

 

t--;

12.若有以下定义和说明,则结构体变量w在内存中所占的字节数是_18__

unionaa

floatx;

floaty;

charc[6];

};

structst

unionaav;

floatw[5];

doubleave;

}w;

13.执行下述程序的输出结果是__95,Li____ 

structstr

char*y;

}*m;

structstrgroup[3]={

95.0,"

Li"

82.5,"

Wang"

73.5,"

Sun"

m=group;

printf("

%.lf,%s\n"

m->

x,m->

14.下面的程序用来统计某文件文件中字符的个数。

stdlib.h>

FILE*fp;

longnum=0;

if((fp=fopen("

fnam.dat"

"

r"

))++)==NULL)

Can'

topenthisfile!

exit(0);

while(!

fgetc(fp);

num++;

num=%d\n"

num);

fclose(fp);

15.执行下述程序后,输出结果为___29______。

#defineFUN1(a,b)a+b

#defineFUN2(a,b)a-b

#defineCAL(a,b)a*b+a+3

CAL(FUN1(3,5),FUN2(4,5)));

1、B2、B3、A4、C5、C6、D

7、B8、A9、D10、C11、D12、D

13、A14、D15、A16、A17、B18、A

19、B20、C

二、单项选择题。

(每题1分,共20分)

1.以下不是c语言规定保留字的是( 

)。

(A)float 

(B)integer 

(C)signed 

(D)unsigned

2.设int型变量x有初始值3,则表达式x++*5/10的值是( 

(A)0 

(B)1 

(C)2 

(D)3

3.下述程序执行后的输出结果是( 

A )

#include<

intx='

f'

;

%c\n"

'

a'

+(x-'

+1));

(A)g 

(B)h 

(C)i 

(D)j

4.设有程序

#include<

main()

{

inti,j;

for(i=0,j=1;

=j+1;

i+=2,j--)

i);

}

在运行上述程序时,for语句中循环体的执行次数是( 

(A)3 

(B)2 

(C)1 

(D)0

5.在下述选项时,没有构成死循环的程序是( 

(A)inti=100

while

(1)

i=i%100+1;

if(i>

100)

break;

(B)for(;

(C)intk=1000;

++k;

}while(k>

=10000);

(D)ints=36;

while(s);

--s;

6.假定a和b为int型变量,则执行下述语句组后,b的值为(D 

)。

a=1;

b=10;

b-=a;

A

a++;

}while(b--<

0);

(A)9 

(B)-2 

(C)-1 

(D)8

7.设有变量说明语句

int 

a=1,b=0;

则执行以下程序段的输出结果为( 

switch 

(a)

case1:

(b)

case0:

**0**"

break;

**1**"

case2:

**2**"

(A)**0** 

(B)**0****2** 

(C)**0****1****2** 

(D)有语法错误

8.以下合法的数组说明是( 

(A)chara[7]="

string"

(B)inta[5]={0,1,2,3,4,5};

(C)chara="

(D)INTa[]={0,12,3,4,5};

9.下述程序代码中有语法错误的行是( 

inti,ia[10],ib[10];

/*第1行*/

=9;

i++) 

/*第2行*/

ia[i]=0;

/*第3行*/

ib=ia;

/第4行*/

(A)第1行 

(B)第2行 

(C)第3行 

(D)第4行

10.若已定义

inta[9],*p=a;

并在以后的语句中未改变p的值,则不能表示a[1]地址的表达式是( 

(A)p+1 

(B)a+1 

(C)a++ 

(D)++p

11.若有下述说明和语句

int**pp,*p,a=10,b=20;

pp=&

p;

p=&

a;

b;

%d,%d\n"

*p,**pp);

则输出结果是( 

(A)10,10 

(B)10,20 

(C)20,10 

(D)20,20

12.执行下述程序后的输出结果是( 

func(inta)

intb=0;

staticintc=3;

a=c++,b++;

return(a);

inta=2,i,k;

fori=0;

2;

k=func(a++);

k);

(A)3 

(B)0 

(C)5 

(D)4

13.执行下述程序的输出结果是( 

intaa[3][3]={{2},{4},{6}};

inti,*p=&

aa[0][0];

if(i==0)

aa[i][i+1]=*p+1;

else

++p;

%d"

*p);

(A)23 

(B)26 

(C)33 

(D)36

14.读下面的程序,正确的输出结果是( 

staticinta=50;

voidf1(inta)

%d,"

a+=10);

voidf2(void)

a+=3);

voidmain()

inta=10;

f1(a);

f2();

a);

(A)60,63,60 

(B)20,23,23 

(C)20,13,10 

(D)20,53,10

15.执行下述程序的输出结果是( 

intpower(intx,inty);

floata=2.6,b=3.4;

intp;

p=power((int)a,(int)b);

p);

intpower(intx,inty)

inti,p=1;

for(i=y;

i>

0;

i--)

p=p*x;

return(p);

(A)8 

(B)9 

(C)27 

(D)81

16.已知函数scopy的定义如下

voidscopy(char*s,char*t)

while(*s++=*t++);

则该函数的功能是( 

(A)串复制 

(B)求串长度 

(C)串比较 

(D)串反向

17.执行下述程序的输出是( 

structcomplex

intre;

intim;

structcomplexcp[3]={2,5,4,7};

cp[2].re=cp[0].re+cp[1].re;

cp[2].im=cp[0].im+cp[1].im;

%d%d\n"

cp[2].re,cp[2].im);

}

(A)711 

(B)612 

(C)99 

(D)126

18.执行下述程序的输出结果是( 

union

chari[2];

*s,a;

s=&

s->

i[0]=0x39;

i[1]=0x38;

%x\n"

s->

k);

(A)cccc3839 

(B)3938 

(C)380039 

(D)390038

19.有以下程序,则结果为B。

structabc

{inta,b,c;

structabcs[2]={{1,2,3},{4,5,6}};

intt;

  

t=s[0].a+s[1].b;

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

A)5   B)6  C)7  D)8

20.以下程序for语句循环体中printf语句执行次数是( 

#defineN2

#defineMN+1

#defineNUM(M+1)*M/2

inti;

=NUM;

(A)5 

(B)6 

(C)8 

(D)9

三、程序分析题(每题5分,共30分)

1.阅读程序,写出执行该程序的输出结果。

chars[]="

pressakey."

charch;

(ch=s[i])!

='

\0'

switch(ch)

case'

p'

:

k'

putchar(ch-32);

continue;

'

putchar('

*'

.'

!

'

default:

putchar(ch);

putchar('

\n'

Press*A*Key!

2.阅读程序,写出执行该程序的输出结果。

#defineN5

inta[N][N];

N;

for(j=0;

j<

j++)

=j)

a[i][j]=1;

a[i][j]=a[i][j-1]+1;

a[i][j]);

不输出任何结果

3.阅读程序,写出执行该程序的输出结果

intm[5],n[5],*px,*py,k;

px=m;

py=n;

for(k=1;

k<

4;

k++,px++,py++)

*px=k;

*py=2*k;

%d,%d"

m[k-1],n[k-1]);

px=&

m[1];

py=&

n[1];

k++)

*px+=k;

*py*=k;

%d,%d,"

*px++,*py++);

1,22,43,6

3,4,4,8,

4.阅读程序,写出执行该程序的输出结果。

voidf(inty)

staticinti=5;

intj=3;

j++;

%d%d%d=%d\n"

i,j,y,i+j+y);

i*=2;

intx;

for(x=1;

x<

+3;

++x)

f(x);

541=10

1042=11

5.阅读下列程序,写出程序运行的输出结果。

{chara[20]={"

1A2B3C"

},b[20],*p1,*p2;

p1=a,p2=b;

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

当前位置:首页 > 小学教育 > 语文

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

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