C语言试题集.docx

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

C语言试题集.docx

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

C语言试题集.docx

C语言试题集

C语言题目

一选择题(50个)

1.在程序中可以用来作为变量名的合法的标识符是:

_______

AstaticB23_b1Cstu_1tD#33

2.下列运算符运算级别最高的是:

_________

A&&B+=C>=D!

3已知:

charstr1,str2[10];选择正确的输入语句:

________

Ascanf("%s%c",&str1,str2);Bscanf("%s%s",&str1,str2);

Cscanf("%c%c",&str1,str2);Dscanf("%c%s",&str1,str2);

4选择正确的运行结果:

_________

#include"stdio.h"

main()

{inta=1,b=10;

do{a++;

b-=a;

b--;

}while(b>0);

printf("a=%d,b=%d",a,b);

}

Aa=2,b=-1Ba=2,b=-2Ca=4,b=-1Da=4,b=-2

5.有一个二维数组s[3][4],其第2行第3列元素的正确表示是:

________

A*(*(s+2)+3)B*(s+2)+3Cs[2,3]Ds[3][2]

6.以下正确的描述是:

_________

Acontinue语句的作用是终止整个循环的执行。

Bcontinue语句的作用是结束本次循环的执行。

Ccontinue语句和break语句都可以在switch语句中使用。

Dbreak语句的作用是结束本次循环的执行。

7.假定x和y为double型,则表达式x=2,y=x+3/2的值是_____

A)3.500000B)3

C)2.000000D)3.000000

8.C语言规定,数组名做实参时,它和对应形参之间的数据传递方式是:

______

A用户指定传递方式B无传递

C单向值传递D地址传递

9若有以下说明语句:

structSTUDENT

{intnum;

charname[10];

floatcj;

}a1={1001,”liming”,97.5},*p=&a1;

不正确的输出语句是:

_________

Aprintf(“%f”,a1.cj);Bprintf(“%f”,p->cj);

Cprintf(“%f”,(*p).cj);Dprintf(“%f”,*p.cj);

10已知inta;则对指针变量正确的说明和初始化是:

________

Aint*p=a;Bintp=a;Cintp=&a;Dint*p=&a;

11.下列用于printf函数的控制字符常量中,代表"竖向跳格"的转义字符常量是______

A\bB\t

C\vD\f

12.设变量n为float类型,m为int类型,则以下能实现将n中的数值保留小数点后两位,第三位进行四舍五入运算的表达式是_________

An=(n*100+0.5)/100.0

Bm=n*100+0.5,n=m/100.0

Cn=n*100+0.5/100.0

Dn=(n/100+0.5)*100.0

13设x,y和z都是int型变量,且x=3,y=4,z=5,则下面表达式中,值为0的表达式是______

Ax&&y

Bx<=y

Cx||++y&&y-z

D!

(x)

14设有程序段

intk=10;

while(k=0)k=k-1;

则下面描述中正确的是________

Awhile循环执行10次

B循环是无限循环

C循环体语句一次也不执行

D循环体语句执行一次

15对表达式for(表达式1;;表达式3)可理解为_______

Afor(表达式1;0;表达式3)

Bfor(表达式1;1;表达式3)

Cfor(表达式1;表达式1;表达式3)

Dfor(表达式1;表达式3;表达式3)

16若有如下语句

intx=3;

do{printf("%d\n",x-=2);}

while(!

(--x));

则上面程序段________

A输出的是1

B输出的是1和-2

C输出的是3和0

D是死循环

17若变量a是int类型,并执行了语句:

a=‘A'+1.6;,则正确的叙述是__________

Aa的值是字符C

Ba的值是浮点型

C不允许字符型和浮点型相加

Da的值是字符‘A’的ASCII值加上1。

18以下程序段的输出结果是____________

inta=1234;

printf("%2d\n",a);

A12B34C1234D提示出错、无结果

19有以下程序

voidfun(inta,intb,intc)

{a=456,b=567,c=678;}

main()

{intx=10,y=20,z=30;

fun(x,y,z);

printf("%d,%d,%d\n",x,y,z);

}

输出结果是___________

A30,20,10

B10,20,30

C456,567,678

D678,567,456

20若有说明语句:

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

Ascanf("%d%d%d",&a,&b,d);Bscanf("%d%d%d",&a,&b,&d);

Cscanf("%d%d%d",a,b,d);Dscanf("%d%d%d",a,b,*d);

21若有说明:

inta[][4]={0,0};则下面不正确的叙述是________

A数组a的每个元素都可得到初值0

B二维数组a的第一维大小为1

C当初值的个数能被第二维的常量表达式的值除尽时,所得商数就是第一维的大小

D只有元素a[0][0]和a[0][1]可得到初值,其余元素均得不到确定的初值

22以下叙述正确的是_________

A可以把define和if定义为用户标识符

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

C可以把if定义为用户标识符,但不能把define定义为用户标识符

Ddefine和if都不能定义为用户标识符

23若定义:

