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