c语言习题带答案.docx

上传人:b****1 文档编号:22790744 上传时间:2023-04-28 格式:DOCX 页数:35 大小:24.98KB
下载 相关 举报
c语言习题带答案.docx_第1页
第1页 / 共35页
c语言习题带答案.docx_第2页
第2页 / 共35页
c语言习题带答案.docx_第3页
第3页 / 共35页
c语言习题带答案.docx_第4页
第4页 / 共35页
c语言习题带答案.docx_第5页
第5页 / 共35页
点击查看更多>>
下载资源
资源描述

c语言习题带答案.docx

《c语言习题带答案.docx》由会员分享,可在线阅读,更多相关《c语言习题带答案.docx(35页珍藏版)》请在冰豆网上搜索。

c语言习题带答案.docx

c语言习题带答案

基本语句练习

1、若有以下程序段D

#include””

voidmain()

{inta=2,b=5;

Printf(“a=%%d,b=%%d\n”,a,b);

}

其输出结果是()

A、a=%2,b=%5B、a=2,b=5C、a=%%d,b=%%dD、a=%d,b=%d

2、以下程序段C

floata=;printf(“|%6.0f|\n”,a);

其输出结果是()

A、||B、||C、|3|D、|3.|

3、以下程序段的输出结果是()C

floata=;printf(“*%010.2f*\n”,a);

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

