若有以下说明语句:structstudent{intnum;charname[];floatscore;}stu;则下面的叙述不正确的是:()A、struct是结构体类型的关键字B、structstudent是用户定义的结构体类型C、num,score都是结构体成员名D、stu是用户定义的结构体类型名

题目

若有以下说明语句:structstudent{intnum;charname[];floatscore;}stu;则下面的叙述不正确的是:()

  • A、struct是结构体类型的关键字
  • B、structstudent是用户定义的结构体类型
  • C、num,score都是结构体成员名
  • D、stu是用户定义的结构体类型名

相似考题
更多“若有以下说明语句:structstudent{intnum;ch”相关问题
  • 第1题:

    若有以下类型说明语句:chara;intb;floatc;doubled;则表达式a*b-2*d+c的结果类型为()

    A.float

    B.char

    C.int

    D.double


    正确答案:D

  • 第2题:

    若有如下定义并赋值: char ch='a', a; 则执行语句"printf("%d",a=ch+2.6);”后的输出结果是( )

    A.c

    B.d

    C.99

    D.100


    正确答案:C

  • 第3题:

    有以下程序中若有如下说明和定义语句; char fun(char*); main() { char * s="one",a[5]={0},(*f1)()=fun,ch; … } 以下选项中对函数fun的正确调用语句是 ______。

    A.(*f1)(a);

    B.*f1(*s);

    C.fun(&a);

    D.ch=*f1(s);


    正确答案:A
    解析:(*f1)()=fun可以理解为将fun函数的函数名称用(*f1)()来代替了,因此高调用fun时就可以用(*f1)()来代替,因此只有A是正确的。

  • 第4题:

    若有以下变量和函数说明:includecharCh='*';void sub(int x,int y,char ch,double*

    若有以下变量和函数说明: #include<iostream.h> charCh='*'; void sub(int x,int y,char ch,double*Z) { switch(ch) { case'+':*Z=x+y;break; case'-':*Z=x-y;break: case'*':*Z=x*y;break; case'/':*z=x/y;break: } } 以下合法的函数调用语句是( )。

    A.sub(10,20,Ch,y);

    B.sub(1.2+3,2*2,'+',&Z);

    C.sub(sub(1,2,'+',&y),sub(3,4'+',&x),'-',&y);

    D.sub(a,b,&x,ch);


    正确答案:B

  • 第5题:

    若有以下语句

    A.A

    B.B

    C.C

    D.D


    正确答案:A
    本题考核的知识点是结构体类型定义和结构体的基本概念。结构体类型的定义格式为:slxuct结构体名{成员说明列表};结构体变量的定义有3种形式。第一种:定义结构体类型的同时定义结构体变量,如struct结构体名{成员说明列表)变量;第二种:先定义一个结构体类型,然后使用该类型来定义结构体变量,如structstudent{成员说明列表l;student变量;第三种:定义一个无名称的结构体类型的同时定义结构体变量,如truct§tudent{成员说明列表l变量。

  • 第6题:

    下列选项中,能正确定义数组的语句是

    A.intnum[0..2008];

    B.intnum[];

    C.intN=2008; intnum[N];

    D.#DeFineN2008 intnum[N];


    正确答案:D
    解析:选项A不符合C语言的语法要求;选项B中没有指定数组的大小;选项C中数组大小不能用变量来指定。

  • 第7题:

    若有以下说明,则能打印出”An”的语句的是( )。

    A.

    B.

    C.

    D.


    正确答案:C
    str是指针数组,每个元素存放的是指向结构体类型数据的地址,每个元素可看作是一个指针变量,通过结构体指针变量引用结构体变量各成员的形式有两种,一是(*指针变量名).成员名;二是指针变量名->成员名,本题可以是“(*str[1]).name+2”或“str[1].>name+2”。

  • 第8题:

    以下能正确定义一维数组的选项是()

    • A、intnum[];
    • B、intnum[0..100];
    • C、#defineN5intnum[N];
    • D、ntN=100;intnum[N];

    正确答案:C

  • 第9题:

    若有以下的定义、说明和语句,则值为101的表达式是()

    • A、*p->b
    • B、p->a
    • C、++(p->a)
    • D、(p++)->a

    正确答案:C

  • 第10题:

    若有说明int c;则while(c=getchar());是正确的C语句.


    正确答案:正确

  • 第11题:

    若有说明:intn=2,*p=&n,*q=p,则以下非法的赋值语句是:()

    • A、p=q
    • B、*p=*q
    • C、n=*q
    • D、p=n

    正确答案:D

  • 第12题:

    单选题
    若有以下说明语句:structstudent{intnum;charname[];floatscore;}stu;则下面的叙述不正确的是:()
    A

    struct是结构体类型的关键字

    B

    structstudent是用户定义的结构体类型

    C

    num,score都是结构体成员名

    D

    stu是用户定义的结构体类型名


    正确答案: A
    解析: 暂无解析

  • 第13题:

    若有以下定义和语句:structstudent{intnum,age;};structstudentstu[3]={{1001,20},{1001,19},{1003,21}};structstudent*p=stu;则以下错误的引用是()。

    A.(p++)-num

    B.p++

    C.(*p).num

    D.p=stu.age


    正确答案:D

  • 第14题:

    程序中若有如下说明和定义语句

    Char fun(char *);

    main()

    {

    char *s="one", a[5]={0}.(*f1)()=fun, ch;

    }

    以下选项中对函数fun的正确调用语句是

    A.(*f1)(A) ;

    B.*fl(*s);

    C.fun(&A) ;

    D.ch=*fl(s);


    正确答案:A
    解析:在C语言中函数名代表该函数的入口地址,因此可以定义一种指向函数的指针来存放这种地址.其定义形式为:函数类型(*函数指针名)(函数参数列表);其中,函数参数列表可以省略。通过函数指针调用函数的形式为:(*函数指针)(函数参数列表)调用时函数的参数列表是不能省略的。所以本题的正确答案为选项A。

  • 第15题:

    若有以下说明和语句: struct st{int n;char*ch;} struct st a[3]={5,"abc"7,"def",9",ghk"),*p=a; 则值为6的表达式是______。

    A.p++->n

    B.p->n++

    C.(*p).n++

    D.#NAME?


    正确答案:D
    解析:根据结构变量的存储特点,p+l意味着增加地址值为结构体数组a的—个元素所占的字节数,即P++使p由a[0]指向a[1]起始地址。本题++p->n得到p指向的结构体变量中成员n的值使之加1。因为p指向数组a起始地址,p->n的值为5,再执行自加l运行,结果为6。

  • 第16题:

    以下程序存在语法性错误,关于错误原因的正确说法是______。 main() { int a=5,b; void p_ch1(); … b=p_ch1(A) ; …}

    A.语句“void p_ch1():”有错,它是函数调用语句,不能使用void说明

    B.变量名不能使用大写字母

    C.函数说明和函数调用语句之间有矛盾

    D.函数名中不能使用下划线


    正确答案:C
    解析:函数声明中指出函数没有参数,返回值为空类型,而调用语句却有参数,并将函数值赋给int型变量b,显然是不对的。

  • 第17题:

    若有说明语句:double*P,a;则通过scanf语句正确给输入项读人数据的程序段是( )。A.B.C.D.A.ASX

    若有说明语句:double*P,a;则通过scanf语句正确给输入项读人数据的程序段是( )。A.

    B.

    C.

    D.

    A.A

    B.B

    C.C

    D.D


    正确答案:D
    double*P,a定义了一个指向双精度型的指针变量P和双精度型变量a,p=&a表示将变量a的地址赋给指针变量P;scanf(”%If”,p)表示用键盘输入的数赋给指针变量P所指向的地址单元中,scanf()函数要求在输入double型数据时,格式控制符必须用%lf。否则,数据不能正确输入。所以选项D正确。

  • 第18题:

    若有以下的说明和语句,则在执行for语句后,*(*(pt+1)+2)表示的数组元素是( )。


    正确答案:C
    从for循环可知,pt是指向行的首地址的指针变量,因此由指针的表示方法可知:*(*(pt+1)+2)=pt[1][2]=t[1][2]。

  • 第19题:

    以下结构体的定义语句中,正确的是()

    • A、structstudent{intnum;charname[10];intage;};stu;
    • B、struct{intnum;charname[10];intage;}student;structstudentstu;
    • C、structstudent{intnum;charname[10];intage;}stu;
    • D、structstudent{intnum;charname[10];intage;};studentstu;

    正确答案:C

  • 第20题:

    若有以下定义:structstudent {intage;intnum;}stu,*p=&stu;则以下不正确的引用是()

    • A、(p++)->num
    • B、p->num
    • C、(*p).num
    • D、stu->num

    正确答案:D

  • 第21题:

    为了将字符串str=“123,456”转换成整数123456,应该使用以下哪条语句?()

    • A、intNum=int.Parse(str);
    • B、intNum=str.Parse(int);
    • C、intNum=(int)str;
    • D、intNum=int.Parse(str,Globalization.NumberStyles.AllowThousands);

    正确答案:A

  • 第22题:

    已定义ch为字符型变量,以下赋值语句中错误的是().

    • A、ch=’/’;
    • B、ch=62+3;
    • C、ch=NULL;
    • D、ch=’/xaa’;

    正确答案:A

  • 第23题:

    单选题
    若有以下的定义、说明和语句,则值为101的表达式是()
    A

    *p->b

    B

    p->a

    C

    ++(p->a)

    D

    (p++)->a


    正确答案: A
    解析: 暂无解析