C语言基本数据类型及运算题库 下载本文

18. 阅读程序,并按给定的输出格式将程序运行结果写在“运行结果:”之后

#include void main() {

int a, b, c;

a = (b = (c = 3) * 5)*5;

printf (\}

运行结果是:

答案:运行结果是:

a = 30, b = 15, c = 3

19. 阅读程序,并按给定的输出格式将程序运行结果写在“运行结果:”之后

#include void main() {

int a = 16, b, x = 6, y, z; b = a+++1;

printf (\ x *= a = b;

printf (\ x = 1; y = 2; z = 3; x += y += z;

printf (\}

运行结果是:

答案:运行结果是:

b=17 x=102 9

20. 阅读程序,并按给定的输出格式将程序运行结果写在“运行结果:”之后

#include void main( ) {

printf(\ printf(\}

运行结果是:

答案:运行结果是:

f gde h j k

21. 阅读程序,并按给定的输出格式将程序运行结果写在“运行结果:”之后

#include void main( ) {

char c1, c2; int n1, n2;

c1 = getchar(); c2 = getchar();

n1= c1 - '0'; n2 = n1*10 + (c2 - '0'); printf (\}

若输入48,则运行结果是: 答案:48

22.阅读程序,并按给定的输出格式将程序运行结果写在“运行结果:”之后

#include void main( ) {

char c; int n=100; float f=10; double x;

x=f*=n/=(c=50);

printf(\}

运行结果: 答案:

2 20.000000

23.阅读程序,并按给定的输出格式将程序运行结果写在“运行结果:”之后

#include void main( ) {

int a,b,c;

a=10; b=20; c=(a%b<1)||(a/b>1); printf(\}

运行结果:

10 20 0

24.阅读程序,并按给定的输出格式将程序运行结果写在“运行结果:”之后

#include void main() {

int x=0210;

printf(\

}

运行结果: 答案:88

25.阅读程序,并按给定的输出格式将程序运行结果写在“运行结果:”之后

已知字母A的ASCII码为65。以下程序运行后的输出结果是______。 #include void main() {

char a, b;

a='A'+'5'-'3'; b=a+'6'-'2'; printf(\}

运行结果: 答案:67 G

26.阅读程序,并按给定的输出格式将程序运行结果写在“运行结果:”之后

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

#include void main() {

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

运行结果: 答案:1 B 27.

四、编程题

1. 编写程序,读入3个双精度数,求它们的平均值并保留此平均值小数点后一位数,对小数点后第二位数进行四舍五入,最后输出结果。

【分析与解答】

(1)定义4个双精度变量a、b、c和ave,变量a、b、c分别存放读入的3个双精度数,ave存放它们的平均值。

(2)设计输入语句,以及在此之前用于提示输入的(printf)语句。 (3)设计求平均值的算法,把所求得平均值放入变量ave中。

(4)设计把变量ave中的数,从小数点后第二位数进行四舍五入的算法。现举例说明:若ave中的数为123.4644,为了保留此值小数点后一位,可用表达式:(int)(123.4644*10)/10.0;依次推算,为了保留此值小数点后二位,可用表达式:(int)(123.4644*100)/100.0;其他依次类推。

(5)若要求对小数点后第二位数进行四舍五入,则可对原数加0.05后再进行以上运算。如要求保留123.4644小数点后一位且对第二位数进行四舍五入,可用表达式:(int)((123.467+0.05)*10)/10.0。注意:分母一定要用实数10.0而不能用整数10,否则就变成整除了;若要求保留123.4644小数点后两位且对第三位数进行四舍五入,可用表达式:(int)((123.467+0.005)*100)/100.0;其他依此类推。

(6)设计输出语句。输出a、b、c和ave。 (7)把以上内容放在主函数的一对花括号中。 (8)编写程序如下: #include void main() {

double a,b,c,ave;

printf(\:\

scanf(\ ave=(a+b+c)/3;

printf(\用以比较四舍五入前后的数据*/ ave=(int)((ave+0.05)*10)/10.0;

printf(\ }

2. 编写一个简单的C程序,输出以下信息:

* * * * * * * * * * * * *

C program!

* * * * * * * * * * * * *

答案:

#include void main ( ) {

printf(\ printf(\

printf(\}