《C语言程序设计》(邱晓红主编)课后习题参考答案
第1章 C语言及程序设计概述
1.单选题
(1)A  (2)B  (3)A  (4)B (5)C
2.填空题
(1)//,/**/
(2)scanf()
(3)printf()
3.判断题
(1)对  (2)错 (3)错  (4)对
1.4简答题
1概述C语言和C语言程序的主要特点。
答:
1.C语言高级语言。它把高级语言的基本结构和语句与低级语言的实用性结合起来。
2。C语言是结构式语言。结构式语言的显著特点是代码及数据的分隔化,即程序的各个部  分除了必要的信息交流外彼此独立。这种结构化方式可使程序层次清晰,便于使用、维护以及调试。
1C语言功能齐全。具有各种各样的数据类型,并引入了指针概念,可使程序效率更高。
2C语言适用范围大。适合于多种操作系统,如Windows、DOS、UNIX、LINUX等等;也适用于多种机型。
2请编程,在计算机屏幕上显示:“您好,欢迎进入C语言世界!
解:
#include<stdio.h>
void main()
{
    printf("您好,欢迎进入c预言世界!");
}
            第二章:数据类型 运算符与表达式
1.单选题
(1)C  (2)D  (3)C  (4)B  (5)C  (6)A  (7)B  (8)D  (9)A  (10)B
(11)C  (12)C  (13)D  (14)A  (15)B  (16)C  (17)A  (18)A  (19)B  (20)C
(21)C  (22)D  (23)C  (24)A  (25)D  (26)B  (27)C  (28)B  (29)B  (30)A
2.填空题
(1)sqrt(pow(y,x)+log10(y))    (2)36
(3)6                        (4)3 3
(5)6                        (6)36
(7)int x=8,y=8;              (8)1
(9)E                        (10)7,9,6,8)
(11)6                      (12)66,96
(13)240                      (14)1,1,-1,-1
(15)5,2,6                    (16)1
(17)!                        (18)2
(19)(a>0&&a<101)&&(a%3==0||a%7==0)
(20)A
3.程序分析题
(1)2  7  (VC++环境下,其它编译环境可能有不一样的结果)
    2  7
    4  9
    4  4
    12  12
(2)3  1  4  0
    1  -6
    16
(3)100  d  68  D
    97  a  49  1
(4)0  1  0  1
(5)2  4  6  7
    -0.5800000  7.000000
    4
    6.580000
    7.500000
(6)3
    3  1
    2  1
    13  13  0
    8
    2  32
(7)6
    18  30
18
1
(8)11  0  0
4.改错题
(1)①无初始赋值,不能输出
    ②数据精度丢失
    ③少“;”号
windows程序设计第7版pdf
  ④单字符变量不能保存字符串常量
  ⑤不能连续初始化
  ⑥非法标识符
(2)short i=38000溢出
    PI=3.1416 常量不能修改值
    Printf(%d,x%y) %必须是整数
    a*=(b+c)/=d复合赋值左边不能是表达式
     
