文档库 最新最全的文档下载
当前位置:文档库 › C语言——顺序结构程序设计练习题

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

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

顺序结构程序设计习题

一、选择题:(以下各题□代表空格。)

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

#include

int main()

{int m=5,n=10;

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

}

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

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

#include

int main()

{int a=201,b=012;

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

return 0

}

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

3.有定义语句int a,b;若要通过语句scanf(“%d,%d,”&a,&b);使变量a得到数值6,变量b

得到数值5,下面输入形式,错误的是:

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

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

4.设有如下程序:

#include

int main()

{char ch1=’A’,ch2=’a’;

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

return 0;

}

则以下叙述正确的是:

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

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

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

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

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

#include

int main()

{int x1=0xabc,x2=oxdef;

x2-=x1;

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

return 0;

}

A)ABC B)0XABC C)0X333 D)333

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

#include

int main()

{ 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.已有定义int a=-2;和输出语句:printf(“%8lx”,a);以下正确的描述是:

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

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

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

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

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

#include

int main()

{long y=-43456;

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

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

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

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

return 0;

9. 以下程序运行的结果是: #include int main() {int y=2456;

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

10. 以下程序运行的结果是: #include int main()

{ long y=23456;

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

”,y); return 0;

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 ,当从第一列

开始输入数据时,正确的数据输入方式为: int a1,a2;char c1,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.已有定义int x;float y;且执行scanf(“%3d%f”,&x,&y);语句,若从第一列开始输入数据

12345□678<回车>,则x的值为(【1】)y的值为(【2】)

【1】:A) 12345 B)123 C)45 D)345

【2】:A)无定值B)45.000000 C)678.000000 D)123.000000

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

已有定义:float f1,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

int main()

{int x,y,z;

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

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

return 0;

}

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

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

16.设有以下程序:

#include

int main()

{char c1,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);

return 0;

}

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

abc<回车>

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

A)abcd B)abde C)abef D)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

int main()

{ char ch1,ch2,ch3;

输入语句;

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

return 0;

}

输入形式: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=2 D)n++;

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

A)int a=b=c=5; B) int a,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.若有以下定义,则正确的赋值语句是:。

int a,b; float x;

A)a=1,b=2, B)b++; C)a=b=5 D)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的值分别为:。

27.设有说明:double y=0.5,z=1.5;int x=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

int main()

{short i;

i=-4;

printf(“\ni:dec=%d,oct=%o,hex=%x,usigned=%u\n”,i,i,i,i);

return 0;

}

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

#include

int main()

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

return 0;}

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

#include

int main()

{char c=’x’;

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

return 0;

}

4、已有定义int d=-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、已有定义int d=-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、已有定义float d1=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

int main()

{ int x=1,y=2;

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

printf(“10 Squared is :%d\n”,10*10);

return 0;

}

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

#include

int main()

{int x=10;float pi=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);

return 0;

}

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

#include

int main()

{int a=123.456;float b=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);

相关文档