关键词不能为空

当前您在: 主页 > 高中公式大全 >

两坐标点距离公式程序设计基础教材1-5章答案

作者:高考题库网
来源:https://www.bjmy2z.cn/gaokao
2020-09-12 11:59
tags:海伦公式

什么叫祈使句-江西省教育考试院网站


《程序设计基础》习题参考答案与部分解析
第1章 C 语言概述
一、填空
a) C源程序的基本单位是 函数 。
b) 一个C程序中至少应包括一个 main函数 。
c) 在C语言中,输出操作是有库函数 printf( )函数 完成。
二、单选题
1、A 2、C 3、B
解析:
第1题 答案:A 。因为一个C程序总是从ma in函数开
始执行的,而不论main函数在程序中的位置。且到main函
数结束。
第2题 答案:C 。因为 main函数没有限制必须位于程
序的最前面。C程序书写自由, 一行内可写几个语句。在对
一个C 程序进行编译的过程中,无法检查注释当中的拼写
错误。不 过C语言本身并没有输入输出语句,输入输出是由
函数完成的。
第3题 答案:B。因为一个C语言程序是由若干个函
数组成的。但至少包含一个main 函数,且main函数的位
置不限。
三、编程题
1、编写一个输出“Welcome to C!”信息的小程序。
解:程序如下
#include “stdio.h”
main( )
{
printf(“Welcome to C!”) ;
}
2、 已知三角形的三 边长分别为3,4,5,试用海轮公式编程
求其面积。海伦公式为:S

= ,其中
s
= (
a+b+s
)2 ;
解:程序如下
#include “math.h”
#include “stdio.h”
main( )
{
int a , b , c * a ,b,c 3个整型变量表
示三角形的3条边。*
float s ,s1 * s1作为面积变量,s 作
为中间变量是都应该是实形*
a=3 b= 4; c=5
s= (a+b+c)2.0
s1= sqrt(s*(s-a)*(s-b)*(s-c)); * sqrt函数
完成开平方根功能。*
printf(“area=%fn”,s1);
}




第2章 程序设计基础知识
一、单选题
1、C 2、A 3、C 4、A 5、C 6、C 7、D 8、
C
9、D 10、A 11、D 12、A 13、C 14、C 15、B A
16、B 17 D
解析:
1. 答案:C。这里考察的是用户标识符的定义 。用户标识符
由字母、数字、下划线组成。且必须以字母或下划线开头,
区分大小写,且不能与 C语言已有的32个关键字同名。由
于选择不合法的用户标识符,A项的 A 、 P_0、 Do都是
合法的用户标识符;B项的 _A是合法的;D项的 _123、
temp、INT 也都是合法的。只有C 选项的标识符都是错误
的用户标识符。
2. 答案:A。这里考察的是整型常量的概念。B项当中01a
不正确,C
项当中的0668不是正确的八进制常量,D项当中的2e5是
float型常量。
3.答案:C。这里考察的是字符常量的定义。字符常量是用
单撇号括起来的单个字符或转义字符。所以 答案是C。
4.答案:A。字符变量只能包含一个字符。
5.答案:C。这里考察的是转义 字符的正确表示。C项的’074’
是错误的转义字符,正确表示方法是’074’。
6.答案:C。字符变量只能包含一个字符,而C项的c=’yes’
是错误的。
7 .答案:D。这里考察的是输入格式的控制。输入格式要
与scanf语句中字符串格式相对应。 8.答案:C。这里考察的是输出格式和字符对应的ASCII
码值。’A’的ASCII码值是6 5,’Y’字符的ASCII码值是89。
9.答案:D。这里考察输入格式和输出结果形式。由于输
入格式不正确,所以输出的是不确定值。
10.答案:A。这里考察的是标识符的特点区分大 小写,变
量sum和变量sUM是两个不同的变量,sum并没有参加运
算,所以它的值不边仍 然是7。
11.答案:D。%运算符要求两边的运算数必须是整型。
12.答案:A。这里考察的是复合赋值运算。a%=b+1;等价
与a=a%(b+1);
由于a=10,b=4;所以运算后a的值是0。
13.答案:C。这里考察的是在变量定义 类型是进行赋值操
作。要求a,b,c都赋值为5,且为int 类型。只有C正确。
14. 答案:C。这里考察的是类型的自动转换,只要有单精
度类型或双精度类型参加运算,结果都是doub le(双精度)
类型。
15.答案:B, A。这里考察的是逻辑表达式的运算过程。
表达式1&表达式2 ,若表达式1的值是0的话,结果就是0,
表达式2就不参加运算。要注 意:赋值表达式的值是左边赋
值变量的值。所以答案为B ,A。
16.答案:B。这里考察 的是逗号表达式运算过程是从第1
个表达式开始运算,然后依次运行到最后一个表达式。逗号
表 达式的值是最后表达式的值,且注意逗号运算符优先级低
于赋值运算符。所以表达式
(a=2,b=5,b++,a+b)运算过程a=2 —> b=5 —> b++ —>
a+b=8;结果是8。
17.答案:D。这里考察的是条件表达式的结合性是从右向
左。所以
kc是1,然后计算k二、填空题
1、-32768-32767 2、字母 , 数字 , 下划线 3、
分号(;)
4、30 ,15 5、 18 6、
0
7、-264 8、 7 9、
0
10、 1 11、 y%2= = 1 12、
x13、 0 14、 (x>2&&x<3) | | x < -10
1
三、编程题
1、编写程序,输入一个长方形的二边长,输出其面积。
解:程序如下
#include “stdio.h”
main( )
{
int a , b , s * a , b 作为长方形的两个边长,
积。*
printf(“请输入两个边长n”)
scanf(“%d%d” , & a , & b) ;
s = a * b
printf(“ The area : %d n “ , s )
}
2、 设置半径为r = 2.9 ,编程求圆周长和圆面积
15、
s为面


