演習課題「文字列を出力しよう」
右のコードエリアには、文字列を出力するコードがありますが、正しく動作しません。
このコードを修正して、文字列が出力されるようにしてください。
プログラムを実行して、正しく文字列が出力されれば演習課題クリアです!
期待する出力値
hello paiza
演習課題「文字列の長さを出力する」
右のコードエリアには、文字列の長さを求めるコードがありますが、このコードは未完成です。
プログラムが正しく動作するように while の条件式を記述してください。
プログラムを実行して、正しく出力されれば演習課題クリアです!
期待する出力値
9
演習課題「ライブラリを使って文字列の長さを出力する」
右のコードエリアには、標準入力から文字列を受け取って、その長さを出力するコードがありますが、このコードは未完成です。
プログラムが正しく動作するように、コードを追加してください。
プログラムを実行して、正しく出力されれば演習課題クリアです!
期待する出力値
8
#06:文字列の長さを求めよう
ここでは、実際に文字列を使ってみます。配列操作で文字列の長さを求めてみましょう。
#include <stdio.h>
int main(void)
{
char str[] = "paiza";
printf("hello %s\n", str);
}
文字列の初期化にはダブルクォート(" ")を使います。
あるデータを、printf で表示したり、sscanf で受け取ったりするときには、「変換指定」を使います。
【 printf で使う変換指定 】
○このレッスンで扱うもの
%d : int 型の整数値を表示します
%s : 文字列を表示します。
○このレッスンでは扱わないもの
%f : double 型の実数値を表示します
%c : char 型の文字を表示します
%p : ポインタの値を表示します
【 sscanf で使う変換指定 】
%d : 整数を受け取ります
%s : 改行や空白(スペース)を含まない文字列を受け取ります
%lf : double 型の実数値を受け取ります
%c : 文字を受け取ります
・ while を使ったコード// 文字列の長さを求めよう - while
#include <stdio.h>
int main(void)
{
char str[] = "paiza";
int i = 0;
while (str[i] != '\0') {
i++;
}
int length = i;
printf("%d\n", length);
}
・ for を使ったコード// 文字列の長さを求めよう - for
#include <stdio.h>
int main(void)
{
char str[] = "paiza";
int i;
for (i = 0; str[i] != '\0'; i++);
int length = i;
printf("%d\n", length);
}
文字列を扱うための関数が定義されたライブラリです。
このライブラリを使用するには、コードの上のほうに以下のように記述します。#include <string.h>
string.h には、以下のような関数が定義されています。
・ strlen : 文字列の長さを求める
・ strcmp : 文字列を比較する
・ strcpy : 文字列をコピーする
・ strtok : 文字列を区切り文字で分割する
・ memcpy : オブジェクトを指定したサイズだけコピーする
・ strlen で文字列の長さを求めます。// 文字列の長さを求めよう
#include <stdio.h>
#include <string.h>
int main(void)
{
char str[] = "paiza";
int length = strlen(str);
printf("%d\n", length);
}
- C言語入門 - 文字 char 型
https://webkaru.net/clang/character/
- C言語入門 - 入力した文字列の文字数を表示(出力)
https://webkaru.net/clang/display-string-length/