5、
(1)
#include <stdio.h>
int main()
{
    int H;
    float v,L1,L2,L,T,s1,M;
    printf("请输入开始里程数,单位为千米:\n");
    scanf("%f",&L1);
    printf("请输入结束里程数,单位为千米:\n");
    scanf("%f",&L2);
    printf("请输入时间,格式为 时,分,秒\n");
    scanf("%d,%f,%f",&H,&M,&s1);
    T=H+M/60.0+s1/3600.0;//将时间折算成小时;
    L=L2-L1;//计算出这段时间走的路程,以千米计;
    v=L/T;
    printf("%f\n",v);
    return 0;
}
(2)
#include <stdio.h>
#define PI 3.14
int main()
{
    double r=2.5,h=5,V;
    V=(PI*r*r*h)/3;
    printf("%f\n",V);
    return 0;
}
第三章:算法概念与顺序结构程序设计
1.选择题
(1)D  (2)D    (3)D  (4)B  (5)C  (6)A (在16位机答案为D)  (7)B  (8)C
(9)B  (10)D
2.填空题.
(1)一条语句    ;
(2)小于  左  右
(3)%%
(4)输出项列表  输出控制符
(5)取地址  取a的地址
(6)从盘获取一个字符
(7)大括号
(8)f=68.000000
(9)n1=%d\n n2=%d
(10)7,5,c=3
3.程序分析题.
(1)i=100,c=a,f=1.234000
(2)i=65535,j=65536
(10)1234,123.5,12345.5
3.4 编程题
1编写一个程序,交换两个数的值。
#include <stdio.h>
int main()
{
    int a,b,temp;
    scanf("%d%d",&a,&b);
    printf("a=%d,b=%d\n",a,b);
    temp=a;
    a=b;
    b=temp;
    printf("a=%d,b=%d\n",a,b);
    return 0;
}
输入任意一个4位数整数,将该数反序输出(例如输入1354,输出4531)。
#include <stdio.h>
int main()
{
    int a,ans=0;
    scanf("%d",&a);
    while(a)
    {
        ans=ans*10+a%10;
        a/=10;
    }
    printf("%d\n",ans);
    return 0;
}
1从键盘输入能够构成三角形的三条边长,编程计算该三角形的面积
#include <stdio.h>
#include <math.h>
int main()
{
    int a,b,c,p;
    double ans;
    printf("请输入a,b,c:");
    scanf("%d%d%d",&a,&b,&c);
    if((a+b)>c||(a-b)<c)
        {
        p=(a+b+c)/2;
        ans=sqrt(double(p*(p-a)*(p-b)*(p-c)));
        printf("%f\n",ans);
    }
    else
        printf("输入错误\n");
    return 0;
}
(4)编写程序,用getchar函数读入两个字符给c1和c2,然后分别用putchar函数和printf函数输出这两个字符。在程序实现时考虑
变量c1和c2应定义为字符型还是整型?还是两者皆可?
#include <stdio.h>
int main()
{
    int c1,c2;
    char C1,C2;
    c1=getchar();    getchar();
    c2=getchar();    getchar();
    printf("%c\t",c1);   
    putchar(c2);    putchar('\n');
    C1=getchar();    getchar();
    C2=getchar();
    printf("%c\t",C1);
    putchar(C2);    putchar('\n');
    return 0;
}
要求输出c1和c2的ASCII码,应如何处理?
#include <stdio.h>
int main()
{
    char c1,c2;
    c1=getchar();    getchar();
    c2=getchar();    getchar();
    printf("%d\t%d\n",c1,c2);   
    return 0;
}
第四章:选择结构程序设计
1.选择题
(1)C  (2)B  (3)B  (4)B  (5)D  (6)D  (7)D  (8)A  (9)D(有一语句缺了;,若补齐则答案为B  (10)A (11)B  (12)B  (13)D  (14)A  (15)C  (16)A  (17)C  (18)C  (19)B  (20)D (21)A  (22)C  (23)A  (24)A
2.填空题.
(1)1                  (2)5  8  8
(3)4  5  99            (4)2
(5)10  20  0          (6)2  1
(7)-4                  (8)3
(9)No                  (10)25
(11)45  45              (12)0
(13)5.5                  (14)13
(15)3
3、
(1)参考代码如下:
#include<stdio.h>
int main()
{
    int x;
    printf("请输入一个整数:");
    scanf("%d",&x);
    if (x%7==0) printf("Yes");
      else printf("No");
    return 0;
}
(2)参考代码如下:
#include<stdio.h>
#include<math.h>
int main()
{
    float a,b,c,s,m;
    printf("请输入三个数:\n");
    scanf("%f %f %f",&a,&b,&c);
      if((a+b>c)&&(a+c>b)&&(b+c>a))
      {
          s=(a+b+c)/2;
          m=sqrt(s*(s-a)*(s-b)*(s-c));

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。