解:程序如下
#include “stdio.h”
#define PI 3.14
main( )
{
float r , L , S
L = 2*PI*r
S = PI * r *r
printf( “ L = %f , S = %f n “ , L , S )
}
3、 输入一个华氏温度,输出相应的摄氏温度。二者的换算公式
是:
c = 59(F – 32) , 其中F表示华氏温度,c表示摄氏温度。
解:程序如下
#include “stdio.h”
main( )
{
float c , F ;
printf(“请输入一个华氏温度:n”)
scanf(“%f” , &F);
c = (float) 59 *(F-32)
printf(“ F=%f , c=%f n” , F , c)
}

第3章 程序设计初步
一、单选题
1、 C 2、 C 3、 B 4、 B 5、
B
解析:1. 答案:C。这里考察的是if-else 语句和表达式中有增量
和减量的执行过程。if(m++>5) printf(“%dn”, m) else
printf(“%dn”,m++)
先执行m>5 的值是0,然后执行m=m+1; 得到m=6;由于m>5
的值是0所以执行else语句,应先输出m的值是6,然后m再
自增一个单位变成7。 2.答案:C。这里考察的是if语句的嵌套。根据else子句
总是与之前最近的if语句配对来 进行选择满足条件的答案。
3.答案:B。这里也考察的是if语句的嵌套。同理:if(xif(y<0) z=0 else z+=1 等价与 if(xz=0 else z+=1 } 因此答案是B。 4.答案:B。这里考察的是if语句的嵌套。根据else子句
总是与之前最近的if语句配对。
5.答案:B。由于B项:if(x=y) &&(x!=0) x+=y if 后
的条件表达式没有用圆括号括起来。正确的是 :if((x=y)
&&(x!=0)) x+=y
二、根据要求完成程序填空
1、 z > y z > x y > x 2、 ch >= ‘A’ && ch<=’Z’
ch=ch-32
3、 x < 0 x 10 y!=2
三、编程题
1、 编写一个 程序,要求用户从终端键入两个整数数值。检测这
两个数,判定第一个数是否能被第二数整除,并在终端 上显示相
应的信息。
解:程序如下
#include “stdio.h”
main( )
{
int a , b * a为第一个数 , b为第二个数 *
printf(“Please input two numbers: n”)
scanf(“%d%d” , &a ,&b)
if( a%b = = 0 )
printf(“%d能被%d整除。n” , a , b)
else
printf(“%d不能被%d整除。n” , a , b)
}
2、 有3个整数a , b , c , 由键盘输入,输出其中最大的数。
解:程序如下
#include “stdio.h”
main( )
{
int a , b , c , max
printf(“ Please input three numbers : n”)
scanf(“%d%d%d” , &a ,&b , &c)
if(a>b) max = a
else max = b
if(max < c ) max = c
printf( “The max is %d n”, max )
}
3、 给出一百分制成绩,要求输出成绩等级A、B、C、D、E。其中90分以上为A,80~89分为B,70~79为C,60~69为D,60分
以下为E。
解:程序如下
#include “stdio.h”
main( )
{
float score
int grade
printf(“Please input a score :n”);
scanf(“%f “ ,&score)
grade=(int ) score 10 ;
switch(grade)
{ case 10:
case 9: printf(“grade is An”) break
case 8: printf(“grade is Bn”) break
case 7: printf(“grade is Cn”) break
case 6:
printf(“grade is Dn”) break
default: printf(“grade is En”)
}
}
4、新世纪百货进行打折促销活动,消费金额(P)越高,折扣(d)
越大,标准如下:
消费金额 折扣
P < 100 0%
100 ≤ P < 200 5%
200 ≤ P < 500 10%
500 ≤ P < 1000 15%
P ≥ 1000 20%
编程 实现从键盘输入消费金额,输出折扣率和实付金额(f)。要
求分别用if语句和switch语句实现 。
解:(1) 用if语句编程实现如下
#include “stdio.h”
main( )
{
float P , d , f;
printf(“输入消费金额:n”);
scanf(“%f”,&P);
if( P<100 ) d=0
if( P

=100 && P<200 ) d=0.05
if( P

=200 && P<500 ) d=0.10
if( P

=500 && P<1000) d=0.15
if( P

=1000 ) d=0.20
f = P * (1-d)
printf(“折扣是%f,则实付金额为%fn”,d ,f)
}
(2) 用switch语句编程实现如下
#include “stdio.h”
main( )
{
float P , d , f
int c
printf(“输入消费金额:n”);
scanf(“%f”,&P);
c = (int)P100
switch( c )
{ case 0 : d = 0 break
case 1 : d = 0.05 break
case 2 :
case 3 :
case 4 : d = 0.10 break
case 5 :
case 6 :
case 7 :
case 8 :
case 9 : d = 0.15 break
default : d = 0.20
}
f = P * (1-d)
printf(“折扣是%f,则实付金额为%fn”,d ,f)
}
第4章 循环结构程序设计
一、单项选择
1、 A 2、 D 3、 C 4、 D
6、 D 7、 B 8、 B
二、按要求完成程序填空
1、 c != ’n’ c

=’0’ && c
<=
’9’
5、 B
2、 i%3= =2 && i%5= =3 && i%7= =2 j%5= =0
3、 i < 10 j%3 != 0
三、编程题
1、编程求n的阶乘(n由键盘输入)。
解:程序如下
#include “stdio.h”
main( )
{
int n , i
long fac
fac = 1
printf(“ Input a number: ”)
scanf(“%d” , &n)
i = 1
while( i <= n )
{ fac = fac * i
i++
}
printf(“ %d! is %ld n” , n , fac)
}
2、计算1!+2!+3!+…+10!的值。
解:方法一
#include “stdio.h”
main( )
{
int i=1 , j;
double fac ,sum=0
while( i
<=
10 )
{ j=1
Fac=1;
while( j
<=
i

)
{ fac = fac * j
j++
}
sum = sum + fac
i++
}
printf(“1!+2!+3!+…+10!=%.0fn”,sum);
}
方法二:
#include “stdio.h”
main( )
{
int i , j
double fac , sum=0
for(i=1;i
<=
10 i++)
{
for(j=1,fac=1; j
<=
i j++)
fac = fac * j
sum = sum + fac
}
printf(“1!+2!+3!+…+10!=%.0fn”,sum);
}
方法三:
#include “stdio.h”
main( )
{
int i
double fac , sum
sum=0
fac=1
for( i=1 i<10 ; i++ )
{
fac = fac * i
sum = sum + fac
}
printf(“1!+2!+3!+…+10!=%.0fn”,sum);
}
3、求Sn = a + aa + aaa + … + aaa…a(n个a)的值 ,其中a
是一个数字。例如:3+33+333+3333(此时n=4),n由键盘输入。
解:程序如下
#include “stdio.h”
main( )
{
int a , n , i
long Sn , t
Sn = 0
printf(“Please input a:n”);
scanf(“%d”,&a);
printf(“Please input n:n”);
scanf(“%d”,&n)
t=a
for(i=1;i<= n i++)
{ Sn = Sn +t
t= t*10 +a;
}
printf(“Sn=%ldn”,Sn);
}
4、打印出所有的“水花仙数”,所谓“水花仙数”是指一个3位
数,其各位数字立方和等于该 数本身。例如,153是一个水花仙
数。
解:程序如下
#include “stdio.h”
main( )
{
int t , a , b , c , n *变量n为统计水花仙数的个数*
n=0
for(t=100 ; t<1000 t++)
{ a = t 100
b = ( t – a*100)10
c = t%10
if( a*a*a + b*b*b +c*c*c = = t )
{ n++
if( n%6 = = 0 )
printf(“n”)
printf(“%5d” , t )
}
}
}
6、每个苹果0.8元 ,第一天买2个苹果,第二天开始,每 天买
前一个的2倍,直至购买的苹果个数达到不超过100的最大值。
编写程序求每天平均花多 少钱?
解: 程序如下
#include “stdio.h”
main( )
{
int day , num , sum
float money , every
sum = 0
num = 2;
for(day=1 num<100 )
{ sum = sum + num
day++
num = num *2
}
money = sum * 0.8
every = moneyday
printf(“ every = %f n” , every )
}
7、变成完 成用一元人民币换成一分、二分、五分的所有兑换方
案,即输出所有满足搭配要求的1分币个数,2分币 个数,5分
币个数。
解:程序如下:
#include “stdio.h”
main( )
{
int one ,two , five
for(one=0 one<=100 one++)
for(two=0 two<=50 two++)
for(five=0 five<=20 five++)
if( one + two*2 + five *5 = =100)
printf(“one=%d , two=%d , five=%dn”,one , two ,
five);
}
第5章 模块化程序设计---函数
一、单选题
1、 B 2、 B 3、 A 4、 A 5、 D
6、 D 7、 B 8、 B 9、 B 10、
A
二、编程题
1、已知三 角形的三边长,编一实现求三角形面积的功能函
数。说明:用海伦公式来求面积,但要注意输入的三边长 要
符合构成三角形的条件。海伦公式为:
S
Δ
=
s.(s?a).(s?b).(s?c)
(其中:s=(a+b+c)2)
解:程序如下
#include “stdio.h”
#include “math.h”
float Area( int a , int b , int c)
{
float s , area
s = (float)( a+ b+ c)2
if( (a+b>c)&&(a-b)area=sqrt(s*(s-a)*(s-b)*(s-c));
else
area=0;
return area
}

main( )
{
int a , b , c
float area
float Area(int , int , int );
printf(“请输入三角形的三边长n”);
scanf(“%d%d%d”, &a , &b, &c);
area = Area( a , b , c)
if(area!=0)
printf(“ area=%fn”, area);
eles
printf( “ error!n ”)
}
2、写一个判断素数的函数,在主函数输入一个整数,输出是否
素数的信息。
解:程序如下
#include “stdio.h”
int prime( int n )
{
int t , a=1
for(t =2 t <= n2 t++)
if( n%t = =0)
{
a= 0 break
}
return a
}
main( )
{
int n
printf(“ input a number:n”)
scanf(“%d”, &n )
if(prime(n)==1)
printf(“ %d is primen” , n );
eles
printf(“%d is not primen” , n)
}
3、编写函数,求1!+2!+3!+ … +K!的和。
解:程序如下
#include “stdio.h”

double SUM( int k)
{ int i , j
double fac , sum
sum=0
for( i=1 ; i <=k i++)
{
for(j=1 , fac=1 j<=i j++)
fac=fac*j
sum = sum +fac
}
return sum
}
main( )
{ int k
double sum
scanf(“%d” ,&k);
sum=SUM(k)
printf(“1!+2!+3!+ … +K!=%.0fn”,sum);
}
4、求方程ax+bx+c=0的根,用2个函 数分别求当b-4ac大于0
和等于0的根并输出结果,从主函数中输入a、b、c的值。
#include “stdio.h”
#include “math.h”
void f1(float a , float b , float c)
{
float t1 ,t2
t1=(-b + sqrt(b*b-4*a*c))(2*a);
t2=(-b - sqrt(b*b-4*a*c))(2*a);
printf(“t1=%f , t2=%fn”, t1,t2)
}
void f2(float a , float b , float c)
{
float t1
t2=-b (2*a);
22
printf(“t1=%fn”,t1);
}
main( )
{
float a , b ,c;
printf(“input a , b , cn”);
scanf(“%f%f%f”,&a ,&b,&c);
if(b*b – 4*a*c>0)
f1(a,b,c);
eles if(b*b-4*a*c ==0)
f2(a,b,c);
else
printf(“ no jie !n”);
}
5、求完数
#include
int wanshu(int n){
int i,sum=0;
for(i=1;i<=n2;i++)
if(n%i==0)
sum=sum+i;
if(sum==n)
return 1;
else return 0;
}
main()
{
int i;
printf(
for(i=2;i<=1000;i++)
if(wanshu(i)!=0)
printf(
else continue;
}

掌门一对一怎么样-樯橹的拼音


新兵分配规则-薛定谔猫


刚度-完美押韵


苏轼最著名的十首词-郑州电气工程学校


白卷英雄张铁生-中国emba排名


军校2019招生-营养午餐食谱


职中-昴怎么读


梯形面积公式是什么-研究生读几年



程序设计基础教材1-5章答案的相关文章