自考“高级语言程序设计”习题答案详解(40)_工学-查字典自考网
 
请输入您要查询的关键词
  查字典自考网 >> 工学 >> 自考“高级语言程序设计”习题答案详解(40)

自考“高级语言程序设计”习题答案详解(40)

发布时间: 2016-06-29 来源:查字典自考网

6.根据下面的定义,能打印出字母M的语句是( )

struct person {char name[9]; int age; };

struct person c[1O] = {{“John”,17 },{“Paul”,19 },{“Mary”,18 },{“Adam”,16 }};

① printf(“%c”, c[3].name); ② printf(“%c”, c[3].name[1] );

③printf(“%c”,c[2].name[1]); ④printf(“%c”,c[2].name[0] );

「解」结构类型struct person有两个成分:九个元素的字符数组name和一个基本整型age元素类型为 struct person的数组c有10个元素,其中前四个元素被设定了初值。在已设定初值的元素中,只有c[2].mame[0]的值是字符M.其余元素及元素的成分都不是字符比正确解答是④。

7.设有如下定义,则对data中的a成员的正确引用是( )

struct sk{int a;float b;} data,*p= & data;

①(*p)。data.a ②(*p)。a ③ p - data.a ④ p.data.a

「解」结构变量data有两个成分a和b.结构指针变量p指向结构变量data.引用结构变量data的成分a有两种方法:一是直接由变量data引用其自己的成分a,写成data.a;二是通过指针变量p引用它所指的结构的成分a,这又有两种写法,分别是p - a和(*p)。a.正确解答是②。

7.2 填充题

1.运算符“。”称为__________运算符,运算符“ - ”称为__________运算符。

「解」引用结构变量或共用型变量的成分用成员运算符‘。’,若某指针指向一个结构变量或共用型变量,通过指针引用它所指变量的成分用指向成员运算符‘ - ’。

2.设有定义“struct {int a; float b; char c;} abc,*p_abc=&abc;”,则对结构体成员a的引用方法可以是abc_________a和p_abc___________a.

「解」若有结构变量abc有成分a,并有指针p_abc指向结构变量abc,则引用变量abc成分a的标记形式有abc.a和p_abc -a.

3.若有以下说明和定义语句,则变量W在内存中所占的字节数是__________.

union aa {float x;float y; char c[6]; };

struct st { union aa v; float w[5]; double ave; } w;

「解」共用型aa有三个成分,一个是float型成分x,一个是float型成分y,再一个是有六个元素的字符数组。若float型数据占4个字节,则类型aa数据要占用6个字节。结构变量w有三个成分,一个是共用型成分aa,要占用6个字节;一个是有5个float型元素的数组w,要占用20个字节;再一个是double型的ave.若doube型数据要8个字节,则结构变量w要占用34个字节。

7.3 程序分析题

1.阅读下列程序,写出运行结果。(字符0的ASCII码为十六进制的30)

main()

{ union { char c; char i[4]; } z;

z.i[0]= 0x39;z.i[1]= 0x36;

printf(“%c n”, z.c);

}

「解」共用型变量z有两个成分,一个是字符型的c,另一个是有4个字符的数组i.由于共用型的成分是覆盖存储,成分c的内容也是成分i的首元素。程序给Z的i成分的首元素置十六进制代码0x39,即十进制数57.数57是字符‘9’的ASCII代码。用字符输出格式,输出该变量的值,将输出字符‘9’ .

点击显示
推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读

当前热点关注

  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  • [相关地区]