4、下面语句printf(“|%8.5f|\n”,;的输出结果是()C

A、||B、||C、||D、||

5、若变量都已经正确说明,则以下程序段:

C

a=2;b=3;printf(a>b”***a=%d”:

“###b=%d”,a,b);

A、没有正确的输出格式控制B、输出为:

***a=2

C、输出为:

###b=2D、输出为:

***a=2###b=3

6、执行下列程序时输入1234567,程序的运行结果为()B

#include””

voidmain()

{intx,y;

scanf(“%2d%2ld”,&x,&y);

printf(“%d\n”,x+y);

}

A、17B、46C、15D、9

7、已知chara;intb;floatc;doubled;则表达式a*b+c-d结果为()型。

A

A、doubleB、intC、floatD、char

8、根据定义和数据的输入方式,输入语句的正确形式是()B

已有定义floatf1,f2;

数据的输入方式:

A、scanf(“%f,%f”,&f1,&f2);B、scanf(“%f%f”,&f1,&f2);

C、scanf(“%3.2f%2.1f”,&f1,&f2);D、scanf(“%3.2f,%2.1f”,&f1,&f2);

9、以下程序的输出结果为()*,*

#include””

voidmain()

{printf(“*%f,%4.3f*\n”,,;}

10、结构化程序流程图中一般包含3种基本结构,在下述结构中不属于其基本结构的是()。

B

A、顺序结构B、嵌套结构C、循环结构D、选择结构

11、若有语句:

inta=7;floatx=,y=;则表达式x+a%3*(int)(x+y)%2/4的值是()。

A

A、B、2.750000C、D、

12、设有说明语句:

intx=43,y=0;charch=’A’;则表达式x>=y&&ch<’B’&&!

y的值是()。

D

A、语法错误B、0C、假D、1

13、若a为int类型,且其值为3,则执行完表达式a+=a*a后,a的值是_______。

12

14、inta;表达式(a=3*4,a*2),a+8的值为_______。

20

15、表达式*(1/2)的值为。

0

16、下列符号中,可以作为变量名的是()。

C

A、3aBB、$XC、_bD、if

17、设intx=1,y=1;表达式(!

x||y)的值是()。

B

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

18、下列标识符中,合法的标识符是()。

C

A、—abc1B、8abcC、_abc1D、for

19、下列关系表达式中结果为假的是()。

C

A、0!

=1B、2<=8C、(a=2*2)==2D、y=(2+2)==4

选择结构

1、对下述程序,正确的判断是()A

#include””

voidmain()

{intx,y;

scanf(“%d,%d”,&x,&y);

if(x>y)

x=y;y=x;

else

x++;y++;

printf(“%d,%d”,x,y);

}

A、有语法错误,不能通过编译B、若输入数据3和4,则输出4和5

C、若输入数据4和3,则输出3和4D、若输入数据4和3,则输出4和4

2、以下程序的输出结果是()B

#include””

voidmain()

{intx=1,y=0,a=0,b=0;

switch(x)

{case1:

switch(y)

{

case0:

a++;break;

case1:

b++;break;

}

case2:

a++;b++;break;

case3:

a++;b++;

}

printf(“\na=%d,b=%d”,a,b);

}

A、a=1,b=0B、a=2,b=1C、a=1,b=1D、a=2,b=2

3、以下程序的输出结果是()C

#include””

voidmain()

{inta=2,b=—1,c=2;

if(a

if(b<0)c=0;

elsec+=1;

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

}

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

4、以下程序的输出结果是()A

#include””

voidmain()

{intw=4,x=3,y=2,z=1;

Printf(“%d\n”,(w

z

x));

}

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

5、以下程序的运行结果是()B

#include””

voidmain()

{intk=2;

switch(k)

{case1:

prinft(“%d\n”,k++);

break;

case2:

printf(“%d\n”,k++);

case3:

printf(“%d\n”,k++);

break;

case4:

printf(“%d\n”,k++);

default:

printf(“Full!

\n”);

}

}

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

3322

6、请写出以下程序的输出结果()1

#include””

voidmain()

{inta=100;

if(a>100)

printf(“%d\n”,a>100);

else

printf(“%d\n”,a<=100);

}

7、当a=1,b=2,c=3时,以下语句执行后,a,b,c中的值分别是——、——、——。

322

if(a>c)

b=a;a=c;c=b;

8、若变量已经正确定义,以下语句段的输出结果是——。

*#

x=0;y=2;z=3;

switch(x)

{

case0:

switch(y==2)

{case1:

printf(“*”);break;

case2:

printf(“%”);break;

}

case1:

switch(x)

{

case1:

printf(“$”);

case2:

printf(“*”);break;

Default:

printf(“#”);

}

}

9、如下程序的输出结果是()C

#include””

voidmain()

{inta=12,b=5,c=—3;

if(a>b)

if(b<0)c=0;

elsec++;

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

}

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

10、以下程序运行后,如果从键盘输入5,则输出结果是()B

#include””

voidmain()

{intx;

scanf(“%d”,&x);

if(x――<5)printf(“%d”,x);

elseprintf(“%d”,x++);

}

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

11、以下程序的输出结果是()A

#include””

voidmain()

{inta=15,b=21,m=0;

switch(a%3)

{case0:

m++;break;

case1:

m++;

switch(b%2)

{default:

m++;

case0:

m++;break:

}

}

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

}

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

12、两次运行下面的程序,如果从键盘上分别输入6和4,则输出的结果是()A

#include””

voidmain()

{intx;

scanf(“%d”,&x);

if(x++>5)printf(“%d”,x);

elseprintf(“%d\n”,x——);}

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

13、以下程序的输出结果是()C

#include””

voidmain()

{inta=-1,b=1,k;

if((++a<0)&&!

(b――<=0))

printf(“%d%d\n”,a,b);

else

printf(“%d%d\n”,b,a);

}

A、-1B、0C、1D、0

1100

14、以下关于运算符优先顺序的描述中正确的是()C

A、关系运算符<算术运算符<赋值运算符<逻辑运算符

B、逻辑运算符<关系运算符<算术运算符<赋值运算符

C、赋值运算符<逻辑运算符<关系运算符<算术运算符

D、算术运算符<关系运算符<赋值运算符<逻辑运算符

16、若从键盘输入58,则以下程序输出的结果是()585858

#include””

voidmain()

{inta;

scanf(“%d”,&a);

if(a>50)printf(“%d”,a);

if(a>40)printf(“%d”,a);

if(a>30)printf(“%d”,a);

}

17、以下程序输出的结果是()0

#include””

voidmain()

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

d=(a>b>c);

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

}

18、以下程序输出的结果是()20,0

#include””:

voidmain()

{intx=10,y=20,t=0;

if(x==y)t=x;x=y;y=t;

printf(“%d,%d\n”,x,y);

}

19、inta=2,b=3,c=4;则执行语句a*=16+(b++)–(++c);后a的值是()。

28

20、以下程序的输出结果是()2

#include””

main()

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

if(x

if(y<0)z=0;

elsez+=1;

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

}

20、若从键盘输入B,则以下程序输出的结果是______>=60<60

main()

{chargrade;scanf("%c",&grade);

case‘A’:

printf(">=85\t");

case’B’:

case’C’:

printf(">=60\t");

case’D’:

printf("<60\t");

}

循环结构

1、下述for循环语句()B

inti,k;

for(i=0,k=-1;k=1;i++,k++)

printf(“***”);

A、判断循环结束的条件非法B、是无限循环C、只循环一次D、一次也不循环

2、以下程序的输出结果是()A

#include””

voidmain()

{inti;

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

{if(i%2)

putchar(‘<’);

else

continue;

putchar(‘>’);

}

putchar(‘#’);

}

A、<><><>#B、><><><#C、<><>#D、><><#

3、以下程序段的输出结果是()C

intx=3;

do

{printf(“%d”,x-=2);}while(!

(--x));

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

4、以下程序的输出结果是()B

#include””

voidmain()

{inty=10;

for(;y>0;y――)

if(y%3==0)

{printf(“%d”,――y);

continue;

}

}

A、741B、852C、963D、8754321

5、若x是int型变量,以下程序段的输出结果是()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

6、以下程序的输出结果是()-1

#include””

voidmain()

{intx=2;

while(x――);

printf(“%d”,x);

}

7、以下程序段的输出结果是()11

inti=0,sum=1;

do

{sum+=i++;}

while(i<5);

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

8、下述程序的运行结果是()s=3

#include””

voidmain()

{ints=0,k;

for(k=7;k>4;k——)

{switch(k)

{case1:

case4:

case7:

s++;break;

case2:

case3:

case6:

break;

case0:

case5:

s+=2;break;

}

}

printf(“s=%d”,s);

}

9、下面程序输出结果是()%@%@%@

#include””

voidmain()

{inta;

for(a=0;a<6;a++)

{if(a%2)

printf(“%%”);

else

continue;

printf(“@”);

}

printf(“\n”);

}

10、以下循环体的执行次数是()C

#include””

voidmain()

{inti,j;

for(i=0,j=1;i<=j+1;i+=2,j——)printf(“%d\n”,i);

}

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

11、以下程序中,while循环的次数是()D

#include””

voidmain()

{inti=0;

while(i<10)

{if(i<1)continue;

if(i==5)break;

i++;

}

}

A、1B、10C、6D、死循环,不能确定次数

12、以下for循环的循环次数()C

for(x=0,y=0;(y!

=123)&&(x<4);x++);

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

13、执行下面程序片段的结果是()B

intx=23;

do

{

printf(“%d”,x--);

}while(!

x)

A、321B、23C、没有输出D、死循环

13、下面程序的输出结果是()D有难度

#include””

voidmain()

{intk,j,m;

for(k=5;k>=1;k--)

{m=0;

for(j=k;j<=5;j++)

m=m+k*j;

}

printf(“d\n”,m);

}

A、124B、25C、36D、15

14、下面程序的输出结果是()D

#include””

voidmain()

{intx=10,y=10,i;

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

printf(“%d%d”,x--,y);

}

A、10192B、9876C、10990D、101091

15、下面程序段的输出结果是()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

16、若有如下语句,则程序段()B

intx=6;

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

while(--x);

A、输出的是1B、输出的是4和1C、输出的是3和0D、死循环

17、下面程序的功能是计算1~10之间的奇数之和与偶数之和,请填空。

#include””

voidmain()

{inta,b,c,i;

a=c=0;

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

{a+=i;

___________;if(i<=10)b=i+1;

c+=b;

}

printf(“%d”,a);

printf(“%d”,c);

}

18、以下程序的输出结果是()52

#include””

voidmain()

{inti=10,j=0;

do

{j=j+i;

i--;

}while(i>2);

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

}

19、有以下程序

#include””

voidmain()

{charc;

while((c=getchar())!

=’’)putchar(--c);

}

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

YN则输出结果是();x

20、下面程序段的运行结果是()**

x=2;

do{printf(“*”);x--;}while(x);

21、下面程序的运行结果是()1,-2有难度

#include””

voidmain()

{inty,a;

y=2;a=1;

while(y--!

=—1)

{do{a*=y;a++;}while(y--);}

printf(“%d,%d”,a,y);

}

数组

1、合法的数组说明语句是()B

A、inta[]=”string”;B、inta[5]={0,1,2,3,4};C、chara=”string”;

D、chara[]={0,1,2,3,4,5};

2、调用strlen(“abcd\0ef\0g”)的返回值是()A

A、4B、5C、8D、9

3、若有以下语句,则正确的描述是()B

charx[]=”12345”;

chary[]={‘1’,‘2’,‘3’,‘4’,‘5’};

A、x数组和y数组的长度相同B、x数组的长度大于y数组长度

C、x数组的长度小于y数组长度D、x数组等价于y数组

4、下面程序的运行结果是()ab

charc[5]={‘a’,’b’,’\0’,’c’,’\0’}’

printf(“%s”,c);

5、阅读程序,写出执行结果()Fortan

#include””

voidmain()

{charstr[30];

scanf(“%s”,str);

printf(“%s”,str);

}

运行程序,输入FortanLanguage

6、阅读程序,写出执行结果()0123

#include””

func(intb[])

{intj;

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

b[j]=j;

}

main()

{inta[4],i

func(a);

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

printf(“%d\t”,a[i]);

}

7、下列程序执行后的输出结果是()A

#include””

voidmain()

{chararr[2][4];

strcpy(arr,”you”);strcpy(arr[1],“me”);

arr[0][3]=’&’;

printf(“%s\n”,arr);

}

A、you&meB、youC、meD、err

8、有如下程序的输出结果是()D

#include””

voidmain()

{intn[5]={0,0,0},i,k=2;

for(i=0;i

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

}

该程序的输出结果是()

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

9、如下程序的输出结果是()A

#include””

voidmain()

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

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

for(j=0;j

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

}

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

10、当执行下面的程序是,如果输入ABC,则输出的结果是()A

#include””

#include””

voidmain()

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

get(ss);strcat(ss,“6789”);printf(“%s\n”,ss);

}

A、ABC6789B、ABC67C、12345ABC6D、ABC456789

11、以下程序的输出结果是()A

#include””

f(intb[],intm,intn)

{inti,s=0;

for(i=m;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

12、以下程序函数sort()功能是对数组a中的数据进行由大到小的排序。

C

#include”:

voidsort(inta[],intn)

{inti,j,t;

for(i=0;i

for(j=i+1;j

if(a[i]

}

voidmain()

{int

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

当前位置:首页 > 初中教育 > 其它课程

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

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