Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
Uploaded by
odenhadengaku
PDF, PPTX
40,782 views
C言語講習会1
未経験者のためのC言語講習会 資料/ C language for inexperienced people
Engineering
◦
Read more
12
Save
Share
Embed
Embed presentation
Download
Download as PDF, PPTX
1
/ 36
2
/ 36
Most read
3
/ 36
4
/ 36
5
/ 36
6
/ 36
7
/ 36
8
/ 36
9
/ 36
10
/ 36
11
/ 36
12
/ 36
13
/ 36
14
/ 36
15
/ 36
16
/ 36
17
/ 36
18
/ 36
19
/ 36
20
/ 36
21
/ 36
22
/ 36
23
/ 36
24
/ 36
25
/ 36
26
/ 36
27
/ 36
28
/ 36
29
/ 36
30
/ 36
31
/ 36
32
/ 36
33
/ 36
34
/ 36
35
/ 36
36
/ 36
More Related Content
PDF
C言語講習会2
by
odenhadengaku
PDF
C言語講習会3
by
odenhadengaku
PPTX
C言語 学習教材
by
Jun MITANI
PPTX
C言語超入門
by
Mercury Soft
PDF
やさしく知りたいC言語
by
uru nru
PDF
templateとautoの型推論
by
MITSUNARI Shigeo
PPT
コードゴルフのススメ(C言語)
by
Fumihito Yokoyama
PDF
Effective Modern C++ 勉強会#7 Item 27
by
Mitsuru Kariya
C言語講習会2
by
odenhadengaku
C言語講習会3
by
odenhadengaku
C言語 学習教材
by
Jun MITANI
C言語超入門
by
Mercury Soft
やさしく知りたいC言語
by
uru nru
templateとautoの型推論
by
MITSUNARI Shigeo
コードゴルフのススメ(C言語)
by
Fumihito Yokoyama
Effective Modern C++ 勉強会#7 Item 27
by
Mitsuru Kariya
What's hot
PPTX
C言語ポインタ講座 (Lecture of Pointer in C)
by
kakira9618
PPTX
Les structures de données.pptx
by
PROFPROF11
PDF
Cours algorithme
by
badr zaimi
PPTX
Functions in c language
by
tanmaymodi4
PPTX
algorithme chapitre 1 et 2 (1).pptx
by
Hathat10
PPT
c-programming
by
Zulhazmi Harith
PPT
C program
by
AJAL A J
PPTX
ALGORITHMIQUE fonction et procedure.pptx
by
Hathat10
PPTX
競技プログラミングのためのC++入門
by
natrium11321
PDF
C programming
by
Envision Computer Training Institute
PDF
圏論のモナドとHaskellのモナド
by
Yoshihiro Mizoguchi
PPT
Bitwise Operators in C
by
yndaravind
PPTX
Emcpp0506
by
Takatoshi Kondo
PPTX
functions in C and types
by
mubashir farooq
PDF
C programming
by
Rounak Samdadia
PDF
TP C++ : enoncé
by
Youssouf EL ALLIOUI
PPTX
Input and Output In C Language
by
Adnan Khan
PPTX
Library functions in c++
by
Neeru Mittal
PDF
Cours de programmation en c
by
benouini rachid
DOCX
Exo algo
by
Amaruch Benali
C言語ポインタ講座 (Lecture of Pointer in C)
by
kakira9618
Les structures de données.pptx
by
PROFPROF11
Cours algorithme
by
badr zaimi
Functions in c language
by
tanmaymodi4
algorithme chapitre 1 et 2 (1).pptx
by
Hathat10
c-programming
by
Zulhazmi Harith
C program
by
AJAL A J
ALGORITHMIQUE fonction et procedure.pptx
by
Hathat10
競技プログラミングのためのC++入門
by
natrium11321
C programming
by
Envision Computer Training Institute
圏論のモナドとHaskellのモナド
by
Yoshihiro Mizoguchi
Bitwise Operators in C
by
yndaravind
Emcpp0506
by
Takatoshi Kondo
functions in C and types
by
mubashir farooq
C programming
by
Rounak Samdadia
TP C++ : enoncé
by
Youssouf EL ALLIOUI
Input and Output In C Language
by
Adnan Khan
Library functions in c++
by
Neeru Mittal
Cours de programmation en c
by
benouini rachid
Exo algo
by
Amaruch Benali
Similar to C言語講習会1
PPTX
AtCoder Beginner Contest 004 解説
by
AtCoder Inc.
PPTX
C言語 学習教材
by
Jun MITANI
PPTX
Arduino 入門
by
mitunaga
PPT
C language Sem 01
by
Kosei Moriyama
PPTX
2017/12/21 虎の穴 Python勉強会
by
虎の穴 開発室
PPT
計算機理論入門02
by
Tomoyuki Tarumi
PDF
C言語再入門講座_第1章.pdf
by
Kaz Ueno
PDF
#5:プログラミングの基本
by
長岡技術科学大学 自然言語処理研究室
PDF
Adding simpl GVN path into GHC
by
Kei Hibino
PDF
正規言語でプログラミング
by
Ryoma Sin'ya
PDF
C言語講習会4
by
odenhadengaku
PPTX
5_C言語入門 - 変数について
by
bc_rikko
ODP
Introduction of Python
by
Tomoya Nakayama
PDF
基礎からC言語 part1
by
Hiroyuki Ito
PDF
#6:実数と繰り返し
by
長岡技術科学大学 自然言語処理研究室
PDF
C言語講習会資料(後半)
by
Yuki Sako
PPTX
入出力
by
rippro
PPTX
資料1
by
fu____n
PDF
入力
by
APG4b
PPTX
12(haifu)
by
TomonariMurata
AtCoder Beginner Contest 004 解説
by
AtCoder Inc.
C言語 学習教材
by
Jun MITANI
Arduino 入門
by
mitunaga
C language Sem 01
by
Kosei Moriyama
2017/12/21 虎の穴 Python勉強会
by
虎の穴 開発室
計算機理論入門02
by
Tomoyuki Tarumi
C言語再入門講座_第1章.pdf
by
Kaz Ueno
#5:プログラミングの基本
by
長岡技術科学大学 自然言語処理研究室
Adding simpl GVN path into GHC
by
Kei Hibino
正規言語でプログラミング
by
Ryoma Sin'ya
C言語講習会4
by
odenhadengaku
5_C言語入門 - 変数について
by
bc_rikko
Introduction of Python
by
Tomoya Nakayama
基礎からC言語 part1
by
Hiroyuki Ito
#6:実数と繰り返し
by
長岡技術科学大学 自然言語処理研究室
C言語講習会資料(後半)
by
Yuki Sako
入出力
by
rippro
資料1
by
fu____n
入力
by
APG4b
12(haifu)
by
TomonariMurata
Recently uploaded
PPTX
【ASW22-01】STAMP:STPAロスシナリオの発想・整理支援ツールの開発 ~astah* System Safetyによる構造化・階層化機能の実装...
by
csgy24013
PDF
サーバーサイド Kotlin を社内で普及させてみた - Server-Side Kotlin Night 2025
by
Hirotaka Kawata
PDF
Kubernetes Release Team Release Signal Role について ~Kubernetes Meetup Tokyo #72~
by
Keisuke Ishigami
PDF
0.0001秒の攻防!?快適な運転を支えるリアルタイム制御と組み込みエンジニアの実践知【DENSO Tech Night 第四夜】
by
dots.
PPTX
「グローバルワン全員経営」の実践を通じて進化し続けるファーストリテイリングのアーキテクチャ
by
Fast Retailing Co., Ltd.
PDF
Rin Ukai_即興旅行の誘発を目的とした口コミ情報に基づく雰囲気キーワード_EC2025.pdf
by
Matsushita Laboratory
PDF
Nanami Doikawa_寄り道の誘発を目的とした旅行写真からのスポット印象語彙の推定に関する基礎検討_EC2025
by
Matsushita Laboratory
【ASW22-01】STAMP:STPAロスシナリオの発想・整理支援ツールの開発 ~astah* System Safetyによる構造化・階層化機能の実装...
by
csgy24013
サーバーサイド Kotlin を社内で普及させてみた - Server-Side Kotlin Night 2025
by
Hirotaka Kawata
Kubernetes Release Team Release Signal Role について ~Kubernetes Meetup Tokyo #72~
by
Keisuke Ishigami
0.0001秒の攻防!?快適な運転を支えるリアルタイム制御と組み込みエンジニアの実践知【DENSO Tech Night 第四夜】
by
dots.
「グローバルワン全員経営」の実践を通じて進化し続けるファーストリテイリングのアーキテクチャ
by
Fast Retailing Co., Ltd.
Rin Ukai_即興旅行の誘発を目的とした口コミ情報に基づく雰囲気キーワード_EC2025.pdf
by
Matsushita Laboratory
Nanami Doikawa_寄り道の誘発を目的とした旅行写真からのスポット印象語彙の推定に関する基礎検討_EC2025
by
Matsushita Laboratory
C言語講習会1
1.
C言語講習会 第1回 ロボット技術研究会 13情報工学科 @odenhadengaku
2.
今日やること • 講習会について • (titech-pubnetの設定) •
C言語について • Ideone • Hello Worldの前に • Hello World • エラーの対処法 • 変数 配列 型 • 次回予告
3.
講習会について • 時間・回数:2時間×4回 • マイコン講習会やF3RCにスムーズに対応でき るレベルのC言語を教える(らしい) -未学者・超初心者向けです
難しいことはやらないです • わからないことがあったら積極的に質問しま しょう -優しい14が答えてくれる
4.
講習会について 第1回:はじめに Hello World 変数
配列 型 第2回:関数 制御構文 第3回:配列再び ビット演算 マクロ 第4回:構造体、共用体、列挙体 ポインタ ヘッダファイル
5.
titech-pubnetの設定 • titech-pubnet:キャンパスにある無線LAN • 設定すると無線LANが自由に使えるので良い -速度は、まぁ… •
講習会で使用するIdeoneはWebサイトなので ネットに繋がらないと使えない • 設定しよう!!!!
6.
titech-pubnetの設定 • http://www.noc.titech.ac.jp/wlan/guide.shtml に設定方法が書いてある 1. 無線LANを有効にすると、titech- pubnetが検出される 2.
プロパティに以下を入力 1. セキュリティの種類:WPA2-パーソナル 2. 暗号化の種類:AES 3. ネットワーク セキュリティ:titech-pubnet
7.
titech-pubnetの設定 • http://www.noc.titech.ac.jp/wlan/guide.shtml に設定方法が書いてある 3. プロキシの設定をおこなう •
IE:メニューから[インターネットオプション] • Chrome:[設定]->[プロキシ設定] • Firefox:メニューから[ツール]->[オプション] を選び,[詳細][ネットワーク][接続設定]と進 む 4. 自動検出にチェックを入れる • もしくは自動構成(プロキシ)スクリプトに 「http://portal.titech.ac.jp/proxy.pac」 と入力
8.
C言語について • ロボット(マイコン)やPCを制御するには, それらに命令を送らなければならない – サーボをm度動かす,n秒前に進む,逆行列を求める… •
命令を処理するには,ロボット/PCが理解でき る言語で命令する必要がある→機械語 • 人間にとって非常に読みにくく,理解し難い – 2進数(表示では16進数)
9.
C言語について • 人間もコンピュータも理解できる言語が必要 – プログラミング言語 –
でもコンピュータはプログラミング言語自体を理解すること はできない • 様々な種類のプログラミング言語がある – C,C#,C++,Java,Python,Scheme,Haskell… • 今回はC言語を扱う – マイコンは主にC言語を使用する – C言語が分かれば,他のプログラミング言語を学ぶ際にも 参考になる(はず)
10.
C言語について • C言語によるプログラミング(GCCの場合) 1. ソースコードの作成 2.
コンパイル • ソースコード(プログラミング言語)を機械語に変換すること • 機械語に変換するツールをコンパイラという 3. 実行ファイルが生成される 4. 実行!! 実行結果
11.
Ideone • C言語の開発環境は様々 – エディタ+コンパイラ(gcc,
Borland C++ Compiler…) – Visual Studio,Eclipseなどの統合開発環境(IDE)もある – マイコン講習会ではAtmel Studioを使用 • 上記の方法はインストールなどが面倒 – 特にコンパイラを✝Windows✝に導入する場合 • 今回は気軽にC言語に触れてもらうために Ideoneを使用 – https://ideone.com/ – 多言語対応オンラインコンパイラ – WebサイトなのでOSに依存しない
12.
Ideoneの使い方 1. https://ideone.com/にアクセス 2. ソースコードを書く 3.
左下のタブが「C」になっているか確認 4. 「Run」ボタンを押す 5. 「stdout」に実行結果が表示される 3 4
13.
Hello World • プログラミング言語を学ぶ際に,最初に書く プログラムとして定番のもの –
入門書の80-90%はこのタイプのプログラムが最初 • ただ「Hello World」と出力するだけのプログ ラム – 実際に目に見えたら面白い – Ideoneの使い方を覚えるついでに,実際に書いてみよう
14.
でもちょっと待って
15.
Hello Worldの前に • どちらか1つのコードはエラーが発生する
16.
Hello Worldの前に • どちらか1つのコードはエラーが発生する #include
<stdio.h> int main(void){ printf(“Hello World¥n”); return 0; } #include <stdio.h> int main(void){ printf(“Hello World¥n”); return 0; }
17.
Hello Worldの前に • どちらか1つのコードはエラーが発生する 全角文字が入っていること を示すエラー •
右は全角スペースが混入している • 全角スペースは箇所が特定 しにくい • ソースコードは半角英数字を入力 しよう
18.
Hello World • Ideoneで下のプログラムを入力し,実行しよう •
成功すると右のようになる – 余裕のある人は「Hello World」の文字を変えてみたり, プログラムの一部を変えてみてどうなるのか試してみよう – 何度も変更する場合は実行結果画面左上の「edit」から コードを変更し,[ideone it!]を押下すると,[Output]に結 果が順次出力される
19.
Hello World • C言語では
int main(void){…}の{…}が実行され るので,{…}の中にプログラムを記述する – int main(void){…}はmain関数と呼ばれる関数. • 1つの命令(文)の最後には「;」がつく • 命令は上から下へ実行される • C言語は改行や空白がある程度自由がきく – 下図のように1行に書いても正常に動く – でも読みにくいからあまりオススメしない – インデントをして見やすくする(勝手にしてくれる場合も)
20.
Hello World • printfはコンピュータに文字列を出力するよう 命令する関数 –
“”(ダブルクォーテーション)で囲まれたところを出力 – 「¥n」は「改行」を意味する • return 0; は必ずプログラムの最後につける • #include<stdio.h>はprintfなど,入出力に関す る機能を使えるようにするために記述 – stdio.hというファイルにprintfなどの関数の定義がされて おり,includeによりそのファイルを呼び出している – stdioは”Standard I/O”の略.studioではない
21.
エラーの対処法 • エラーはプログラミングをする際に必ずと言っ ていいほど発生するもの – 一発でコンパイラ通ると「どこかおかしいんじゃないか」 と疑うことも…? –
よくある間違いは,スペルミス,配列の範囲外アクセス… • プログラミングでは,エラーに対処できるよう になることも大事 • 主に,コンパイルエラーとランタイムエラーの 2つが発生する
22.
エラーの対処法 • コンパイルエラー • コンパイル時に発生 •
エラーメッセージを出してくれるので,どこでエ ラーが発生しているか見当をつけやすい
23.
エラーの対処法 • ランタイムエラー • 日本語では「実行時エラー」 •
その名の通り,プログラムが実行されている時に発 生するエラー • コンパイルは通るので,コンパイルエラーよりも対 処が厄介 • デバッガーなどを使ってエラーの原因を探す 例:ゼロ除算
24.
エラーの対処法 • エラーが発生したら – 怪しい箇所をいじったり消したりして,どこでエラーが 発生しているかを特定する –
スペルミス,全角スペースは定番 – コンパイルエラーならば,エラーメッセージにヒントがあ る場合が多い • エラーをできるだけ発生させないように, 見やすいコードを書くようにする – インデントや改行を心がける
25.
変数 配列 型
の概要 • 「データを入れる箱」が変数 • そしてその箱をたくさん用意したのが配列 • しかしその箱には特定のデータしか入れること ができない – 整数,小数… • どのデータを入れることができるかを示したの が型 (誤解を恐れず)ざっくり説明すると こんな感じ
26.
変数 型 • 右のコードを書いて 実行しよう •
同時進行で,変数,型 の詳しい説明とコード の説明もします
27.
変数 型 • 情報を数値や文字とし て保存する必要がある •
ロボットが何回線を通過 したか • 成績の合計値 • C言語では数値や文字な どの情報を変数として 保持することができる a 3
28.
変数 型 • 変数にはどのデータを入れて もいいわけではない •
整数,小数,文字などタイプを 指定する必要がある →型 • 変数を定義するには, int a; (型)(変数名) のように記述する • 定義せずに,いきなりaを利用す ることはできない • 変数名は基本自由 • int b,c,d,e;のようにまとめて定義 もできる.この場合すべてint型
29.
変数 型 • 型の種類(代表的なもの) •
void型の変数は作れない • voidは関数,ポインタで登場 • float,doubleともに小数の型 • 違いは精度 • doubleの方が精度が良い 型名 意味 扱える値 変換文字 char 文字 ‘a’,’b’… %c int 整数 1,100… %d,%o,%x, %u float 浮動小数点 3.14,1.6… %f,%e double 倍浮動小数点 1.2e+54… %f,%e void 空 ない
30.
変数 型 • 変数に値を代入するには b
= 2; • のように「=」を用いる • この場合,int型の変数bに2を 代入している • 数学の「=」ではない.左側の 変数に値を設定するという意味. • 変数の宣言時に値を決める こともできる • 初期化という • 初期化する前の状態の変数には 0や不定の値が入っているので, 最初から変数の値が定まってい るなら初期化すること
31.
変数 型 • 計算では数学と同じく,四則 演算(+,-,*,/)の記号が使える •
他にも剰余(%)が使える • 4%2→0, 15%2→1 • c = a + b; はa+bが計算され, その値がcに代入される.つま りcには…? • 数学と同じように演算子の優 先度があるため, d = a * (b + c); のように, ()で優先度の指定もできる.
32.
変数 型 • a++;
はa = a + 1;のこと • インクリメントという • a--;もあり,a = a – 1;の意味 • a += b は,a = a + b;の意味 • a *= b は,a = a * b;の意味 • a++;は++a;と書いても結果は同 じ.しかし,実際の動作はビ ミョーーーーに違う. • int型の変数aに関して, printf(“%d¥n”,a);と書くと,a の内容が出力される. • 詳しく言うと,%dの部分がaに 置き換わる
33.
変数 型 • 右のコードを実行した結果は, 右のようになる. •
実行できたら,コードを ちょっといじってみよう. • %dと変数が対応していること を意識して, printf(“a:%d,b:%d¥n”,a,b); と するとどうなるか考えてみる.
34.
おまけ1 • printfで登場した「¥n」は改行を意味する – だから
printf(“Hello¥nWorld¥n”); とすると・・・? – 「¥n」はエスケープシーケンスと呼ばれる • エスケープシーケンスは,通常の文字列では表 せない文字や機能を,規定された文字で表した もの – たとえば,printfで「”」を表示させたい – でも printf(“””); だとエラー – ¥”で「”」を表すので, printf(“¥””); とする – 他にも色々あるので,「エスケープシーケンス」でググっ てみよう
35.
おまけ2 • 変数名は基本自由 – でもダメな場合もある –
変数名の先頭が数字はダメ(int 10a;とか),C言語で使われ ている言葉(予約語:int,printf…)もダメ • a++;と++a;の違い – どちらも1を加算する(++ はインクリメント演算子) – 前につけると前置演算子,後ろにつけると後置演算子 – a = 1;のときに, – b = ++a;とした場合とb = a++;した場合のbの値は…? • 配列を利用したい場合は, – int a[5];(宣言), int a[5]={1,2,3,4,5}; (初期化) – a[5]とすると,a[0]-a[4]にアクセスできることに注意!
36.
次回予告 • 変数,型の続き • 関数 •
制御構文 本日は以上です ありがとうございました
Download