C语言模拟题Word下载.docx

上传人:b****1 文档编号:5253495 上传时间:2023-05-04 格式:DOCX 页数:23 大小:24.37KB
下载 相关 举报
C语言模拟题Word下载.docx_第1页
第1页 / 共23页
C语言模拟题Word下载.docx_第2页
第2页 / 共23页
C语言模拟题Word下载.docx_第3页
第3页 / 共23页
C语言模拟题Word下载.docx_第4页
第4页 / 共23页
C语言模拟题Word下载.docx_第5页
第5页 / 共23页
C语言模拟题Word下载.docx_第6页
第6页 / 共23页
C语言模拟题Word下载.docx_第7页
第7页 / 共23页
C语言模拟题Word下载.docx_第8页
第8页 / 共23页
C语言模拟题Word下载.docx_第9页
第9页 / 共23页
C语言模拟题Word下载.docx_第10页
第10页 / 共23页
C语言模拟题Word下载.docx_第11页
第11页 / 共23页
C语言模拟题Word下载.docx_第12页
第12页 / 共23页
C语言模拟题Word下载.docx_第13页
第13页 / 共23页
C语言模拟题Word下载.docx_第14页
第14页 / 共23页
C语言模拟题Word下载.docx_第15页
第15页 / 共23页
C语言模拟题Word下载.docx_第16页
第16页 / 共23页
C语言模拟题Word下载.docx_第17页
第17页 / 共23页
C语言模拟题Word下载.docx_第18页
第18页 / 共23页
C语言模拟题Word下载.docx_第19页
第19页 / 共23页
C语言模拟题Word下载.docx_第20页
第20页 / 共23页
亲,该文档总共23页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

C语言模拟题Word下载.docx

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

C语言模拟题Word下载.docx

int 

a=2,*p;

float 

x=1,y=2;

char 

e=‘w’;

