C语言模拟试题Word文档下载推荐.docx

上传人:b****5 文档编号:19607702 上传时间:2023-01-08 格式:DOCX 页数:14 大小:18.85KB
下载 相关 举报
C语言模拟试题Word文档下载推荐.docx_第1页
第1页 / 共14页
C语言模拟试题Word文档下载推荐.docx_第2页
第2页 / 共14页
C语言模拟试题Word文档下载推荐.docx_第3页
第3页 / 共14页
C语言模拟试题Word文档下载推荐.docx_第4页
第4页 / 共14页
C语言模拟试题Word文档下载推荐.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

C语言模拟试题Word文档下载推荐.docx

《C语言模拟试题Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《C语言模拟试题Word文档下载推荐.docx(14页珍藏版)》请在冰豆网上搜索。

C语言模拟试题Word文档下载推荐.docx

default:

noway!

"

);

isone.istwo.way!

isway!

4.下面的程序将输出:

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

intk,j;

for(k=1;

k<

4;

k++)

a[k]++;

for(j=0;

j<

5;

j++)

%d"

a[j]);

3410341034003400

5.已知有下面两个变量,将数组a的第2个单元赋值为1的C语句是:

inta[10];

int*p;

p=a;

[2]=1;

[1]=1;

C.*(p++)=1;

D.*(++a)=1;

6.下面程序将输出:

voidadd(inta)

a++;

return;

intk;

k=;

add(k);

k);

A.B.C.3D.4

7.下列循环结构中,不是无限循环的是:

A.for(i=1,s=0;

;

i++)B.i=10;

s=s+i;

while

(1)

