精华内容
下载资源
问答
  • 以下程序输出结果是____。

    千次阅读 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”。所以大家还是记住上述结论:绝不重新定义继承而来的缺省参数值!

    展开全文
  • 以下程序段的输出结果为()。

    千次阅读 2020-09-13 19:46:25
    for(i=4;i>1;i–) for(j=1;j<i;j++) putchar(’#’); 答案:###### 解析:内部循环完了之后再进行外部循环,第二次外部循环的时候...putchar:c语言函数之一,作用是向终端输出一个字符,这里一共循环输出6次 ...

    for(i=4;i>1;i–)
    for(j=1;j<i;j++)
    putchar(’#’);

    答案:######
    解析:内部循环完了之后再进行外部循环,第二次外部循环的时候,内部循环从头开始,此时j=1
    putchar:c语言函数之一,作用是向终端输出一个字符,这里一共循环输出6次

    展开全文
  • 以下程序段的输出结果为()。 for(i=4;i>1;i--) for(j=1;j;j++) putchar('#'); A:无 B:###### C:# D:###
  • 以下程序输出结果是:

    千次阅读 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。

    展开全文
  • void ss (char *s,char t) ...函数ss的功能就是将字符串s中的所有字符t的字符替换大写字符。对 于主函数中的函数ss的调用,就是将字符串str1中的小些字符’d’替换成大写字符’D’。所以 正确答案是B。

    void ss (char *s,char t)
    {
    while (*s)
    {
    if(*s==t) *s=t-‘a’+’A’;
    s++;
    }
    }
    void main()
    {
    char str1[100]=“abcddfefdbd”,c=‘d’;
    ss (str1,c); printf ("%s\n",str1);
    }

    ABCDDEFEDBD
    abcDDfefDbD
    abcAAfefAbA
    Abcddfefdbd

    解析:
    函数ss的功能就是将字符串s中的所有字符为t的字符替换为大写字符。对
    于主函数中的函数ss的调用,就是将字符串str1中的小些字符’d’替换成大写字符’D’。所以
    正确答案是B。

    展开全文
  • 习题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.....
  • 编写一个C程序,运行时输出以下图形

    千次阅读 2021-05-24 14:57:57
    编写一个C程序,运行时输出以下图形: **** **** \*\*\*\* \*\*\*\* 点我看视频讲解+可运行代码 记得收藏视频,一键三连 代码示例: #include <stdio.h> int main() { for (int i = 0; i < 4; i++) { ...
  • 下列 Python语句的输出结果

    千次阅读 2021-02-11 17:44:18
    【填空题】遍历输出文件所有行。 f=open("d:\\r2.txt","r") while True: str= print(str,end='') if not str: break f.close()【填空题】Pyhon语句序列"s1= 'red hat'; print(str.upper(s1))”的运行结果是?【单选题...
  • 【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++)/*内层循环控制每行输出*字符的个数*/ .....
  • 输出以下的杨辉三角形(要求输出10行) #include<stdio.h> int main() { int i,j,a[10][10]; for(i=0;i<10;i++) { a[i][0]=1; a[i][i]=1; if(i>0) { for(j=1;j<i;j++) { a[i]...
  • 3.19 程序填空题3 (5分)

    千次阅读 2020-12-17 00:35:04
    参照输出样例补全以下程序,使程序输出结果与输出样例一致。 public class Main { public static void main(String[] args) { Son son = new Son(); son.method(); } } class Parent { Parent() { System.out....
  • ( )【单选题】以下选项中,不属于Python保留字的是( )【单选题】下面代码的输出结果是( ) lst = list(range(2,15,3)) print(9 in lst)【单选题】哪个音一共只有2个音名【单选题】以下代码的输出结果是( ) for s in ...
  • 编写程序输出矩阵

    千次阅读 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...
  • 展开全部方法一for循环publicclassFeiBoMethod{定义三个变量方法publicstaticvoidmain(String[]args){inta=1,b=1,c=0;System.out.println("斐波那e69da5e6ba...
  • 编写一个程序输出以下图案

    万次阅读 2016-10-23 20:36:21
    编写一个程序输出以下图案   *   ***  *****  *******  *********  *********** *************  ***********  *********  *******  *****   ***  * #include int
  • >>>True*False的输出结果

    千次阅读 2021-02-04 15:55:15
    【单选题】下列哪种数据类型是浮点型【单选题】+,-,*,/,%,//,**,(),+=,-=,*=,/=,这些运算符中,优先级最高的是【单选题】以下科学计数法表示正确的是: ( )【多选题】菜单尺寸大小应该根据( )而定。【单选题】>&...
  • 功能:请编写输出以下图案的程序,图案的行数由输入的值确定 A BBB CCCCC DDDDDDD EEEEEEEEE */ #include<stdio.h> int main(void) { int i, j; int lines; char ch = 'A'; printf("请输入图案的行数...
  • 下面代码的输出结果

    千次阅读 2020-12-30 13:20:23
    表达式 print("{:.2f}".format(20-2**3+10/3**2*5)) 的结果是:【简答题】要求:代码直接粘贴在答案里,运行结果截图到答案里【单选题】关于Python语言数值操作符,以下选项中描述错误的是:【单选题】护士应该下列哪位...
  • 【填空题】下面的代码输出结果为___。 def demo(): x = 5 x = 3 demo() print(x)【多选题】油品发生凝固的本质是( )【单选题】Do you know the boy ________ basketabll there?【判断题】如果 a(-1 to 2) ,则函数 ...
  • 一道c语言的作业,有以下一个函数,编写一个程序,输入x的值,输出y的值.printf("请输入一个整数%d:",x);printf("最大值:%d\n",x);printf("最小值:%d",z);我不明白,根据你的题意,应该用多分支的if语句的格式,即...
  • 编写程序输出如下图形2

    万次阅读 2018-07-25 19:44:19
    题目:编写程序输出如下图形2 思路:将程序分成上下两半,再将上半部分分成三部分,一部分,另一部分就是剩下的部分。第一部分由输出的空格和数字组成,另一部分是反过来的数字。 程序: #include&lt;stdio...
  • 用循环语句编写一程序,要求输出下列图形staticvoidMain(string[]args){&nbsp用C语言编写程序:键盘输入a和b两个整数,要求用函数求两个数之和,在主函数main()中输出【注】使用C语言实现,望采纳哦~有问题再问哦~o...
  • #include int main() { float x, y; char c; while(scanf("%f %c %f", &x, &c, &y) == 1);... else printf("分母不能0"); break; default:printf("Error"); break; } } return 0; }
  • 若运行以下程序时,从键盘输入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)&...
  • 编写程序输出如图所示的图形

    万次阅读 多人点赞 2018-07-24 15:41:38
    题目:编写程序输出如图所示的图形 分析:首先,先将题目分成两部分,一个是上半部分的倒三角,一个是下半部分的正三角;其次,先忽略空格,再将空格插入程序中。 源代码: #include&lt;stdio.h&gt;  ...
  • 已知字母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”。请填空。 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,103,630
精华内容 441,452
关键字:

以下程序输出结果为