则以下用法不正确的是( 

printf("

%c"

e+a);

p=&

x;

a*=y+x;

x=y=e;

9.intx=20;

printf("

%d\n"

~x);

以上程序片段的输出是( 

235

-21

-20

-11

10.在C语言中,要求运算数必须是整型的运算符是( 

/

++

!

=

%

11.若有定义:

inta=7;

floatx=2.5,y=4.7;

则表达式x+a%3*(int)(x+y)%2/4的值是(结果保留两位小数)( 

2.50

2.75

3.50

0.00

12.以下运算符中优先级最低的是( 

&

||

|

13.设有定义语句:

charc1=1,c2=1;

则以下表达式中值为零的是( 

c1^c2

c1&

c2

~c2

c1|c2

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

#include<

stdio.h>

voidmain()

{

unsignedchara,b;

a=0x0a|3;

b=0x0a&

3;

%d%d\n"

a,b);

}( 

211

112

713

D:

137

15.如果inti=4,则printf("

%d"

-i--)的输出结果是( 

),i的值是( 

-4 

3

-3 

4

16.若x=2,y=3则x&

y的结果是( 

5

17.下列程序的输出是( 

main()

{intx;

(x=3*5,x*2,x+10));

}

15

25

30

40

18.若x,i,j和k都是int型变量,则计算下面表达式后,x的值为( 

x=(i=4,j=16,k=32)

16

32

其他值

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

7

8

20.以下程序运行后的输出结果是( 

{inta,b;

a=50;

b=90;

(a,b));

90

5090

50

其他

21.以下程序的运行结果是( 

inta=4;

charch=‘a’;

printf("

(a&

2)&

(ch>

‘A’));

22.以下程序的输出是:

( 

main( 

) 

{inti,j=4;

for(i=j;

i<

=2*j;

i++)

switch(i/j)

case0:

case1:

*"

);

break;

case2:

#"

*###

**##

***#

****#

23.有如下程序片段:

inti=0;

while(i++<

=2);

i--);

则正确的执行结果是:

( 

以上都不是

24.有以下程序段

{inti=1,sum=0,n;

scanf(“%d”,&

n);

do

i+=2;

sum+=i;

}while(i!

=n);

printf(“%d”,sum);

若使程序的输出值为15,则应该从键盘输入的n的值是( 

25.

以下程序的输出是( 

#include<

voidfun(int*p)

{

inta=10;

p=&

a;

++a;

}

voidmain()

inta=5;

fun(&

a);

a);

}

10

11

26.以下关于函数的说法中正确的是( 

定义函数时,形参类型说明可放在函数体内

return语句后边的值不能为表达式

如果函数类型与返回值类型不一致,以函数类型为准

如果形参与实参的类型不一致,以实参为准

27.已知有定义:

int*p();

则以下说法正确的是( 

指向int型的指针变量

int型的指针数组

一个函数,该函数的返回值是指向int型的指针变量

一个指向函数的指针变量,该函数的返回值为int型

28.若有如下程序:

voids(char*m,intn)

*m=*m+3;

n=n+3;

  printf("

%c,%c,"

*m,n);

charp=‘b’,q=‘B’;

  s(&

q,p);

%c,%c\n"

p,q);

}则程序运行后的输出结果是( 

E,e,b,E

e,E,b,F

E,e,e,E

e,E,b,E

29.C语言规定函数返回值的类型由( 

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

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

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

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

30.要在c语言中求正弦30度的值,可以调用库函数,可用格式为( 

sin(30)

sin(30.0)

sin((double)30)

sin(3.1415/6)

31.在C语言程序设计中,简单变量作为实参时,它和对应形参之间的数据的传递方式是( 

地址传递

单向值传递

由实参传给形参,再由形参传给实参

由用户指定传递方式

32.以下程序的输出为( 

inta=2;

intf(int*a)

return(*a)++;

ints=0;

{inta=5;

s+=f(&

a,s);

27

210

37

311

33.以下程序输出结果是( 

int*fun()

inta[4],k;

for(k=0;

k<

4;

k++)a[k]=k;

return(a);

{int*p,j;

p=NULL;

p=fun();

for(j=0;

j<

j++){printf("

*p);

p++;

输出0000

B:

输出0123

输出1111

输出不确定值

34.以下程序的运行结果是( 

voidfun(int*n)

staticintm=2;

*n*=m-1;

m+=2;

staticintm=1;

inti;

for(i=1;

i<

i++)

m);

m);

35.下面对typedef的叙述中不正确的是( 

用typedef可以定义各种类型名,但不能用来定义变量

typedef和#define都是在预编译时处理的

用typedef只是将已存在的类型用一个新的标识符来代表

使用typedef有利于程序的通用和移植

36.要使用内存分配函数malloc,需要引入的头文件是( 

stdio.h

stdlib.h

malloc.h

memory.h

37.以下宏定义中,不会引起二义性的宏个数为( 

1)#definePOWER(x)x*x

2)#definePOWER(x)(x)*(x)

3)#definePOWER(x)(x*x)

4)#definePOWER(x)((x)*(x))

1个

2个

3个

4个

38.若有二维数组定义语句:

inta[4][5];

则下面对元素a[2][3]不正确的引用方式是( 

*(&

a[2][3])

*(a+5*2+3)

*(a[2]+3)

*(*(a+2)+3)

39.若二维数组定义为a[m][n],则在a[i][j]之前的元素个数为( 

j*m+i

i*m+j

i*m+j-1

j*m+i-1

40.有字符数组a[10]={‘A’,‘\0’}和b[10]={‘B’},则以下正确的输出语句是( 

puts(a,b);

%s%s\n"

a[],b[]);

putchar(a,b);

puts(a);

puts(b);

41.下列程序的输出结果是( 

string.h>

charp1[20]="

abcd"

p2[20]="

ABCD"

;

charstr[50]="

xyz"

strcpy(str+2,strcat(p1+2,p2+1));

%s\n"

str);

xyabcAB

abcABz

Ababcz

xycdBCD

42.以下程序执行后输出结果是( 

chara[]="

movie"

b[10]="

sizeof(a),sizeof(b));

55

66

610

1010

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

char*p[10]={"

abc"

"

aabdfg"

dcdbe"

abbd"

cd"

};

strlen(p[4]));

编译出错

44.已知有以下的说明,

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

那么a[*(a+a[3])]的值为( 

45.以下程序输出结果是( 

#include 

<

 

inta[2][2]={1,2,3,4},(*p)[2];

p=a;

p++;

**p);

以上都不对

46.设charch,str[4],*strp;

则正确的赋值语句是( 

ch="

CBA"

str="

strp="

*strp="

47.下面程序的运行结果是( 

fun(char*w,intn)

{chart,*s1,*s2;

s1=w;

s2=w+n-1;

while(s1<

s2){t=*s1++;

*s1=*s2--;

*s2=t;

{char*p;

p="

1234567"

fun(p,strlen(p));

puts(p);

7654321

1714171

1711717

7177171

48.以下程序的输出是()。

main(){

chara[]="

language"

*p;

p=a;

while(*p!

=‘u’){printf("

*p-‘u’+‘U’);

LANGUAGE

language

LANG

LANGuage

49.structs1

chara[3];

int 

num;

}t={‘a’,‘b’,‘x’,4},*p;

t;

则输出为x的语句是( 

printf(“%c\n”,p->

t.a[2]);

printf(“%c\n”,(*p).a[2])

a[3]);

printf(“%c\n”,(*p).t.a[2]);

50.以下程序的输出是( 

structst

{intx;

inty;

}cnum[2]={1,3,2,7};

cnum[0].y/cnum[0].x*cnum[1].x);

51.以下对age的非法引用是( 

struct 

student

{intage;

intnum;

}stu1,*p;

stu1;

stu1.age

student.age

p->

age

(*p).age

52.以下程序的输出是( 

unionmyun

{struct

{intx,y,z;

}u;

intk;

}a;

{a.u.x=4;

a.u.y=5;

a.u.z=6;

a.k=0;

a.u.y);

53.若要用fopen函数打开一个二进制文件,该文件要既能读也能写,当文件不存在时新建文件,则文件打开方式字符串应是( 

ab+"

rb+"

wb+"

ab"

54.若执行fopen函数时发生错误,则函数的返回值是( 

地址值

EOF

55.要打开文件c:

\user\text.txt用于追加数据,正确的语句是( 

fp=fopen("

c:

\turboc2\abc.txt"

r"

\\turboc2\abc.txt"

\\turboc2\\abc.txt"

a+"

56.在执行fopen函数时,ferror函数的初值是( 

TRUE

-1

57.#include 

char*s1="

Hello"

*s2="

Beijing"

FILE*pf=fopen("

abc.dat"

fwrite(s2,7,1,pf);

fseek(pf,-1,SEEK_CUR);

fwrite(s1,5,1,pf);

fclose(pf);

以上程序执行后,文件abc.dat中的内容为( 

Hellong

BeijingHello

BeijinHello

Hello

58.若fp为文件指针,且文件已正确打开,i为整型数据,以下语句的输出结果是( 

fseek(fp,0,SEEK_END);

i=ftell(fp);

i=%d\n"

i);

fp所指的文件记录长度

fp所指的文件长度,以字节为单位

fp所指的文件长度,以比特为单位

fp所指的文件当前位置,以字节为单位

59.函数调用语句:

fseek(fp,-20L,2);

的含义是( 

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

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

将文件位置指针从文件末尾处后退20个字节

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

60.若将文件指针的读写位置指针移动到距离文件头200个字节的位置,对应正确的操作是( 

fseek(fp, 

200,SEEK_SET)

200, 

SEEK_CUR)

200,SEEK_END)

ftell(200)

多选题(共20题,每题2分,共40分)

1.关于以下运算,说法正确的有( 

设有宏定义"

#defineF(N)2*N"

则表达式F(2+3)的值是10

设intx=4;

则执行语句x+=x*=x+1;

后,x的值为40

设inta,b=8;

执行a=b<

<

2+1;

后a的值是33

设inta[3][4],*p=a[1];

该指针变量p指向的元素是a[1][0]

2.有以下定义:

chara[10],*b=a;

则能给a数组输入字符串的语句有( 

gets(a);

gets(a[0]);

gets(&

a[0]);

gets(b);

3.要求函数的功能是在一维数组a中查找x值。

若找到,则返回所在的下标值;

否则,返回0。

设数据放在数组元素的a[1]到a[n]中。

在以下给出的函数中,不能正确执行此功能的函数有( 

funa(int*a,intn,intx)

{

*a=x;

while(a[n]!

=x)n--;

returnn;

funb(int*a,intn,intx)

intk;

for(k=1;

k<

=n;

k++)

if(a[k]==x)returnk;

return0;

func(inta[],intn,intx)

int*k;

a[0]=x;

k=a+n

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

当前位置:首页 > PPT模板 > 商务科技

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2