2025年C语言试题库_第1页
2025年C语言试题库_第2页
2025年C语言试题库_第3页
2025年C语言试题库_第4页
2025年C语言试题库_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

选择题

1.如下选项中属于C语言的数据类型是()

A、复数型B、逻辑型C、双精度型D、集合型

2.在C语言中,不对的的int类型的常数是()

A、32768B、0C、037D、OxAF

3.设有阐明语句:chara=''72';则变量a()

A、包括1个字符B、包括2人字符C、包括3个字符D、阐明不合法

4.如下所列的C语言常量中,错误的是()

A、OxFFB、1.2e0.5C、2LLk'\72'

5.如下选项中合法的字符常量是()

A、"B"B、AOIO'C、-268D、D

6.在C语言中,合法的长整型常数是()

A、0LB、4962710C、324562&D、216D

7.下列标识符中,合法的标识符是()

A、-abclB、labcC、abclD、for

8.C语言程序的基本单位是(:

A、语句B、程序行C、函数D、字符

9.如下论述对的的是<)

A、可以把define和if定义为顾客标识符

B,可以把define定义为顾客标识符,但不能把if定义为顾客标识符

C、可以把if定义为顾客标识符,但不能把define定义不顾客标识符

D、define和if都不能定义为顾客标识符

10.如下论述对的的是()

A、可以把define和if定义为顾客标识符

B、可以把define定义为顾客标识符,但不能把if定义为顾客标识符

C、可以把if定义为顾客标识符,但不能把define定义为顾客标识符

D、define和if都不能定义为顾客标识符

11.有如下程序

longfib(intn)

{if(n>2)return(fib(n-1)+fib(n-2));

elsereturn(2):

)

main()

{printf(*%d\n*»fib(3));

该程序的输出成果是()

A、2B、4C、6D、8

12.在C语言中,函数的隐含存储类别是()

A、autoB、staticC、externD、无存储类别

13.如下所列的各函数首部中,对的的是()

Asvoidplay(var:Integer,varb:Integer)

B、voidplay(inta,b)

C^voidplay(inta,intb)

D、Subplay(aasinteger,basinteger)

14.在C程序中,可把整型数以二进制形式寄存到文献中的函数是()

A、fprintf函数B、fread函数C、fwrite函数D、fputc区数

15.若fp是指向某文献的指针,且已读到此文献末尾,则库函数feof(fp)的返回值是()

A、EOFB、0C、非零值D、NULL

16.若要打开A盘上的user子目录下名为abc.lxt的文本文献进行读、写操作,下面符合此规定的函数调

用是()

A、fopen(wA:\user\abc.lxtw»*r*)B、fopen(*A:\user\abc.txt'7,"r+”)

C、fopen(*A:\user\abc.txt"»"rb")D、fopen("A:\user\abc.txt","w")

17.如下程序的输出成果是()

A、0B、29C、31Lk无定值

fun(intx,inty,intz)

{z=x*x+y*y;}

main()

{inta=31:

fun(5»2,a):

printfa);

)

18.当调用函数时,实参是一种数组名,则向函数传送的是()

A、数组的长度B、数组的首地址

C、数组每一种元素的地址D、数组每个元素中的值

19.如下只有在使用时才为该类型变量分派内存的存储类阐明是()

A、auto和staticB、autoregister

C、register和staticD、extern和register

20.如下程序的输出成果是()

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

longfun(intn)

{longs:

if(n==1||n==2)s=2;

elses=n-fun(n-l)

returns;}

main()

{printf(飞ld\n”,fun(3)):}

21.如下程序的输出成果是()

main()

{intnum=0;

while(num<=2)

{num++;

printfnum):

)

A、1B、1C、1D、1

222

1.3

4

22.如下程序的输出成果是()

intf()

{staticinti=0;

ints=l:

s+=i:i++;

returns:

)

main()

{inti,a=0;

for(i=0:i<5:i++)a+=fO:

printf(*%d\n*,a):

)

A、20B、24C、25D、15

23.如下程序的输出成果是()

f(intb[],intm,intn)

{inti,s=0;

for(i=m:i<n;i=i+2)s=s+b[i]:

returns;

)

main()

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

x=f(a.3»7);

printf(飞d\n",x);

)

A、10B、18C、8D、15

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

AsGB、HC、ID、J

main()

(

intx='f>;

printf(*%c\n",'A'+(x」a'+D);

)

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

A、-32767B、FFFEC、-1D、-32768

main()

(

intx=0xFFFF;

printf(*%d\n*»x-);

)

26.语句printf("a\bre\'hiYy\\\bou'n"):的输出成果是()

A、aXbreX*hi\*y\\\bouB、a\bre\'hi\'y\bou

C、rc'hi'youD、abrcthify\bou(阐明:'\b'是退格符)

27.有如下程序

main()

main()

{charx=040:

printf(*%o\nw,X<<1):

)

A、100B、80C、64D、32

36.若有.阐明语句:inia,b,c,*d=&c;,则能对的从键盘读入三个整数分别赋给变量a、b、c的语句

是()

A、scanf(*%d%d%d*»&a,&b,d);B、scanf&a,&b,&d);

C,scanfa.b.d):D、scanf(*%d%d%d*,a,b.*d):

37.如下程序的输出成果是()

main()

{inta=5,b=4,c=6,d:

prinlf("细\n",d=a>b(a>ca:c):(b));

)

A、5B、4C、6D、不确定

38.设x,y,z和k都是int型变量,则执行体现式:x=(y=4,z=16,k=32)后,x的值()

A、4B、16C、32D、52

39.当c的值不为0时,在下列选项中能对的将c的值赋给变量a、b的是()

Asc=b=a:B、(a=c)|(b=c):

C、(a=c)&&(b=c);D、a=c=b;

40.能对的表达a和b同步为正或同步为负的逻辑体现式是()

A、(a>=0||b>=0)&&(a<0||b<0)

B、(a>-0&&b>=0)&&(a<0&&b<0)

C、(a+b>0)&&(a+b<=0)

D、a*b>0

41.语句:printfC%dM,(a=2)&&(b=-2));的输出成果是()

