复习题01.docx

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

复习题01.docx

《复习题01.docx》由会员分享,可在线阅读,更多相关《复习题01.docx(37页珍藏版)》请在冰点文库上搜索。

复习题01.docx

复习题01

判断题分析题(2分)

一个C程序的执行是从_A____。

A)本程序的main函数开始,到main函数结束

B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束

C)本程序的main函数开始,到本程序文件的最后一个函数结束

D)本程序文件的第一个函数开始,到本程序main函数结束

以下叙述不正确的是。

D

A)一个C源程序可由一个或多个函数组成

B)一个C源程序必须包含一个main函数

C)C程序的基本组成单位是函数

D)在C程序中,注释说明只能位于一条语句的后面(可以前面)

在C语言中(以16位PC机为例),5种基本数据类型的存储空间长度的排列顺序为_A___

A)char(8

B)char=int<1ongint<=float

C)char

D)char=int=longint<=float

下面四个选项中,均是不合法的用户标识符的选项是。

C

A)AB)floatC)b-aD)-123

P_01a0gototemp

do_AintINT

A

已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2='A'+'6'-'3';后,c2中的值为

A)DB)68C)不确定的值D)C

B

若以下变量均是整型,且num=sum=7;则执行表达式sum=num++,sum++,++num;后sum的值为输出8

A)7B)8C)9D)10

D

若有以下定义,则能使值为3的表达式是:

intk=7,x=12;

A)x%=(k%=5)0B)x%=(k一k%5)2

C)x%=k一k%52D)(x%=k)一(k%=5)

B

printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列。

如果字符串长度大于5,则输出按方式

A)从左起输出该字串,右补空格

B)按原字符长从左向右全部输出

C)右对齐输出该字串,左补空格

D)输出错误信息

B

以下if语句语法正确的是一一一。

A)if(x>0)

printf("%f",x)

elseprintf("%f",--x);

B)if(x>0)

{x=x+y;printf("%f",x);}

elseprintf("%f",-x);

C)if(x>0)

{x=x+y;prinrf("%f",x);};

elseprintf("%f",-x);

D)if(x>0)

{x=x+y;printf("%f",x)}

elseprintf("%f",-x);

elseprintf("%f",-x);

C

以下程序的运行结果是:

main()

{intm=5;

if(m++>5)printf("%d\n",m);

e1seprintf("%d\n",m--);

}

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

B

当a=1,b=3,c=5,d=4,执行完下面一段程序后x的值是:

if(a

if(c

else

if(a

if(b

elsex=3;

elsex=6;

elsex=7;

A)18B)2C)3D)6

B

为了避免在嵌套的条件语句if一else中产生二义性,C语言规定else子句总是与()配对。

A)缩排位置相同的ifB)其之前最近的if

C)之后最近的ifD)同一行上的if

B

请阅读以下程序:

#include

main()

{floata,b

scanf("%f",&a);

if(a<10.0)b=1.0/x;

elseif((a<0.5)&&(a!

=2.0))b=1.0/(a十2.0);

elseif(a<10.0)b=1.0/x;

elseb=10.0;

printf("%f\n",b);

}

若运行时输入2.0(回车),则上面程序的输出结果是:

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

C

设有程序段

intk=10;

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

则下面描述中正确的是

A)while循环执行10次B)循环是无限循环

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

B

有以下程序段

intx=0,s=0;

while(!

x!

=0)s+=++x;

printf("%d",s);

A)运行程序段后输出0B)运行程序段后输出1

C)程序段中的控制表达式是非法的D)程序段执行无限次

A

语句while(!

E)中的表达式!

E等价于:

A)E==0B)E!

=1C)E!

=0D)E==1

A

下面程序段的运行结果是

a=1;b=2;c=2;

while(a

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

A)1,2,0B)2,1,0C)1,2,1D)2,1,1

D

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

x=y=0;

while(x<15)y++,x+=++y;

