第11回 宿題 出題日:12月21日 締切日:1月7日(木)
提出について 以下の場合は、出題日の出席を欠席とする 締切日を過ぎた場合 正解率が7割未満の場合 提出は、PDFファイルを印刷して、それに答えを書いて提出すること。
問題 右のような構造体型Carが定義されている. このとき,構造体へのポインタの定義として正しいのはどれ? #include <stdio.h> typedef struct { int num; double gas; char name[20]; }Car; Car *p; Car p; Car *p; Car p[3]; struct Car *p; struct Car p;
問題 typedef struct { char name[10]; char tel[10]; int age; 以下の構造体型Person_Infoのサイズはいくらか? typedef struct { char name[10]; char tel[10]; int age; } Person_Info; 24
問題 以下のプログラムを実行すると何が表示されるか? #include <stdio.h> typedef struct { int num; double gas; char name[20]; }Car; main() { Car my = {123, 25.5, “ABC”}; printf(“%d”, sizeof(my) ); } 32
問題 アロー演算子は,どう書く? ->
問題 以下のプログラムを実行すると何が表示されるか? #include <stdio.h> typedef struct { int num; double gas; char name[20]; }Car; main() { Car x = {12, 25.5, “ABC”}; Car y = {45, 10.2, “ABC”}; Car *p; p = &y; printf(“%d”, p->num ); } 45
問題 画面に構造体xのメンバnameを表示したい. プログラム中の(A)に適切な文を入れよ #include <stdio.h> typedef struct { int num; double gas; char name[20]; }Car; main() { Car x = {12, 25.5, “ABC”}; Car *p; p = &x; printf(“%s”, p->name ); } p->name (A)
問題 右のような構造体型Carが定義されている. このとき,構造体配列の定義として正しいのはどれ? #include <stdio.h> typedef struct { int num; double gas; char name[20]; }Car; Car mycar[5]; Car mycar[]; Car *mycar; Car mycar[5]; Car[] mycar; Car yourcar;
問題 構造体配列の初期化として間違いなのはどれ? typedef struct { int x; double y; }Data; (1) (2) (3) typedef struct { int x; double y; }Data; Data x[3] = { {10, 1.1}, {20, 2.2}, {30, 3.3} }; typedef struct { int x; double y; }Data; Data x[] = { {10, 1.1}, {20, 2.2}, {30, 3.3} }; typedef struct { int x; double y; }Data; Data x[3] = { “10, 1.1”, “20, 2.2”, “30, 3.3” }; 3
問題 以下のプログラムを実行すると何が表示されるか? #include <stdio.h> typedef struct { int num; double gas; char name[20]; }Car; main() { Car z[3] = {{12, 25.5, “ABC”}, {34,30.0,”DEF”}, {56,45.2,”GHI”}}; Car *p; p = &z[1]; printf(“%d”, p->num ); } 以下のプログラムを実行すると何が表示されるか? 34
問題 以下のプログラムを実行すると何が表示されるか? #include <stdio.h> typedef struct { int num; double gas; char name[20]; }Car; void show(Car v) { printf(“%d”, v.num + 3); } main() Car z[3] = {{12, 25.5, “ABC”}, {34,30.0,”DEF”}, {56,45.2,”GHI”}}; show(z[1]); 問題 以下のプログラムを実行すると何が表示されるか? 37
問題 以下のプログラムを実行すると何が表示されるか? #include <stdio.h> typedef struct { int num; double gas; char name[20]; }Car; void show(Car v) { printf(“%s”, v.name); } main() Car z[3] = {{12, 25.5, “ABC”}, {34,30.0,”DEF”}, {56,45.2,”GHI”}}; show(z[2]); 問題 以下のプログラムを実行すると何が表示されるか? GHI
問題 右のプログラムで,構造体変数mycarのメンバnumを画面に表示したい. (A)に適切な文を入れよ #include <stdio.h> typedef struct { int num; double gas; char name[20]; }Car; void show(Car data) { printf(“%d”, data.num); } main() Car mycar = {12, 25.5, “ABC”}; show( mycar ); 問題 右のプログラムで,構造体変数mycarのメンバnumを画面に表示したい. (A)に適切な文を入れよ (A) data.num
問題 右のプログラムで,構造体変数mycarのメンバnumを画面に表示したい. (A)に適切な文を入れよ #include <stdio.h> typedef struct { int num; double gas; char name[20]; }Car; void show(Car *pD) { printf(“%d”, data.num); } main() Car mycar = {12, 25.5, “ABC”}; show( &mycar ); 問題 右のプログラムで,構造体変数mycarのメンバnumを画面に表示したい. (A)に適切な文を入れよ (A) pD->num
問題 右のプログラムで,構造体変数mycarのメンバnumを画面に表示したい. (A)に適切な文を入れよ #include <stdio.h> typedef struct { int num; double gas; char name[20]; }Car; void show(Car *p) { printf(“%d”, p->num); } main() Car mycar = {12, 25.5, “ABC”}; show( &mycar ); 問題 右のプログラムで,構造体変数mycarのメンバnumを画面に表示したい. (A)に適切な文を入れよ &mycar (A)
問題 右のプログラムを実行したら何が表示されるか? #include <stdio.h> typedef struct { int x; int y; }Point; void cal(Point s1, Pont s2) { int dis = s1.x + s2.x printf(“%d”, dis); } main() Point p1 = {3, 1}; Point p2 = {2, 6}; cal( p1, p2 ); 問題 右のプログラムを実行したら何が表示されるか? 5
問題 右のプログラムは,座標x,yをメンバに持つ構造体Pointに関するものである. プログラム中の関数calは何をする関数か? #include <stdio.h> typedef struct { int x; int y; }Point; Point cal(Point s1, Pont s2) { Point z; z.x = s1.x + s2.x; z.y = s1.y + s2.y; return z; } main() Point p1 = {3, 1}; Point p2 = {2, 6}; Point p3 p3 = cal( p1, p2 ); 問題 右のプログラムは,座標x,yをメンバに持つ構造体Pointに関するものである. プログラム中の関数calは何をする関数か? 2つの点s1とs2の和を求める
#include <stdio.h> typedef struct { int num; double gas; }Car; void Init(Car *p) { int i; for (i = 0; i < 10; i++) { (p+i)->num = 1; (p+i)->gas = 2.3; } } main() Car data[10]; Init( data ); 問題 右のプログラム中の関数Initは,構造体配列dataのメンバnumとgasをすべてを1と2.3で初期化するものである. プログラム中の(A)に入る適切な文を選べ. (A) (A) ( p + i )
#include <stdio.h> typedef struct { int num; double gas; }Car; void Init(Car *p) { int i; for (i = 0; i < 10; i++) { (p+i)->num = 1; (p+i)->gas = 2.3; } } main() Car data[10]; Init( data ); 問題 右のプログラム中の関数Initは,構造体配列dataのメンバnumとgasをすべてを1と2.3で初期化するものである. プログラム中の(A)に入る適切な文を選べ. data (A)
#include <stdio.h> typedef struct { char name[20]; char tel[20]; int age; }Info; void Input_name(Info *p) { printf(“名前は?”); scanf(“%s”, p->name); } main() Info person[3]; Input_name( &person[1] ); 問題 右のプログラム中の関数Input_nameは,構造体のメンバnameを入力させるものである. プログラム中の(A)に入る適切な文を選べ. (A) p->name
#include <stdio.h> typedef struct { char name[20]; char tel[20]; int age; }Info; void Input_name(Info *p) { printf(“名前は?”); scanf(“%s”, p->name); } main() Info person[3]; Input_name( &person[1] ); 問題 右のプログラム中の関数Input_nameは,構造体のメンバnameを入力させるものである. person[2]のnameに値を入力させたい. プログラム中の(A)に入る適切な文を選べ. &person[2] (A)