A、无输出B、成果不确定C、-1D、1

42.设有intx=ll:则体现式(x++*1/3)的值是()

A、3B、4C、11D、12

43.设intx=l,y=l;体现式(!x||y-)的值是()

A、0B、IC、2D、-1

44.C语言中运算对象必须是整型的运算符是()

A、%=B、/C、=D、仁

45.若已定义x和y为double类型,则体现式x=Ly=x+3/2的值是()

A、1B、2C、2.0D、2.5

46.若有如下程序段

intcl=l,c2=2,c3;

c3=l.0/c2*cl;

则执行后,c3中的值是()

A、0B、0.5C、1D、2

47.能对的表达逻辑关系:“a》10或a《0”的C语言体现式是()

A、a>=10ora<=0B、a>=0|a<=10C、a>=10&&a<=0D、a>=10IIa<=0

48•下程序的输出成果是()

A、-11B、0IC、10D、00

main()

{inta=-1.b=l»k:

if((++a<0)&&!(b—<=0))printf(*%d%d\n”,a,b):

else

printf(*%d%d\n*,b,a);

)

49.若有定义:floatw:inta,b:则合法的switch语句是()

A、switch(w)B、switch(a)

{case1.0:pi'intf(**\n*):{case1printf(w*\n*):

case2.0:printf("*=1t\rT);case2printf;

C、switch(b)D、switch(a+b)

{case1:printf(**\n*);{case1:printf(**\n*);

default:printf(w\n*):case2:printf(***\n*):

case1+2:printfC**\n*);default:printf(*\n*);

50.如下程序

main()

{intx=l,a=0,b=0:

switch(x)

{case0:b++:

case1:a++:

case2:a++;b++;

)

printf(*a=%d,b=%d\nM,a,b):

)

该程序的输出成果是()

A^a=2,b=lB、a=l,b=lC、a=l,b=0D、a=2,b=2

51.有如下程序

main()

{floatx=2.0,y:

if(x<0.0)y=0.0;

elseif(x<10.0)y=l.0/x:

elsey=l.0;

printfy);}

该程序的输出成果是()

A、0.000000B、0.250000C、0.500000D、1.000000

52.有如卜.程序

main()

{inta=2,b=-l,c=2:

if(a<b)

if(b<0)c=0:

elsec++:

printf(*%d\n*»c);

)

该程序的输出成果是()

53.若执行如下程序时从键盘上输入9,则输出成果是()

A、11B、10C、9D、8

main()

{intn;

scanf(飞d”,&n):

if(n++<10)printf(*%d\n*,n):

elseprintf(*%d\n*.n­):

)

54.阅读如下程序:

main()

{intx;

scanf(飞d”,&x):

if(x一<5)printfx);

elseprintfx++);}

程序运行后,假如从键盘上输入5,则输出成果是()

A、3B、4C、5D、6

55.如下论述对的的是()

1.do-while语句构成的循环不能用其他语句构成的循环替代。

2.do-while语句构成的循环只能用break语句退出。

3.用do-while语句构成的循环,在while后的体现式为非零时结束循环。

4.用do-while语句构成的循环,在while后的体现式为零时结束循环。

56.如下程序的输出成果是()

