1998-07-01から1ヶ月間の記事一覧

構造体のメンバの初期化

C

明解C言語 入門編 > 12. 構造体 > 構造体のメンバの初期化 C #include <stdio.h> #include <string.h>struct gstudent { char name[20]; int height; float weight; };int main(int argc, char* argv[]) { struct gstudent sanaka = {"Sanaka", 175, 60.5}; printf("氏名:%s\n</string.h></stdio.h>…

構造体

C++

明解C言語 入門編 > 12. 構造体 > 構造体 C++ #include <stdio.h> #include <string.h>struct gstudent { char name[20]; int height; float weight; };int main(int argc, char* argv[]) { gstudent sanaka; strcpy(sanaka.name, "Sanaka"); sanaka.height = 175; sanaka.weig</string.h></stdio.h>…

5人の学生を 身長で ソート (配列)

C

明解C言語 入門編 > 12. 構造体 > 5人の学生を 身長で ソート (配列) C #include <stdio.h> #include <string.h>#define NINSU 5void swap(int* x, int* y) { int tmp = *x; *x = *y; *y = tmp; }void swaps(char sx[], char sy[]) { char tmp[256]; strcpy(tmp, sx); strcpy(</string.h></stdio.h>…

5人の学生の身長を ソート

C

明解C言語 入門編 > 12. 構造体 > 5人の学生の身長を ソート C #include <stdio.h>#define NINSU 5void swap(int* x, int* y) { int tmp = *x; *x = *y; *y = tmp; }void sort(int data[], int n) { int k = n - 1; while (k >= 0) { int i, j; for (i = 1, j = -1;</stdio.h>…

さまざまな文字列操作

C

明解C言語 入門編 > 11. 文字列とポインタ > さまざまな文字列操作 C #include <stdio.h> #include <string.h>int main(int argc, char* argv[]) { /* strcat */ char st1[100] = "1234567890"; char st2[100] = "ABCDE"; printf("%s + ", st1); printf("%s = ", st2); strcat(</string.h></stdio.h>…

指定した文字数だけ、文字列をコピー

C

明解C言語 入門編 > 11. 文字列とポインタ > 指定した文字数だけ、文字列をコピー C #include <stdio.h> #include <string.h>char* str_ncpy(char* d, const char* s, size_t n) { char* t = d; int j = 1; unsigned i; for (i = 0; i < n; i++) { if ((*s) && j) *d++ = *s++;</string.h></stdio.h>…

文字列のコピー

C

明解C言語 入門編 > 11. 文字列とポインタ > 文字列のコピー C #include <stdio.h> #include <string.h>char* str_cpy(char* d, const char* s) { char* t = d; while (*d++ = *s++) ; return t; }int main(int argc, char* argv[]) { int i; char* st1 = "12345"; char* st2 =</string.h></stdio.h>…

文字列の長さを調べる

C

明解C言語 入門編 > 11. 文字列とポインタ > 文字列の長さを調べる C #include <stdio.h> #include <string.h>unsigned str_length(const char* str) { size_t len = 0; while (*str++) len++; return len; }int main(int argc, char* argv[]) { char str[100] = "ABC"; printf</string.h></stdio.h>…

「配列で実現する文字列」の配列と、「ポインタで実現する文字列」の配列

C

明解C言語 入門編 > 11. 文字列とポインタ > 「配列で実現する文字列」の配列と、「ポインタで実現する文字列」の配列 C #include <stdio.h>int main(int argc, char* argv[]) { char str[3][6] = {"Turbo", "NA", "DOHC"}; char* ptr[3] = {"12345", "67", "890A"};</stdio.h>…

配列で実現する文字列と、ポインタで実現する文字列との、違い (文字列の代入)

C

明解C言語 入門編 > 11. 文字列とポインタ > 配列で実現する文字列と、ポインタで実現する文字列との、違い (文字列の代入) C #include <stdio.h>int main(int argc, char* argv[]) { char str[] = "ABC"; char* ptr = "123"; str = "123"; /* これは、エラー */ ptr</stdio.h>…

