1 ( )

Similar documents
PowerPoint Presentation

ex12.dvi

P02.ppt

76 3 B m n AB P m n AP : PB = m : n A P B P AB m : n m < n n AB Q Q m A B AQ : QB = m : n (m n) m > n m n Q AB m : n A B Q P AB Q AB 3. 3 A(1) B(3) C(

C¥×¥í¥°¥é¥ß¥ó¥° ÆþÌç

P06.ppt

‚æ2›ñ C„¾„ê‡Ìš|

[1] #include<stdio.h> main() { printf("hello, world."); return 0; } (G1) int long int float ± ±

P05.ppt

Taro-ファイル処理(公開版).jtd

PC Windows 95, Windows 98, Windows NT, Windows 2000, MS-DOS, UNIX CPU

新・明解C言語 ポインタ完全攻略

C言語によるアルゴリズムとデータ構造

新・明解C言語で学ぶアルゴリズムとデータ構造

II ( ) prog8-1.c s1542h017%./prog8-1 1 => 35 Hiroshi 2 => 23 Koji 3 => 67 Satoshi 4 => 87 Junko 5 => 64 Ichiro 6 => 89 Mari 7 => 73 D

A(6, 13) B(1, 1) 65 y C 2 A(2, 1) B( 3, 2) C 66 x + 2y 1 = 0 2 A(1, 1) B(3, 0) P 67 3 A(3, 3) B(1, 2) C(4, 0) (1) ABC G (2) 3 A B C P 6

2 (1) a = ( 2, 2), b = (1, 2), c = (4, 4) c = l a + k b l, k (2) a = (3, 5) (1) (4, 4) = l( 2, 2) + k(1, 2), (4, 4) = ( 2l + k, 2l 2k) 2l + k = 4, 2l

8 / 0 1 i++ i 1 i-- i C !!! C 2

IMO 1 n, 21n n (x + 2x 1) + (x 2x 1) = A, x, (a) A = 2, (b) A = 1, (c) A = 2?, 3 a, b, c cos x a cos 2 x + b cos x + c = 0 cos 2x a

‚æ4›ñ

kiso2-09.key

Microsoft Word - no14.docx

1.ppt

1 1 MM nm M1234n M4 ABAB nab ABz AB nabna AB AB nabnan B ABz nab nabnan B 202A3B B na10nb66 AB61218 n AB106 2 UUA A AA AA e AB na B na nbna B ABz na B

A/B (2018/10/19) Ver kurino/2018/soft/soft.html A/B

P03.ppt

I ASCII ( ) NUL 16 DLE SP P p 1 SOH 17 DC1! 1 A Q a q STX 2 18 DC2 " 2 B R b

Taro-リストⅠ(公開版).jtd

PSCHG000.PS

新たな基礎年金制度の構築に向けて

char char 1 signed char unsigned char ( ; single-quote 0x27) ASCII Japan Advanced Institute of Science and Technology

r07.dvi

ohp07.dvi

program.dvi

Taro-プログラミングの基礎Ⅱ(公

£Ã¥×¥í¥°¥é¥ß¥ó¥°ÆþÌç (2018) - Â裵²ó ¨¡ À©¸æ¹½Â¤¡§¾ò·ïʬ´ô ¨¡

a n a n ( ) (1) a m a n = a m+n (2) (a m ) n = a mn (3) (ab) n = a n b n (4) a m a n = a m n ( m > n ) m n 4 ( ) 552

O E ( ) A a A A(a) O ( ) (1) O O () 467

1 4 2 EP) (EP) (EP)

02

( )

A/B (2018/06/08) Ver kurino/2018/soft/soft.html A/B

Taro-ポインタ変数Ⅰ(公開版).j

< F2D837C E95CF CF68A4A94C5816A2E6A>

I

新版明解C言語 実践編

C 2 / 21 1 y = x 1.1 lagrange.c 1 / Laglange / 2 #include <stdio.h> 3 #include <math.h> 4 int main() 5 { 6 float x[10], y[10]; 7 float xx, pn, p; 8 in

fuga scanf("%lf%*c",&fuga); 改行文字を読み捨てる 10 進数の整数 おまじない取り込んだ値を代入する変数 scanf( %d%*c,&hoge); キーボードから取り込め という命令 1: scanf 1 1: int double scanf %d %lf printf

II 3 yacc (2) 2005 : Yacc 0 ~nakai/ipp2 1 C main main 1 NULL NULL for 2 (a) Yacc 2 (b) 2 3 y


1 1.1 C 2 1 double a[ ][ ]; 1 3x x3 ( ) malloc() 2 double *a[ ]; double 1 malloc() dou

超初心者用

untitled

void hash1_init(int *array) int i; for (i = 0; i < HASHSIZE; i++) array[i] = EMPTY; /* i EMPTY */ void hash1_insert(int *array, int n) if (n < 0 n >=

Microsoft PowerPoint - 説明3_if文switch文(C_guide3)【2015新教材対応確認済み】.pptx

T T T T A 0 1 A 1 A P (A 1 ) = C 1 6 C 8C 3 = 15 8, P (A ) = C 6 C 1 8C 3 = 3 8 T 5 B P (A 1 B) = =

C ( ) C ( ) C C C C C 1 Fortran Character*72 name Integer age Real income 3 1 C mandata mandata ( ) name age income mandata ( ) mandat

Microsoft Word - 3new.doc

1 1.1 C 2 1 double a[ ][ ]; 1 3x x3 ( ) malloc() malloc 2 #include <stdio.h> #include

Microsoft Word - Sample_CQS-Report_English_backslant.doc

ex01.dvi

I. Backus-Naur BNF : N N 0 N N N N N N 0, 1 BNF N N 0 11 (parse tree) 11 (1) (2) (3) (4) II. 0(0 101)* (

Microsoft PowerPoint - 説明2_演算と型(C_guide2)【2015新教材対応確認済み】.pptx

Microsoft Word - C.....u.K...doc

untitled

卒 業 研 究 報 告.PDF

情報処理演習 B8クラス

/* do-while */ #include <stdio.h> #include <math.h> int main(void) double val1, val2, arith_mean, geo_mean; printf( \n ); do printf( ); scanf( %lf, &v

C のコード例 (Z80 と同機能 ) int main(void) { int i,sum=0; for (i=1; i<=10; i++) sum=sum + i; printf ("sum=%d n",sum); 2

main

( )

double 2 std::cin, std::cout 1.2 C fopen() fclose() C++ std::fstream 1-3 #include <fstream> std::fstream fout; int a = 123; fout.open( "data.t


untitled

yacc.dvi

Part y mx + n mt + n m 1 mt n + n t m 2 t + mn 0 t m 0 n 18 y n n a 7 3 ; x α α 1 7α +t t 3 4α + 3t t x α x α y mx + n

取扱説明書[L-02E]

演習課題No12

Microsoft Word - Cプログラミング演習(11)

tuat1.dvi

C C UNIX C ( ) 4 1 HTML 1

x, y x 3 y xy 3 x 2 y + xy 2 x 3 + y 3 = x 3 y xy 3 x 2 y + xy 2 x 3 + y 3 = 15 xy (x y) (x + y) xy (x y) (x y) ( x 2 + xy + y 2) = 15 (x y)

joho07-1.ppt

本サンプル問題の著作権は日本商工会議所に帰属します また 本サンプル問題の無断転載 無断営利利用を厳禁します 本サンプル問題の内容や解答等に関するお問 い合わせは 受け付けておりませんので ご了承ください 日商プログラミング検定 STANDARD(C 言語 ) サンプル問題 知識科目 第 1 問 (

1-4 int a; std::cin >> a; std::cout << "a = " << a << std::endl; C++( 1-4 ) stdio.h iostream iostream.h C++ include.h 1-4 scanf() std::cin >>

I. Backus-Naur BNF S + S S * S S x S +, *, x BNF S (parse tree) : * x + x x S * S x + S S S x x (1) * x x * x (2) * + x x x (3) + x * x + x x (4) * *

:30 12:00 I. I VI II. III. IV. a d V. VI

Taro-リストⅢ(公開版).jtd

1990 IMO 1990/1/15 1:00-4:00 1 N N N 1, N 1 N 2, N 2 N 3 N 3 2 x x + 52 = 3 x x , A, B, C 3,, A B, C 2,,,, 7, A, B, C

プログラミング基礎

Taro-2分探索木Ⅱ(公開版).jtd

BW BW

C B

(300, 150) 120 getchar() HgBox(x, y, w, h) (x, y), w, h #include <stdio.h> #include <handy.h> int main(void) { int i; double w, h; } HgO

04年度LS民法Ⅰ教材改訂版.PDF

£Ã¥×¥í¥°¥é¥ß¥ó¥°ÆþÌç (2018) - Â裱£²²ó ¡Ý½ÉÂꣲ¤Î²òÀ⡤±é½¬£²¡Ý

K227 Java 2

プログラミング基礎

mstrcpy char *mstrcpy(const char *src); mstrcpy malloc (main free ) stdio.h fgets char *fgets(char *s, int size, FILE *stream); s size ( )

:30 12:00 I. I VI II. III. IV. a d V. VI

Transcription:

I : :155727B : :2015 7 30

1 ( ) 2 2 18 2.1............................................ 18 2.1.1....................................... 18 2.1.2...................................... 19 2.1.3................................... 20 2.2......................................... 21 2.2.1............................. 21 2.2.2.............................. 22 2.3........................................... 24 3 24 1

1 ( ) 1 #include <stdio.h> 2 3 int main(){ 4 {//Q1 5 puts(""); 6 puts("q1. v "); 7 8 int v; 9 10 printf("a1.&v = %08x\n",&v); 11 puts(""); 12 } 13 14 {//Q2 15 puts(""); 16 puts("q2.1 m 0 5 2 "); 17 18 int m[5]; 19 20 printf("a2.&m[5] = %08x\n",&m[5]); 21 printf("a2.m+5 = %08x\n",m+5); 22 puts(""); 23 } 24 25 {//Q3 26 puts(""); 27 puts("q3.1 m 2 "); 28 29 int m[0]; 30 31 printf("a3.&m[0] = %08x\n",&m[0]); 32 printf("a3.m[0] = %08x\n",m); 33 printf("a3.m = %08x\n",m); 34 puts(""); 35 } 36 37 {//Q4 38 puts(""); 39 puts("q4.2 d 3 "); 40 2

41 int d[0][0]; 42 43 printf("a4.&d[0][0] = %08x\n",&d[0][0]); 44 printf("a4.&d[0] = %08x\n",&d[0]); 45 printf("a4.d[0] = %08x\n",d[0]); 46 printf("a4.*d = %08x\n",*d); 47 printf("a4.d = %08x\n",d); 48 puts(""); 49 } 50 51 {//Q5 52 puts(""); 53 puts("q5. a "); 54 55 int a=2, b=3, c=5, *p, *q; 56 p = &b; 57 q = &c; 58 a = *p + *q; 59 puts("int a=2, b=3, c=5, *p, *q;"); 60 puts("p = &b;"); 61 puts("q = &c;"); 62 puts("a = *p + *q;\n"); 63 64 printf("a5.a = %d\n",a); 65 puts(""); 66 } 67 68 {//Q6 69 puts(""); 70 puts("q6. a "); 71 72 int a=2, *p; 73 p = &a; 74 *p = 5; 75 puts("int a=2, *p;"); 76 puts("p = &a;"); 77 puts("*p = 5;\n"); 78 79 printf("a6.a = %d\n",a); 80 puts(""); 81 } 82 83 {//Q7 3

84 puts(""); 85 puts("q7. * p * q ** q "); 86 puts(" *(100)=200 -> 100 =200"); 87 puts("*(200)=300 -> 200 =300 \n"); 88 89 int *p,**q,*r; 90 int a = 200; 91 int b = 300; 92 p = &a; 93 q = &r; 94 r = &b; 95 puts("int *p, **q,*r;"); 96 puts("int a=200;"); 97 puts("int b=300;"); 98 puts("p = &a,q = &r,r = &b;"); 99 puts("(& a 100 &b 200 )\n"); 100 printf("&a = %08x\n",&a); 101 printf("&b = %08x\n",&b); 102 printf("*p = %d\n",*p); 103 printf("*q = %08x\n",*q); 104 printf("**q = %d\n",**q); 105 106 printf("a7.*p=200,*q=%08x,**q=300\n",*q); 107 puts(""); 108 } 109 110 {//Q8 111 puts(""); 112 puts("q8.1 m m[k] *(m+k) "); 113 114 int m[5]={0,1,2,3,4}; 115 int n; 116 for(n=0;n<5;n++){ 117 printf("m[%d] = %d\n",n,m[n]); 118 printf("*(m+%d) = %d\n",n,*(m+n)); 119 } 120 121 puts("a8.m[k] m k m +k m (0 ) k \ n k *(m+k) m+ k "); 122 puts(""); 123 } 124 125 {//Q9 4

126 puts(""); 127 puts("q9. p p+2 p \n 4 "); 128 129 int *p; 130 printf("p = %08x\n",p); 131 printf("p+2 = %08x\n",p+2); 132 133 puts("a9.8 "); 134 puts(""); 135 } 136 137 {//Q10 138 puts(""); 139 puts("q10. "); 140 puts("a.1 m * m "); 141 puts("b. p p[0] \n"); 142 143 puts("a10(a). "); 144 int m[2]={0,1}; 145 printf("m[0] => %d,*m => %d\n",m[0],*m); 146 printf("m[1] => %d,*(m+1) => %d\n\n",m[1],*(m+1)); 147 148 puts("a10(b). "); 149 int *n; 150 n = m; 151 printf("n[0] => %d,*n => %d\n",n[0],*n); 152 printf("n[1] => %d,*(n+1) => %d\n\n",n[1],*(n+1)); 153 puts(""); 154 } 155 156 {//Q11 157 puts(""); 158 puts("q11.,*m,*(m+3),*m+3,*m+*(m+3) "); 159 puts("static int m[5] = {10,20,40,50,30}\n"); 160 161 static int m[5] = {10,20,40,50,30}; 162 printf("*m = %d\n",*m); 163 printf("*(m+3) = %d\n",*(m+3)); 164 printf("*m+3 = %d\n",*m+3); 165 printf("*m+*(m+3) = %d\n\n",*m+*(m+3)); 166 167 puts("a11.*m=10,*(m+3)=50,*m+3=13,*m+*(m+3)=60"); 5

168 puts(""); 169 } 170 171 {//Q12 172 puts(""); 173 puts("q12.,*d[2],*(d[2]+2),*d[2]+2,**d,*(*d+3),\n **d+6,*(d[1]+2),**( d+2) "); 174 puts("static int d[][3] = {{1,2,3},{5,6,7},{4,6,8},{9,7,5}};\n"); 175 176 static int d[][3] = {{1,2,3},{5,6,7},{4,6,8},{9,7,5}}; 177 printf("*d[2] = %d\n",*d[2]); 178 printf("*(d[2]+2) = %d\n",*(d[2]+2)); 179 printf("*d[2]+2 = %d\n",*d[2]+2); 180 printf("**d = %d\n",**d); 181 printf("*(*d+3) = %d\n",*(*d+3)); 182 printf("**d+6 = %d\n",**d+6); 183 printf("*(d[1]+2) = %d\n",*(d[1]+2)); 184 printf("**(d+2) = %d\n\n",**(d+2)); 185 186 puts("a12.*d[2]=4,*(d[2]+2)=8,*d[2]+2=6,**d=1,*(*d+3)=5,**d+6=7,*(d[1]+2)=7,**(d+2)=4" ); 187 puts(""); 188 } 189 190 {//Q13 191 puts(""); 192 puts("q13. p "); 193 puts("char *str = \"abcdefg\", *p"); 194 puts("p = str + 3;"); 195 196 char *str = "abcdefg",*p; 197 p = str + 3; 198 printf("p = %s\n",p); 199 200 printf("a13.p = defg\n"); 201 puts(""); 202 } 203 204 {//Q14 205 puts(""); 206 puts("q14. p,*p,*(p+2),&(*p)=100 "); 207 puts("char *p;\np = \"abc\";\n"); 208 6

209 char *p; 210 p = "abc"; 211 printf("&(*p) = %08x : 100 \n",&(*p)); 212 printf("p = %08x\n",p); 213 printf("*p = %c\n",*p); 214 printf("*(p+2) = %c\n\n",*(p+2)); 215 216 puts("a14.p=100,*p=a,*(p+2)=c"); 217 puts(""); 218 } 219 220 {//Q15 221 puts(""); 222 puts("q15. * m * p *q "); 223 puts("static char m[] = \"abcd\";"); 224 puts("char *p, *q;"); 225 puts("p = &m[0];"); 226 puts("q = m;\n"); 227 228 static char m[] = "abcd"; 229 char *p, *q; 230 p = &m[0]; 231 q = m; 232 printf("*m = %c\n",*m); 233 printf("*p = %c\n",*p); 234 printf("*q = %c\n\n",*q); 235 236 puts("a15.*m=a,*p=a,*q=a"); 237 puts(""); 238 } 239 240 {//Q16 241 puts(""); 242 puts("q16. * p *(m+2) *m+2 "); 243 puts("static char m[] = \"abcd\";"); 244 puts("char *p;"); 245 puts("p = &m[2];\n"); 246 247 static char m[] = "abcd"; 248 char *p; 249 p = &m[2]; 250 printf("*p = %c\n",*p); 251 printf("*(m+2) = %c\n",*(m+2)); 7

252 printf("*m+2 = %c\n\n",*m+2); 253 254 puts("a16.*p=c,*(m+2)=c,*m+2=c"); 255 puts(""); 256 } 257 258 {//Q17 259 puts(""); 260 puts("q17. p "); 261 puts("char *p,q[] = \"abcd\";"); 262 puts("p = q;"); 263 puts("*(p + 1) = x ;\n"); 264 265 char *p,q[] = "abcd"; //bus error ; 266 p = q; // 267 *(p + 1) = x ; 268 printf("p = %s\n\n",p); 269 270 puts("a17.p = axcd"); 271 puts(""); 272 } 273 274 {//Q18 275 puts(""); 276 puts("q18. x "); 277 puts("int x;"); 278 puts("char *p;"); 279 puts("p = \"abcd\";"); 280 puts("if(p == \"abcd\") x = 0;"); 281 puts("else x = 1;\n"); 282 283 int x; 284 char *p; 285 p = "abcd"; 286 if(p == "abcd") x = 0; 287 else x = 1; 288 printf("x = %x\n\n",x); 289 290 puts("a18.x = 0"); 291 puts(""); 292 } 293 294 {//Q19 8

295 puts(""); 296 puts("q19. int k; "); 297 puts("char m[max], *p;"); 298 puts("for(p=m; *p; ++p)"); 299 puts("*p += 1;\n"); 300 301 puts("a19. ( )"); 302 puts("int k;"); 303 puts("char m[max];"); 304 puts("for(k=0;m[k];k++){"); 305 puts("m[k] += 1;"); 306 puts("}"); 307 308 puts(""); 309 } 310 311 {//Q20 312 puts(""); 313 puts("q20.,*q[2],q[3][2],*(q[2]+2),*(*(q+3)+2),**(q+1) "); 314 puts("static char *q[] = {\"abcd\", \"12345\", \"ABCDEFG\", \"987\"};\n"); 315 316 static char *q[] = {"abcd", "12345", "ABCDEFG", "987"}; 317 printf("*q[2] = %c\n",*q[2]); 318 printf("q[3][2] = %c\n",q[3][2]); 319 printf("*(q[2]+2) = %c\n",*(q[2]+2)); 320 printf("*(*(q+3)+2) = %c\n",*(*(q+3)+2)); 321 printf("**(q+1) = %c\n\n",**(q+1)); 322 323 puts("a20.*q[2]=a q[3][2]=7 *(q[2]+2)= C *(*(q+3)+2)=7 **(q+1)=1"); 324 puts(""); 325 } 326 return(0); 327 } 9

Q1. v A1.&v = 5605ab60 Q2.1 m 0 5 2 A2.&m[5] = 5605aba4 A2.m+5 = 5605aba4 Q3.1 m 2 A3.&m[0] = 5605ab5c A3.m[0] = 5605ab5c A3.m = 5605ab5c Q4.2 d 3 A4.&d[0][0] = 5605ab58 A4.&d[0] = 5605ab58 A4.d[0] = 5605ab58 A4.*d = 5605ab58 A4.d = 5605ab58 Q5. a int a=2, b=3, c=5, *p, *q; p = &b; q = &c; a = *p + *q; A5.a = 8 Q6. a int a=2, *p; p = &a; *p = 5; A6.a = 5 10

Q7. *p *q **q *(100)=200 -> 100 =200 *(200)=300 -> 200 =300 int *p, **q,*r; int a=200; int b=300; p = &a,q = &r,r = &b; (&a 100 &b 200 ) &a = 5605ab0c &b = 5605ab08 *p = 200 *q = 5605ab08 **q = 300 A7.*p=200,*q=5605ab08,**q=300 Q8.1 m m[k] *(m+k) m[0] = 0 *(m+0) = 0 m[1] = 1 *(m+1) = 1 m[2] = 2 *(m+2) = 2 m[3] = 3 *(m+3) = 3 m[4] = 4 *(m+4) = 4 A8.m[k] m k m+k m (0 ) k k *(m+k) m+k Q9. p p+2 p 4 p = a067c5ab p+2 = a067c5b3 A9.8 Q10. a.1 m *m 11

b. p p[0] A10(a). m[0] => 0,*m => 0 m[1] => 1,*(m+1) => 1 A10(b). n[0] => 0,*n => 0 n[1] => 1,*(n+1) => 1 Q11.,*m,*(m+3),*m+3,*m+*(m+3) static int m[5] = {10,20,40,50,30} *m = 10 *(m+3) = 50 *m+3 = 13 *m+*(m+3) = 60 A11.*m=10,*(m+3)=50,*m+3=13,*m+*(m+3)=60 Q12.,*d[2],*(d[2]+2),*d[2]+2,**d,*(*d+3), **d+6,*(d[1]+2),**(d+2) static int d[][3] = {{1,2,3},{5,6,7},{4,6,8},{9,7,5}}; *d[2] = 4 *(d[2]+2) = 8 *d[2]+2 = 6 **d = 1 *(*d+3) = 5 **d+6 = 7 *(d[1]+2) = 7 **(d+2) = 4 A12.*d[2]=4,*(d[2]+2)=8,*d[2]+2=6,**d=1,*(*d+3)=5,**d+6=7,*(d[1]+2)=7,**(d+2)=4 Q13. p char *str = "abcdefg", *p p = str + 3; 12

p = defg A13.p = defg Q14. p,*p,*(p+2),&(*p)=100 char *p; p = "abc"; &(*p) = 09ba7a4c : 100 p = 09ba7a4c *p = a *(p+2) = c A14.p=100,*p=a,*(p+2)=c Q15. *m *p *q static char m[] = "abcd"; char *p, *q; p = &m[0]; q = m; *m = a *p = a *q = a A15.*m=a,*p=a,*q=a Q16. *p *(m+2) *m+2 static char m[] = "abcd"; char *p; p = &m[2]; *p = c *(m+2) = c *m+2 = c A16.*p=c,*(m+2)=c,*m+2=c Q17. p 13

char *p,q[] = "abcd"; p = q; *(p + 1) = x ; p = axcd A17.p = axcd Q18. x int x; char *p; p = "abcd"; if(p == "abcd") x = 0; else x = 1; x = 0 A18.x = 0 Q19. int k; char m[max], *p; for(p=m; *p; ++p) *p += 1; A19. ( ) int k; char m[max]; for(k=0;m[k];k++){ m[k] += 1; } Q20.,*q[2],q[3][2],*(q[2]+2),*(*(q+3)+2),**(q+1) static char *q[] = {"abcd", "12345", "ABCDEFG", "987"}; *q[2] = A q[3][2] = 7 *(q[2]+2) = C *(*(q+3)+2) = 7 **(q+1) = 1 14

A20.*q[2]=A q[3][2]=7 *(q[2]+2)=c *(*(q+3)+2)=7 **(q+1)=1 1. Q1 v & 2. Q2,3 &m[n ] m+n 0 &m[n ] m+n 3. Q4 1 5 1: Q4 4. Q5 p,q b,c *p *q b,c 5. Q6 a 5 2: Q6 15

6. Q7 200 300 *r segmentation fault *p a 200 *q r ( b ) 200,**q b 300 7. Q8 m[k] 0 k *(m+k) m k( ) 8. Q9 int 4byte p+2 8byte char 1byte double 8byte 9. Q10 a b 10. Q11 (static) 5 *(m+3) 3 *(m+3) m[3] *m+3 *m ( m[0] ) 3 *m+*(m+3) m[0]+m[3] m[0] m[3] 11. Q12 ( 3) 3: Q12 12. Q13 str a p str+3 3 p d NULL p defg 13. Q14 p a *p a *(p+2) 2 c 16

14. Q15 *m m[0] *p p m[0] *q m m 3 a 15. Q16 p m[2] *(m+2) m[0+2] *m+2 *m m a ASCII 2 c 3 c 16. Q17 bus error bus error *(p+1) x 1 17. Q18 if 18. Q19 p int k k 19. Q20 ( 4) 4: Q20 17

2 2.1 C (char char ) 2.1.1 ( ) 1 ( ) ( ) struct ([ ]); { ; ; ; : }; 5 5: struct(structure ) struct 18

2.1.2 struct = { 1, 2, 3,, m} m struct [ ] = { { 1-1, 1-2, 1-3,, 1-n}, { 2-1, 2-2, 2-3,, 2-n}, : { m-1, m-2, m-3,, m-n}, } n m 5 1 // 2 struct humanspec{ 3 char name[256]; // 4 char sex[256]; // 5 int age; // 6 int height; // 7 int weight; // 8 }; 9 10 // 11 struct humanspec humanspec[200] = { 12 {,,, }, 13 {,,, }, 14 {,,, }, 19

15 {,,, } // 16 }; 2.1.3 =. ;( ) = [ ]. ;( ).( ) 1 #include <stdio.h> 2 3 struct e1557xx{ 4 int number; // 5 char *name; // 6 char sex; // 7 }; 8 9 int main(){ 10 int i = 0; 11 printf(" \t \t \n"); 12 13 struct e1557xx meibo[10] = { 14 {155701," ", F }, 15 {155702," ", F }, 16 {155703," ", F }, 17 {155704," ", F }, 18 {155705," ", F }, 19 {155706,"S ", F }, 20 {155707," ", F }, 21 {155708," ", F }, 22 {155709," ", F }, 23 {155710," ", M }, 24 }; 25 26 for(i=0;i<10;i++){ 20

27 printf("%8d%17s%5c\n",meibo[i].number,meibo[i].name,meibo[i].sex); 28 } 29 return(0); 30 } 155701 F 155702 F 155703 F 155704 F 155705 F 155706 S F 155707 F 155708 F 155709 F 155710 M ( ) 2.2 2.2.1 * struct * ; = & ;(struct * ) 21

1 printf & = ; & 2.2.2 = -> ; -> ->. ( ) -> ( ) 1 #include <stdio.h> 2 3 struct e1557xx{ 4 int number; // 5 char *name; // 6 char sex; // 7 }; 8 9 int main(){ 10 int i = 0; 11 printf(" \t \t \n"); 12 13 struct e1557xx meibo[10] = { 14 {155701," ", F }, 15 {155702," ", F }, 22

16 {155703," ", F }, 17 {155704," ", F }, 18 {155705," ", F }, 19 {155706,"S ", F }, 20 {155707," ", F }, 21 {155708," ", F }, 22 {155709," ", F }, 23 {155710," ", M }, 24 }; 25 26 struct e1557xx *p; // 27 p = meibo; // p meibo 28 29 for(i=0;i<10;i++){ 30 printf("%8d%17s%5c\n",(p+i)->number,(p+i)->name,(p+i)->sex); 31 } 32 return(0); 33 } 155701 F 155702 F 155703 F 155704 F 155705 F 155706 S F 155707 F 155708 F 155709 F 155710 M ( ) 23

2.3 ( or ); // = ( or ) // & & int int 1 1 3 [1] C Steve Oualline,, [2] C http://www.isl.ne.jp/pcsp/beginc/ [3] Lecture notes http://www.is.titech.ac.jp/compview/clang/ 24