Enviar pesquisa
Carregar
5_C言語入門 - 変数について
•
Transferir como PPTX, PDF
•
2 gostaram
•
2,441 visualizações
bc_rikko
Seguir
C言語入門 変数について
Leia menos
Leia mais
Educação
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 49
Baixar agora
Recomendados
3_C言語入門 - C言語の基本
3_C言語入門 - C言語の基本
bc_rikko
as-1. アセンブラ入門
as-1. アセンブラ入門
kunihikokaneko1
C言語ポインタ講座 (Lecture of Pointer in C)
C言語ポインタ講座 (Lecture of Pointer in C)
kakira9618
C day2
C day2
Mercury Soft
C++のライブラリを簡単に眺めてみよう
C++のライブラリを簡単に眺めてみよう
Hiro H.
その文字列検索、std::string::findだけで大丈夫ですか?【Sapporo.cpp 第8回勉強会(2014.12.27)】
その文字列検索、std::string::findだけで大丈夫ですか?【Sapporo.cpp 第8回勉強会(2014.12.27)】
Hiro H.
constexpr関数はコンパイル時処理。これはいい。実行時が霞んで見える。cpuの嬌声が聞こえてきそうだ
constexpr関数はコンパイル時処理。これはいい。実行時が霞んで見える。cpuの嬌声が聞こえてきそうだ
Genya Murakami
SSE4.2の文字列処理命令の紹介
SSE4.2の文字列処理命令の紹介
MITSUNARI Shigeo
Recomendados
3_C言語入門 - C言語の基本
3_C言語入門 - C言語の基本
bc_rikko
as-1. アセンブラ入門
as-1. アセンブラ入門
kunihikokaneko1
C言語ポインタ講座 (Lecture of Pointer in C)
C言語ポインタ講座 (Lecture of Pointer in C)
kakira9618
C day2
C day2
Mercury Soft
C++のライブラリを簡単に眺めてみよう
C++のライブラリを簡単に眺めてみよう
Hiro H.
その文字列検索、std::string::findだけで大丈夫ですか?【Sapporo.cpp 第8回勉強会(2014.12.27)】
その文字列検索、std::string::findだけで大丈夫ですか?【Sapporo.cpp 第8回勉強会(2014.12.27)】
Hiro H.
constexpr関数はコンパイル時処理。これはいい。実行時が霞んで見える。cpuの嬌声が聞こえてきそうだ
constexpr関数はコンパイル時処理。これはいい。実行時が霞んで見える。cpuの嬌声が聞こえてきそうだ
Genya Murakami
SSE4.2の文字列処理命令の紹介
SSE4.2の文字列処理命令の紹介
MITSUNARI Shigeo
C++ マルチスレッドプログラミング
C++ マルチスレッドプログラミング
Kohsuke Yuasa
C++ マルチスレッド 入門
C++ マルチスレッド 入門
京大 マイコンクラブ
高位合成におけるC++テンプレートメタプログラミングの効果
高位合成におけるC++テンプレートメタプログラミングの効果
Kenichiro MITSUDA
C++でできる!OS自作入門
C++でできる!OS自作入門
uchan_nos
高速な倍精度指数関数expの実装
高速な倍精度指数関数expの実装
MITSUNARI Shigeo
競技プログラミングのためのC++入門
競技プログラミングのためのC++入門
natrium11321
Gpu vs fpga
Gpu vs fpga
Yukitaka Takemura
クソザコ鳥頭が非順序連想コンテナに入門してみた
クソザコ鳥頭が非順序連想コンテナに入門してみた
Mitsuru Kariya
SECDマシン 実装と動きとその他もろもろについて
SECDマシン 実装と動きとその他もろもろについて
t-sin
イマドキC++erのモテカワリソース管理術
イマドキC++erのモテカワリソース管理術
Kohsuke Yuasa
x86とコンテキストスイッチ
x86とコンテキストスイッチ
Masami Ichikawa
プログラムを高速化する話
プログラムを高速化する話
京大 マイコンクラブ
コルーチンでC++でも楽々ゲーム作成!
コルーチンでC++でも楽々ゲーム作成!
amusementcreators
C++のビルド高速化について
C++のビルド高速化について
AimingStudy
明日使えないすごいビット演算
明日使えないすごいビット演算
京大 マイコンクラブ
C++ ポインタ ブートキャンプ
C++ ポインタ ブートキャンプ
Kohsuke Yuasa
Sigreturn Oriented Programming
Sigreturn Oriented Programming
Angel Boy
中3女子でもわかる constexpr
中3女子でもわかる constexpr
Genya Murakami
競技プログラミングにおけるコードの書き方とその利便性
競技プログラミングにおけるコードの書き方とその利便性
Hibiki Yamashiro
Execution
Execution
Angel Boy
6_C言語入門 - 式と演算子について
6_C言語入門 - 式と演算子について
bc_rikko
7_C言語入門 - 型変換について
7_C言語入門 - 型変換について
bc_rikko
Mais conteúdo relacionado
Mais procurados
C++ マルチスレッドプログラミング
C++ マルチスレッドプログラミング
Kohsuke Yuasa
C++ マルチスレッド 入門
C++ マルチスレッド 入門
京大 マイコンクラブ
高位合成におけるC++テンプレートメタプログラミングの効果
高位合成におけるC++テンプレートメタプログラミングの効果
Kenichiro MITSUDA
C++でできる!OS自作入門
C++でできる!OS自作入門
uchan_nos
高速な倍精度指数関数expの実装
高速な倍精度指数関数expの実装
MITSUNARI Shigeo
競技プログラミングのためのC++入門
競技プログラミングのためのC++入門
natrium11321
Gpu vs fpga
Gpu vs fpga
Yukitaka Takemura
クソザコ鳥頭が非順序連想コンテナに入門してみた
クソザコ鳥頭が非順序連想コンテナに入門してみた
Mitsuru Kariya
SECDマシン 実装と動きとその他もろもろについて
SECDマシン 実装と動きとその他もろもろについて
t-sin
イマドキC++erのモテカワリソース管理術
イマドキC++erのモテカワリソース管理術
Kohsuke Yuasa
x86とコンテキストスイッチ
x86とコンテキストスイッチ
Masami Ichikawa
プログラムを高速化する話
プログラムを高速化する話
京大 マイコンクラブ
コルーチンでC++でも楽々ゲーム作成!
コルーチンでC++でも楽々ゲーム作成!
amusementcreators
C++のビルド高速化について
C++のビルド高速化について
AimingStudy
明日使えないすごいビット演算
明日使えないすごいビット演算
京大 マイコンクラブ
C++ ポインタ ブートキャンプ
C++ ポインタ ブートキャンプ
Kohsuke Yuasa
Sigreturn Oriented Programming
Sigreturn Oriented Programming
Angel Boy
中3女子でもわかる constexpr
中3女子でもわかる constexpr
Genya Murakami
競技プログラミングにおけるコードの書き方とその利便性
競技プログラミングにおけるコードの書き方とその利便性
Hibiki Yamashiro
Execution
Execution
Angel Boy
Mais procurados
(20)
C++ マルチスレッドプログラミング
C++ マルチスレッドプログラミング
C++ マルチスレッド 入門
C++ マルチスレッド 入門
高位合成におけるC++テンプレートメタプログラミングの効果
高位合成におけるC++テンプレートメタプログラミングの効果
C++でできる!OS自作入門
C++でできる!OS自作入門
高速な倍精度指数関数expの実装
高速な倍精度指数関数expの実装
競技プログラミングのためのC++入門
競技プログラミングのためのC++入門
Gpu vs fpga
Gpu vs fpga
クソザコ鳥頭が非順序連想コンテナに入門してみた
クソザコ鳥頭が非順序連想コンテナに入門してみた
SECDマシン 実装と動きとその他もろもろについて
SECDマシン 実装と動きとその他もろもろについて
イマドキC++erのモテカワリソース管理術
イマドキC++erのモテカワリソース管理術
x86とコンテキストスイッチ
x86とコンテキストスイッチ
プログラムを高速化する話
プログラムを高速化する話
コルーチンでC++でも楽々ゲーム作成!
コルーチンでC++でも楽々ゲーム作成!
C++のビルド高速化について
C++のビルド高速化について
明日使えないすごいビット演算
明日使えないすごいビット演算
C++ ポインタ ブートキャンプ
C++ ポインタ ブートキャンプ
Sigreturn Oriented Programming
Sigreturn Oriented Programming
中3女子でもわかる constexpr
中3女子でもわかる constexpr
競技プログラミングにおけるコードの書き方とその利便性
競技プログラミングにおけるコードの書き方とその利便性
Execution
Execution
Destaque
6_C言語入門 - 式と演算子について
6_C言語入門 - 式と演算子について
bc_rikko
7_C言語入門 - 型変換について
7_C言語入門 - 型変換について
bc_rikko
8_C言語入門 - 条件分岐について(if-else if-else)
8_C言語入門 - 条件分岐について(if-else if-else)
bc_rikko
2_C言語入門 - VisualStudioについて
2_C言語入門 - VisualStudioについて
bc_rikko
4_C言語入門 - n進数と基数変換について
4_C言語入門 - n進数と基数変換について
bc_rikko
1-2_C言語入門 - プログラマに必要な能力
1-2_C言語入門 - プログラマに必要な能力
bc_rikko
9_C言語入門 - 条件分岐について(switch case)
9_C言語入門 - 条件分岐について(switch case)
bc_rikko
1-1_C言語入門 - C言語について
1-1_C言語入門 - C言語について
bc_rikko
10_C言語入門 - 条件分岐について(論理演算子と条件演算子)
10_C言語入門 - 条件分岐について(論理演算子と条件演算子)
bc_rikko
11_C言語入門 - 繰り返し処理について
11_C言語入門 - 繰り返し処理について
bc_rikko
12_C言語入門 - 読みやすいソースコードを書く
12_C言語入門 - 読みやすいソースコードを書く
bc_rikko
C言語講習会資料(前半)
C言語講習会資料(前半)
Yuki Sako
Destaque
(12)
6_C言語入門 - 式と演算子について
6_C言語入門 - 式と演算子について
7_C言語入門 - 型変換について
7_C言語入門 - 型変換について
8_C言語入門 - 条件分岐について(if-else if-else)
8_C言語入門 - 条件分岐について(if-else if-else)
2_C言語入門 - VisualStudioについて
2_C言語入門 - VisualStudioについて
4_C言語入門 - n進数と基数変換について
4_C言語入門 - n進数と基数変換について
1-2_C言語入門 - プログラマに必要な能力
1-2_C言語入門 - プログラマに必要な能力
9_C言語入門 - 条件分岐について(switch case)
9_C言語入門 - 条件分岐について(switch case)
1-1_C言語入門 - C言語について
1-1_C言語入門 - C言語について
10_C言語入門 - 条件分岐について(論理演算子と条件演算子)
10_C言語入門 - 条件分岐について(論理演算子と条件演算子)
11_C言語入門 - 繰り返し処理について
11_C言語入門 - 繰り返し処理について
12_C言語入門 - 読みやすいソースコードを書く
12_C言語入門 - 読みやすいソースコードを書く
C言語講習会資料(前半)
C言語講習会資料(前半)
Último
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
Takayuki Itoh
世界を変えるクレーンを生み出そう! 高知エンジニアリングキャンプ2024プログラム
世界を変えるクレーンを生み出そう! 高知エンジニアリングキャンプ2024プログラム
Kochi Eng Camp
2024年度 東京工業大学 工学院 機械系 大学院 修士課程 入試 説明会 資料
2024年度 東京工業大学 工学院 機械系 大学院 修士課程 入試 説明会 資料
Tokyo Institute of Technology
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
Tokyo Institute of Technology
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ssusere0a682
次世代機の製品コンセプトを描く ~未来の機械を創造してみよう~
次世代機の製品コンセプトを描く ~未来の機械を創造してみよう~
Kochi Eng Camp
Último
(6)
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
世界を変えるクレーンを生み出そう! 高知エンジニアリングキャンプ2024プログラム
世界を変えるクレーンを生み出そう! 高知エンジニアリングキャンプ2024プログラム
2024年度 東京工業大学 工学院 機械系 大学院 修士課程 入試 説明会 資料
2024年度 東京工業大学 工学院 機械系 大学院 修士課程 入試 説明会 資料
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
次世代機の製品コンセプトを描く ~未来の機械を創造してみよう~
次世代機の製品コンセプトを描く ~未来の機械を創造してみよう~
5_C言語入門 - 変数について
1.
C言語入門 ~ 変数について ~
2.
本日の目標 • 変数のしくみを理解する • scanf
、getchar の使い方を理解する 1
3.
データを記憶したい
4.
変数を使えば記憶できる
5.
変数とは • データを一時的に記憶するためのしくみ • 文字、整数、小数なんでも記憶できる •
メモリが許す限りいくらでも使える 4 「やさしいC」 p.46 変数 10.5123‘A’
6.
変数がいっぱいあったら どれがどれかわからない?
7.
変数には名前がつけられる
8.
変数に名前をつける 7 「やさしいC」 p.47 血液型
値段 距離 10.5123‘A’ 箱に何が入っているか、ひと目でわかる! 変数の名前のことを「識別子」と呼ぶ
9.
変数の型(形式) • 変数には種類がある • 種類のことをデータの「型」と呼ぶ 8 「やさしいC」
p.49 血液型 値段 距離 10.5123‘A’ char:文字を記憶 int:整数を記憶 float:小数を記憶 double:小数を記憶
10.
なんで「型」が必要なの?
11.
データ型の必要性① • メモリ上の「箱」を効率的に使うため 10 1番地 2番地
3番地 4番地 5番地 6番地… … 文字型は1個あればOK 整数型は4個必要 「型」が決まっていないと、 多めにメモリ上の「箱」を用意しなければならない
12.
データ型の必要性② • 変数の整合性を保つため 11 値段 123 値段 ‘A’ 値段 ‘A’ 「値段」を計算したい 誰かが「値段」に 血液型(’A’)を入れた 「値段(‘A’)」×10個 →
計算ができない?! 「型」が決まっていないと、想定外の「値」になってしまう
13.
型の種類① • 「やさしいC」 p.49 •
「型」は必要に応じて選択する – 記憶できるサイズが大きければ 良いわけではない 12 「やさしいC」 p.49
14.
型の種類② 13 float型 double型 と はどっちがいいか? double型 が良く使われる
15.
型の種類③ • double 型のメリット –
精度が高い(誤差が少ない) – 計算が速い • double 型のデメリット – float型の倍のメモリが必要 14
16.
変数を使うためには 「宣言」が必要
17.
変数の宣言 • 変数を使うためには、用意が必要 • 用意することを「変数を宣言する」という 16 「やさしいC」
p.53 型 変数名; int price;
18.
メモリ上の変数のイメージ 17 1番地 2番地
3番地 4番地 5番地 6番地… … メモリ 3~6番地を「値段」という 名前の変数で使います! int price;
19.
変数に値を記憶させたい
20.
値の代入 • 変数に値を記憶させることを 「値を代入する」という 19 「やさしいC」 p.55 変数名
= 値; price = 123; 「=」は、priceと123が等しいわけではない 値を代入することを「=」と表す
21.
変数を使ってみる
22.
変数を使ってみる 21 「やさしいC」 p.56 変数numの値は3です。 続行するには何かキーを押してください
. . . 入力するプログラム(Sample1.c) 実行結果 #include <stdio.h> int main(void) { int num; num = 3; printf(“変数numの値は%dです。¥n”, num); return 0; }
23.
変数を使ってみる 22 「やさしいC」 p.56 入力するプログラム(Sample1.c) #include
<stdio.h> int main(void) { int num; num = 3; printf(“変数numの値は%dです。¥n”, num); return 0; } num 整数型の変数 「num」
24.
変数を使ってみる 23 「やさしいC」 p.56 入力するプログラム(Sample1.c) #include
<stdio.h> int main(void) { int num; num = 3; printf(“変数numの値は%dです。¥n”, num); return 0; } num 3 変数numに 3を代入する
25.
変数を使ってみる 24 「やさしいC」 p.56~57 入力するプログラム(Sample1.c) #include
<stdio.h> int main(void) { int num; num = 3; printf(“変数numの値は%dです。¥n”, num); return 0; } num 3 変数numを 表示する
26.
変数を使ってみる 25 「やさしいC」 p.56~57 入力するプログラム(Sample1.c) #include
<stdio.h> int main(void) { int num; num = 3; printf(“変数numの値は%dです。¥n”, num); return 0; } 1行で書ける(初期化) 「int num = 3;」
27.
初期化の重要性
28.
初期化の重要性 27 「やさしいC」 p.58 #include
<stdio.h> int main(void) { int num; printf(“変数numの値は%dです。¥n”, num); return 0; } 初期化しない場合 変数numの値は1989929336です。 続行するには何かキーを押してください . . . 実行結果 メモリ上にゴミが残っており 意図しない値が表示される
29.
変数の変更・コピー
30.
変数の変更・コピー • 「やさしいC」 p.59~62 29
31.
キーボードからの 入力を受け取りたい
32.
キーボードからの入力 • 「やさしいC」 p.65 31 「やさしいC」
p.65
33.
キーボードからの入力① 32 「やさしいC」 p.66 入力するプログラム(Sample5.c) #include
<stdio.h> int main(void) { int num; printf(“整数を入力してください。¥n”); scanf("%d", &num); printf(“%dが入力されました。¥n”); return 0; } キーボードからの入力を 受け取る処理(関数) &については 「9.1 アドレス」で学ぶ 入力した値は 変数numに代入される
34.
scanf でエラーが出た場合 • scanf
はセキュリティ上の問題がある – 使う場合は先頭に 「#define _CRT_SECURE_NO_WARNINGS 1」と書く • 仕事では絶対に使ってはダメ(学習ならOK) – scanf_s などを代用する 33
35.
キーボードからの入力② データ型 入力(scanf) 出力(printf) int float double 34 「やさしいC」
p.66~68 scanf(“%d”, &変数); scanf(“%f”, &変数); scanf(“%lf”, &変数); printf(“%d”, 変数); printf(“%f”, 変数); printf(“%f”, 変数); double型の変換仕様は 入力と出力で異なるので注意
36.
文字の入力
37.
文字の入力 • 「やさしいC」 p.69 36 「やさしいC」
p.69
38.
文字の入力 37 「やさしいC」 p.70 aが入力されました。 続行するには何かキーを押してください
. . . 入力するプログラム(Sample7.c) 実行結果 #include <stdio.h> int main(void) { char ch; printf("文字を入力してください。(英数字)¥n"); ch = getchar(); printf("%cが入力されました。¥n", ch); return 0; } キーボードからの入力を 受け取る処理(関数) 入力した文字は 変数chに代入される
39.
演習の前に、 プログラマの考え方 を学ぶ
40.
39 自分の年齢を入力し、表示させる(ex05-01.c) #include <stdio.h> int main(void) { printf(“私は20歳です。¥n"); return
0; } 私は20歳です。 続行するには何かキーを押してください . . . 実行結果 プログラマの考え方① まずは出力から (問題を分割する) 求められる結果を出力する (問題を単純化する)
41.
40 自分の年齢を入力し、表示させる(ex05-01.c) #include <stdio.h> int main(void) { printf(“私は%d歳です。¥n",
20); return 0; } 私は20歳です。 続行するには何かキーを押してください . . . 実行結果 プログラマの考え方② 変換仕様を使ってみる 結果は変わらない
42.
41 自分の年齢を入力し、表示させる(ex05-01.c) #include <stdio.h> int main(void) { int
myAge; myAge = 20; printf(“私は%d歳です。¥n", myAge); return 0; } 私は20歳です。 続行するには何かキーを押してください . . . 実行結果 プログラマの考え方③ 変数を使ってみる 結果は変わらない
43.
42 自分の年齢を入力し、表示させる(ex05-01.c) #include <stdio.h> int main(void) { int
myAge; scanf("%d", &myAge); printf(“私は%d歳です。¥n", myAge); return 0; } 私は20歳です。 続行するには何かキーを押してください . . . 実行結果 プログラマの考え方④ キーボードからの入力に 変えてみる
44.
プログラマの考え方⑤ 1. 問題を分割する 年齢を入力する、年齢を出力する 2. 知っているところから始める 出力なので、printfを使ってみる 3.
問題を簡略化する そのまま年齢を表示してみる 4. 類似点を探す 過去の問題に似たような問題がなかったか探す 5. 実験する 変換仕様に変えてみる、変数に変えてみる、他に良い方法がないか試してみる 6. イライラしない わかるものもわからなくなる。イライラしたら休憩、ストレッチをする 43
45.
演習
46.
演習問題① 1. 自分の年齢を入力し、表示させる (ファイル名:ex05-01.c) 2. 円周率(π)の値を入力し、表示させる (ファイル名:ex05-02.c) 3.
今日の日付を入力し、表示させる (ファイル名:ex05-03.c) 4. 現在の消費税率を入力し、表示させる (ファイル名:ex05-04.c) 5. 税抜価格を入力し、税込価格を表示させる (ファイル名:ex05-05.c) 6. 体重(kg)と身長(m)を入力し、BMIを表示させる ※ヒント:BMI = 体重(kg) ÷ (身長(m) × 身長(m)) (ファイル名:ex05-06.c) 45
47.
演習問題② 7. 底辺と高さを入力して、三角形の面積を表示させる (ファイル名:ex05-07.c) 8. 上底、下底、高さを入力して、台形の面積を表示させる ※ヒント:台形の面積
= (上底 + 下底) × 高さ ÷ 2 (ファイル名:ex05-08.c) 46
48.
特別問題① • 変数の中身を入れ替える(ファイル名:swap.c) 47 #include <stdio.h> int
main(void) { int num1, num2; num1 = 1; num2 = 2; printf(“入れ替え前:num1は%d、num2は%d¥n", num1, num2); printf(“入れ替え後:num1は%d、num2は%d¥n", num1, num2); return 0; } 入れ替え前:num1は1、num2は2 入れ替え後:num1は2、num2は1 続行するには何かキーを押してください . . . 実行結果 ここに処理を追加して、 変数の値を入れ替える ヒント:変数をもう1個使う
49.
特別問題② • 入力した西暦がうるう年か判定する (ファイル名:LeapYear.c) • 条件 –
西暦が4で割り切れる場合は、うるう年 – 西暦が100で割り切れる場合は、うるう年ではない – しかし、西暦が400で割り切れる場合は、うるう年 48 うるう年 ・2004年 ・2000年 ・1600年 平年 ・2015年 ・1900年 ・2100年
Baixar agora