配列で実現する文字列と、ポインタで実現する文字列との、共通点

C

明解C言語 入門編 > 11. 文字列とポインタ > 配列で実現する文字列と、ポインタで実現する文字列との、共通点 C #include <stdio.h>int main(int argc, char* argv[]) { char str[] = "ABC"; char* ptr = "123"; int i; for (i = 0; str[i]; i++) putchar(str[i]); p</stdio.h>…

配列で実現する文字列と、ポインタで実現する文字列

C

明解C言語 入門編 > 11. 文字列とポインタ > 配列で実現する文字列と、ポインタで実現する文字列 C #include <stdio.h>int main(int argc, char* argv[]) { char str[] = "ABC"; char* ptr = "123"; printf("str = \"%s\"\n", str); printf("ptr = \"%s\"\n", ptr); </stdio.h>…

配列の受け渡し

C

明解C言語 入門編 > 10. ポインタ > 配列の受け渡し C #include <stdio.h>#define NINSU 5void int_set(int* vc, int no) { int i; for (i = 0; i < no; i++) vc[i] = i; }int main(int argc, char* argv[]) { int i = NINSU; int j; int ary[NINSU] = {0}; printf("</stdio.h>…

配列とポインタ

C

明解C言語 入門編 > 10. ポインタ > 配列とポインタ C #include <stdio.h>int main(int argc, char* argv[]) { int i; int vc[] = {10, 20, 30, 40, 50}; int* ptr = &vc[0]; for (i = 0; i < 5; i++) { printf("vc[%d] = %d " , i, vc[i]); printf("ptr[%d] = %d " </stdio.h>…

2つの値を交換する

C++

明解C言語 入門編 > 10. ポインタ > 2つの値を交換する C++ #include <stdio.h>void swap1(int nx, int ny) { int tmp = nx; nx = ny; ny = tmp; }void swap3(int& nx, int& ny) { int tmp = nx; nx = ny; ny = tmp; }int main(int argc, char* argv[]) { int na = </stdio.h>…

大文字・小文字の変換

C

明解C言語 入門編 > 9. 文字列の基本 > 大文字・小文字の変換 C #include <stdio.h> #include <ctype.h>void str_toupper(char st[]) { unsigned i = 0; while (st[i]) { st[i] = toupper(st[i]); i++; } }void str_tolower(char st[]) { unsigned i = 0; while (st[i]) { st[</ctype.h></stdio.h>…

文字列の配列を受け渡し

C

明解C言語 入門編 > 9. 文字列の基本 > 文字列の配列を受け渡し C #include <stdio.h>void put_strary(const char st[][6], int n) { int i; for (i = 0; i < n; i++) { int j = 0; printf("st[%d] = \"", i); while (st[i][j]) putchar(st[i][j++]); puts("\""); } </stdio.h>…

文字列内の数字の出現回数を数える

C

明解C言語 入門編 > 9. 文字列の基本 > 文字列内の数字の出現回数を数える C #include <stdio.h> int main(int argc, char* argv[]) { int cnt[10] = {0}; char str[100] = "3.1415926535897932846"; unsigned i = 0; while (str[i]) { if (('0' <= str[i]) && (str[</stdio.h>…

文字列の走査

C

明解C言語 入門編 > 9. 文字列の基本 > 文字列の走査 C #include <stdio.h>void put_string(const char str[]) { unsigned i = 0; while (str[i]) putchar(str[i++]); }int main(int argc, char* argv[]) { char str[100] = "ABC"; put_string(str); putchar('\n'); </stdio.h>…

文字列の長さを調べる

C

明解C言語 入門編 > 9. 文字列の基本 > 文字列の長さを調べる C #include <stdio.h> #include <string.h>unsigned str_length(const char str[]) { unsigned len = 0; while (str[len]) len++; return len; }int main(int argc, char* argv[]) { char str[100] = "ABC"; printf</string.h></stdio.h>…

文字列の配列

C

