Submit Search
Upload
C言語講習会資料(前半)
•
1 like
•
3,294 views
Yuki Sako
Follow
ロボット技術研究会C言語講習会資料です. 演習問題の解答などはこちら. http://www.yukisako.xyz/entry/c_programming_training1
Read less
Read more
Software
Report
Share
Report
Share
1 of 62
Download now
Download to read offline
Recommended
ロボット技術研究会C言語講習会資料の後半です. 演習問題の解答などはこちら http://www.yukisako.xyz/entry/c_programming_training2
C言語講習会資料(後半)
C言語講習会資料(後半)
Yuki Sako
Lt python腕試しネタ
Lt python腕試しネタ
kiwofusi
母語教育方式によってプログラミング言語 HDL 模型検査系・証明系などの教育・訓練を行ってきた。従来言語では、目的・目標・やる気があれば問題なかった。現在Coqでのやり方がまだ課題として残っている。
母語方式Coq
母語方式Coq
Kiyoshi Ogawa
みんなのpython勉強会#22で発表しました。
Seq2Seqでボットづくり
Seq2Seqでボットづくり
Masato Fujitake
みんなのPython勉強会#17でのLT資料です。 エスケープシーケンス制御文字を使って画像をターミナルに出力するコードについて解説しています。 Githubは整理してからこちらに追加したいと思います。
Pythonでターミナルに画像表示
Pythonでターミナルに画像表示
Masato Fujitake
Kansai Engineer Students’ Meetup #1 で発表したスライドです。 内容は題名の通り。
Nimで競技プログラミングを始めた話(1ヶ月)
Nimで競技プログラミングを始めた話(1ヶ月)
tattaka_sun
TensorFlow勉強会で使った資料です
Tensor flow勉強会 (ayashiminagaranotensorflow)
Tensor flow勉強会 (ayashiminagaranotensorflow)
tak9029
C言語について
C言語について
Katsuro-u
Recommended
ロボット技術研究会C言語講習会資料の後半です. 演習問題の解答などはこちら http://www.yukisako.xyz/entry/c_programming_training2
C言語講習会資料(後半)
C言語講習会資料(後半)
Yuki Sako
Lt python腕試しネタ
Lt python腕試しネタ
kiwofusi
母語教育方式によってプログラミング言語 HDL 模型検査系・証明系などの教育・訓練を行ってきた。従来言語では、目的・目標・やる気があれば問題なかった。現在Coqでのやり方がまだ課題として残っている。
母語方式Coq
母語方式Coq
Kiyoshi Ogawa
みんなのpython勉強会#22で発表しました。
Seq2Seqでボットづくり
Seq2Seqでボットづくり
Masato Fujitake
みんなのPython勉強会#17でのLT資料です。 エスケープシーケンス制御文字を使って画像をターミナルに出力するコードについて解説しています。 Githubは整理してからこちらに追加したいと思います。
Pythonでターミナルに画像表示
Pythonでターミナルに画像表示
Masato Fujitake
Kansai Engineer Students’ Meetup #1 で発表したスライドです。 内容は題名の通り。
Nimで競技プログラミングを始めた話(1ヶ月)
Nimで競技プログラミングを始めた話(1ヶ月)
tattaka_sun
TensorFlow勉強会で使った資料です
Tensor flow勉強会 (ayashiminagaranotensorflow)
Tensor flow勉強会 (ayashiminagaranotensorflow)
tak9029
C言語について
C言語について
Katsuro-u
G
Androidのフレームワークをデバッグするために検出ツールを作ってた話
Androidのフレームワークをデバッグするために検出ツールを作ってた話
nhnmomonga
chainerを用いた対話ボットの作り方
14対話bot発表資料
14対話bot発表資料
Keiichirou Miyamoto
Java ツール勉強会資料。テンプレートエンジンVelocityの紹介。
テンプレート・エンジンVelocity
テンプレート・エンジンVelocity
隆行 神戸
2016年04月03日 西プロ(福岡市西区プログラミング勉強会資料) XMPPのクライアントプログラミングの初歩を紹介。
XMPPクライアント・プログラミング
XMPPクライアント・プログラミング
隆行 神戸
並列プログラミングの概念、理屈、各種問題について。 並カン( http://atnd.org/events/2092 )にて発表
並列プログラミング入門!&おさらい!
並列プログラミング入門!&おさらい!
道化師 堂華
Chainer MeetUp Talkで行ったライトニングトークです。
A Chainer MeetUp Talk
A Chainer MeetUp Talk
Yusuke Oda
M5Stick, Obniz, enebular(Node-RED)
M5StickVとobnizとenebularを使って死角確認ツールもどきを作ったはなし
M5StickVとobnizとenebularを使って死角確認ツールもどきを作ったはなし
MinoruInoue2
C言語入門 条件分岐について(論理演算子と条件演算子)
10_C言語入門 - 条件分岐について(論理演算子と条件演算子)
10_C言語入門 - 条件分岐について(論理演算子と条件演算子)
bc_rikko
C言語入門 型変換について
7_C言語入門 - 型変換について
7_C言語入門 - 型変換について
bc_rikko
C言語入門 変数について
5_C言語入門 - 変数について
5_C言語入門 - 変数について
bc_rikko
C言語入門 式と演算子について
6_C言語入門 - 式と演算子について
6_C言語入門 - 式と演算子について
bc_rikko
C言語入門 条件分岐について(if-else if-else)
8_C言語入門 - 条件分岐について(if-else if-else)
8_C言語入門 - 条件分岐について(if-else if-else)
bc_rikko
C言語入門 プログラマに必要な能力
1-2_C言語入門 - プログラマに必要な能力
1-2_C言語入門 - プログラマに必要な能力
bc_rikko
C言語入門 繰り返し処理について
11_C言語入門 - 繰り返し処理について
11_C言語入門 - 繰り返し処理について
bc_rikko
C言語入門 VisualStudioについて
2_C言語入門 - VisualStudioについて
2_C言語入門 - VisualStudioについて
bc_rikko
C言語入門 条件分岐について(switch case)
9_C言語入門 - 条件分岐について(switch case)
9_C言語入門 - 条件分岐について(switch case)
bc_rikko
C言語入門 n進数と基数変換について
4_C言語入門 - n進数と基数変換について
4_C言語入門 - n進数と基数変換について
bc_rikko
C言語入門 読みやすいソースコードを書く
12_C言語入門 - 読みやすいソースコードを書く
12_C言語入門 - 読みやすいソースコードを書く
bc_rikko
C言語入門 C言語について
1-1_C言語入門 - C言語について
1-1_C言語入門 - C言語について
bc_rikko
C言語入門 C言語の基本
3_C言語入門 - C言語の基本
3_C言語入門 - C言語の基本
bc_rikko
Eyecube Solutions Brochure Images compressed
Eyecube Solutions Brochure Images compressed
P Mohan
Cikloma, entertainment, park, Циклома
Cikloma 1
Cikloma 1
Daniil Bayushev
More Related Content
What's hot
G
Androidのフレームワークをデバッグするために検出ツールを作ってた話
Androidのフレームワークをデバッグするために検出ツールを作ってた話
nhnmomonga
chainerを用いた対話ボットの作り方
14対話bot発表資料
14対話bot発表資料
Keiichirou Miyamoto
Java ツール勉強会資料。テンプレートエンジンVelocityの紹介。
テンプレート・エンジンVelocity
テンプレート・エンジンVelocity
隆行 神戸
2016年04月03日 西プロ(福岡市西区プログラミング勉強会資料) XMPPのクライアントプログラミングの初歩を紹介。
XMPPクライアント・プログラミング
XMPPクライアント・プログラミング
隆行 神戸
並列プログラミングの概念、理屈、各種問題について。 並カン( http://atnd.org/events/2092 )にて発表
並列プログラミング入門!&おさらい!
並列プログラミング入門!&おさらい!
道化師 堂華
Chainer MeetUp Talkで行ったライトニングトークです。
A Chainer MeetUp Talk
A Chainer MeetUp Talk
Yusuke Oda
M5Stick, Obniz, enebular(Node-RED)
M5StickVとobnizとenebularを使って死角確認ツールもどきを作ったはなし
M5StickVとobnizとenebularを使って死角確認ツールもどきを作ったはなし
MinoruInoue2
What's hot
(7)
Androidのフレームワークをデバッグするために検出ツールを作ってた話
Androidのフレームワークをデバッグするために検出ツールを作ってた話
14対話bot発表資料
14対話bot発表資料
テンプレート・エンジンVelocity
テンプレート・エンジンVelocity
XMPPクライアント・プログラミング
XMPPクライアント・プログラミング
並列プログラミング入門!&おさらい!
並列プログラミング入門!&おさらい!
A Chainer MeetUp Talk
A Chainer MeetUp Talk
M5StickVとobnizとenebularを使って死角確認ツールもどきを作ったはなし
M5StickVとobnizとenebularを使って死角確認ツールもどきを作ったはなし
Viewers also liked
C言語入門 条件分岐について(論理演算子と条件演算子)
10_C言語入門 - 条件分岐について(論理演算子と条件演算子)
10_C言語入門 - 条件分岐について(論理演算子と条件演算子)
bc_rikko
C言語入門 型変換について
7_C言語入門 - 型変換について
7_C言語入門 - 型変換について
bc_rikko
C言語入門 変数について
5_C言語入門 - 変数について
5_C言語入門 - 変数について
bc_rikko
C言語入門 式と演算子について
6_C言語入門 - 式と演算子について
6_C言語入門 - 式と演算子について
bc_rikko
C言語入門 条件分岐について(if-else if-else)
8_C言語入門 - 条件分岐について(if-else if-else)
8_C言語入門 - 条件分岐について(if-else if-else)
bc_rikko
C言語入門 プログラマに必要な能力
1-2_C言語入門 - プログラマに必要な能力
1-2_C言語入門 - プログラマに必要な能力
bc_rikko
C言語入門 繰り返し処理について
11_C言語入門 - 繰り返し処理について
11_C言語入門 - 繰り返し処理について
bc_rikko
C言語入門 VisualStudioについて
2_C言語入門 - VisualStudioについて
2_C言語入門 - VisualStudioについて
bc_rikko
C言語入門 条件分岐について(switch case)
9_C言語入門 - 条件分岐について(switch case)
9_C言語入門 - 条件分岐について(switch case)
bc_rikko
C言語入門 n進数と基数変換について
4_C言語入門 - n進数と基数変換について
4_C言語入門 - n進数と基数変換について
bc_rikko
C言語入門 読みやすいソースコードを書く
12_C言語入門 - 読みやすいソースコードを書く
12_C言語入門 - 読みやすいソースコードを書く
bc_rikko
C言語入門 C言語について
1-1_C言語入門 - C言語について
1-1_C言語入門 - C言語について
bc_rikko
C言語入門 C言語の基本
3_C言語入門 - C言語の基本
3_C言語入門 - C言語の基本
bc_rikko
Eyecube Solutions Brochure Images compressed
Eyecube Solutions Brochure Images compressed
P Mohan
Cikloma, entertainment, park, Циклома
Cikloma 1
Cikloma 1
Daniil Bayushev
L
Artese - lezione introduttiva sui contratti in ambito software
Artese - lezione introduttiva sui contratti in ambito software
Edoardo E. Artese
Zapbuild Technologies Pvt. Ltd. is an offshore software development company based in Chandigarh, India, providing a wide range of IT services. Our mission - Empowering customer’s thoughts and ideas into reality and strive for his success. Delivering quality solutions and continuously work towards the quest for bettering the best.
Zapbuild Corporate Deck
Zapbuild Corporate Deck
Zapbuild
Spinal-Cord-Injury-Spina-Bifida-Model-of-Care
Spinal-Cord-Injury-Spina-Bifida-Model-of-Care
Louise Kelly
Targeting im Campaigning - Barcamp Session auf der recampaign 2016 #rc16
Targeting im Campaigning
Targeting im Campaigning
Eva Hieninger
Viewers also liked
(19)
10_C言語入門 - 条件分岐について(論理演算子と条件演算子)
10_C言語入門 - 条件分岐について(論理演算子と条件演算子)
7_C言語入門 - 型変換について
7_C言語入門 - 型変換について
5_C言語入門 - 変数について
5_C言語入門 - 変数について
6_C言語入門 - 式と演算子について
6_C言語入門 - 式と演算子について
8_C言語入門 - 条件分岐について(if-else if-else)
8_C言語入門 - 条件分岐について(if-else if-else)
1-2_C言語入門 - プログラマに必要な能力
1-2_C言語入門 - プログラマに必要な能力
11_C言語入門 - 繰り返し処理について
11_C言語入門 - 繰り返し処理について
2_C言語入門 - VisualStudioについて
2_C言語入門 - VisualStudioについて
9_C言語入門 - 条件分岐について(switch case)
9_C言語入門 - 条件分岐について(switch case)
4_C言語入門 - n進数と基数変換について
4_C言語入門 - n進数と基数変換について
12_C言語入門 - 読みやすいソースコードを書く
12_C言語入門 - 読みやすいソースコードを書く
1-1_C言語入門 - C言語について
1-1_C言語入門 - C言語について
3_C言語入門 - C言語の基本
3_C言語入門 - C言語の基本
Eyecube Solutions Brochure Images compressed
Eyecube Solutions Brochure Images compressed
Cikloma 1
Cikloma 1
Artese - lezione introduttiva sui contratti in ambito software
Artese - lezione introduttiva sui contratti in ambito software
Zapbuild Corporate Deck
Zapbuild Corporate Deck
Spinal-Cord-Injury-Spina-Bifida-Model-of-Care
Spinal-Cord-Injury-Spina-Bifida-Model-of-Care
Targeting im Campaigning
Targeting im Campaigning
Similar to C言語講習会資料(前半)
Stapy #51のLTで発表
最近思った機械学習(PyTorch)のベストプラクティス
最近思った機械学習(PyTorch)のベストプラクティス
Masato Fujitake
ML Ops Study # 1 https://ml-ops.connpass.com/event/73814/ での発表資料です。メルカリで機械学習をどんな風に改善していったかなどの内容となっています
機械学習のマイクロサービスでの運用の実験について #mlops
機械学習のマイクロサービスでの運用の実験について #mlops
Hiroaki Kudo
2016/7/23 第9回科学技術におけるロボット教育シンポジウムでの発表スライドです。
Deep Learningを用いたロボット制御
Deep Learningを用いたロボット制御
Ryosuke Okuta
本格的なプログラミングが学べる学校・金沢高専
本格的なプログラミングが学べる学校・金沢高専
金沢工業高等専門学校
プログラミング授業のネタ。 プログラミングでトイドローンTelloを飛ばします。 ScratchやPHP、Pythonなど、様々な環境で実施。 Scratchでカメラ映像を取得したり、PythonではOpenCVと合わせて、顔認識します。
ドローンをプログラミングして飛ばす!Scratch、PHP、Python、映像のプログラミング授業
ドローンをプログラミングして飛ばす!Scratch、PHP、Python、映像のプログラミング授業
株式会社 オープンソース・ワークショップ
Scratchでドローンを飛ばす方法やカメラ映像を取得する方法、PHPで飛ばしたり、高さを取るなどのセンサーの入力方法、 Pythonではカメラ映像から人の顔を認識するところまで、必要なソフトウェアなどの技術情報を紹介します。 最初のScratchでのプログラミングは、講師の永原が実際に学校で行っているプログラミング授業とそのコツなどを紹介します。
2019年9月15日 OSC広島 ドローンをプログラミングして飛ばす!ScratchとPHPでプログラミング授業
2019年9月15日 OSC広島 ドローンをプログラミングして飛ばす!ScratchとPHPでプログラミング授業
株式会社 オープンソース・ワークショップ
PyData.Tokyo Meetup #8 -「 Python機械学習プログラミング」発売記念 で発表したスライドになります。
「Python 機械学習プログラミング」の挫折しない読み方
「Python 機械学習プログラミング」の挫折しない読み方
Hiroki Yamamoto
モバイル・コンシューマ開発比較勉強会 #3
ゲームエンジンの中の話
ゲームエンジンの中の話
Masayoshi Kamai
Machine learning system design pattern
ML system design_pattern
ML system design_pattern
yusuke shibui
20121124 学生セミナー「基礎からわかる! IT業界とプログラミング」
20121124 学生セミナー「基礎からわかる! IT業界とプログラミング」
Takashi Uemura
Android道~Android勉強会~の紹介用スライド
Android道紹介
Android道紹介
Takaya Funabiki
http://narita.kakoku.net/log/kc19kyoto-presen3.html http://narita.kakoku.net/log/kc19kyoto.html http://kosenconf.jp/?019kyoto
高専カンファIn京都
高専カンファIn京都
鈴鹿工業高等専門学校
Ivent for programming starter
KOMANKO and PAOPAL
KOMANKO and PAOPAL
ssuser2d7627
RWCでmruby×ETロボコン = ? というタイトルでショートプレゼンを行った際の資料。
mruby×ETロボコン = ?
mruby×ETロボコン = ?
ssuserc1bb39
This slide is used in SI2015 presentation.
Portable RT-Middleware environment on a USB memory for the robot programing ...
Portable RT-Middleware environment on a USB memory for the robot programing ...
s15mh218
JJUG CCC 2016 Fallでの発表です。 社内のトイレ空室管理システムを作ってみました。
Pi4Jで簡単! ラズパイでトイレ空室管理システムを つくってみたよ
Pi4Jで簡単! ラズパイでトイレ空室管理システムを つくってみたよ
Yoshio Kajikuri
有山 圭二【機械学習に趣味で取り組むためにやったこと】 C-LIS CO., LTD.
20170624 発表資料-ml
20170624 発表資料-ml
Ozawa Kensuke
12/20 Pydata_fukuokaのLT資料
Pydata_fukuoka_LT
Pydata_fukuoka_LT
Nisi Hide
11/18(土)に福岡で開催した「LogicFlow-ja Offline #1」の発表資料です。
LogicFlow 実践編~LogicFlowでいろいろつくってみた ~
LogicFlow 実践編~LogicFlowでいろいろつくってみた ~
典子 松本
「ブレインパッドとエウレカが語る、データ分析と機械学習の活用」資料
機械学習システムを受託開発 する時に気をつけておきたい事
機械学習システムを受託開発 する時に気をつけておきたい事
BrainPad Inc.
Similar to C言語講習会資料(前半)
(20)
最近思った機械学習(PyTorch)のベストプラクティス
最近思った機械学習(PyTorch)のベストプラクティス
機械学習のマイクロサービスでの運用の実験について #mlops
機械学習のマイクロサービスでの運用の実験について #mlops
Deep Learningを用いたロボット制御
Deep Learningを用いたロボット制御
本格的なプログラミングが学べる学校・金沢高専
本格的なプログラミングが学べる学校・金沢高専
ドローンをプログラミングして飛ばす!Scratch、PHP、Python、映像のプログラミング授業
ドローンをプログラミングして飛ばす!Scratch、PHP、Python、映像のプログラミング授業
2019年9月15日 OSC広島 ドローンをプログラミングして飛ばす!ScratchとPHPでプログラミング授業
2019年9月15日 OSC広島 ドローンをプログラミングして飛ばす!ScratchとPHPでプログラミング授業
「Python 機械学習プログラミング」の挫折しない読み方
「Python 機械学習プログラミング」の挫折しない読み方
ゲームエンジンの中の話
ゲームエンジンの中の話
ML system design_pattern
ML system design_pattern
20121124 学生セミナー「基礎からわかる! IT業界とプログラミング」
20121124 学生セミナー「基礎からわかる! IT業界とプログラミング」
Android道紹介
Android道紹介
高専カンファIn京都
高専カンファIn京都
KOMANKO and PAOPAL
KOMANKO and PAOPAL
mruby×ETロボコン = ?
mruby×ETロボコン = ?
Portable RT-Middleware environment on a USB memory for the robot programing ...
Portable RT-Middleware environment on a USB memory for the robot programing ...
Pi4Jで簡単! ラズパイでトイレ空室管理システムを つくってみたよ
Pi4Jで簡単! ラズパイでトイレ空室管理システムを つくってみたよ
20170624 発表資料-ml
20170624 発表資料-ml
Pydata_fukuoka_LT
Pydata_fukuoka_LT
LogicFlow 実践編~LogicFlowでいろいろつくってみた ~
LogicFlow 実践編~LogicFlowでいろいろつくってみた ~
機械学習システムを受託開発 する時に気をつけておきたい事
機械学習システムを受託開発 する時に気をつけておきたい事
C言語講習会資料(前半)
1.
ロボット技術研究会 C言語講習 前半戦 @2016/6/13 立命館大学理工学部ロボティクス学科2回生
迫 佑樹 1
2.
自己紹介 名前: 迫 佑樹 所属:
理工学部ロボティクス学科 2回生 twitter: yuki_99_s 2
3.
目的 ・ロボットの制御に必須となるプログラミングの基礎中の基礎を身に つけてもらう. ・C言語に関する基礎的な知識を身に付ける 3
4.
はじめに 飽きちゃうと思うので途中から実践を挟んでいきます https://ideone.com/ こちらへアクセスすると,オンライン環境が使用できる. 例題,演習問題の問,答えは後ほどアップします. このスライドは http://yukisako.github.io/slide.html にあげます. 私の名前
yukisako で検索したら多分1番目にヒットします 4
5.
プログラミングとは ・コンピュータに対して「これをやったら、これをしろ」という事を書くの がプログラミング ・とっても難しいイメージがあるけどもそんなこともない ・簡単なことの集まり 5
6.
プログラムの具体例 こんな簡単なのもプログラム (Scratch) 6
7.
プログラムの具体例 +++++++++[>++++++++>+++++++++++>+++++<<<-]>.>++. +++++++..+++.>-. ------------.<++++++++.--------.+++.------.--------.>+. これもプログラム(brainfuck) 7
8.
プログラムの具体例 int a =
10; int b = 10; int sum = a + b; これもプログラム(いろいろ) 8
9.
プログラムって? コンピュータへの命令の手段 コンピュータへ命令の伝え方はいろいろ その1つに「C言語」を用いるという手がある 9
10.
C言語でなにができるの? ・家電の制御 ・ゲームも作れる ・OSも作れる ・プログラミング言語も作れる 10
11.
C言語の特徴 ・高水準言語(読みやすい書きやすい) ・コンパイルが必要(後で説明) ・実行速度が速い!! 11
12.
んでコンパイルってなに? コンピュータが理解できるのはスイッチのON・OFF スイッチがONなら1,OFFなら0と対応させたものが「機械語」 例)110011111111101011101101111110100000011100000000 12
13.
こんなの書いてられない ってことで,C言語でプログラムを書いて,コンパイラに機械語への翻 訳作業を頼む. この翻訳のことをコンパイルという. 13
14.
プログラムの考え方 逐次処理・・・命令された順番に処理を行うこと 繰り返し・・・決められた回数,同じ処理を行うこと 条件分岐・・・条件によって行う処理を変えること これだけでいろんな行動が表せるのすごくない? 14
15.
日常生活をこの3つの処理に当てはめて見よう 15
16.
もっとロボット制御っぽく 黒いものをつかむプログラム 16
17.
コードを書く前に ・綺麗なコードを書くことを意識しよう コードが汚いと → バグが増える → 自分でもなにがなんだかわからなくなってくる →
他人が見た時になにがなんだかわからなくなる → コードの変更が困難 17
18.
汚いコードとは ・一つの処理が長い ・同じような処理を何回もしている ・記述が統一されていない ・スペース,インデントが適切でない ・コメントで補足しまくらないと意味が伝わらない ・よくわからない変数名を使用している(変数についてはあとで) ・(立◯館大学のCampas Webのソースコード) 18
19.
インデント(字下げ)をつけよう インデントあり カッコの対応がわかりやすい インデントなし カッコの対応がわからない 19
20.
空白を開けよう インデントあり カッコの対応がわかりやすい インデントなし カッコの対応がわからない 空白あり みやすい 空白なし ぎちぎちでなんかみにくい 20
21.
コメントをつけよう あとでわかりやすくするように,コメントを残すことができる #include <stdio.h> //printfは画面に表示する命令 int main(void)
{ printf("hello worldn"); return 0; } 21
22.
コメントをつけよう //とすると,その行がまるごと一行コメントとなる 「/*」と「*/」で囲むと,その囲まれた行がすべてコメントとなる 例 //これがコメントです /* これもコメントになります */ 22
23.
はじめてのプログラムを書いてみよう https://ideone.com/ こちらにアクセスして,プログラムを書いてみる 23
24.
24
25.
例1 初めてのプログラム #include <stdio.h> int
main(void) { printf("hello worldn"); return 0; } 25
26.
26
27.
ライブラリの読み込み #include <stdio.h> ここで,stdio.hというファイルを読み込んでいる. 1からプログラムを書いていたらほんとうに大変なので,よく使う処理をまと めてくれるものをライブラリという (ロボ研のNHKロボコンで使ってるマイコンを使うためにはmbed.hとかを読 み込む) 27
28.
main関数 この部分をmain関数という.C言語のプログラムは,main関数の中身が実 行される. printfは,画面に文字列を出力する命令.(¥nは改行を表す) 28
29.
プログラム全体 つまりこれは,画面に「hello world」と表示させるプログラム 29
30.
演習1 画面に自分の名前と年齢を表示するプログラムを作成してくだ さい. 出力例「 I am
Yuki. 19 years old.」 30
31.
解答 #include <stdio.h> int main(void)
{ printf("I am Yuki. 19 years oldn"); return 0; } 31
32.
変数を使ってみよう 変数とは計算や処理を行うための数字や文字を入れておく 「箱」 C言語ではchar, int, long,
float,double型の変 数がある.型によって保存できる情報の量や内容が変わる. 変数に代入するときは = をつかう 32
33.
変数を使ってみよう こうすると,sumには30が入っている 33
34.
変数を使ってみよう 変数は,上書き可能,型宣言ははじめの一回だけ. sumには50が入っている 34
35.
変数の型について(今は覚えなくてもOK) 型名 変数名; int a;
整数型 (integer) double b; 倍精度実浮動小数点型 char c; 文字型 (character) short d; 短整数型 long e; 長整数型 float f; 単精度実浮動小数点型 35
36.
例2 変数の中身を表示させてみたい 36
37.
例2 変数の中身を表示させてみたい printf("I am
Yuki. %d years oldn", age); → "I am Yuki. 19 years oldn" と,%dの部分にageの中身が置き換わる. 37
38.
38
39.
演習2 変数 birthをint型で宣言し,あなたの誕生月を格納し,表示. 出力例「私の誕生月は8月です」 39
40.
演算子 変数 birthをint型で宣言し,あなたの誕生月を格納し,表示. 出力例「私の誕生付きは8月です」 40
41.
演算子 int a =
10; a = a + 5; とすると,a には 15が格納される. a = a + 5;は a += 5;と同値 a++;,a--; とかけばa += 1;,a -= 1;と同値 41
42.
例3 42
43.
演習3 四則演算を使ったプログラムを書く a =
20,b = 5という変数をint型で宣言し,aとbの 和,差,積,商を表示. 43
44.
条件分岐を使ってみよう ・制御式に基づいて,処理の流れを決める. 構文 if(条件){ 条件が満たされた時の処理 } else {
条件が満たされなかった時の処理 } 44
45.
45
46.
よく使う演算子 ・制御式に基づいて,処理の流れを決める. 構文 if(条件){ 条件が満たされた時の処理 } else {
条件が満たされなかった時の処理 } 46
47.
注意 a = 10とa
== 10は違う. a = 10は代入を表すが,a == 10は等しいかどうかを比較する演算子 47
48.
例4 48
49.
演習4 numという変数をint型で用意し,好きな数字を格納. そして,numが2で割り切れたら「偶数です」,割り切れなかったら「奇 数です」と表示するプログラムを作成してください. ヒント: 「2で割り切れる」 ==
「2で割ったあまりが0」 49
50.
繰り返し処理を使ってみよう 繰り返し処理とは,ある条件を満たす間,同じ処理を繰り返し行うこと ・C言語には,for文とwhile文(とdo while文)がある. ・今回扱うのは,for文とwhile文 50
51.
繰り返し処理を使ってみよう for文 for(初期値 ; 条件
; 増分){ 処理 } という構文をしている 51
52.
52
53.
例5 1からnまでの和を求めるプログラム 53
54.
演習5 for文を使ってみよう 2のn乗を2の1乗から順番に2の10乗まで表示するプログラ ムを書いてください 54
55.
演習5 1からnまでの和を求めるプログラム 2のn乗を2の1乗から順番に2の10乗まで表示するプログラ ムを書いてください 55
56.
while文を使ってみよう 56
57.
例6 while文を使って1〜nまでの和を求める 57
58.
演習6 while文を使ってみよう 自然数nに対して,nの階乗を求めるプログラムを作成してく ださい. nが大きすぎると,意図しない結果になる.n<10くらいで任意 の数を決めてテストしてみよう. 58
59.
おつかれさまでした. 本日やったこと ・プログラミングってなんだ? ・変数について ・条件分岐 ・繰り返し処理 59
60.
確認問題(これができたら今日の内容はOK) 1〜100までカウントアップし,その数が3の倍数ならばFizz, 5の倍数ならBuzz,3の倍数かつ5の倍数ならばFizzBuzz, どれでもなければ単純な数字を表示するプログラムを書いて ください. 60
61.
確認問題(これができたら今日の内容はOK) 出力例 1,2,Fizz,4,Buzz,Fizz,7,8,Fizz,Buzz,11,Fizz,13, 14,FizzBuzz,16,17,Fizz,19,Buzz,Fizz,22,23, Fizz,Buzz,26,Fizz,28,29,FizzBuzz,31,32,..... 97, 98,Fizz,Buzz 61
62.
(ヒント)余力問題の思考過程 プログラムはちょっとずつ機能を足していく 2ステップに分けてみよう ステップ1: 1〜100までとりあえず表示するプログラムを作成(繰り返し処理) ステップ2 :
3の倍数の時Fizz,5の倍数の時Buzz,3の倍数かつ5の倍数の時 FizzBuzzと表示する処理を追加(条件分岐) 倍数の処理は演習4を参照 62
Download now