是
scanf(“a=%f,b=%f”,&a, &b);
A)3.12 9.0 B)a= 3.12b= 9 C)a=3.12,b=9.0 D)a=3.12 ,b=9 18.以下程序的输出结果是 #include “math.h”
main()
{ double a = -3.0, b = 2;
printf(“%3.0f %3.0f\\n”, pow(b,fabs(a)), pow(fabs(a), b) );
}
A)9 8 B)8 9
C)6 6 D)以上三个都不对 19.以下程序的输出结果是 main()
{ char c1 = ?A?, c2 = ?Y?; printf(“%d,%d\\n”, c1, c2); }
A)因输出格式不合法,无正确输出 B)65,90 C)A,Y D)65,89 20.以下程序段的输出结果是 main()
{ char x = ?A?;
x = (x>=?A? && x<=?Z?)?(x+32):x; printf(“%c\\n”, x); }
A)A B)a C)Z D)z 21 以下程序段的输出结果是 main()
{ char ch1, ch2; ch1 = ?A? + ?5? - ?3?; ch2 = ?A? + ?5? - ?3?;
printf(“%d,%c\\n”, ch1,ch2); }
A)67, C B)B,C C)C,D D)不确定的值 22.若变量已正确说明,要求用以下语句给c1赋予字符%、给c2赋予字符#、给a赋予2.0、给b赋予4.0,则正确的输入形式是
scanf(“%f%c%f%c”, &a, &c1, &b, &c2);
A)2.0 % 4.0 # B)2.0%4.0# C)2% 4# D)2 % 4 # 23.以下程序的输出结果是
main()
{ int w = 4, x = 3, y = 2, z = 1;
printf(“%d\\n”, (w < x) ? w: z < y ? z: x)); }
A)1 B)2 C)3 D)4
24.下列程序段的输出结果是
int a=1234;
float b=123.456;
double c=12345.54321;
printf(\); A)无输出
B)12,123.5,12345.5 C)1234,123.5,12345.5 D)1234,123.4,1234.5 二、填空题
1.若有以下定义,请写出以下程序段中输出语句执行后的结果。 (1) (2) (3) int i = -200, j =2500;
printf(“(1) %d %d”, i, j);
printf(“(2) i = %d, j = %d\\n”, i, j);
printf(“(3) i = %d\\n j = %d\\n”, i, j);
2.变量i、j、k已定义为int类型并赋初值0,用以下语句输入时 scanf(“%d”, &i); scanf(“%d”, &j); scanf(“%d”, &k); 当执行第一个输入语句时从键盘输入: 12.3
3.复合语句在语法上被认为是 。空语句的形式是 。
4.以下程序段,要求通过scanf语句给变量赋值,然后输出变量的值。写出运行时给k输入100,给a输入25.81,给x输入1.89234时的三种可能的输入形式 、 、 。 int k; flaot a; double x; scanf(“%d%f%lf”, &k, &a, &x);
printf(“k = %d, a = %f, x = %f\\n”, k, a, x);
5.以下程序段的输出结果是 。 int x = 0177;
printf(“x = =, x = m, x = %6o, x = %6x, x = %6u\\n”, x, x, x, x, x);
6.以下程序段的输出结果是 。 double a = 513.789215;
printf(“a = %8.6f, a = %8.2f, a = .8f, a = .8lf\\n”, a, a, a, a);
7.若要通过以下语句给a、b、c、d分别输入字符A、B、C、D,给w、x、y、z分别输入10、20、30、40,正确的输入形式是 。请用
8.若有以下说明和输入语句,要求给c1、c2输入字符A和B,给a1、a2输入7.29和101.298,从键盘正确输入数据的形式是 。 char c1, c2; float a1, a2; scanf(“%f%f”, &a1, &a2);
scanf(“%c%c”, &c1, &c2);
9.若有以下说明和输入语句,要求给c1、c2、c3输入字符A、B和C,请写出从键盘正确输入数据的形式是 。
char c1, c2, c3; scanf(“L”, &c1);
scanf(“L”, &c2); scanf(“L”, &c3);
10.下列程序的输出结果是16.00,请填空。
main() { int a=9, b=2;
float x= , y=1.1,z; z=a/2+b*x/y+1/2;
printf(\\n\); }
第五章 选择结构程序设计
一、选择题
1.下面的程序片断所表示的数学函数关系是
y = -1;
if(x != 0) y = 1; if(x > 0) y = 1; else y = 0;
-1 (x < 0) 1 (x < 0) A)y = 0 (x = 0) B)y = -1 (x = 0) 1 (x > 0) 0 (x > 0)
0 (x < 0) -1 (x < 0) C)y = 0 (x = 0) D)y = 1 (x = 0) 1 (x > 0) 0 (x > 0)
2.运行以下程序后,输出的结果是
main()
{ int k = -3; if(k <= 0)
printf(“****\\n”),
else printf(“&&&&\\n”); }
A)**** B)&&&&
C)****&&&& D)有语法错误不能通过编译 3.有如下程序
main() {
int x=1,a=0,b=0; switch(x) {
case 0: b++; case 1: a++;
case 2: a++;b++;
}
printf(\\n\);
}
该程序的输出结果是
A)a=2,b=1 B)a=1,b=1 C)a=1,b=0 D)a=2,b=2 4.有以下程序 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) 编译时出错 D) 4 5.有以下程序
main() {
int i=1,j=1,k=2; if((j++||k++)&&i++)
printf(\\n\); }
执行后输出结果是
A)1,1,2 B)2,2,1 C)2,2,2 6.有如下程序
main() {
float x=2.0,y;
if(x<0.0)y=0.0;
else if(x<10.0)y=1.0/x;
else y=1.0;
printf(\\n\);}
该程序的输出结果是
A)0.000000 B)0.250000 C)0.500000 7.若执行以下程序时从键盘上输入3和4,则输出结果是
main() {
int a, b, s;
scanf(“%d%d”, &a, &b); s = a;
if(a < b) s = b;
D)2,2,3 D)1.000000 s *= s;
pritnf(“%d\\n”, s);
}
A)14 B)16 C)18 D)20 8.假定所有变量均已正确定义,下面语句段执行后的x的值是 a = b = c = 0; x = 35;
if(!a) x--; else if(b) ; if(c) x = 3; else x = 4;
A)34 B)4 C)35 D) 3 9.判断char型变量c是否为大写字母的C表达式是
A)?A?<=c<=?Z? B)(c>=?A?&(c<=?Z?) C) (?A?<=c)AND(?Z?>=c) D)(c>=?A?)&&(c<=?Z?) 10.下列运算符中优先级最高的运算符是
A)! B)% C)-= D)&& 11.下列运算符中优先级最低的运算符是
A)|| B)!= C)<= D)+ 12.为表示关系 x≥y≥z,应使用的C语言表达式是
A)(x>=y)&&(y>=z) B)(x>=y)AND(y>=z) C)(x>=y>=z) D)(x>=y)&(y>=z)
13.设a、b和c都是int变量,且a=3,b=4,c=5;则以下的表达式中,值为0的表达式是
A)a&&b B)a<=b
C)a||b+c&&b-c D)!((a
main()
{ int a = 2, b = -1, c = 2; if(a
if(b < 0) c = 0; else c += 1; printf(“%d\\n”, c); }
A)0 B)1 C)2 D)3
二、填空题
1.请写出以下程序的输出结果 。 main()
{ int a = 100;
if( a > 100) printf(“%d\\n”, a > 100); else printf(“%d\\n”, a <= 100);
}
2.将上题中的双分支if语句改写成条件表达式语句:
; 3.当a = 1、b = 2、c = 3时,以下if语句执行后,a、b、c中的值分别为: 、 、 。 if(a > c)