明解C言語 入門編 > 9. 文字列の基本 > 文字列の配列 C #include <stdio.h> int main(int argc, char* argv[]) { int i; char cs[][6] = {"Turbo", "NA", "DOHC"}; for (i = 0; i < 3; i++) printf("cs[%d] = \"%s\"\n", i, cs[i]); return 0; }実行結果 T:\>lesson0</stdio.h>…

文字列を読み込み、書式化して表示

C++

明解C言語 入門編 > 9. 文字列の基本 > 文字列を読み込み、書式化して表示 C++ #include <iostream.h> #include <iomanip.h>int main(int argc, char* argv[]) { char str[40]; cout << "文字を入力してください:"; cin >> str; cout << str << endl; // そのまま cout << setw(5) </iomanip.h></iostream.h>…

文字列を格納する配列

C

明解C言語 入門編 > 9. 文字列の基本 > 文字列を格納する配列 C #include <stdio.h> int main(int argc, char* argv[]) { char str1[4]; str1[0] = 'A'; str1[1] = 'B'; str1[2] = 'C'; str1[3] = '\0'; printf("str1 = %s\n", str1); char str2[] = {'A', 'B', 'C',</stdio.h>…

文字列リテラルの大きさを表示する

C

明解C言語 入門編 > 9. 文字列の基本 > 文字列リテラルの大きさを表示する C #include <stdio.h> int main(int argc, char* argv[]) { printf("sizeof(\"123\") = %u\n", (unsigned)sizeof("123")); printf("sizeof(\"AB\\tC\") = %u\n", (unsigned)sizeof("AB\tC"))</stdio.h>…

標準入力からの入力を標準出力にコピーする

C

明解C言語 入門編 > 8. いろいろなプログラムを作ってみよう > 標準入力からの入力を標準出力にコピーする C #include <stdio.h>int main(int argc, char* argv[]) { int ch; while ((ch = getchar()) != EOF) putchar(ch); return 0; }実行結果 T:\>lesson067\Proje</stdio.h>…

標準入力からの入力に現れた数字をカウントする (ver.2)

C

明解C言語 入門編 > 8. いろいろなプログラムを作ってみよう > 標準入力からの入力に現れた数字をカウントする (ver.2) C #include <stdio.h>int main(int argc, char* argv[]) { int i, ch; int cnt[10] = {0}; while ((ch = getchar()) != EOF) { if (('0' <= ch) </stdio.h>…

標準入力からの入力に現れた数字をカウントする

C

明解C言語 入門編 > 8. いろいろなプログラムを作ってみよう > 標準入力からの入力に現れた数字をカウントする C #include <stdio.h>int main(int argc, char* argv[]) { int i, ch; int cnt[10] = {0}; while ((ch = getchar()) != EOF) { switch (ch) { case '0': </stdio.h>…

最大公約数を求める (再帰)

C

明解C言語 入門編 > 8. いろいろなプログラムを作ってみよう > 最大公約数を求める (再帰) C #include <stdio.h>int gcdf(int vx, int vy) { return (vy == 0 ? vx : gcdf(vy, vx % vy)); }int gcd(int va, int vb) { return (va > vb ? gcdf(va, vb) : gcdf(vb, va)</stdio.h>…

階乗を求める (再帰)

C

明解C言語 入門編 > 8. いろいろなプログラムを作ってみよう > 階乗を求める (再帰) C #include <stdio.h>int factorial(int n) { if (n > 0) return (n * factorial(n -1)); return 1; }int main(int argc, char* argv[]) { int n = 3; printf("%dの階乗は%dです。\</stdio.h>…

選ばれた動物の鳴き声を表示 (列挙体)

C++

明解C言語 入門編 > 8. いろいろなプログラムを作ってみよう > 選ばれた動物の鳴き声を表示 (列挙体) C++ #include <stdio.h>enum animal { Dog , Cat , Monkey , Invalid }; void dog(void) { puts("ワンワン!!"); } void cat(void) { puts("ニャ〜オ!!"); } vo</stdio.h>…