C重修试题.docx

上传人:b****4 文档编号:3583394 上传时间:2022-11-24 格式:DOCX 页数:38 大小:40.64KB
下载 相关 举报
C重修试题.docx_第1页
第1页 / 共38页
C重修试题.docx_第2页
第2页 / 共38页
C重修试题.docx_第3页
第3页 / 共38页
C重修试题.docx_第4页
第4页 / 共38页
C重修试题.docx_第5页
第5页 / 共38页
点击查看更多>>
下载资源
资源描述

C重修试题.docx

《C重修试题.docx》由会员分享,可在线阅读,更多相关《C重修试题.docx(38页珍藏版)》请在冰豆网上搜索。

C重修试题.docx

C重修试题

4.以下不能正确计算代数式

值的C语言表达式是______。

A.1/3*sin(1/2)*sin(1/2)B.sin(0.5)*sin(0.5)/3

C.pow(sin(0.5),2)/3D.1/3.0*pow(sin(1.0/2),2)

5.有以下程序

main()

{chara='a',b;

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

程序运行后的输出结果是______。

A.b,bB.b,cC.a,bD.a,c

6.设变量x为float型且已赋值,则以下语句中能将x中的数值保留到小数点后两位,并将第三位四舍五入的是______。

A.x=x*100+0.5/100.0;B.x=(x*100+0.5)/100.0

C.x=(int)(x*100+0.5)/100.0;D.x=(x/100+0.5)/100.0;

7.有以下程序

3.已定义c为字符型变量,则下列语句中正确的是______。

A.c='66'B.c="66";C.c=66;D.c="b";

4.若以下选项中的变量已正确定义,则正确的赋值语句是______。

A.x1=26.8%3

B.1+2=x2

C.x4=1+2=3

D.x3=0x12

5.若整型变量a.b.c.d中的值依次为:

1.2.3.4

则条件表达式a>b?

a:

c

c:

d的值是______。

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

6.以下叙述中错误的是______。

A.复合语句在语法上被看作一条语句B.C语句必须以分号结束

C.空语句出现在任何位置都不会影响程序运行

D.赋值表达式末尾加分号就构成赋值语句

7.有以下程序,其中%u表示按无符号整数输出

main()

{charx=0xff;/*x的初值为十六进制数*/

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

程序运行后的输出结果是______。

A.-1B.511C.0XffD.65535

8.#include

main()

{charc1,c2,c3,c4,c5,c6;

scanf("%c%c%c%c",&c1,&c2,&c3,&c4);

c5=getchar();c6=getchar();

putchar(c1);putchar(c2);

printf("%c%c\n",c5,c6);

}

程序运行后,若从键盘输入(从第1列开始)

123<回车>

45678<回车>

则输出结果是______。

A.1267B.1245C.1278D.1256

9.设变量x和y均已正确定义并赋值。

以下if语句中,在编译时将产生错误信息的是______。

A.if(x>y&&y!

=0);B.if(x>0)x--C.if(y<0){;}D.if(x++);

elsey++;elsex++;

10.有以下程序

main()

{inti;

for(i=1;i<=40;i++)

{if(i++%11==0)

if(++i%8==0)printf("%d",i);}

printf("\n");}

执行后的输出结果是______。

A.22B.24C.32D.40

11.有定义语句:

inta=1,b=2,c=3,x;,则以下选项中各程序段执行后,x的值不为3的是______。

A.if(c

elseif(b

elsex=3;elsex=1;

C.if(a<3)x=3;D.if(a

if(a<2)x=2;if(b

if(a<1)x=1;if(c

12.执行下面程序片段的结果是______。

intx=23;

do{printf("%2d",x--);}while(!

x);

A.打印出321B.打印出23C.不打印任何内容D.陷入死循环

13.有以下程序

main()

{inti,j;

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

{for(j=i;j<=3;j++)printf("%d*%d=%d",i,j,i*j);

printf("\n");}}

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

A.1*1=11*2=21*3=3B.1*1=11*2=21*3=3

2*1=22*2=42*2=42*3=6

3*1=33*3=9

C.1*1=1D.1*1=1

1*2=22*2=42*1=22*2=4

1*3=32*3=63*3=93*1=33*2=63*3=9

14.下列叙述中正确的是______。

A.每一个C程序文件中都必须要有一个main()函数

B.在C程序中main()函数的位置是固定的

C.C程序中所有函数之间都可以相互调用,与函数所在位置无关

D.在C程序的函数中不能定义另一个函数

15.以下叙述中错误的是______。

A.算法正确的程序最终一定会结束

B.算法正确的程序可以有零个输出

C.算法正确的程序可以有零个输入

D.算法正确的程序对于相同的输入一定有个相同的结果

16.与十进制数200等值的十六进制数为______。

A.A8B.A4C.C8D.C4

17.以下程序的功能是:

给r输入数据后计算半径为r的圆面积s,程序在编译时出错。

main()

/*Beginning*/

{intr;floats;scanf("%d",&r);

s=*∏*r*r;printf("s=%f\n",s);}

出错的原因是______。

A.注释语句书写位置错误

B.存放圆半径的变量r不应该定义为整型

C.输出语句中格式描述符非法

D.计算圆面积的赋值语句中使用了非法变量

18.有以下程序

main()

{unsignedinta;

intb=-1;

a=b;printf("%u",a);}

程序运行后的输出结果是______。

A.-1B.65535C.32767D.-32768

19.若以下选项中的变量已正确定义,则正确的赋值语句是______。

A.x1=26.8%3;B.1+2=x2;C.x3=0x12;D.x4=1+2=3;

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

main()

{intk=17;

printf("%d,%o,%x\n",k,k,k);}

A.17,021,0x11B.17,17,17C.17,0x11,021D.17,21,11

21.有以下程序

main()

{inta=666,b=888;

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

程序运行后的输出结果是______。

A.错误信息B.666C.888D.666,888

22.以下4个选项,不能看作一条语句的是______。

A.{;}B.a=0,b=0,c=0;C.if(a>0);D.if(b==0)m=1;n=2;

10.有以下程序

main()

{chark;inti;

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

{scanf("%c",&k);

switch(k)

{case'0':

printf("another\n");

case'1':

printf("number\n");}

}}

程序运行时,从键盘输入:

01↙,程序执行后的输出结果是______。

A.anotherB.anotherC.anotherD.number

numbernumbernumbernumber

anothernumber

11.有以下计算公式

若程序前面已在命令行中包含math.h文件,不能够正确计算上述公式的程序段是______。

A.if(x>=0)y=sqrt(x);B.y=sqrt(x);

elsey=sqrt(-x);if(x<0)y=sqrt(-x);

C.if(x>=0)y=sqrt(x);D.y=sqrt(x>=0?

x:

-x);

if(x<0)y=sqrt(-x);

23.C语言中,下列叙述正确的是______。

A.不能使用do-while语句构成的循环

B.do-while语句构成的循环,必须用break语句才能退出

C.do-while语句构成的循环,当while语句中的表达式值为非零时结束循环

D.do-while语句构成的循环,当while语句中的表达式值为零时结束循环

13.在以下给出的表达式中,与while(E)中的(E)不等价的表达式是______。

A.(!

E==0)B.(E>0||E<0)C.(E==0)D.(E!

=0)

44.有以下程序:

main()

{inti,s=0;

for(i=1;i<10;i+=2)s+=i+1;

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

程序执行后的输出结果是______。

A.自然数1~9的累加和B.自然数1~10的累加和

C.自然数1~9中奇数之和D.自然数1~10中偶数之和

15.有以下程序

fun(intx)

{intp;

if(x==0||x==1)return(3);

p=x-fun(x-2);

returnp;}

main()

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

执行后的输出结果是______。

A.7B.3C.2D.0

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

main()

{intw=5;fun(w);printf("\n");}

fun(intk)

{if(k>0)fun(k-1);

printf("%d",k);}

A.54321B.012345

C.12345D.543210

17.在函数调用过程中,如果函数funA调用了函数funB,函数funB又调用了函数funA,则______。

A.称为函数的直接递归调用B.称为函数的间接递归调用

C.称为函数的循环调用D.C语言中不允许这样的递归调用

58.有以下程序

#include

#defineN5

#defineMN+1

#definef(x)(x*M)

main()

{inti1,i2;

i1=f

(2);

i2=f(1+1);

printf("%d%d\n",i1,i2);}

程序的运行结果是______。

A.1212B.117C.1111D.127

59.有以下程序

main()

{charp[]={'a','b','c'},q[]="abc";

printf("%d%d\n",sizeof(p),sizeof(q));}

程序运行后的输出结果是______。

A.44B.33C.34D.43

60.以下能正确定义一维数组的选项是______。

A.inta[5]={0,1,2,3,4,5};B.chara[]={0,1,2,3,4,5};

C.chara={'A','B','C'};D.inta[5]="0123";

11.若x是int型变量,且有下面的程序片段

for(x=3;x<6;x++)printf((x%2)?

("**%d"):

("##%d\n"),x);

上面程序片段的输出结果是______。

①**3②##3③##3④**3##4

##4**4**4##5**5

**5##5

A.①B.②C.③D.④

12.要求以下程序的功能是计算:

s=1+1/2+1/3+…+1/10。

main()

{intn;floats;

s=1.0;

for(n=10;n>1;n--)

s=s+1/n;

printf("%6.4f\n",s);}

程序运行后输出结果错误,导致错误结果的程序行是

A.s=1.0;B.for(n=10;n>1;n--)

C.s=s+1/n;D.printf("%6.4f\n",s);

13.有以下程序

main()

{inti,j,x=0;

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

{x++;

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

{if(j%2)continue;

x++;}

x++;}

printf("x=%d\n",x);}

程序执行后的输出结果是______。

A.x=4B.x=8C.x=6D.x=12

31.有以下程序

#include

voidf(charp[][10],intn)/*字符串从小到大排序*/

{chart[10];inti,j;

for(i=0;i

for(j=i+1;j

if(strcmp(p[i],p[j])>0)

{strcpy(t,p[i]);strcpy(p[i],p[j]);strcpy(p[j],t);}}

main()

{charp[5][10]={"abc","aabdfg","abbd","dcdbe","cd"};

f(p,5);

printf("%d\n",strlen(p[0]));}

程序运行后的输出结果是______。

A.2B.4C.6D.3

22.有以下程序

voidswap1(intc0[],intc1[])

{intt;

t=c0[0];c0[0]=c1[0];c1[0]=t;}

voidswap2(int*c0,int*c1)

{intt;

t=*c0;*c0=*c1;*c1=t;}

main()

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

swap1(a,a+1);swap2(&b[0],&b[1]);

printf("%d%d%d%d\n",a[0],a[1],b[0],b[1]);}

程序运行后的输出结果是______。

A.3553B.5335C.3535D.5353

33.有以下程序

main()

{chars[]={"aeiou"},*ps;

ps=s;printf("%c\n",*ps+4);}

程序运行后输出的结果是______。

A.aB.eC.uD.元素s[4]的地址

14.下面程序的功能是输出以下形式的金字塔图案:

*

***

     *****

*******

main()

{inti,j;

for(i=1;i<=4;i++)

{for(j=1;j<=4-i;j++)printf("");

for(j=1;j<=______;j++)printf("*");

printf("\n");}}

在下划线处应填入的是______。

A.iB.2*i-1C.2*i+1D.i+2

15.有以下程序

fun(intx,inty){return(x+y);}

main()

{inta=1,b=2,c=3,sum;

sum=fun((a++,b++,a+b),c++);

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

执行后的输出结果是______。

A.6B.7C.8D.9

16.有以下程序

voidf(intv,intw)

{intt;

t=v;v=w;w=t;}

main()

{intx=1,y=3,z=2;

if(x>y)f(x,y);

elseif(y>z)f(y,z);

elsef(x,z);

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

执行后输出结果______。

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

17.设函数fun的定义形式为

voidfun(charch,floatx){……}

则以下对函数fun的调用语句中,正确的是______。

A.fun("abc",3.0);B.t=fun('D',16.5);

C.fun('65',2.8);D.fun(32,32);

29.有以下程序

#include

main()

{FILE*fp;inti,a[6]={1,2,3,4,5,6};

fp=fopen("d3.dat","w+b");

fwrite(a,sizeof(int),6,fp);

fseek(fp,sizeof(int)*3,SEEK_SET);/*该语句使读文件的位置指针从文件头向后移动3个int型数据*/

fread(a,sizeof(int),3,fp);fclose(fp);

for(i=0;i<6;i++)printf("%d,",a[i]);}

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

A.4,5,6,4,5,6,B.1,2,3,4,5,6,

C.4,5,6,1,2,3,D.6,5,4,3,2,1,

30.有如下程序

#include

main()

{FILE*fp1;

fp1=fopen("f1.txt","w");

fprintf(fp1,"abc");

fclose(fp1);}

若文本文件f1.txt中原有内容为:

good,则运行以上程序后文件f1.txt中的内容为______。

A.goodabcB.abcdC.abcD.abcgood

14.有以下程序

main()

{inta=1,b;

for(b=1;b<=10;b++)

{if(a>=8)break;

if(a%2==1){a+=5;continue;}

a-=3;}

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

程序运行后的输出结果是______。

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

15.有以下程序

inta=4;

intf(intn)

{intt=0;staticinta=5;

if(n%2){inta=6;t+=a++;}

else{inta=7;t+=a++;}

returnt+a++;}

main()

{ints=a,i=0;

for(;i<2;i++)s+=f(i);

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

程序运行后的输出结果是______。

A.24B.28C.32D.36

16.有以下程序

intfun(intn)

{if(n==1)return1;

else

return(n+fun(n-1));}

main()

{intx;

scanf("%d",&x);x=fun(x);printf("%d\n",x);}

执行程序时,给变量x输入10,程序的输出结果是______。

A.55B.54C.65D.45

17.以下叙述中错误的是______。

A.C程序必须由一个或一个以上的函数组成

B.函数调用可以作为一个独立的语句存在

C.若函数有返回值,必须通过return语句返回

D.函数形参的值也可以传回给对应的实参

18.有以下程序

#definef(x)(x*x)

main()

{inti1,i2;

i1=f(8)/f(4);i2=f(4+4)/f(2+2);

printf("%d,%d\n",i1,i2);}

程序运行后的输出结果是______。

A.64,28B.4,4C.4,3D.64,64

19.有以下程序

main()

{inta[4][4]={{1,4,3,2},{8,6,5,7},{3,7,2,5},{4,8,6,1}},i,j,k,t;

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

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

for(k=j+1;k<4;k++)

if(a[j][i]>a[k][i])

{t=a[j][i];a[j][i]=a[k][i];a[k][i]=t;}/*按列排序*/

for(i=0;i<4;i++)printf("%d,",a[i][i]);

}

程序运行后的输出结果是______。

A.1,6,5,7,B.8,7,3,1,C.4,7,5,2,D.1,6,2,1,

20.以下能正确定义一维数组的选项是______。

A.intnum[]B.#defineN100C.intnum[0..100]D.intN=100;

intnum[N]intnum[N]

21.s1和s2已正确定义并分别指向两个字符串。

若要求:

当s1所指串大于s2所指串时,执行语句S;,则以下选项中正确的是______。

A.if(s1>s2)S;B.if(strcmp(s1,s2))S;

C.if(strcmp(s2,s1)>0)S;D.if(strcmp(s1,s2)>0)S;

22.有以下程序

voidfun(int*a,inti,intj)

{intt;

if(i

{t=a[i];a[i]=a[j];a[j]=t;i++;j--;fun(a,i,j);}}

main()

{intx[]={2,6,1,8},i;

fun(x,0,3);

for(i=0;i<4;i++)printf("%2d",x[i]);

printf("\n");}

程序运行后的输出结果是______。

A.1268B.8621C.8162D.8612

23.在16位编译系统上,若有定义inta[]={10,20,30},*p=&a;,当执行p++;后,下列说法错误的是______。

A.p向高地址移了一个字节B.p向高地址移了一个存储单元

C.p向高地址移了两个字节D.p与a+1等价

24.有以下程序

floatf1(floatn){returnn*n;}

floatf2(floatn){return2*n;}

main()

{float(*p1)(float),(*p2)(float),(*t)(float),y1,y2;

p1=f1;p2=f2;y1=p2(p1(2.0));

t=p1;p1=p2;p2=t;y2=p2(p1(2.0));

printf("%3.0f,%3.0f\n",y1,y2);}

程序运行后的输出结果是______。

A.8,16B.8,8C.16,16D.4,8

25.设有以下语句

typedefstructTT{charc;inta[4];}CIN;

则下面叙述中正确的是______。

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

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

当前位置:首页 > 求职职场 > 简历

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

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