更多“有以下程序typedefstruct{intb,p;}A;voidf(Ac)/*注意:c是结构变量名*/{intj;c.b+=1;c.p+= ”相关问题
  • 第1题:

    有以下程序includevoid f(int *p,int *q);main(){ int m=1,n=2,*r=&m;f(r, &n

    有以下程序 #include<stdio.h> void f(int *p,int *q); main() { int m=1,n=2,*r=&m; f(r, &n); printf("%d,%d",m,n); } void f(int*p,int*q) {p=p+1; *q=*q+1;) 程序运行后的输出结果是______。

    A.1,3

    B.2,3

    C.1,4

    D.1,2


    正确答案:A
    解析:本题主要考查函数实参和形参之间的传递,C语言规定,实参变量对形参变量的数据传递是“值传递”,即单向传递,只能由实参传绐形参,而不能由形参传回来给实参。f(r&n)把n的地址传递给q,通过地址传递的函数可以有返回值,因此,n的值为q的返回值3,又因为p是形参变量没有返回值,所以m的值没有改变,因此,选项A是正确的。

  • 第2题:

    设有以下说明语句 typedef struct { int n; char ch[8]; }PER;

    A.PER 是结构体变量名

    B.PER 是结构体类型名

    C.typedef struct 是结构体类型

    D.struct 是结构本类型名


    正确答案:B
    解析:本题考核的知识点是如何使用typedef定义新的类型。本题通过typedef在定义一个结构体类型的同时,把它自定义成类型名PER,故PER是结构体类型名。所以,4个选项中B为所选。

  • 第3题:

    在以下Java程序的方法中,两个方法之间属于方法重载的是()

    A.int f1(){} 和 int f1(int a){}

    B.void f1(int a){} 和int f1(int a){}

    C.void f1(){}和 int f1(int a){}

    D.int f1(int b, int a){} 和 int f1(int a, int b){}


    int f1(){} 和 int f1(int a){};void f1(){} 和 int f1(int a){}

  • 第4题:

    下面的函数原型非法的是 ______。

    A.void f(int a=1,int b=1)

    B.int f(double f,char s,int i=1,int j)

    C.void f(int a, int b)

    D.int f(double f,char s,int i=1,int j=0)


    正确答案:B

  • 第5题:

    设有以下说明语句: typedef struct { int n; char ch[8]; }PER; 则下面叙述中,正确的是( )。

    A.PER是结构体变量名

    B.PER是结构体类型名

    C.typedef struct是结构体类型

    D.struct是结构类型名


    正确答案:B
    解析:本题考核用typedef定义自己的变量类型。C++语言允许定义用关键字typedef所命名的新的数据类型。实际上,没有建立一个新的数据类型,而仅是对存在的类型定义了一个新的名字。所定义的新名是现有的类型名的补充,而不是取代。