C习题及答案(2)

2019-08-30 21:11

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 表示Enter键 则变量i、j、k的值分别是 。

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,正确的输入形式是 。请用代表Enter键。 scanf(“%d%c%d%c%d%c%d%c”, &w, &a, &x,&b, &y, &c, &z, &d);

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)


C习题及答案(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2015版思想道德修养与法律基础精彩教案绪论

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: