c语言程序设计习题答案(3)

2018-12-12 23:03

8.输入两个小写字母分别赋值给字符变量ch1与ch2,将它们转换成大写字母,并交换ch1与ch2的值,最后输出ch1与ch2的值。

#include

void main()

{ char c1, c2, t;

printf(\请输入两个半角的小写英文字母:\ c1=getchar(); c2=getchar();

c1 -= 32;

c2 -= 'a'-'A'; /*与32等价*/ t = c1; c1 = c2; c2 = t;

printf(\ }

运行结果:

请输入两个半角的小写英文字母:db

BD

9.输入秒数,将它转换,用小时、分钟、秒来表示。例如输入7278秒,则输出:2小时1分18秒。

#include

void main()

{ int k;

int hour, minute, second; printf(\请输入秒数:\ scanf(\ hour = k/3600; k %= 3600; minute = k/60;

second = k`;

printf(\小时%d分钟%d秒。\\n\ }

运行结果:

请输入秒数: 7278

2小时1分钟18秒。

10.输入两个复数的实部和虚部,输出这两个复数积的实部和虚部。两复数的积按下面的公式计算:(a+bi)·(c+di)=(ac-bd)+(ad+bc)i。

#include

void main()

{ float a, b, c, d, real, imag;

printf(\请输入第一个数的实部和虚部:\ scanf(\

printf(\请输入第二个数的实部和虚部:\ scanf(\ real = a*c-b*d; imag = a*d+b*c;

printf(\两个复数积的实部和虚部分别是%f, %f\\n\ }

运行结果:

请输入第一个数的实部和虚部:1.1 2.2 请输入第二个数的实部和虚部:3.3 4.4 两个复数积的实部和虚部分别是-6.050000, 12.100000

第三章 C程序的基本控制结构

一.单选题

1.若变量已经正确定义为float型,要通过语句scanf(“%f %f %f ”, &a,&b,&c)。

给a输入10.0,n输入20.0,c输入30.0,下列不正确的输入形式是( B )。A) 10<回车>20<回车>30<回车> B) 10.0,20.0,30.0<回车> C) 10.0<回车>20.0 30.0<回车> D) 10 20<回车>30<回车> 2.若有说明语句:char c=?65?; 则变量c( D )。

A) 包含1个字符 B) 包含2个字符 C) 包含3个字符 D) 说明不合法,c的值不确定 3.若w=1,x=2,y=3,z=4,则条件表达式w

A)1 B)2 C)3 D)4

4.x、y、z被定义为int型变量,若从键盘给它们输入数据,正确的输入语句是( B A) input x,y,z; B) scanf(“%d%d%d”, &x,&y,&z); C) scanf(“%d%d%d”, x,y,z); D) read(“%d%d%d”, &x,&y,&z); 5.有以下程序。

#include void main( ) {

char a1=?A?, a2=?a?; printf(“%c\\n”, (a1, a2)); }

以下叙述中正确的是( B )。

A) 程序输出大写字母A B) 程序输出小写字母a

。 ) C) 格式说明符不足,编译出错 D) 程序运行时产生出错信息 6.以下程序的输出结果是( A )。

#include void main( ) {

int a=2,b=3,c=0,d; d=!a&&!b||!c;

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

A)1 B)0 C)非0的数 D)-1 7.以下程序的输出结果是( B )。

#include void main( ) {

int a=6,b=5;

printf(“%d\\n”,--a+b,--b+a); }

A) 8 B)9 C)10 D)11 8.下面程序输出的结果是( D )。

#include void main( )

{int a=55,b=50,c=60,d; d=a>20?b:c; switch(d)

{case 40: printf(“%d,”,a );

case 50: printf(“%d,”,b ); case 60: printf(“%d,”,c ); default: printf(“$\\n” );}}

A)50,60 B)50,$ C)60,$

#include void main( ) { int x; scanf(“%d”,&x); if(x>300) printf(“%d”,x); if(x>200) printf(“%d”,x); if(x>100) printf(“%d”,x); }

D)50,60,$

9.如果从键盘输入数据666,下面程序输出的结果是( C )。

A)666 B)666666 C)666666666 D)以上都不对

10.有如下程序。

#include

void main( ) {

int a=5,b=6,c=1; switch (c) {

case 0:b++; case 1:a++; case 2:a++;b++; }

printf (“a=%d,b=%d\\n”,a,b); }

该程序的输出结果是( C )

A)a=5,b=6 B)a=6,b=7 C)a=7,b=7 D)a=7,b=8 11、下面的程序中:

int i=9;

while(i=0) i=i-1;

则下列描述正确的是( C ) A)while循环执行9次 C)循环体语句一次也不执行

B)循环体语句执行一次 D)循环是无限循环

(注意:i=0是赋值语句,不是对i中值和0进行比较,因此程序执行后i的值是0而不是9)

12、下面的程序中:

int i=-1; do

{i=i*i;} while(!i);

则下列描述正确的是( B )

A)循环体一次也不执行 B)循环体执行一次 C)循环体执行两次 D)是无限循环 13、下面的程序中:

int i=0;

while(i=1) {…}

则下列描述正确的是( C )

A)循环控制表达式不合法 B)循环控制表达式为0 C)循环控制表达式为1 D)以上都不对 14、下面的程序中:

int x=0,total=0;

while(!x!=0) total+=++x; printf(“%d”, total);

则下列描述正确的是( D )

A)程序段的控制表达式是非法 B)程序段是无限循环 C)运行程序段后输出0 D)运行程序段后输出1 A) B) i=1; i=1; x=1; while (i﹤=6) { x=x*i; i++;}

x=1; do {x=x*i;

15、若变量已正确定义,要求以下程序段完成6!的运算,不能完成的程序段是( D )。

i++; }

while (i﹤=6);

C) D) for (x=1,i=1;i﹤=6;i++) for (i=1;i﹤=6;i++) x=x*i; { x=1; x=x*i;} 16、设n为整型变量,则for(n=10 ;n>=0 ;n--)循环次数为( C )

A)9 B)10 C)11 D)12 17、对表达式for(表达式1; ; 表达式3)可以理解为( B )

A)for(表达式1;0;表达式3) B)for(表达式1;1;表达式3) C)for(表达式1;表达式1;表达式3) D)for(表达式1;表达式3;表达式3) 18、下面的程序运行结果是( B )

#include void main( ) { int x=10; do x--;

while(--x);

printf(\

}

A)-1 B)0

C)1 D)8

二.填空题

1.下面程序的输出结果是16.00,请填空。

#include void main( ) { int a=9, b=2;

float x= 6.6 , y=1.1, z; z=a/2+b*x/y+1/2; printf(“%5.2f \\n”, z); }

2.下面程序输出的结果是 Z 。


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

下一篇:生命安全与救援 网络公选课 答案

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

马上注册会员

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