C语言顺序结构程序设计练习题.docx

上传人:b****8 文档编号:9593741 上传时间:2023-02-05 格式:DOCX 页数:18 大小:20.44KB
下载 相关 举报
C语言顺序结构程序设计练习题.docx_第1页
第1页 / 共18页
C语言顺序结构程序设计练习题.docx_第2页
第2页 / 共18页
C语言顺序结构程序设计练习题.docx_第3页
第3页 / 共18页
C语言顺序结构程序设计练习题.docx_第4页
第4页 / 共18页
C语言顺序结构程序设计练习题.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

C语言顺序结构程序设计练习题.docx

《C语言顺序结构程序设计练习题.docx》由会员分享,可在线阅读,更多相关《C语言顺序结构程序设计练习题.docx(18页珍藏版)》请在冰豆网上搜索。

C语言顺序结构程序设计练习题.docx

C语言顺序结构程序设计练习题

顺序结构程序设计习题

一、选择题:

(以下各题□代表空格。

1.以下程序运行的结果是:

#include

intmain()

{intm=5,n=10;

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

}

A)5,9B)6,9C)5,10D)6,10

2.以下程序运行的结果是:

#include

intmain()

{inta=201,b=012;

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

return0

}

A)01,12B)201,10C)01,10D)20,01

3.有定义语句inta,b;若要通过语句scanf(“%d,%d,”&a,&b);使变量a得到数值6,变量b得到数值5,下面输入形式,错误的是:

A)6,5<回车>B)6,□□<回车>

C)65<回车>D)6,<回车>5<回车>

4.设有如下程序:

#include

intmain()

{charch1=’A’,ch2=’a’;

printf”%c\n”,(ch1,ch2));

return0;

}

则以下叙述正确的是:

A)程序的输出结果为大写字母A;

B)程序的输出结果为小写字母a;

C)运行时产生错误信息;

D)格式说明符的个数少于输出项个数,编译出错。

5.以下程序运行的结果是:

#include

intmain()

{intx1=0xabc,x2=oxdef;

x2-=x1;

printf(“%X\n”,x2);

return0;

}

A)ABCB)0XABCC)0X333D)333

6.以下程序输出的结果是:

#include

intmain()

{printf(“\n*s1=%15s*”,”chinabeijing”);

printf(“\n*s2=%-5s*”,”chi”);

}

A)*s1=chinabeijing□□□*

S2=**chi*

B)*s1=chinabeijing□□□*

*s2=chi□□*

C)*s1=*□□chinabeijing*

*s2=□□chi*

D)*s1=□□□chinabeijing*

*s2=chi□□*

7.已有定义inta=-2;和输出语句:

printf(“%8lx”,a);以下正确的描述是:

A)整形变量的输出格式符只有%d一种;

B)%x是格式符的一种,它可以适应与任何一种类型的数据;

C)%x是格式符的一种,其变量的值按十六进制输出,但%8lx是错误的

D)%8lx不是错误的格式符,其中数字8规定了输出字段的宽度。

8.以下C程序的运行结果是:

#include

intmain()

{longy=-43456;

printf(y=%-8ld\n”,y);

printf(y=%-08ld\n”,y);

printf(y=%08ld\n”,y);

printf(y=%+8ld\n”,y);

return0;

}

A

y=□□-43456

y=-□□43456

y=-0043456

y=-43456

B

y=-43456

y=-43456

y=-0043456

y=+□-43456

C

y=-43456

y=-43456

y=-0043456

y=□□-43456

D

y=□□-43456

y=-0043456

y=00043456

y=+43456

9.以下程序运行的结果是:

#include

intmain()

{inty=2456;

printf(“y=%3o\n”,y);

printf(“y=%8o\n”,y);

printf(“y=%#8o\n”,y);

return0;

}

A

y=□□□2456

y=□□□□□□□□2456

y=########2456

B

y=□□□4630

y=□□□□□□□□4630

y=########4630

C

y=2456

y=□□□□2456

y=□□□02456

D

y=4630

y=□□□□4630

y=□□□04630

10.以下程序运行的结果是:

#include

intmain()

{longy=23456;

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

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

printf(“y=%#8x\n”,y);

return0;

}

A

Y=5ba0

Y=□□□□5ba0

Y=□□0x5ba0

B

Y=□□□5ba0

Y=□□□□□□5ba0

Y=□□0x5ba0

C

Y=5ba0

Y=5ba0

Y=0x5ba0

D

Y=5ba0

Y=□□□□5ba0

Y=####5ba0

11.若x,y均定义为int型,z定义为double型,以下不合法的scanf函数调用语句是:

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

B)scanf(“%2d*%d%lf”,&x,&y,&z);

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

D)scanf(“%x%o%6.2f”,&x,&y,&z);

