C语言复习题 下载本文

printf(\%12g,%g\\n\

}

10.执行以下程序时,若从第一列开始输入数据,为使变量a=2,b=5,x=8.8,y=76.34,

c1='A',c2='a',正确的数据输入形式是__________。 main( ) { int a,b; float x,y; char c1,c2;

scanf(\%d b=%d\ scanf(\%f y=%f\

scanf(\%d c2=%d\

printf(\%d,b=%d,x=%f,y=%f,c1=%c,c2=%c\}

11. 已知字符A的ASCII码值为65,以下语句的输出结果是 。

char ch='B';

printf(\ 12. 有以下语句段:

int n1=10,n2=20;

printf(\ \

要求按以下格式输出n1和n2的值,每个输出行从第一列开始,请填空。 n1=10 n2=20

13. 有以下程序:

#include “stdio.h” main( )

{ char ch1,ch2; int n1,n2;

ch1=getchar(); ch2=getchar(); n1=ch1-'0'; n2=n1*10+(ch2-'0'); printf(\ }

程序运行时输入:12<回车>,执行后的输出结果是 。 14. 以下程序段的输出结果是 _____ 。 int i=9;

printf(\

15. 以下程序运行后的输出结果是 _______ 。 main()

{ int a,b,c; a=25; b=025; c=0x25;

printf(\ } 16.以下程序运行时,若从键盘输入:10 20 30<回车>,输出的结果是_______ 。 #include “stdio.h” main()

{ int i=0,j=0,k=0;

scanf(\printf(\}

17.已知字符A的ASCII代码值为65,以下程序运行时若从键盘输入:B33<回车>,则

输出结果是_______ 。  #include “stdio.h”  main()

 { char a,b;

 a=getchar();scanf(\ a=a-'A'+'0';b=b*2;  printf(\}

18.以下程序运行后的输出结果是_______ 。  main()

 { int x=0210; printf(\  }

19.以下程序运行后的输出结果是_______ 。  main()  { char c; int n=100;

 float f=10; double x;  x=f*=n/=(c=50);

 printf(\ }

20.已知字母A的ASCII码为65。以下程序运行后的输出结果是 _______ 。  main()  { char a, b;  a=?A?+?5?-?3?; b=a+?6?-?2? ;  printf(\  }

第4章

4.1 单选题

1.在C语言程序中,用( )表示逻辑值“真”。 A.1 B.非0的数 C.非1的数 D.大于 0 的数

2.在C语言程序中,做逻辑运算时判断操作数真、假的表述中,下列哪一个是正确的 A.0为假,非0为真 B.只有1为真 C.1为假,1为真 D.0为真,非0为假 3.表达式!(x>0||y>0) 等价于( )。 A.!x>0||!y>0 B.!(x>0)||!(y>0) C.!x>0&&!y>0 D.!(x>0)&&!(y>0) 4.判断整型变量x、y中有且只有1个值为0的表达式为( )。 A.!(x*y) && (x+y) B.(x*y)&&x+y

C.x*y==0 D.x==0&&y!=0 5.下列条件语句中,功能与其他语句不同的是( )。 A. if(a) printf(\%d\\n\%d\\n\ B. if(a==0) printf(\%d\\n\%d\\n\ C.if (a!=0) printf(\%d\\n\%d\\n\ D.if(a==0) printf(\%d\\n\%d\\n\6.以下程序段中与语句“k=a>b?(b>c?1:0):0;”功能等价的是( )。 A.if((a>b)&&(b>c)) k=1; B.if((a>b)||(b>c)) k=1 else k=0; else k=0; C.if(a<=b) k=0; D.if(a>b) k=1;

else if(b<=c) k=1; else if(b>c) k=1; else k=0 7.以下程序执行后输出的结果是( )。 #include \main( )

{int i=1,j=1,k=2;

if((j++||k++)&&i++) printf(\}

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

8.下列各语句序列中,能够将变量u和s中的较大值赋值到变量t中的是( A.if(u>s)t=u ; t=s; B.t=s ; if(u>s)t=u; C.if(u>s)t=s ; else t=u; D.t=u ; if(u>s)t=s; 9.以下程序执行后的输出结果是( )。 #include \main( )

{int k=1,s=0; switch(k) {

case 1: s+=10;

case 2: s+=20; break; default: s+=3; }

printf(\}

A.10 B.30 C.20 D.23 10.以下程序执行后的输出结果是( )。 #include \main( )

{int a=5,b=4,c=3,d=2; if(a>b>c)

printf(\ else if ((c-1>=d)==1) printf(\ else

printf(\

。 )

}

A.2 B.3 C.4 D.编译时有错误,无结果 11.以下程序执行后的输出结果是( )。 #include \main( )

{ char x='A';

x=(x>='A'&& x<='Z')? (x+32): x ; printf(\%c\\n\ A.A B.a C.z D.Z 12.下列程序段执行后,变量k、x、y、z值依次为( )。 int k,x,y,z; x=y=z=1;

k=x++&&y++||z++;

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

13. 若变量c为char类型,能正确判断出c为小写字母的表达式是( ) A.'a'<=c<='z' B.(c>= 'a')||(c<= 'z') C.('a'<=c)and ('z'>=c) D.(c>= 'a')&&(c<= 'z')

14. 设有定义:int a=2,b=3,c=4;,则以下选项中值为0的表达式是( ) A. (!a==1)&&(!b==0) B. (a=10 or a<=0 B. a>=0|a<=10 C. a>=10 && a<=0 D. a>=10‖a<=0

16. 下列运算符中优先级最高的是 。

A)> B) + C) && D)!= 17.以下关于运算符优先级的描述中,正确的是 。

A)!(逻辑非)>算术运算>关系运算>&&(逻辑与)>||(逻辑或)>赋值运算 B)&&(逻辑与)>算术运算>关系运算>赋值运算

C)关系运算>算术运算>&&(逻辑与)>||(逻辑或)>赋值运算 D)赋值运算>算术运算>关系运算>&&(逻辑与)>||(逻辑或) 18.逻辑运算符的运算对象的数据类型 。

A)只能是0或1 B)只能是.T.或.F. C)只能是整型或字符型 D)任何类型的数据 19. 以下程序的运行结果是 。 main( ) {

int c,x,y; x=1; y=1; c=0;

c=x++||y++;

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

A)110 B)211 C)011 D)001