C习题及答案(3)

2019-08-30 21:11

b = a; a = c; c = b;

4.若变量已正确定义,以下语句段的输出结果是 。 x = 0; y = 2; z = 3;

switch(x)

{ case 0: switch( y == 2)

{ case 1: printf(“*”); break; case 2: printf(“%”); break; }

case 1: switch( z )

{ case 1: printf(“$”);

case 2: printf(“*”); break; default : printf(“#”); } }

5. 以下程序的输出结果是 。

main()

{ int x=100, a=10, b=20, ok1=5, ok2=0;

if(a

printf(\\n\); }

6.若从键盘输入58,则以下程序输出的结果是 。

main() {

int a;

scanf\);

if(a>50)printf(\); if(a>40)printf(\); if(a>30)printf(\); }

7.以下程序的执行结果是 。

main() {

int k=8; switch(k) {

case 9: k+=1; case 10: k+=1;

case 11: k+=1; break; default: k+=1; }

printf(\\n\); }

8.阅读下面程序,程序执行后的输出结果是 。

#include \main() {

int x,y,z;

x = 1; y = 2; z = 3; if(x>y)

if(x>z)printf(\); else printf(\); printf(\\n\); }

9.C语言中用 表示逻辑真,用 表示逻辑假。

10.根据C语言运算符的优先顺序和结合性,按从先到后的顺序写出以下表达式中,运算符“+”、“>”、“*”、“&&”、“!=”、“||”、“!”和“/”的先后顺序: 、 、 、 、 、 、 、 。 (a + b) > c * 2 && b != 5 || !(1 / 2)

11.若表达式(a + b) > c * 2 && b != 5 || !(1 / 2)中,a、b、c的定义和赋值为 int a = 3, b = 4, c = 2; 则表达式的值为 。

12.将下列数学式改写成C语言的关系表达式或逻辑表达式是 A) B) 。 A)a = b 或 a < c B)| x | > 4

13.请写出与以下表达式等价的表达式是 A) B) 。 A)!(x > 0) B)!0

第六章 循环控制

一、选择题

1.以下不是死循环的语句是

A)for( ; ; x += i) ; B)while(1) {x ++; }

C)for(i = 10; ; i++) sum += i;

D)for(; (c = getchar()) != ?\\n?; ) printf(“%c”, c); 2.下面程序的运行结果是

#include main() {

int y=10;

do{y--;}while(--y); printf(\\n\); }

A)-1 B)1 C)8 D)0 3.以下程序段的输出结果是

int n = 10; while(n > 7) { n--;

pritnf(“%d”, n); }

A)1098 B)987 C)10987 D)9876 4.以下程序段的输出结果是

int x = 3; do

{ printf(“=”, x -= 2); } while(!(--x));

A) 1 B) 3 0 C) 1 -2 D)死循环 5.以下程序的输出结果是

main()

{ int i, sum;

for(i = 1; i < 6; i++)

sum += i;

printf(“%d\\n” sum); }

A)15 B)16 C)不确定 D)0 6.以下程序的输出结果是

main()

{ int y = 10 for(; y > 0; y --) if(y % 3 == 0)

{ pritnf(“%d”, --y); continue; } }

A)741 B)852 C)963 D)875421 7.有以下程序 main()

{ int i;

for(i=0; i<3; i++) switch(i)

{ case 1: printf(\ case 2: printf(\ default : printf(\ } }

执行后输出结果是

A) 011122 B) 012 C) 012020 D) 120

8.以下程序的功能是:按顺序读入10名学生4门课程的成绩,计算出每位学生的平均分并输出,程序如下:

main()

{ int n,k;

float score,sum,ave; sum=0.0;

for(n=1;n<=10;n++) {

for(k=1;k<=4;k++ ) {

scanf(\sum+=score; }

ave=sum/4.0;

printf(\ }

}

上述程序运行后结果不正确,调试中发现有一条语句出现在程序中的位置不正确。这条语句是

A) sum=0.0; B) sum+=score;

C) ave=sum/4.0 D) printf(\:%f\\n\9.若x是int类型变量,以下程序段的输出结果是 for(x = 3; x < 6; x++)

printf( (x%2)?(“**%d”):(“##%d\\n”),x);

A)**3 B)##3 C)##3 D)**3##4 ##4 **4 **4##5 **5 **5 ##5 10.以下程序的输出结果是

#include main() {

int i;

for(i = 1; i < 5; i++) {

if(i % 2)

putchar(?

continue;

putchar(?>?); }

putchar (?#?); }

A)< > < > < > # B)> < > < > < # C)< > < > # D)> < > < # 11.以下叙述正确的是

A)do-while语句构成的循环不能用其它语句构成的循环来代替。 B)do-while语句构成的循环只能用break语句退出。

C)用do-while构成循环时,只有在while后的表达式为非零时结束循环 D)用do-while构成循环时,只有在while后的表达式为零时结束循环 12.以下程序的输出结果是

A)39 81 B)42 84 C)26 68 D)28 70 main()

{ int x, i;

for(i = 1; i <= 100; i++) { x = i;

if( ++x % 2 == 0) if( ++x % 3 == 0 ) if( ++x % 7 == 0) printf(“%d “, x);

}

printf(“\\n”);

}

13.以下程序段的输出结果是

int k, j, s;

for(k = 2; k < 6; k++, k++) { s = 1;

for(j = k; j < 6; j++)

s += j; }

printf(“%d\\n”, s);

A)9 B)24 C)15 D)10 14.以下程序段的输出结果是

int i, j, m = 0;

for(i = 1; i <= 15; i += 4) for(j = 3; j <= 19; j += 4) m++;

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

A)12 B)15 C)20 D)25

15.下面程序的功能是把316表示为两个加数的和,使两个加数分别能被13和11整除,请选择填空。

#include main() {

int i=0,j,k;

do{i++;k=316-13*i;}while(______); j=k/11;

printf(\); }

A)k/11 B)k C)k/11==0 D)k==0 16.在下述程序中,判断i > j共执行了多少次

#include


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

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

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

马上注册会员

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