12.如有如下定义和输入语句,若要求a1,a2,c1,c2的值分别为10、20、A、B,当从第一列开始输入数据时,正确的数据输入方式为:

inta1,a2;charc1,c2;

scanf(“%d%c%d%c”,&a1,&c1,&a2,&c2);

A)10A□20B<回车>B)10□A□20□B<回车>

B)10A□20B<回车>D)10A20□B<回车>

13.已有定义intx;floaty;且执行scanf(“%3d%f”,&x,&y);语句,若从第一列开始输入数据12345□678<回车>,则x的值为(【1】)y的值为(【2】)

【1】:

A)12345B)123C)45D)345

【2】:

A)无定值B)45.000000C)678.000000D)123.000000

14.根据以下定义语句和数据的输入方式,scanf语句的正确形式应为:

已有定义:

floatf1,f2;

数据的输入方式:

4.52<回车>

3.5<回车>

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);

15.阅读下列程序,当输入数据的形式为25,13,10<回车>,程序的输出结果为:

#include

intmain()

{intx,y,z;

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

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

return0;

}

A)x+y+z=48B)x+y+z=35

C)x+z=35D)不确定值

16.设有以下程序:

#include

intmain()

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

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

c5=getchar();

c6=getchar();

putchar(c1);

puchar(c2);

printf(“%c%c\n”,c5,c6);

return0;

}

若运行时从键盘输入数据:

abc<回车>

defg<回车>则输出的结果是:

A)abcdB)abdeC)abefD)abfg

17.以下针对scanf函数的叙述中,正确的是:

A)输入项可以为一实型常量,如scanf(“%f”,3.5);

B)只有格式控制,没有输入项,也能进行正确输入,如scanf(“a=%d,b=%d”);

C)当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf(“%4.2f”,&f);

D)当输入数据时,必须指明变量的地址,如scanf(“%f”,&f);

18.根据下面的程序及数据的输入方式和输出方式,程序中输入语句的正确形式应该为:

#include

intmain()

{charch1,ch2,ch3;

输入语句;

printf(“%c%c%c”,ch1,ch2,ch3);

return0;

}

输入形式:

A□B□C<回车>

输出形式:

A□B

A)scanf(“%c%c%c”,&ch1,&ch2,&ch3);

B)scanf(“%c,%c,%c”,&ch1,&ch2,&ch3);

C)scanf(“%c%c%c”,&ch1,&ch2,&ch3);

D)scanf(“%c%c”,&ch1,&ch2,&ch3);

19.有输入语句:

scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);为使变量a的值为1,b的值为3,c的值为2,从键盘输入数据的正确形式应当是:

A)132<回车>B)1,3,2<回车>

C)a=1□b=3□c=2<回车>D)a=1,b=3,c=2<回车>

20.以下不符合C语法的赋值语句是:

A)m=(2+1,m=1);B)m=n=0;

C)m=1,n=2D)n++;

21.以下能正确定义整型变量a,b,c并为其赋初值5的语句是:

A)inta=b=c=5;B)inta,b,c=5;

C)a=5,b=5,c=5;D)a=b=c=5;

22.已知ch是字符型变量,下面不正确的赋值语句是:

A)ch=’a+b’;B)ch=’\0’;C)ch=’7’+’9’;D)ch=5+9;

23.已知ch是字符型变量,下面正确的赋值语句是:

A)ch=’123’;B)ch=’\xff’;C)ch=’\08’;D)ch=”\”;

24.若有以下定义,则正确的赋值语句是:

inta,b;floatx;

A)a=1,b=2,B)b++;C)a=b=5D)b=int(x);

25.设x,y均为float型变量,则以下不合法的赋值语句是:

A)++x;B)y=(x%2)/10;C)x*=y+8;D)x=y=0;

26.设x,y,z为int型变量,则执行语句x=(y=(z=10)+5)-5;后,x,y,z的值分别为:

A

X=10

Y=15

Z=10

B

X=10

Y=10

Z=10

C

X=10

Y=10

Z=15

D

X=10

Y=5

Z=10

27.设有说明:

doubley=0.5,z=1.5;intx=10;则能够正确使用C语言库函数的赋值语句是:

A)z=exp(y)+fabs(x);

B)y=log10(y)+pow(y);

C)z=sqrt(y-z);

D)x=(int)(atan2((double)x,y)+exp(y-0.2));

程序分析题:

1、以下程序运行的结果是:

#include

intmain()

{shorti;

i=-4;

printf(“\ni:

dec=%d,oct=%o,hex=%x,usigned=%u\n”,i,i,i,i);

return0;

}

2、以下程序运行的结果是:

#include

intmain()

{printf(“*%f,%4.3f*\n”,3.14,3.1415);

return0;}

3、以下程序运行的结果是:

#include

intmain()

{charc=’x’;

printf(“c:

dec=%d,oct=%o,hex=%x,ASCII=%c\n”,c,c,c,c);

return0;

}

4、已有定义intd=-2;执行以下语句后,输出的结果是。

printf(“*d

(1)=%d,d

(2)=%3d,d(3)=%-3d*\n”,d,d,d);

printf(“*d(4)=%o,d(5)=%7o,d(6)=%-7o*\n”,d,d,d);

5、已有定义intd=-2;执行以下语句后,输出的结果是。

printf(“*d

(1)=%d*d

(2)=%3d*d(3)=%-3d*\n”,d,d,d);

printf(“*d(4)=%o*d(5)=%7o*d(6)=%-7o*\n”,d,d,d);

6、已有定义floatd1=3.5,d2=-3.5;执行以下语句后,输出的结果是。

printf(“*d

(1)=%e*d

(2)=%.4e*d(3)=%10.4e*\n”,d1,d1,d1);

printf(“*d(4)=%e*d(5)=%.6e*d(6)=%-12.5e*\n”,d2,d2,d2);

7、以下程序输出的结果是:

#include

intmain()

{intx=1,y=2;

printf(“x=%dy=%d*sum*=%d\n”x,y,x+y);

printf(“10Squaredis:

%d\n”,10*10);

return0;

}

8、以下程序输出的结果是:

#include

intmain()

{intx=10;floatpi=3.1416;

printf(“

(1)%d\n”,x);

printf(“

(2)%6d\n”,x);

printf(“(3)%f\n”,56.1);

printf(“(4)%14f\n”,pi);

printf(“(5)%e\n”,568.1);

printf(“(6)%14e\n”,pi);

printf(“(7)%g\n”,pi);

printf(“(8)%12g\n”,pi);

return0;

}

9、以下程序输出的结果是:

#include

intmain()

{inta=123.456;floatb=8765.4567;

printf(“

(1)%f\n”,a);

printf(“

(2)%14.3f\n”,a);

printf(“(3)%6.4f\n”,a);

printf(“(4)%lf\n”,b);

printf(“(5)%14.3lf\n”b);

printf(“(6)%8.4lf\n”,b);

printf(“(7)%.4f\n”,b);

return0;

}

10、以下printf语句中*号的作用是【1】,输出结果是【2】

#include

intmain()

