C程序设计课后习题13答案.docx

上传人:b****7 文档编号:10614852 上传时间:2023-02-21 格式:DOCX 页数:13 大小:21.11KB
下载 相关 举报
C程序设计课后习题13答案.docx_第1页
第1页 / 共13页
C程序设计课后习题13答案.docx_第2页
第2页 / 共13页
C程序设计课后习题13答案.docx_第3页
第3页 / 共13页
C程序设计课后习题13答案.docx_第4页
第4页 / 共13页
C程序设计课后习题13答案.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

C程序设计课后习题13答案.docx

《C程序设计课后习题13答案.docx》由会员分享,可在线阅读,更多相关《C程序设计课后习题13答案.docx(13页珍藏版)》请在冰豆网上搜索。

C程序设计课后习题13答案.docx

C程序设计课后习题13答案

C程序设计课后习题

第一章习题

1.选择题

(1)C语言程序的执行总是从(A)开始。

A.main函数的入口B.编译预处理命令

C.源程序的第一个函数D.源程序的第一行语句

(2)在C语言的源程序中,主函数的位置(C)。

A.必须在编译预处理命令的后面B.必须在源程序的最后

C.任意D.必须在源程序的开头

(3)下列变量名中合法的是(C)。

A.B.C.TomB.3a6b

C._6a7bD.$ABC

(4)下面两对用户定义标识符哪个可读性更强:

(C)

A.checkqualityB.salarytotal

C.check_qualityC.sal_ary_tot_al

(5)C程序是由(D)组成。

A.若干个过程B.若干子程序

C.一个主程序和若干子程序D.若干函数

2.填空题

(1)一个函数一般由两部分组成,它们分别是_函数首部______和__函数体____。

(2)编译预处理命令___是_____(填“是”或“不是”)C语言文本的一部分。

(3)一个C语言程序至少应包含一个__主函数或main()__。

(4)C语言的标准输入函数是_scanf()__,标准输出函数是___printf()____。

(5)函数体用___{______符号开始,用_____}______符号结束。

(6)注释的开始和结束标志分别为__/*____和____*/____。

为增强程序的__可读性___,应该为程序写上清晰的注释。

3.编程题:

参考本章例题,编写一个C程序,输出以下信息。

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

*Thedatais*

*2005-03-23*

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

程序如下:

#include

Voidmain()

{printf(“**********************\n”);

printf(“*Thedatais*\n”);

printf(“*2005-03-23*\n”);

printf(“**********************\n”);

}

 

第二章习题

1.选择题

(1)设intm=10,则下列表达式的值不等于零的有(AF)。

A.1%2B.m=10/11.0

C.m==8D.2/3

E.~m&mF.~(m|m)

G.!

mH.m^m

(2)设有intm=11,则表达式(B)使整型变量n的值为1。

A.n=m%3B.n=m-1<11?

1.0:

3.0

C.n=m/12D.n=11-m

(3)设有intx=10,y=3;则下列表达式值为1的是(D)。

A.!

(y==x/3)B.y!

=x%7

C.x>0&&y<0D.x!

=y||x>=y

(4)有如下定义

longm;charc;floatx;doubley;

则表达式2L+3*y+m*2+c+x*m*3的值的类型为(D)。

A.longB.charC.floatD.double

(5)’a’在内存中占(A)个字节,“a”在内存中占(B)个字节。

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

(6)设intx=25;则表达式(x&20>>1)|(x>10|7&x^33)的值为(F)。

A.35B.43C.11D.3F.41

2.填空题

(1)若int类型占2个字节,则long型数据占_4_字节,short类型占_2_字节,unsignedint占__2__字节,float类型占__4__字节。

(2)若有floatx,执行表达式语句x=8.7+123.7*6-‘a’%7;后,x的值为__744.900024___。

(3)欲将一个16位二进制的整型变量的高8位清零,而只保留低8位,可用的方法__与八进制数377按位与即可______。

(4)下面程序段的输出结果为___0___。

Inta=1,b=2,c=3;

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

(5)有如下语句,则输出输出结果为__k1=-1,k2=65535____。

intk=-1;

printf(“k1=%d,k2=%u”,k,k);

3.阅读程序,写出输出结果

(1)

#include

main()

{charc1=‘H’,c2=c1+32;

printf(“%o,%x,%d\n”,c1,c1,c1);

printf(“%c,%2d\n”,c2,c2);

}

输出结果为:

110,48,72

H,104

(2)

#include

main()

{

intx=432;

floatf=69.20;

charc;

c=f-2;

printf(“%c,”,c);

x+=f;

printf(“%d,”,x);

f=c+x;

printf(“%4.3f\n”,f);

}

输出结果为:

C,501,568.000

 

第三章习题

1.选择题

(1)结构化程序设计的三种基本结构是(A)。

A.顺序结构、选择结构、循环结构

B.顺序结构、转移结构、递归结构

C.嵌套结构、选择结构、递归结构

D.嵌套结构、循环结构、顺序结构

(2)C语言中,逻辑“真”等价于(C)。

A.大于零的数B.大于零的整数

C.非零的数D.非零的整数

(3)有程序段;

inta;

scanf(“%d”,&a);

if(!

a)

printf(“continue”);

则if语句中的!

a等价于(B)。

A.a!

=0B.a==0C.a>0D.a>=0

(4)若有intx,y;且x=20,则以下关于for循环语句的正确判断为(A)

for(y=20;x!

=y;++x,y++)printf(“--\n”);

A.循环体一次也不执行B.循环体只执行一次

