精华内容
下载资源
问答
  • 以下程序段的输出结果为()。 for(i=4;i>1;i--) for(j=1;j;j++) putchar('#'); A:无 B:###### C:# D:###
  • 以下程序输出结果是____。

    千次阅读 2017-08-01 16:27:24
    以下程序输出结果是__。class A { public: virtual void func(int val = 1) { std::cout<<"A->";} virtual void test() { func();} }; class B : public A { public: void func(int val=0

    以下程序输出结果是__

    class A
    {
    public:
        virtual void func(int val = 1)
        { std::cout<<"A->"<<val <<std::endl;}
        virtual void test()
        { func();}
    };
    class B : public A
    {
    public:
        void func(int val=0)
    {std::cout<<"B->"<<val <<std::endl;}
    };
    int main(int argc ,char* argv[])
    {
        B*p = new B;
        p->test();
    return 0;
    }

    正确答案: B

    A、A->0
    B、B->1
    C、A->1
    D、B->0
    E、编译出错
    F、以上都不对

    正确答案:B

    记住:virtual 函数是动态绑定,而缺省参数值却是静态绑定。 意思是你可能会 在“调用一个定义于派生类内的virtual函数”的同时,却使用基类为它所指定的缺省参数值。
    结论:绝不重新定义继承而来的缺省参数值!(可参考《Effective C++》条款37)
    对于本例:

    B*p = newB;
    p->test();

    p->test()执行过程理解:
    (1) 由于B类中没有覆盖(重写)基类中的虚函数test(),因此会调用基类A中的test();
    (2) A中test()函数中继续调用虚函数 fun(),因为虚函数执行动态绑定,p此时的动态类型(即目前所指对象的类型)为B*,因此此时调用虚函数fun()时,执行的是B类中的fun();所以先输出“B->”;
    (3) 缺省参数值是静态绑定,即此时val的值使用的是基类A中的缺省参数值,其值在编译阶段已经绑定,值为1,所以输出“1”;
    最终输出“B->1”。所以大家还是记住上述结论:绝不重新定义继承而来的缺省参数值!

    展开全文
  • 以下程序输出结果是:

    千次阅读 2018-11-21 23:31:50
    以下程序输出结果是: #include “stdio.h” main() {char *s,*s1=“here is”,*s2=“key”; s=s1; while (*s1!=’\0’) s1++; while (*s1++!=*s2++) s2=s; while (*s2!=’\0’) s2++; printf ("%d-%d=%d\n&...

    以下程序的输出结果是:
    #include “stdio.h”
    main()
    {char *s,*s1=“here is”,*s2=“key”;
    s=s1;
    while (*s1!=’\0’) s1++;
    while (*s1++!=*s2++) s2=s;
    while (*s2!=’\0’) s2++;
    printf ("%d-%d=%d\n",s2,s,s2-s);
    }
    之前一直不理解这个的结果是什么意思。。
    在这里插入图片描述

    #include "stdio.h"
    main()
    {char *s,*s1="here is",*s2="key"; 
    s=s1; //从这里开始,print的s=s1=19748668,即字符串存储起始位置
    while (*s1!='\0')	s1++;//s1向后走,直到字符串的末尾\0,此时printf的s1=19748675
    while (*s1++!=*s2++)	s2=s;
    //这行功能:比较s1与s2,s1的“h”(位置为s+1=19748669)与s2的“k”不同,则s2=s
    //这行执行后:s1=19748922,s2=19748669
    while (*s2!='\0')	s2++; 
    //这行让s2查找至末尾\0: s2=19748675(*s2="here is")
    printf ("s=%d\n",s);
    printf ("s1=%d\n",s1);
    printf ("s2=%d\n",s2);
    printf ("%d-%d=%d\n",s2,s,s2-s);//s2-s即“here is”的长度为7
    }
    

    每次执行程序,存储位置都不一定相同,故s,s1,s2的值每次都会有所不同,但是存储的相对位置是不会改变的,s2-s即“here is”的长度,为7。

    展开全文
  • 以下程序输出结果是( ) # include<stdio.h> subl(char a,char b) {char c;c=a;a=b;b=c;} sub2(char *a,char b){ char c;c=*a;*a=b;b=c;} sub3(char *a,char *b) { char c;c=*a;*a=*b...
  • #include #include typedef struct _data { int id; char buff[10]l }data_t; int main() { data_t data; char ch[10] = "0123456789"; printf("%d\n",strlen(ch)); return 0; }
  • 定义一个泛型String类型...集合中有”abc”、”bcd”两个元素,程序最终输出结果为:“a = 1,b = 2,c = 2,d = 1”。 @author Administrator */ public class List { public static void main(String[] args) { ...

    定义一个泛型为String类型的List集合,统计该集合中每个字符(注意,不是字符串)出现的次数。例如:

    • 集合中有”abc”、”bcd”两个元素,程序最终输出结果为:“a = 1,b = 2,c = 2,d = 1”。
    • @author Administrator

    */

    public class List {
    public static void main(String[] args) {
    // 创建集合对象
    ArrayList list = new ArrayList<>();
    list.add(“abc”);
    list.add(“bcd”);

    	// 将集合中的两个元素进行拼接
    	String str = list.get(0) + list.get(1);
    	methodl(str);
    }
    
    private static void methodl(String str) {
    	HashMap<Character, Integer> map = new HashMap<>();
    	for (char c : str.toCharArray()) {
    		map.put(c, map.containsKey(c) ? map.get(c) + 1 : 1);
    	}
    	// 获取最后一个key
    	Set<Character> chrs = map.keySet();
    	ArrayList<Character> list = new ArrayList<Character>(chrs);
    	char lastKey = (char) (list.get(list.size() - 1));
    	for (Map.Entry<Character, Integer> entry : map.entrySet()) {
    		char key = entry.getKey();
    		int value = entry.getValue();
    		// 如果是最后一个key直接打印key与value结束.
    		if (key == lastKey) {
    			System.out.println(key + "=" + value);
    			break;
    		}
    		// 如果不是最后一个,打印 key与value和一个逗号分隔
    		System.out.print(key + "=" + value + ",");
    	}
    }
    

    }

    展开全文
  • public static void main(String[] args) { // TODO Auto-generated method stub A a = new B(); a = new A(); } } ———————————————————————— A B A
    public class A {
    public static void prt(){
    System.out.println("1");
    }
    public A(){
    System.out.println("A");
    }

    }


    public class B extends A{


    /**
    * @param args
    */
    public static void prt(){
    System.out.println("2");
    }
    public B()
    {
    System.out.println("B");
    }
    public static void main(String[] args) {
    // TODO Auto-generated method stub
    A a = new B();
    a = new A();
    }
    }

    ————————————————————————

    A B  A

    展开全文
  • void ss (char *s,char t) { while (*s) { if(*s==t) *s=t-‘a’+’A...void main() { char str1[100]=“abcddfefdbd”,c=‘d’; ss (str1,c); printf ("%s\n",str1); } ABCDDEFEDBD abcDDfefDbD abcAAfefAbA Abcd...
  • package com.njue.mis; import java.util.*; public class Test { public static void main(String[] args){ Queue queue = new PriorityQueue(10, new Comparator(){ public int compare(Integer i,Integer j
  • 习题3.6 阅读下面程序,分析其执行过程,写出输出结果 #include <iostream> using namespace std; class Student {public: Student(int n,float s):num(n),score(s){} void change(int n,float s) {num=n.....
  • 任务和代码:根据main函数中对printchs函数的调用,以及printchs的功能要求,编写printchs函数,使下面的程序能输出星号图。 /* 文件名:main.c 作者:小风景 完成日期:2016.6.19 ...程序输出:星号图 */ #incl
  • C语言程序可以没有main函数

    万次阅读 2016-06-12 13:10:27
    学习C语言的同学都知道,每个C程序要有一个main函数,程序main函数开始执行,在main函数中结束。但事实上,C程序也可以没有main函数,或者说自己可以指定入口函数。下面这篇文章介绍了如何实现这一过程。这篇文章...
  • 描述通过填空使得程序输出结果符合下面的要求。#include #include using namespace std; // 在此处补充你的代码 int A::count = 0; void func(B b) { } int main() { A a1(5),a2; cout ;
  • #include<stdio.h>...PS:下面程序执行结果,上面是文字版,想要文字版的朋友可以直接复制。 如果有疑问欢迎评论咨询,想要其他方法也可以哦 如果帮助到你,点个赞再走呗,可爱的朋友们 ...
  • public class  smallT {   public static void main(String args[])   {   smallT t = new smallT();   int b = t.get();   System.out.println
  • 描述填写代码,使输出结果为22810#include using namespace std; class Number { public: int num; Number(int n): num(n) { } // 在此处补充你的代码 }; int main() { Number a(2); Number b = a; cout
  • Java编写程序输出1+3+5+……+99的运算结果 public class demo1 { public static void main (String[] args) { int i = 1; int sum = 0; for (i=1; i<100; i+=2) { sum += i; } System.out.println(“1+3+5+…+99=...
  • qt控制台程序输出中文字符的做法

    千次阅读 2017-11-11 18:47:07
     很多网友反映qt控制台程序输出中文总是乱码,下面介绍一种简单做法来解决这个问题,具体是设置执行字符集utf8,假如是非utf8的常量字符串需要先转为utf8编码。示例代码如下: #include //设置执行字符集utf8...
  • 在刷OJ题目或者进行编程考试或比赛时,经常需要对编写好的程序进行测试,即运行编写好的程序,输入样例输入或者自己编写的输入数据,查看程序输出结果和样例输出或者正确输出是否一致,以此来测试自己编写的程序是否...
  • 若运行以下程序时,从键盘输入3.6,2.4,(表示回车),则下面程序的运行结果是: include <stdio.h> #include <math.h> main() { float x,y,z; scanf("%f,%f",&x,&y); z=x/y; while(1) { if(fabs(z)&...
  • 除了次序颠倒的问题外,还想问一下,比如i==1.199999,在此程序以double输出时却变成了1.100000 次序颠倒的问题的话,说的详细点吧,程序运行后的输出是%lf,%d,%.1lf 也就是先第二句printf("%lf\n",i)输出,接着第...
  • Contents 1. 前言 2. 使用临时文件 3. 使用匿名管道 4. 使用popen ...比如实现一个ping程序来测试网络的连通性,实现ping函数需要写上200~300行代码,什么不能直接调用系统的ping命令...
  • 已知字母A的ASCII码十进制的65,下面程序输出是______A_____. #include<stdio.h> void main() {char ch1,ch2; ch1='A'+'5'-'3'; ch2='A'+'6'-'3'; printf("%d,%c\n",ch1,ch2); } A) 67,D B) B,C C) C,D D) 不...
  • 以下程序的功能是输入一个字符串和一个字符,如果该字符在字符串中,就从该字符首次出现的位置开始输出字符串中的字符。例如,如果输入的字符串“Hello”,输入的字符’e’,则输出结果为“ello”。请填空。 ...
  • public static void main(String[] args) { Integer i1 = 100; Integer i2 = 100; Integer i3 = 150; Integer i4 = 150; System.out.print(i1 == i2); System.out.print("...
  • 编写程序输出矩阵

    千次阅读 2018-03-25 16:10:56
    4、编写程序输出下面矩阵: 1 2 3 4 5 2 3 4 5 1 3 4 5 1 2 4 5 1 2 3 5 1 2 3 4 #include &lt;stdio.h&gt; int main() { int i,j; int a[5][5]={{1,2,3,4,5},{2,3,4,5,1},{3,4,5,1,2},{4,5,1,2,3...
  • package Second; import java.util.Scanner;...对输入的字符串进行反转并显示结果,例如输入字符串hello,则程序输出olleh。  */  public static void main(String[] args) {  // TODO Au
  • 【C语言】编写程序输出以下图形

    千次阅读 2019-11-22 14:26:00
    编写程序输出以下图形: * ** *** **** ***** 代码: #include <stdio.h> int main() { int i, j; for (i = 1; i <= 5; i++) { for (j = 1; j <= i; j++)/*内层循环控制每行输出*字符的个数*/ .....
  • #include void main() { printf("%d",1000*(1-25/100.0)); //output:0 } #include void main() { int a=1000*(1-25/100.0); //output:750 printf("%d",a);

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 720,789
精华内容 288,315
关键字:

下面程序的输出结果为main