自考“高級(jí)語(yǔ)言程序設(shè)計(jì)”習(xí)題答案詳解(40)

  • 發(fā)布時(shí)間:2024-09-15 16:21:23
  • 來(lái)源:本站整理
  • 閱讀:
導(dǎo)讀:
  6.根據(jù)下面的定義,能打印出字母M的語(yǔ)句是( )
  struct person {char name[9]; int age; };
  struct person c[1O] = {{“John”,17 },{“Paul”,19 },{“Mary”,18 },{“Adam”,1

6.根據(jù)下面的定義,能打印出字母M的語(yǔ)句是( )

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] );

「解」結(jié)構(gòu)類(lèi)型struct person有兩個(gè)成分:九個(gè)元素的字符數(shù)組name和一個(gè)基本整型age元素類(lèi)型為 struct person的數(shù)組c有10個(gè)元素,其中前四個(gè)元素被設(shè)定了初值。在已設(shè)定初值的元素中,只有c[2].mame[0]的值是字符M.其余元素及元素的成分都不是字符比正確解答是④。

7.設(shè)有如下定義,則對(duì)data中的a成員的正確引用是( )

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

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

「解」結(jié)構(gòu)變量data有兩個(gè)成分a和b.結(jié)構(gòu)指針變量p指向結(jié)構(gòu)變量data.引用結(jié)構(gòu)變量data的成分a有兩種方法:一是直接由變量data引用其自己的成分a,寫(xiě)成data.a;二是通過(guò)指針變量p引用它所指的結(jié)構(gòu)的成分a,這又有兩種寫(xiě)法,分別是p - a和(*p)。a.正確解答是②。

7.2 填充題

1.運(yùn)算符“?!狈Q(chēng)為_(kāi)_________運(yùn)算符,運(yùn)算符“ - ”稱(chēng)為_(kāi)_________運(yùn)算符。

「解」引用結(jié)構(gòu)變量或共用型變量的成分用成員運(yùn)算符‘?!?,若某指針指向一個(gè)結(jié)構(gòu)變量或共用型變量,通過(guò)指針引用它所指變量的成分用指向成員運(yùn)算符‘ - ’。

2.設(shè)有定義“struct {int a; float b; char c;} abc,*p_abc= abc;”,則對(duì)結(jié)構(gòu)體成員a的引用方法可以是abc_________a和p_abc___________a.

「解」若有結(jié)構(gòu)變量abc有成分a,并有指針p_abc指向結(jié)構(gòu)變量abc,則引用變量abc成分a的標(biāo)記形式有abc.a和p_abc - a.

3.若有以下說(shuō)明和定義語(yǔ)句,則變量W在內(nèi)存中所占的字節(jié)數(shù)是__________.

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

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

「解」共用型aa有三個(gè)成分,一個(gè)是float型成分x,一個(gè)是float型成分y,再一個(gè)是有六個(gè)元素的字符數(shù)組。若float型數(shù)據(jù)占4個(gè)字節(jié),則類(lèi)型aa數(shù)據(jù)要占用6個(gè)字節(jié)。結(jié)構(gòu)變量w有三個(gè)成分,一個(gè)是共用型成分aa,要占用6個(gè)字節(jié);一個(gè)是有5個(gè)float型元素的數(shù)組w,要占用20個(gè)字節(jié);再一個(gè)是double型的ave.若doube型數(shù)據(jù)要8個(gè)字節(jié),則結(jié)構(gòu)變量w要占用34個(gè)字節(jié)。

7.3 程序分析題

1.閱讀下列程序,寫(xiě)出運(yùn)行結(jié)果。(字符0的ASCII碼為十六進(jìn)制的30)

main()

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

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

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

}

「解」共用型變量z有兩個(gè)成分,一個(gè)是字符型的c,另一個(gè)是有4個(gè)字符的數(shù)組i.由于共用型的成分是覆蓋存儲(chǔ),成分c的內(nèi)容也是成分i的首元素。程序給Z的i成分的首元素置十六進(jìn)制代碼0x39,即十進(jìn)制數(shù)57.數(shù)57是字符‘9’的ASCII代碼。用字符輸出格式,輸出該變量的值,將輸出字符‘9’ .

相關(guān)閱讀

熱門(mén)標(biāo)簽

關(guān)于自考“高級(jí)語(yǔ)言程序設(shè)計(jì)”習(xí)題答案詳解(40)文章

2021年自學(xué)考試報(bào)考入口 2021年自學(xué)考試報(bào)考入口

熱門(mén)文章