inta=511,*b=&a;,则printf("%d\n",*b);的输出结果为__________

A无确定值Ba的地址C512D511

24以下程序的输出结果是_________

main()

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

printf("%d\n",d=a>b?

(a>c?

a:

c)b));

}

A5B4C6D不确定

25以下程序中,while循环的循环次数是___________

main()

{inti=0;

while(i<10)

{if(i<1)continue;

if(I==5)break;

i++;

}

......

}

A1B10

C6D死循环,不能确定次数

26以下程序的输出结果是__________

main()

{inta=0,i;

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

{switch(i)

{case0:

case3:

a+=2;

case1:

case2:

a+=3;

default:

a+=5;

}

}

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

}

A31B13C10D20

27以下程序的输出结果是_________

main()

{inta=4,b=5,c=0,d;

d=!

a&&!

b||!

c;

printf("%d\n",d);

}

A1B0C非0的数D-1

28有以下程序

main()

{chara[]={′a′,′b′,′c′,′d′,′e′,′f′,′g′,′h′,′\0′};inti,j;

i=sizeof(a);j=strlen(a);

printf("%d,%d\b",i,j);

}

程序运行后的输出结果是__________

A9,9B8,9

C1,8D9,8

29以下程序的运行结果是___________

#defineMIN(x,y)(x)<(y)?

(x):

(y)

main()

{inti=10,j=15,k;

k=10*MIN(i,j);

printf("%d\n",k);

}

A10B15

C100D150

30以下程序的输出结果是_________

intf()

{staticinti=0;

ints=1;

s+=i;i++;

returns;

}

main()

{inti,a=0;

for(i=0;i<5;i++)a+=f();

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

}

A20B24C5D15

31有如下程序

intfunc(inta,intb)

{return(a+b);}

main()

{intx=2,y=5,z=8,r;

r=func(func(x,y),z);

printf("%d\n",r);

}

该程序的输出的结果是___________

A12B13

C14D15

32若有以下程序

#include

voidf(intn);

main()

{voidf(intn);

f(5);

}

voidf(intn)

{printf("%d\n",n);}

则以下叙述中不正确的是________

A若只在主函数中对函数f进行说明,则只能在主函数中正确调用函数f

B若在主函数前对函数f进行说明,则在主函数和其后的其它函数中都可以正确调用函数f

C对于以上程序,编译时系统会提示出错信息:

提示对对f函数重复说明

D函数f无返回值,所以可用void将其类型定义为无值型

33有如下定义

structperson{charname[9];intage;};

structpersonclass[10]={"John",17,"paul",19,"Mary",18,"Adam",16,};

根据上述定义,能输出字母M的语句是_________

Aprintf("%c\n",class[3].name);

Bprintf("%c\n",class[3].name[1]);

Cprintf("%c\n",class[2].name[1]);

Dprintf("%c\n",class[2].name[0]);

34以下程序的输出结果是__________

main()

{charch[3][5]={"AAAA","BBB","CC"};

printf("\"%s\"\n",ch[1]);

}

A"AAAA"B"BBB"

C"BBBCC"D"CC"

35在C语言中,形参的缺省存储类是___________

AautoBregisterCstaticDextern

36以下程序执行后a的值是___________

main()

{intx,y=252,i=386,*m=&y,*z=&i;

x=(z==y);

printf("%d",x);

}

A252

B1

C0

D运行时出错,x无定值

37下列程序的输出结果是____________

structabc

{inta,b,c,s;};

main()

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

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

printf("%d\n",t);

}

A5

B6

C7

D8

38若要打开A盘上user子目录下名为abc.txt的文本文件进行读、写操作,下面符合此要求的函数调用是__________

Afopen("A:

\user\abc.txt","r")Bfopen("A:

\\user\\abc.txt","r+")

Cfopen("A:

\user\abc.txt","rb")Cfopen("A:

\\user\\abc.txt","w")

39若有定义:

char*st="howareyou";下列程序段中正确的是

Achara[11],*p;strcpy(p=a+1,&st[4]);

Bchara[11];strcpy(++a,st);

Cchara[11];strcpy(a,st);

Dchara[],*p;strcpy(p=&a[1],st+2);

40下列程序的运行结果是

voidfun(int*a,int*b)

{int*k;

k=a;a=b;b=k;

}

main()

{inta=3,b=6,*x=&a,*y=&b;

fun(x,y);

printf("%d%d",a,b);

}

A63

B36

C编译出错

D00

41若有定义:

intaa[8];则以下表达式中不能代表数组元aa[1]的地址的是____________

A&aa[0]+1B&aa[1]C&aa[0]++Daa+1

42若有下面的说明和定义,则sizeof(structaa)的值是

structaa

{intr1;doubler2;floatr3;

unionuu{charu1[5];longu2[2];}ua;

}mya;

A30

B29

C24

D22

43若有以下定义和语句:

___________

ints[4][5],(*ps)[5];

ps=s;

则对s数组元素的正确引用形式是

Aps+1B*(ps+3)Cps[0][2]D*(ps+1)+3

44以下程序的输出结果是__________

main()

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

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

for(j=i;j<=i;j++)t=t+b[i][b[j][j]];

printf("%d\n",t);

}

A3B4C1D9

45假设线性表的长度为n,则在最坏情况下,冒泡排序需要的比较次数为______

Alog2n

Bn2

CO(n1.5)

Dn(n-1)/2

46在说明语句:

int*f();中,标识符f代表的是__________

A一个用于指向整型数据的指针变量

B一个用于指向一维数组的行指针

C一个用于指向函数的指针变量

D一个返回值为指针型的函数名

47线性表L=(a1,a2,a3,…ai,…an),下列说法正确的是_________

A每个元素都有一个直接前件和直接后件

B线性表中至少要有一个元素

C表中诸元素的排列顺序必须是由小到大或由大到小

D除第一个元素和最后一个元素外,其余每个元素都有一个且只有一个直接前件和直接后件

48以下程序的输出的结果是_______

intx=3;

main()

{inti;

for(i=1;i}

ncre()

{staicintx=1;

x*=x+1;

printf("%d",x);

}

A33B22C26D25

49若以下定义:

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)q->next=p->next;p->next=&c;D)(*p).next=q;(*q).next=&b;