{i=i%10+1;

if(i>

10)break;

C.inti=0;

D.i=100;

do{++i;

}while(i>

=0);

while(++i%2)i++;

8.若已知inta[3][4],*p;

p=(int*)a;

那么对数组a的第2行第2列的正确引用是:

[2][2][5][5][1][1]

9.已知:

int(*p)[20];

且p的值是0X5000,请问表达式p+2的值是多少?

A.0X5050B.0X5002C.0X5004D.0X5040

10.若有说明inta[2][2];

那么,下面正确的C赋值语句是:

=2;

[1]=2;

[1]={1,2};

[0][1]=a[1][0];

11.设x为int型变量,则执行以下语句后,x的值为

x=10;

x+=x-=x-x;

A.10B.20C.40D.30

12.已知x=43,ch='

A'

y=0;

则表达式(x>

=y&

&

ch<

'

B'

!

y)的值是:

A.0B.语法错C.1D."

假"

13.下面能正确进行字符串赋值操作的语句是:

A.chars[5]={"

ABCDE"

B.chars[]={'

'

C'

D'

E'

C.char*s;

s="

ABCDEF"

D.char*s;

scanf("

,s);

14.已知:

inta[3][4],*p=&

a[0][0];

p+=6;

那么*p和_____的值相同.

A.(a+6)B.*(&

a[0]+6)C.a[2][2]D.*(&

a[0][0]+6)

15.设有以下说明和定义:

typedefunion{longi;

intk[4];

charc;

}DATE;

structdate{intcat;

DATEcow;

doubledog;

}too;

DATEmax;

则下列语句的执行结果是

printf("

sizeof(structdate)+sizeof(max));

A.26B.30C.18D.8

16.设有如下定义:

int*(*ptr)();

则以下叙述中正确的是

A.ptr是指向一维组数的指针变量

B.ptr是指向int型数据的指针变量

C.ptr是指向函数的指针,该函数返回一个int型数据

D.ptr是指向函数的指针,该函数的返回值是指向int型数据的指针

17.若二维数组a有m列,则在a[i][j]之前的元素个数为______

A.j*m+iB.i*m+jC.i*m+j-1D.i*m+j+1

18.以下程序运行后,输出结果是

A.13B.51C.11D.53

intd=1;

fun(intp)

{intd=5;

p=d;

p);

main()

{inta=3;

fun(a);

d=a;

%d\n"

d);

}

19.以下程序运行后,如果从键盘上输入ABCDE<

回车>

,则输出结果为

A.4B.7C.6D.5

#include<

>

func(charstr[])

{intnum=0;

while(*(str+num)!

='

\0'

)num++;

return(num);

main()

{charstr[10],*p=str;

gets(p);

func(p));

  }

20.执行以下程序段后,m的值为

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

intm,*p;

p=&

m=(*p)*(*(p+2))*(*(p+4));

A.15B.14C.13D.12

21.已知定义了两个结构体变量,下面是正确的语句是:

struct{intx;

charname[10];

floatmark;

}S1,S2;

A.S1={5,”yang”,};

B.S1=S2;

C.=;

=;

=;

D.strcpy(S1,S2);

22.下面这段程序运行的结果是:

inta=0x4145;

char*p;

p=(char*)&

a;

*p+=1;

printf(“%X”,*p);

A.46B.42

23.下面这段程序运行的结果是:

charstr[]=”%#X”;

inta=50;

printf(str,a++);

D.有语法错

24.下面哪个语句是函数的原型声明

A.int(*f)(inta,intb);

B.intf(inta,5);

C.intf(inta,intb);

D.intf(inta=5,intb=6);

25.已知inta=0XF11F,b;

执行完下面的操作后,a的值是多少?

b=(a&

0xFF00)>

A.0X0FF1B.0XF11FD.0XFFF1

26.有以下程序:

inta=2;

intf(int*a)

{return(*a)++;

{ints=0;

{inta=5;

s+=f(&

a);

s);

}

执行后输出结果是。

B.9

27.设有以下语句:

typedefstructS

{intg;

charh;

}T;

则下面叙述中正确的是。

A.可用S定义结构体变量B.可以用T定义结构体变量

是struct类型的变量 是structS类型的变量

28.有以下程序:

{unsignedchara,b;

a=4|3;

b=4&

3;

%d%d\n"

a,b);

A.70710

29.有以下程序

voidsort(inta[],intn)

{inti,j,t;

for(i=0;

i<

n-1;

i+=2)

for(j=i+2;

n;

j+=2)

if(a[i]<

a[j]){t=a[i];

a[i]=a[j];

a[j]=t;

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

sort(k,10);

10;

i++)printf("

%d,"

k[i]);

\n"

其输出结果是。

A.1,2,3,4,5,6,7,8,9,10,B.10,9,8,7,6,5,4,3,2,1,

C.9,2,7,4,5,6,3,8,1,10,D.1,10,3,8,5,6,7,4,9,2,

30.有以下程序:

voidf(inta[],inti,intj)

{intt;

if(i<

j)

{t=a[i];

a[i]=a[j];

f(a,i+1,j-1);

{inti,k[5]={1,2,3,4,5};

f(k,0,4);

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

二、阅读程序,将运行结果写在右边空白处(共2道题,每题5分,共10分)

程序1

#include<

intf(intn)

{staticints=1;

while(n)s*=n--;

returns;

{inti,j;

i=f(3);

j=f(5);

\nTheoutputis:

i=%d,j=%d\n"

i,j);

程序2

structdata_tag

intx;

structdata_tag*next;

};

typedefstructdata_tagDATA;

voidmain()

DATANode[5];

DATA*p;

inti;

clrscr();

i++)

Node[i].x=i*2+1;

Node[0].next=&

Node[3];

Node[3].next=&

Node[2];

Node[2].next=&

Node[4];

Node[4].next=&

Node[1];

Node[1].next=NULL;

p=Node;

while(p!

=NULL)

p->

x);

p=p->

next;

三、改错题(每道题有5个错,每改对一个给2分,共3道题,30分)

#include″″

inta,b;

scanf(″%d%d″,&

a,b);

f=float(a/b);

printf(″a/b=%d″,f);

intCompareInt(inta,intb)

if(a>

b)

return1;

elseif(a=b)

return0;

elseif(!

a>

=b)

return-1;

unsignedintk;

inputtwonumber,likethis"

12,13\"

:

scanf("

%d,%d"

&

a,&

b);

k=CompareInt(a,b);

switch(k)

%d>

case0:

%d=%d"

break;

case-1:

printf("

%d<

getch();

程序3

longStrToNum(char*str)

longresult=0;

k=0;

while(str[k]!

=0)

result=result*10+str[k];

returnresult;

char*str;

longl;

for(i=0,i<

6;

i++)

*(str+i)="

1"

+i;

l=StrToNum(str);

%ld"

l);

参考答案:

一、选择题

1~5CBDAB6~10CCBAD11~15BCCDA16~20DBDDA

21~25BACCB26~30CBACA

二、读程序写结果

TheOutputis:

i=6,j=720

17593

三、改错题(双下划线是修改后的错误之处)

程序1

floatf;

%d%d"

f=(float)a/b;

a/b=%f"

f);

elseif(a==b)

elseif(a<

intk;

inputtwonumber,likethis\"

result=result*10+str[k++]-'

0'

charstr[6];

for(i=0;

i<

*(str+i)='

1'

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

当前位置:首页 > 表格模板 > 表格类模板

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

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