printf("%d,%d",y,x);

A)20,7B)6,12c)20,8D)8,20?

B

设有程序段

t=0;

while(printf"*"妻"));

{t++;

if(t<3)break

}

面描述正确的是:

A)其中循环控制表达式与0等价B)其中循环控制表达式与'0'等价

C)其中循环控制表达式是不合法的D)以上说法部不对

B

下面程序的功能是将从键盘输入的一对数,由小到大排序输出。

当输入一对相等数时结束循环,请选择填空:

#indude

main()

{inta,b,t;

scanf("%d%d",&a,&b);

while(【1】)

{if(a>b)

{t=a;a=b;b=t;}

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

scahf("%d%d",&a,&b);人

}

【1】A)!

a=bB)a!

=bC)a==bD)a=b

C

下面程序的功能是从键盘输入的一组字符中统计出大写字母的个数m和小写字母的个数n,并输出m、n中的较大者,请选择填空:

#include"stdio.h"

main()

{intm=0,n=0;

charc;

while((【1】)!

='\n')

{if(c>='A'&&c<='Z')m++;

if(c>='a'&&c<='z')n++;}

printf("%d\n",m

n:

m);}

【1】A)c==getchar()B)getchar()C)c=getchar()D)scanf("%c",c)

C

下面程序的功能是将小写字母变成对应大写字母后的第二个字母。

其中y变成A,z变成B.请选择填空。

#include"stdio.H"

main()

{charc;

while((c=getchar())!

='\n')

{if(c>='a'&&c<='z')

c-=30;

if(c)>='y'&&c<='z')

【2】;}

printf("%c",c)

}

【2】A)c='B'B)c='A'C)c-=26D)c=c+26

B

下面程序的功能是在输入的一批正整数中求出最大者,输入0结束循环,请选择填空。

#include

main()

{inta,max=0;

scanf("%d",&a)

while(【1】)

{if(max

scanf("%d",&a);}

printf("%d",max);}

【1】A)a==0B)aC)!

a==1D)!

a

C

以下程序段

x=-1;

do

{x=x*x;}

while(!

x);

A)是死循环B)循环执行二次

C)循环执行一次D)有语法错误

C

以下描述中正确的是:

A)由于do一while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句

B)do一while循环由do开始,用while结束,在while(表达式)后面不能写分号

C)在do一while循环体中,一定要有能使while后表达式值变为零("假")的操作

D)do一while循环中,根据情况可以省略while

B

若有如下语句

intx=3;

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

(--x));

则上面程序段

A)输出的是1B)输出的是1和-2

C)输出的是3和0D)是死循环

B

下面程序是从键盘输入学号,然后输出学号中百位数字是3的学号,输入0时结束循环。

请选择填空。

#include

main()

{1ongintnum;

scanf("%ld",&num);

do{if(【1】)printf("%ld",num);

scanf("%ld",&num);

}while(!

num==0);}

【1】A)num%100/10B)num/100%10C)num%10/10D)num/10%10

B

下面程序的功能是把316表示为两个加数的和,使两个加数分别能被13和11整除。

请选择填空。

#include

main()

{inti=0,j,k;

do{i++;k=316一13*i;}

while(【1】);j=k/11;

printf("316=13*%d十11*%d",i,j);

}

【1】A)k/11B)k%11C)k/11==0D)k/11==0

D

下面程序的运行结果是:

#indude

main()

{inty=10;

do{y--;}

while(--y);

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

}

A)一1B)1C)8D)0

D

若运行以下程序时,从键盘输入ADescriptor(CR)表示回车),则下面程序的运行结果是:

#include

main()

{charc;

intv0=0.v1=0,v2=0;

do{

switch(c=getchar())

{case'a':

case'A':

case'e':

case'E':

case'i':

case'I':

case'o':

case'O':

case'u':

case'U':

vl+=1;

default:

v0+=1;v2+=1;}

}while(c!

='\n');

printf("v0=%d,v1=%d,v2=%d\n",v0,v1,v2);

A)v0=7,v1=4,v2=7B)v0=8,v1=4,v2=8