A、10,I9,2B、9,87,6C、10,99,0D、10,109,1

main()

{intx=10,y=10,i;

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

printf(H%d,%d”,x—,y):

)

57.如下程序的输出成果是()

A、20B、31C、321D、210

main()

{intn=4:

while(n-)printf(飞d”,—n);

}

58.如下程序的输出成果是()

A、B、#####C、*****D、*#***

main()

{inti:

for(i=l:i<6;i++)

{if(i%2){printf(*#*)scontinue;}

printf("*"):

)

printf(*\n*);

)

59.如下程序的输出成果是()

A^编译不通过,无输出B、aceg

C、acegiD、abcdefghi

main()

{inti;

for(i=,A>:i<*I>:i++.i++)printfi+32):

printf(*\n*);

)

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

A、3B、2C、1D、0

main()

{inti,j;

for(i=0»j=l;i<=j+l;i+=2»j—)printf(*%d\n*»i);

)

61.如下程序段的执行成果是()

Asa=12y=12B、a=12y=12

a=14y=16a=16y=28

a=16y=20a=18y=24

C、a=12y=12D、a=12y=12

a=14y=26a=14y=44

inta,y:

a=10:y=0:

do

{a+=2;y+=a;

printf(*a=%dy=%d\n*,a.y):

if(y>20)break;

}while(a=14);

62.有如下程序

main()

{inti,sum:

for(i=l:i<=3;sum++)sum+=i;

printfsum):

该程序的执行成果是()

A、6B、3C、死循环D、0

63.有如下程序

main()

{intx=23:

do

{printfx—);}while(!x);}

该程序的执行成果是()

A、321B、23C、不输出任何内容D、陷入死循环

64.有如下程序

main()

{intn=9;

while(n>6){n―:printfn);}

)

该程序段的输出成果是()

A、987B、876C、8765D、9876

65.有如下程序段

intk=0:

while(k=l)k++:

while循环执行的次数是()

A、无限次B、有语法错,不能执行C、一次也不执行D、执行1次

66.如下程序执行后sum的值是()

1.15B.14C、不确定D、0

min()

{inti,sum;

for(i=l:i<6;i++)sum+=i;

printfsum);

)

67.有如下程序段

intx=3;

do

{printfx-=2);}while(!(—x)):}

其输出成果是()

A、1B、30C、1-2D、死循环

68.t为int类型,进人下面的循环之的,t的值为0()

while(t=l)

{……}

则如下论述中对的的是

A、循环控制体现式的值为0B、循环控制体现式的值为I

C、循环控制体现式不合D、以上说法都不对

69.如下循环中,喟hile循环的次数是()

main()

{inti=0;

while(i<10)

{if(i<l)continue;

if(i==5)break:

i++;

)

}

As1B、10C、6D、死循环,不能确定次数

70.如下程序的输出成果是()

main()

{inta=0,j:

for(j=0:j<4;j++)

{switch(j)

{case0:

case3:a+=2:

case1:

case2:a+=3:

default:a+=5:

)

)

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

)

A、36B、13C、10D、20

71.下列程序的输出成果是()

A、非法B、a[4]的地址C、5D、3

main()

{chara[10]={9,8,7,6,5,4,3,2,1,0},*p=a+5;

printf("%d",*—p);}

72.有如下程序段

inta=14,b=15,x;

charc='A';

x=(a&&b)&&(c<,B,);

执行该程序段后,x的值为()

A、tureB、falseC、0D、1

73.下列描述中不对的的是()

1.字符型数组中可以寄存字符串

2.可以对字符型数组进行整体输入、输出

3.可以对整型数组进行整体输入、输出

4.不能在赋值语句中通过赋值运算符"="对字符型数组进行整体赋值

74.执行下面的程序段后,变直1<中的值为()

A、不定值B、33C、30D、10

Inik=3,s[2]:

s[0]=k;k=s[l]*10;

75.设有■数组定义:chararray[]=*China*:则数组airay所占的空间为()

A、4个字节B、5个字节C、6个字节D、7个字节

76.有如下程序

main()

