Java暑期学习第三十三天日报

一、今日学习内容:

今天练习c++第一章的课后习题。

二、遇到的问题:

无。

三、明日计划:

明天计划学习2.1、2.2、2.3的例题。

 

今日练习题目的具体内容如下:

 

习题1.1请根据你的了解,叙述C++ 的特点。C++ 对C有哪些发展?

答:

(1)特点:相对于C语言来讲,C语言是结构化和模块化的语言,它是基于过程的。而C++是面向对象的语言,一切事物皆是对象,它即可用于基于过程的结构化程序,又可用于面向对象的程序设计。另外对象有它的属性,面向对象的基本特点是封装,继承,和多态。

(2) c++在c+的发展主要表现在两个方面: 在原来基于过程的机制基础上,对c语言的功能做了不少的扩充 增加了面向对象的机制。

 

习题1.2 一个C++的程序是由哪几部分构成的?其中的每一部分起什么作用?

答:

1、预处理:一堆头文件#include,自定义#define,编译开关 #pragma
2、全局声明:类、结构体、全局变量等声明 
3、函数体:主程序和被调函数

 

习题1.3从接到一个任务到得到最终结果,一般要经过几个步骤?

1)用C++编写程序(源程序cpp)

2)对源程序进行编译(目标程序.obj)

3)将目标文件连接(可执行二进制文件.exe)

4)运行程序

5)分析运行结果

 

习题1.4请说明编辑,编译,连接的作用。在编译后得到的目标文件为什么不能直接运行?

答:编译是以源程序文件为单位进行的,而一个完整的程序可能包含若干个程序文件,在分别对他们编译后,得到若干个目标文件(后缀一般为.obj),然后要将它们连接为一个整体.此外,还需要将编译系统提供的标准库相连接,才能生成一个可执行文件(后缀为.exe).不能直接运行文件(后缀为.exe).不能直接运行后缀为.obj的目标文件,只能运行后缀为.exe的可执行文件。

 

习题1.5分析下面程序运行的结果:

public class t2 {

    public static void main(String[] args) {
        System.out.print("This"+"is");
        System.out.print("a"+"c++");
        System.out.print("program.\n");
    }
}

测试截图:

 

 

习题1.6分析下面程序的运行结果

 

import java.util.Scanner;
public class t2 {
    public static void main(String[] args) {
        int a=10;
        int b=23;
        int c;
        c=a+b;
        System.out.print("a+b=");
        System.out.print(c+"\n");
    }
}

测试截图:

 

 

习题1.7分析下面程序的运行结果:

import java.util.Scanner;
public class t2 {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入3个数:");
        int a=sc.nextInt();
        int b=sc.nextInt();
        int c=sc.nextInt();
        c=f(a,b,c);
        System.out.println("3个数中最小的为:"+c);
    }
    public static int f(int x,int y,int z) {
        int m;
        if(x>y)m=y;
        else m=x;
        if(m>z)
            m=z;
        return m;
    }
}

测试截图:

 

 

1.8 输入以下程序进行编译,观察编译情况,如果有错误,请修改程序再进行编译,直到没有错误,然后进行连接和运行,分析运行结果

import java.util.Scanner;
public class t2 {
    public static void main(String[] args) {
        int a=10;
        int b=23;
        int c;
        c=a+b;
        System.out.print("a+b=");
        System.out.print(c+"\n");
    }
}

 

测试截图:

 

 

1.9输入以下程序进行编译,观察编译情况,如果有错误,请修改程序再进行编译,直到没有错误,然后进行连接和运行,分析运行结果

import java.util.Scanner;
public class t2 {
    public static void main(String[] args) {
        int a;
        int b;
        int c;
        Scanner sc=new Scanner(System.in);
        a=sc.nextInt();
        b=sc.nextInt();
        c=add(a,b);
        System.out.print("a+b=");
        System.out.print(c+"\n");
    }
    public static int add(int x,int y) {
        int z;
        z=x+y;
        return z;
    }
}

测试截图:

 

 

1.10输入以下程序,编译并运行,分析运行结果

import java.util.Scanner;
public class t2 {
    public static void main(String[] args) {
        int x;
        int y;
        int z;
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入三个数:");
        x=sc.nextInt();
        y=sc.nextInt();
        z=sc.nextInt();
        sort(x,y,z);
        
        
    }
    public static void sort(int x,int y,int z) {
        int temp;
        if(x>y) {
            temp=x;
            x=y;
            y=temp;
        }
        if(z<x) 
            System.out.print(z+","+x+","+y);
        
        else if(z<y) 
            System.out.print(x+","+z+","+y);
        else
            System.out.print(x+","+y+","+z);
    }
}

测试截图:

 

posted on 2020-08-07 21:36  桑榆非晚柠月如风  阅读(202)  评论(0编辑  收藏  举报