C)v0=11,v1=4,v2=11D)v0=12,vl=4,v2=12

B

下面程序的运行结果是:

#include

main()

{inta==1,b=10;

do

{b-=a;a++;}while(b--<0);

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

}'

A)a=3,b=11B)a=2,b=8C)a=1,b=一1D)a=4,b=9

D

下面有关for循环的正确描述是:

A)for循环只能用于循环次数已经确定的情况

B)for循环是先执行循环体语句,后判断表达式

C)在for循环中,不能用break语句跳出循环体

D)for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来

B

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

A)for(表达式1;0;表达式3)

B)for(表达式1;1;表达式3)

C)for(表达式1;表达式1;表达式3)

D)for(表达式1;表达式3;表达式3)

B

若i为整型变量,则以下循环执行次数是:

for(i=2;i==0;)printf("%d",i--);

A)无限次B)0次C)1次D)2次

C

以下for循环的执行次数是:

for(x=0,y=0;(y=123)&&(x<4);x++);

A)是无限循环B)循环次数不定C)执行4次D)执行3次

A

以下不是无限循环的语句为:

A)for(y=0,x=1;x>++y;x=i++)i=x;

B)for(;;x++=i);

C)while

(1){x++;}

D)for(i=10;;i--)sum+=i;

C

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

for(y=1;y<10;)y=((x=3*y,x+1),x-1);

printf("x=%d,y=%d",x,y);

A)x=27,y=27B)x=12,y=13C)x=15,y=14D)x=y=27

D

下面程序段的运行结果是

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

("**%d"):

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

A)**3B)##3C)##3D)**3##4

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

**5##5

D

下列程序段不是死循环的是

A)inti=100;

whiLe

(1)

{i=i%100+1;

if(i>100)break;

}

B)for(;;);

C)intk=0;

do{++k;}while(k>=0);

D)ints=36;

while(s)--s;

C

执行语句for(i=1;i++<4;);后变量i的值是

A)3B)4C)5D)不定

D

下面程序的功能是计算:

至50中是7的倍数的数值之和,请选择填空。

#include·

main()

{inti,sum=0;

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

if([1])sum+=i;

printf("%d",sum);

}

A)(int)(i/7)==i/7

B)(int)i/7==i/7

C)i%7=0

D)i%7==0

B

下面程序的功能是计算1至10之间的奇数之和及偶数之和。

请选择填空;

#include

main()

{inta,b,c,i;

a=c=0;

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

{a+=i;

[1];

c+=b;

}

printf("偶数之和=%d\n",a);

printf("奇数之和=%d\n",c-11),

}

[1]A)b=i--B)b=i+1C)b=i++D)b=i-1

B

下面程序的运行结果是:

#include

main()

{inti;

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

switch(i%5)

{case0:

printf("*");break;

case1:

printf("#");break;

default:

printf("\n");

case2:

printf("&");

}

A)#&&&*B)#&C)#D)#&

&&

&&*?

D

下面程序的运行结果是:

#include

main()

{intx,i;

for(j-1;i<=100;i++)

{x=i;

if(++x%2==0)

if(++x%3==0)

if(++x%7==0)

printf("%d",x);

}

}

A)3981日)4284C)2668D)2870

C

下面程序段的功能是计算1000!

的末尾含有多少个零。

请选择填空。

(提示:

只要算出1000!

中含有因数5的个数即可)

for(k=0,m=1;m<=1000;m++)

while(【1】)k++;

【1】A)m%5=0B)m=m%5==0C)m%5==0D)m%5!

=0

D

下面程序的运行结果是:

#include

main()

{inti,b,k=0;

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

{b=i%2;

while(b-->=0)k++;

}

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

}