{intn[5]={0»0,0},i.k=2:

for(i=0:i<k;i++)n[i]=n[i]+l;

printf(*%d\n*,n[k]);

该程序的输出成果是()

A、不确定的值B、2C、1D、0

77.若有如下的定义:intt[3][2];能对的表达t数组元素地址的体现式是()

A、&t[3][2]B、t[3]C、t[l][2]D、t[2]

78.有如下程序

main()

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

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

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

printf(*%d\nw,s):

该程序的输出成果是()

A、18B、19C、20D、21

79.如下程序的输出成果是()

A、20B、21C、22D、23

main()

{inti,k,a[10],p[3];

k-5;

for(i=0:i<10;i++)a[i]=i;

for(i=0;i<3;i++)p[i]=a[i*(i+l)];

for(i=0;i<3:i++)k+=p[i]*2:

printf(飞d\n",k);

80.如下程序的输出成果是()

A、1,5,9,B、1,4,7,C、3,5,7,D、3,6,9,

main()

{inti,x⑶⑶={1,2,3,4,5,6,7,8,9);

for(i=0:i<3:i++)printf(*%d,*,x[i][2-i]);

}

81.如下程序的输出成果是()

AsABCDB、ABCDC、EFGD、EFGH

FGHEFGJKIJKL

KLIJ0

M

main()

{charw[][10]={"ABCD","EFGH","IJKL","MNOP"},k;

for(k=l:k<3;k++)printf(*%s\n<»w[k]);

82.当执行下面的程序时,假如输入ABC,则输出成果是()

AsABC6789B、ABC67C、123-45ABC6D、ABC456789

#include"stdio.h"

trinclude"string"

main()

{charss[10]=*l,2,3,4,5”;

gets(ss):strcat(ss,"6789"):printf("治s\n",ss);

)

83.如下程序段的输出成果是()

chars[]=*\\141\141abc\tw;

printf(*%d\n*,strlen(s)):

As9B、12C、13D、14

84.若有定义:intaa[8];。则如下体现式中不能代表数组元素aa[l]的地址的是()

A、&aa[O]+lB、&aa[l]C、&aa[O]++D、aa+1

85.加下程序的输出成果是()

main()

{charcf[3][5]={*AAAA\*BBB\*CC'}:

printf(*\*%s\*\n*,ch[l]);

)

A、"AAAA"B、"BBB"C、"BBBCC"D、"CC"

86.如下不能对的进行字符串赋初值的语句是()

A^charstr[5]="good!”;B、charstr[]="good!":

C、char*str=*good!*;D、charstr[5]={'g','o','o','d'};

87.如下程序的输出成果是()

main()

{intb[3][3]={0,1,2,0,1,2,0,1,2},i,j,t=l;

for(i=0:i<3:i++)

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

t=t+b[i][b[j][j]];

printf(飞d\n”,t):

)

A、3B、4C、1D、9

88.如下程序的输出成果是()

A、52B、51C、53D、97

Main()

{intI,x[3][3]={9,8,7,6,5,4,3,2,1},*p=&x[l][l];

for(1=0:I<4;I+=2)printf(H%d0,p[I]):

)

89.如下程序的输出成果是()

A、6B、6789C、'6'D、789

main()

{char'2','3','4','5','6','7','8','9',0},*p;

inti;

i=8;

p=a+i;

printf(*%s\n*,p-3):

)

90.如下程序的运行成果是()

A、运行后报错B、66C、612D、55

#include"stdio.h"

main()

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

int*p=a+5,*q=NULL:

*q=*(p+5):

printf(*%d%d\n*,*p,*q);

)

91.若已定义:inta[9],*p=a;并在后来的语句中未变化p的值,不能表达a[l]地址的体现式是()

A、p+1R、a+1C、a++D、++p

92.若有阐明:long*p.a:则不能通过scanf语句对的给输入项读入数据的程序段是()

A、*p=&a:scanf(飞Id”,p);

B,p=(long*)malloc(8):scanfp):

C、scanfp=&a):

D、scanf(飞Id",&a);

93.若有如下的阐明和语句,则在执行for语句后,*(*(pt+l)+2)表达的数组元素是()

A、t[2][0]B,t[2][2]C、t[l][2]D、t[2][l]

intt[3][3]>*pt([3]»k:

for(k=0:k<3:k++)pt[k]=ftt[k][0];

94.下面程序把数组元素中的最大值放入忒0]中,则在if语句中的条件体现式应当是()

A、p>aB、*p>a[0]C^*p>*a[0]D、*p[0]>*a[0]

main()

{inta[10]={6,7,2,9,1,10,5,8,4,3},*p=a,i:

for(i=0:i<10;i++,p++)

if()*a=*p;

printf*a);

)

95.如下程序的输出成果是()

A、B、123456780C、12345678D、147

main()

{charch[3][4]={*123*»"456”,*78*),*p[3];inti:

for(i=0:i<3;i++)p[i]=ch[i];

for(i=0;i<3;i++)printfp[i]):

)

96.有如下函数

charfun(char*p)

{returnp;}

该函数的返回值是()

A、无确切的值B、形参p中寄存的地址值

C、一种临时存储单元的地址D、形参p自身的地址值

97.如下程序的输出成果是()

As4211B、0008C、4678D、8888

main()

{char*s=*12134211*;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论