50设有以下说明语句___________

typedefstruct

{intn;

charch[8];

}PER;

则下面叙述中正确的是

A)PER是结构体变量名B)PER是结构体类型名

C)typedefstruct是结构体类型D)struct是结构体类型名

二结果题(25个)

1.以下程序的输出结果是。

fun(intx,inty,intz){z=x*x+y*y;}

main()

{inta=31;

fun(5,2,a);

printf(“%d”,a);

}

2.以下程序的输出结果是________。

main()

{inti=1;

while(i<=12)

{if(!

(i%4))printf("%d,",i);

i++;

}

}

3.以下程序的输出结果是________。

main()

{chars[]="abcdef";

s[5]='\0';

printf("%s\n",s);

}

4.以下程序的输出结果是________。

main()

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

inti,j,s=0;

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

for(j=0;j<3;j++)

if(i==2-j)s=s+a[i][j];

printf("s=%d",s);

}

5.以下程序的输出结果

main()

{

inta=10;

if(a++>10)printf("%d\n",a);

elseprintf("a=%d\n",a--);

}

运行结果_______

6.以下程序的输出结果

main()

{chars[]="abcdef";

s[4]='\0';

printf("%s\n",s);

}

运行结果________

7.以下程序的输出结果

main()

{inti=1;

while(i<=12)

{if(!

(i%3))printf("%d,",i);

i++;

}

}

运行结果________

8.以下程序的输出结果

main()

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

inti,j,s=0;

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

for(j=0;j<3;j++)

if(i==2-j)s=s+a[i][j];

printf("s=%d",s);

}

运行结果________

9.以下程序的输出结果

main()

{intx=25,y=15;

if(x>y)swap(&x,&y);

printf("%d",x);

}

swap(int*p1,int*p2)

{int*temp;

temp=p1;

p1=p2;

p2=temp;

}

运行结果________

10.以下程序的输出结果:

main()

{inta=21,b=11;

printf("%d\n",--a+b,--b+a);

}

11.说出下面这个程序的运行结果:

charbuf1[10]="hello";

charbuf2[10]="hello";

if(buf1==buf2)

printf("equal!

");

elseprintf("notequal!

");

12.下面这个程序的输出是什么?

________

  #include

  main()

  {

     inty=10;

     while(y--);

     printf("y=%d\n",y);

  }

13.该源程序执行后,屏幕上显示什么?

_________

  voidmain()

  {

     inta;

     floatb;

     a=4;

     b=9.5;

     printf("a=%d,b=%4.2f\n",a,b);

  }

14.若k,g均为int型变量,则以下语句的输出为_________

  intk,g;

   k=017;

   g=111;

   printf("%d,",k);

printf("%x\n",g);

 

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

main()

{inta=12,b=12;

printf("%d,%d\n",--a,++b);

}

 

16下列程序的运行结果是:

__________

main()

{

inta=2,c=5;

printf("a=%d,b=%d\n",a*c++,c);

}

 

17.若有以下程序段,

intc1=1,c2=2,c3;

c3=1.0/c2*c1;

则执行后,c3中的值是________

18.有如下程序

main0

{inti,sum;

for(i=1;i<=3;sum++)sum+=i;

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

}

该程序的执行结果是:

____________

19.有以下程序

main()

{inta=7,b=8,*p,*q,*r;

p=&a;q=&b;

r=p;p=q;q=r;

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

}

程序运行后的输出结果是_________

20.以下程序中,while循环的循环次数是_________

main()

{inti=0;

while(i<10)

{if(i<1)continue;

if(i==5)break;

i++;

}

}

21.有以下程序

ma

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

当前位置:首页 > 成人教育 > 自考

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

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