A)3,-1B)8,-1C)3,0D)8,-2

B

以下正确的描述是。

A)continue语句的作用是结束整个循环的执行

B)只能在循环体内和switch语句体内使用break语句

C)在循环体内使用break语句或continue语句的作用相同

D)从多层循环嵌套中退出时,只能使用goto语句

D

下面程序段:

for(t=1;t<=100;t++)

{scanf("%d",&x);

if(x<0)continue;

printf("%3d",t);}

A)当x<0时整个循环结束

B)x>=0时什么也不输出

C)printf函数永远也不执行

D)最多允许输出100个非负整数

C

下面程序段:

x=3;

do

{y=x--;

if(!

y){printf("x");continue;}

printf("#");

}while(1<=x<=2);

A)将输出##B)将输出##*

C)是死循环D)含有不合法的控制表达式

C

以下描述正确的是

A)goto语句只能用于退出多层循环

B)switch语句中不能出现continue语句

C)只能用continue语句来终止本次循环

D)在循环中break语句不能独立出现

C

与下面程序段等价的是:

for(n=100;n<=200;n++)

{if(n%3==0)continue;

printf("%4d",n);}

A)for(n=100;(n%3)&&n<=200;n++)printf("%4d",n);

B)for(n=100;(n%3)||n<=200;n++)printf("%4d",n);

C)for(n=100;n<=200;n++)if(n%3!

=0)printf("%4d",n)

D)for(n=100;n<=200;n++)

{if(n%3)printf("%4d",n);

elsecontinue;

break;}

B

下面程序的运行结果是:

#include

main()

{intk=0;

charc='A';

do

{switch(c++)

{case'A':

k++;break;

case'B':

k--;

case'C':

k+=2;break;

case'D':

k=k%2;continue;

case'E':

k=k*10;break;

default:

k=k/3;}

k++;}while(c<'G');

printf("k=%d",k);}

A)k=3B)k=4C)k=2D)k=0

B

若运行以下程序时,从键盘输入3.6,2.4,(表示回车),则下面程序的运行结果是:

#indude

#include

main()

{floatx,y,z;

scanf("%f%f",&x,&y);

z=x/y;

while

(1)

{if(fabs(z)>1.0){x=y;y=z;z=x/y;}

elsebreak;}

printf("%f",y);}

A)1.5B)1.6C)2.0D)2.4

B

下面程序的运行结果是:

#include"stdio.h"

main()

{inta,b;

for(a=1,b=1;a<=100;a++)

{if(b>=20)break;

if(b%3==1){b+=3;continue;}

b-=5;}

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

A)7B)8C)9D)10

B

下面程序的运行结果是:

#include"stdio.h"

main()

{inti;

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

{if(i%2)printf("*");

elsecontinue;

printf("#");

}

printf("$");}

A)**$B)*#*#*#$C)*#*#$D)#*#*$

A

下面程序的运行结果是:

main()

{inti,j,a=0;

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

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

{if(j%2)break;

a++;}

a++;}

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

}

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

c

在c语言中,引用数组元素时,其数组下标的数据类型允许是__.

A)整型常量B)整型表达式

c)整型常量或整型表达式D)任何类型的表达式

D

以下对一维整型数组a的正确说明是__。

A)inta(10);B)intn=10,a[n];

C)intn;D)#defineSIZE10

scanf("%d",&n);inta[SIZE];

inta[n];

D

若有说明:

inta[10];则对a数组元素的正确引用是__。

A)a[10]B)a[3.5]C)a{5}D)a[10-10]

A

在C语言中,一维数组的定义方式为:

类型说说明符数组名__。

A)[常量表达式]B)[整形表达式]

c)[整型常量]或[整型表达式]D)[整型常量]

C

以下能对一维数组a进行正确初始化的语句是__。

A)inta[10]=(

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

当前位置:首页 > 工程科技 > 能源化工

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

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