C.死循环D.输出---—

(5)有程序段;

intx=20;

do{

x/=2

}while(x--);

请问此循环执行(A)次

A.4B.3C.5D.不确定

(6)下列说法中不正确的是(A)。

A.switch语句中必须使用break语句。

B.switch后的括号中可以为任何表达式。

C.case后只能是常量或常量表达式。

D.以上结论不都正确。

(7)下面选项中与if(a)等价的是(B)

A.if(a==0)B.if(a!

=0)C.if(a=0)D.if(a==1)

(8)有如下程序段:

intk,m;

k=5,m=1;

switch(k){

case1:

m++;

case5:

m*=3;

case9:

m+=4;break;

case11:

m+=1;

default:

m+=3;

}

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

则输出结果是(B)。

A.10B.7C.3D.11

2.程序填空题

(1)求各位数为7且能被3整除的6位数的个数。

#include“stdio.h”

main()

{longinti;

intcount;

count=_____0______;

for(i=_100007___;i<99999;__i++_____)

if(__(i%10==7)&&(i%3==0)_______)count++;

printf(“count=%d\n”,count);

}

(2)本程序判断某年(year)是否是闰年。

#include”stdio.h”

main()

{

intyear;

printf(“pleaseinputyear:

”);

scanf(“%d”,&year);

if((year%4==0__&&__year%100!

=0)__||__year%400==0)

printf(“aleapyear.\n”);

}

(3)编程用公式:

4(1-1/3+1/5-1/7+...)计算圆周率,精度要求为10-5(注:

其中sign代表当前项符号(1表示+或-1表示-))。

#include

#include

voidmain()

{

intsign=1;

floatPi=0,item=1,k=3;

while(fabs(item)___)=1E-5________;)

{

pi+=item;

sign*=-1;

item=__sign/k______;

k_+=2_________;

}

pi=__pi*4_______;

printf(“pi=%f\n”,pi);

}

3.编程题

(1)请使用if...elesif...eles语句改写下面的程序。

#include

voidmain()

{intmark;

printf(“inputthemarkofastudent(0

”);

scanf(“%d”,&mark);

mark=mark/10;

switch(mark)

{

case9:

printf(“A\n”);break;

case8:

printf(“B\n”);break;

case7:

printf(“C\n”);break;

case6:

printf(“D\n”);break;

default:

printf(“E\n”);break;

}

}

结果为:

#include

voidmain()

{intmark;

printf(“inputthemarkofastudent(0

”);

scanf(“%d”,&mark);

if(mark/10==9)

printf(“A\n”);

elseif(mark/10==8)

printf(“B\n”);

elseif(mark/10==7)

printf(“C\n”);

elseif(mark/10==6)

printf(“D\n”);

else

printf(“E\n”);

}

(2)从键盘上输入四个整数,输出其中最小的一个。

结果为:

#include

voidmain()

{

inta,b,c,d,min;

scanf(“%d,%d,%d,%d”,&a,&b,&c,&d);

min=a;

if(min>b)min=b;

if(min>c)min=c;

if(min>d)min=d;

printf(“min=%d\n”,min);

}

(3)求12/(1+1)+22/(2+1)+32/(3+1)+...+n2/(n+1)的值,其中n的值由用户输入确定(注:

请使用两种以上的不同循环分别编写本题)。

结果为:

方法一:

#include

main()

{intn,i=1;

floatsum=0;

scanf(“%d”,&n);

while(i<=n)

{sum=sum+i*i/(i+1.0)

i++;

}

Printf(“sum=%f\n”,sum);

}

方法二:

#include

main()

{intn,i=1;

floatsum=0;

scanf(“%d”,&n);

do

{sum=sum+i*i/(i+1.0)

i++;

}while(i<=n);

Printf(“sum=%f\n”,sum);

}

方法三:

#include

main()

{intn,i;

floatsum=0;

scanf(“%d”,&n);

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

{sum=sum+i*i/(i+1.0)

}

Printf(“sum=%f\n”,sum);

}

 

(4)输入一串字符,将其中的空格和数字删除后输出。

结果为:

#include

main()

{charc;

while(c=getchar()!

=’\n’)

if(!

((c==’‘)||(c>=48&&c<=57)))

Putchar(c);

}

}

(5)本程序为某批发店计算应收货款总额。

贷款总额等于单价乘以发货数量,而单价随发货数量的增加而降低。

具体规定如下:

基本单价为10元。

购买数量(n)

当1~5件时,优惠x%,x=n-1;

当6~20件时,优惠x%,x=4+(n-5)*0.4;

当21~50件时,优惠x%,x=10+(n-20)*0.15;

当51~300件时,优惠x%,x=14.5+(n-50)*0.03;

当300件以上时,优惠x%,x=22.

当用户输入购买的数量时,程序计算并输出单价和货款总额。

结果为:

#include

voidmain()

{

intn;

floatprice=10,r_price,p_sum;

printf(“Pleaseinputnumber:

\n”);

scanf(“%d”,&n);

if(n<=5)

{r_price=price*(100-(n-1))/100;}

elseif(n<=20)

{r_price=price*(100-(4+(n-5)*0.4))/100;}

elseif(n<=50)

{r_price=price*(100-(10(n-20)*0.15))/100;}

elseif(n<=300)

{r_price=price*(100-(14.5+(n-50)*0.03))/100;}

else

{r_price=price*(100-22)/100;}

printf(“Price=%f,Sum=%f”,r_price,n*r_price);

}

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1