{inti=1;

printf(“##%*d\n”,i,i);

i++;

printf(“##%*d\n”,i,i)

i++;

printf(“##%*d\n”,i,i)

return0;

}

11、以下printf语句中负号号的作用是【1】,输出结果是【2】

#include

intmain()

{intx=12;doublea=3.1415926;

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

printf(“%-6d##\n”,x);

printf(“%14.10lf##\n”,a);

printf(“%-14.10lf##\n”,a);

return0;

}

12、以下程序运行的结果是:

#include

intmain()

{inta=325;doublex=3.1415926;

printf(“a=%+06dx=%+e\n”,a,x);

return0;

}

13、以下程序运行的结果是:

#include

intmain()

{inta=252;

printf(“a=%oa=%#o\n”,a,a);

printf(“a=%xa=%#x\n”,a,a);

return0;

}

14、以下程序运行的结果是:

#include

intmain()

{intn=100;charc;

floatf=10.0;doublex;

x=f*=n/=(c=48);

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

return0;

}

15、有以下程序:

#include

intmain()

{intk=0;charc1=’a’,c2=’b’;

scanf(“%d%c%c”,&k,&c1,&c2);

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

return0;

}

若运行时从键盘输入:

55AB<回车>,则输出的结果是。

16、以下程序运行的结果是。

#include

intmain()

{intm=177;

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

return0;

}

17、以下程序运行的结果是。

#include

intmain()

{intn=0;

n+=(n=10);

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

return0;

}

18、若要下列程序的输出结果为8.00,则【】中应填入的是。

#include

intmain()

{intk=2,m=5;

floats,x=1.2,y=[];

s=2/3+k*y/x+m/2;

printf(“%4.2f\n”,s);

return0;

}

19、已知字母A的ASCII码值为65,以下程序输出的结果是:

#include

intmain()

{chara,b;

a=’A’+’4’-‘3’;

b=’A’+’6’-‘2’;

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

return0;

}

20、假设变量a和b均为整型,以下语句可以不借助任何变量把a和b中的值进行交换,请填空:

a+=[];b=a-[];a-=[];

21、假设变量a,b,c均为整型,以下语句借助中间变量t把a,b,c中的值进行交换,即把b中值给a,把c中的值给b,把a中的值给c.例如:

交换前,a=10,b=20,c=30,交换后,a=20,b=30,c=10.请填空:

【】;a=b;b=c;【】;

22、设有一输入函数scanf(“%d”,k);它不能使float类型变量k得到正确数值的原因是【1】未指明变量k的地址和【2】格式控制符与变量类型不匹配。

23、已有定义inta;floatb,x;charc1,c2;为使a=3、b=6.5、x=12.6、c1=’a’、c2=‘A’,正确的scanf函数调用语句是【】,数据输入的形式应为【】。

24、若有以下定义和语句,为使变量c1得到字符‘A’,变量c2得到字符‘B’,正确的输入形式是:

【】

charc1,c2;

scanf(“%4c%4c”,&c1,&c2);

25、执行以下程序时,若从第一列开始输入数据,为使变量a=3,b=7,x=8.5,y=71.82,c1=’A’,c2=’a’,正确的数据输入形式是【】

#include

intmain()

{inta,b;floatx,y;charc1,c2;

scanf(“a=%db=%d”,&a,&b);

scanf(“x=%fy=%f”,&x,&y);

scanf(“c1=%cc2=%c”,&c1,&c2);

printf(“a=%d,b=%d,x=%f,y=%f,c1=%c,c2=%c”,a,b,x,y,c1,c2);

return0;

}

编程题:

编写程序,从终端键盘输入圆的半径r,圆柱的高h,分别计算出圆的周长cl、圆的面积cs和圆柱的体积cvz。

输出计算结果时要求有文字说明,并取小数点后2位数字。

编写程序,读入一个字母,输出与之对应的ASCII码,输入输出都要有相应的文字提示。

编写程序,从键盘输入两个整数,分别计算他们的商和余数,输出时,商要求保留两位小数,并对第三位四舍五入。

参考答案:

1-5:

ABCBD,6-10:

DDCDA,11-15:

DAB(B)BD,16-20:

BDADC,21-27:

AABBBAD

填空:

1、i:

dec=-4,otc=177774,hex=fffc,unsigned=65532

2、*3.140000,3.142*

3、c:

dec=120,otc=170,hex=78,ASCII=x

4、*d

(1)=-2*d

(2)=□-2*d(3)=-2□*

*d(4)=177776*d(5)=□177776*d(6)=177776□*

5、*d

(1)=-2*d

(2)=□-2*d(3)=-2□*

*d(4)=fffe*d(5)=□□fffe*d(6)=fffe□□*

6、*d

(1)=3.50000e+00*d

(2)=3.500e+00*d(3)=□3.500e+00*

*d(4)=-3.50000e+00*d(5)-3.50000e+00*d(6)=-3.5000e+00□*

7、x=1y=2*sum*=3

10Squaredis:

100

8、1)10

2)□□□□10

3)56.100000

4)□□□□□□3.141600

5)5.68100e+02

6)□□□3.14160e+00

7)3.1416

8)□□□□□□3.1416

9、1)123.456.000

2)□□□□□□□123.457

3)123.4560

4)8765.456700

5)□□□□□□8765.457

6)8765.4567

7)8765.4567

10、1)可以使同一输出语句中的输出宽度得以改变

2)##1

##2

##□□3

11、输出数据左对齐

2)□□□□12##

12□□□□##

□□3.141592600##

3.141592600□□##

12、a=+00325□□□X=+3.14159e+00

13、a=374□□a=0374

a=fa□□=0xfc

14、24820.020.0

15、55,,A

16、261

17、20

18、3.6

19、a=66,b=E

20、1)b2)b3)b

21、1)t=a2)c=t

22、1)格式控制符与变量类型不匹配。

scanf语句的正确形式应该是:

scanf(“%f”,&k);

2)位指明变量k的地址

23、1)scanf(“%d%f%f%c%c”,&a,&b,&c1,

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

当前位置:首页 > 初中教育 > 数学

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

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