设有以下说明语句:typedefstruct{intn;char

题目

设有以下说明语句:typedefstruct{intn;charch[8];}PER;则下面叙述中正确的是()

  • A、PER是结构体变量名
  • B、PER是结构体类型名
  • C、typedefstruct是结构体类型
  • D、struct是结构体类型名
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

若要说明一个类型名STP,使得定义语句STP s;等价于char *s;,以下选项中正确的是

A.typedef STP char *s;

B.typedef *char STP;

C.typedef STP *char;

D.typedef char* STP ;


正确答案:D

第2题:

设有char str[80];以下不能将输入数据first\nsecond\n读取到数组str中的语句是A.cin.get(str

设有char str[80];以下不能将输入数据first\nsecond\n<CR>读取到数组str中的语句是

A.cin.get(str,strlen(str));

B.cin.getline(str,strlen(str));

C.cin>>str;

D.cin.read(str,strlen(str));


正确答案:B
解析:本题考察C++中输入输出流对象的一些常用成员函数的用法。其中get和getline的区别在于getline读取中以"\n"作为输入结束符。故本题中getline只能接收第一个换行符之前的字符,即first。后面的字符被丢弃。因此正确答案应为B。

第3题:

设有以下说明语句typedefstruct{intn;charch[8];}PER;则下面叙述中的是()。

A、PER是结构体变量名

B、PER是结构体类型名

C、typedefstruct是结构体类型

D、struct是结构体类型名


参考答案:B

第4题:

设有以下说明和定义:

typedef union {long i; int k[5]; char c;} DATE;

struct data { int cat; DATE cow; double dog;} too;

DATE max;

则语句 printf("%d",sizeof(struct date)+sizeof(max));的执行结果是:___52____


正确答案:
答:DATE是一个union, 变量公用空间. 里面最大的变量类型是int[5], 占用20个字节. 所以它的大小是20
data是一个struct, 每个变量分开占用空间. 依次为int4 + DATE20 + double8 = 32.
所以结果是 20 + 32 = 52.
当然...在某些16位编辑器下, int可能是2字节,那么结果是 int2 + DATE10 + double8 = 20

第5题:

有以下程序中若有如下说明和定义语句; 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是正确的。

第6题:

设有说明语句:intx=1,y=3,z=5;则下面表达式中值为0的是()。

A、x

B、charstr[80];str=”abcdefg”;

C、char*pstr=”abcdefg”

D、char*pstr=NULL;pstr=”abcdefg”;


参考答案:B

第7题:

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

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。

第8题:

设有下列说明语句: strcut str {int x;float y;char z;}st; 则下列的叙述中不正确的是( )。

A.00001111

B.11111101

C.00000010

D.11000000


正确答案:C
解析: 本题主要考查按位异或运算,x=015(二进制00001101),017的二进制为000001111,两者异或结果为00000010。

第9题:

设有以下说明语句,则变量a______。 char a='\72';

A.包含1个字符

B.包含2个字符

C.包含3个字符

D.该说明不合法


正确答案:A

第10题:

若要说明一个类型名STP,使得定义语句STPs;等价于char*s;以下选项中正确的是

A.typedef STP char *s

B.typedef*char STP;

C.typedef STP *char;

D.typedef char* STP;


正确答案:D
解析:指针类型的自定义的形式如下:typedef类型说明符*用户类型名。不难看出只有选项D是正确的定义形式。

更多相关问题