Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
やさしく知りたいC言語
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
urunru
May 12, 2012
Technology
760
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
やさしく知りたいC言語
C言語の入門用プレゼンを作ってみました。細かい説明は抜きにしてざっくりと解説します。
urunru
May 12, 2012
More Decks by urunru
See All by urunru
はじめてのArduino
urunru
0
87
Other Decks in Technology
See All in Technology
Gemini Intelligence 入門 ― AppFunctions と Gemini Nano
takuroabe
0
250
DWH の限界突破! AI エージェント向け爆速リアルタイムデータ基盤 ClickHouse
jozono
1
470
脆弱性診断って、何をしているの? 〜弱点を見つけて、会社の改善につなげるまで〜
keeg
0
920
20261017福岡devIO 「AIは"良いダッシュボード"を作れるか?
jtakeda
0
140
Browser Spec: Testing Hotwire with Ruby
takahashim
1
120
Webの常識が通じないHTMLメールのダークモード
teamlab
PRO
0
120
分析の民主化を支えるメタデータ整備の実践
kakehashi
PRO
4
1.4k
JAWS-UGグッズ職人仕事の流儀
kentapapa
0
100
サブエージェントと Claude Mods で作る独自 Advisor ツールの話
kenichiodo
2
160
Railsで挑む大量データ永続化 〜600億件を永続化するための設計とボトルネックとの戦い〜
occhi
1
580
Code for Security プロジェクト紹介 2026年10月
yu23ki14
0
110
LambdaWebFunctionsを試してみた / exploring-lambda-web-functions
koukihosaka
1
330
Featured
See All Featured
Darren the Foodie - Storyboard
khoart
PRO
4
4k
The Limits of Empathy - UXLibs8
cassininazir
2
720
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
1
570
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
3
1.3k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
3.1k
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
2
2.2k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.8k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
68
58k
Into the Great Unknown - MozCon
thekraken
41
2.8k
The Cult of Friendly URLs
andyhume
79
7k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
7k
How to Talk to Developers About Accessibility
jct
2
580
Transcript
やさしく知りたいC言語
こんにちは
こんにちは ここはC言語を学びはじめたい ひとのためのチュートリアルです
こんにちは ここはC言語を学びはじめたい ひとのためのチュートリアルです はじめてでも楽しく学んでいきましょう
もくじ
もくじ 1. 世界最小のプログラム
もくじ 1. 世界最小のプログラム 2. 出力
もくじ 1. 世界最小のプログラム 2. 出力 3. 変数
もくじ 1. 世界最小のプログラム 2. 出力 3. 変数 4. 関数
もくじ 1. 世界最小のプログラム 2. 出力 3. 変数 4. 関数 5.
コメント文
1.世界最小のプログラム
1.世界最小のプログラム 世界最小のプログラムとは いったいどんなものだろうか?
1.世界最小のプログラム 世界最小のプログラム
世界最小のプログラム #include 1.世界最小のプログラム
世界最小のプログラム #include<stdio.h> 1.世界最小のプログラム
世界最小のプログラム #include<stdio.h> main() 1.世界最小のプログラム
世界最小のプログラム #include<stdio.h> main(){ } 1.世界最小のプログラム
世界最小のプログラム #include<stdio.h> main(){ } (実行結果) (なにもしない) 1.世界最小のプログラム
プログラムの意味を知ってみる 1.世界最小のプログラム
世界最小のプログラム #include<stdio.h> main(){ } 1.世界最小のプログラム プログラムの意味を知ってみる
世界最小のプログラム #include<stdio.h> main(){ } プログラミングの道具を インクルード(導入)するための宣言 1.世界最小のプログラム プログラムの意味を知ってみる
世界最小のプログラム #include<stdio.h> main(){ } 使いたい道具の指定 stdio.h ・・・ プログラムで入出力をするための道具類(紙と鉛筆のようなもの) 1.世界最小のプログラム プログラムの意味を知ってみる
世界最小のプログラム #include<stdio.h> main(){ } プログラムを動かすメインとなる部分の宣言 main()・・・ プログラムで一番はじめに実行される部分 1.世界最小のプログラム プログラムの意味を知ってみる
世界最小のプログラム #include<stdio.h> main(){ } プログラムで実行する範囲(ブロック)の指定 1.世界最小のプログラム プログラムの意味を知ってみる
世界最小のプログラム #include<stdio.h> main(){ } プログラムで実行される命令の部分(いまはからっぽ) 1.世界最小のプログラム プログラムの意味を知ってみる
世界最小のプログラム #include<stdio.h> main(){ } プログラムで実行される命令の部分(いまはからっぽ) からっぽなので・・・・・ 1.世界最小のプログラム プログラムの意味を知ってみる
世界最小のプログラム #include<stdio.h> main(){ } プログラムで実行される命令の部分(いまはからっぽ) からっぽなので・・・・・ (実行結果) (なにもしない) 1.世界最小のプログラム プログラムの意味を知ってみる
2.出力
2.出力 文字や数字の表示をしてみよう
文字列を表示するプログラム #include<stdio.h> main(){ } 2.出力
文字列を表示するプログラム #include<stdio.h> main(){ printf(“”) } 2.出力
文字列を表示するプログラム #include<stdio.h> main(){ printf(“”); } 2.出力 ; ・・・ 行末の「;」は1つの命令の終わりを表す
文字列を表示するプログラム #include<stdio.h> main(){ printf(“”); } 2.出力 (実行結果)
文字列を表示するプログラム #include<stdio.h> main(){ printf(“Hello World”); } (実行結果) Hello World 2.出力
文字列を表示するプログラム #include<stdio.h> main(){ printf(“Hello World 彼は太郎です”); } (実行結果) Hello World
彼は太郎です 2.出力
文字列を表示するプログラム #include<stdio.h> main(){ printf(“Hello World ¥n 彼は太郎です”); } (実行結果) Hello
World ↴ 彼は太郎です 2.出力 ¥n・・・ 改行を意味する特殊記号
文字列を表示するプログラム #include<stdio.h> main(){ printf(“Hello World ”); } (実行結果) Hello World
2.出力
文字列を表示するプログラム #include<stdio.h> main(){ printf(“Hello World ”); printf(“彼は太郎です”); } (実行結果) Hello
World 彼は太郎です 2.出力
文字列を表示するプログラム #include<stdio.h> main(){ printf(“Hello World ¥n”); printf(“彼は太郎です”); } (実行結果) Hello
World ↴ 彼は太郎です 2.出力 ¥n・・・ 改行を意味する特殊記号
printf とはなんだろう? printf(“Hello World”); 2.出力
文字列を表示するプログラム #include<stdio.h> main(){ printf(“Hello World”); } printfは文字や数字を表示するための道具 2.出力 printfとはなんだろう?
文字列を表示するプログラム #include<stdio.h> main(){ printf(“Hello World”); } printfは文字や数字を表示するための道具 ()の中身が道具の使用物 2.出力 printfとはなんだろう?
printf(“Hello World”); 道具 2.出力 printfとはなんだろう?
printf(“Hello World”); 道具 使用物 2.出力 printfとはなんだろう?
printf(“Hello World”); 道具 使用物 なにを使って 2.出力 printfとはなんだろう?
printf(“Hello World”); 道具 使用物 どうするか なにを使って 2.出力 printfとはなんだろう?
数字を表示してみよう 2.出力
一般的な方法 #include<stdio.h> main(){ printf(“”); } 2.出力 数字を表示してみよう (実行結果)
一般的な方法 #include<stdio.h> main(){ printf(“2匹の猫がいる”); } (実行結果) 2匹の猫がいる 2.出力 数字を表示してみよう
記号で数字を参照する方法 #include<stdio.h> main(){ printf(“%d匹の猫がいる”,2); } (実行結果) 2匹の猫がいる 2.出力 数字を表示してみよう %d・・・
参照したデータを整数に置換する置換記号
記号で数字を参照する方法 #include<stdio.h> main(){ printf(“%d匹の猫がいる”,2); } (実行結果) 2匹の猫がいる 2.出力 数字を表示してみよう %d・・・
参照したデータを整数に置換する置換記号
#include<stdio.h> main(){ printf(“%d匹の猫がいる”,2); } 2.出力 数字を表示してみよう
#include<stdio.h> main(){ printf(“%d匹の猫がいる”,2); } #include<stdio.h> main(){ printf(“2匹の猫がいる”); } 2.出力 数字を表示してみよう
なぜ記号で数字を参照する? printf(“%d匹の猫がいる”,2); 2.出力 数字を表示してみよう
なぜ記号で数字を参照する? printf(“%d匹の猫がいる”,2); 直接書いた方がいいんじゃない? printf(“2匹の猫がいる”); 2.出力 数字を表示してみよう
いいえ 2.出力 数字を表示してみよう
変数を使うときに便利だから 置き換えます 2.出力 数字を表示してみよう
3.変数
3.変数 数値や名前を記録してみる
• 変数はデータを記憶する 3.変数
• 変数はデータを記憶する 3.変数 100 太郎 3.14
• 変数はデータを記憶する 3.変数 100 太郎 3.14
• 変数はデータを記憶する • 変数には型(形式)がある 3.変数 100 太郎 3.14
• 変数はデータを記憶する • 変数には型(形式)がある 3.変数 100 太郎 3.14 int
• 変数はデータを記憶する • 変数には型(形式)がある 3.変数 100 太郎 3.14 int char
double • 変数はデータを記憶する • 変数には型(形式)がある 3.変数 100 太郎 3.14 int
char
• 変数はデータを記憶する • 変数には型(形式)がある 3.変数 100 太郎 3.14 int char
double float
• 変数はデータを記憶する • 変数には型(形式)がある 3.変数 100 太郎 3.14 int 整数を記憶
char double float
• 変数はデータを記憶する • 変数には型(形式)がある 3.変数 100 太郎 3.14 int 整数を記憶
文字を記憶 char double float
• 変数はデータを記憶する • 変数には型(形式)がある 3.変数 100 太郎 3.14 int 整数を記憶
文字を記憶 小数を記憶 (大きい小数) char double float
• 変数はデータを記憶する • 変数には型(形式)がある 3.変数 100 太郎 3.14 int char
整数を記憶 文字を記憶 小数を記憶 (大きい小数) 小数を記憶 (小さい小数) double float
整数を記憶する 3.変数
記録した整数を表示するプログラム #include<stdio.h> main(){ } 3.変数 整数を記憶する
3.変数 整数を記憶する 記録した整数を表示するプログラム #include<stdio.h> main(){ int i ; }
3.変数 整数を記憶する 記録した整数を表示するプログラム #include<stdio.h> main(){ int i ; i =
100 ; }
3.変数 整数を記憶する 記録した整数を表示するプログラム #include<stdio.h> main(){ int i ; i =
100 ; printf(“%d点です”, i ); }
3.変数 整数を記憶する 記録した整数を表示するプログラム #include<stdio.h> main(){ int i ; i =
100 ; printf(“%d点です”, i ); } (実行結果) 100点です
プログラムの意味を知ってみる 3.変数
記録した整数を表示するプログラム #include<stdio.h> main(){ int i ; i = 100 ;
printf(“%d点です”, i ); } int型は整数を記録する形式 3.変数 プログラムの意味を知ってみる
記録した整数を表示するプログラム #include<stdio.h> main(){ int i ; i = 100 ;
printf(“%d点です”, i ); } 作りたい変数の名前を決める 3.変数 プログラムの意味を知ってみる i
記録した整数を表示するプログラム #include<stdio.h> main(){ int i ; i = 100 ;
printf(“%d点です”, i ); } 値を代入する変数を選ぶ 3.変数 プログラムの意味を知ってみる i
記録した整数を表示するプログラム #include<stdio.h> main(){ int i ; i = 100 ;
printf(“%d点です”, i ); } 「=」は「代入」を意味する 3.変数 プログラムの意味を知ってみる i
記録した整数を表示するプログラム #include<stdio.h> main(){ int i ; i = 100 ;
printf(“%d点です”, i ); } 変数に代入する値を指定 3.変数 プログラムの意味を知ってみる i 100
記録した整数を表示するプログラム #include<stdio.h> main(){ int i ; i = 100 ;
printf(“%d点です”, i ); } printfで・・・ 3.変数 プログラムの意味を知ってみる i 100
記録した整数を表示するプログラム #include<stdio.h> main(){ int i ; i = 100 ;
printf(“%d点です”, i ); } 変数の値を参照 3.変数 プログラムの意味を知ってみる i 100
記録した整数を表示するプログラム #include<stdio.h> main(){ int i ; i = 100 ;
printf(“%d点です”, i ); } 3.変数 プログラムの意味を知ってみる i 100 (実行結果) 100点です
変数の使い方 1. 型を選ぶ int 3.変数 プログラムの意味を知ってみる
変数の使い方 1. 型を選ぶ 2. 名前を決める int number; 3.変数 プログラムの意味を知ってみる
変数の使い方 1. 型を選ぶ 2. 名前を決める 3. データを代入する int number; number
= 50 ; 3.変数 プログラムの意味を知ってみる
変数の使い方 1. 型を選ぶ 2. 名前を決める 3. データを代入する int number; number
= 50 ; プログラムの鉄則 3.変数 プログラムの意味を知ってみる
文字を記憶する 3.変数
記録した文字を表示するプログラム #include<stdio.h> main(){ char name ; name = ‘A’ ;
printf(“彼は%cです”, name ); } 3.変数 文字を記憶する
3.変数 文字を記憶する 記録した文字を表示するプログラム #include<stdio.h> main(){ char name ; name =
‘A’ ; printf(“彼は%cです”, name ); } char型は文字を記録する形式 name
3.変数 文字を記憶する 記録した文字を表示するプログラム #include<stdio.h> main(){ char name ; name =
‘A’ ; printf(“彼は%cです”, name ); } 変数に文字を記憶する name A
3.変数 文字を記憶する 記録した文字を表示するプログラム #include<stdio.h> main(){ char name ; name =
‘A’ ; printf(“彼は%cです”, name ); } printfで・・・ name A
3.変数 文字を記憶する 記録した文字を表示するプログラム #include<stdio.h> main(){ char name ; name =
‘A’ ; printf(“彼は%cです”, name ); } 変数を参照 name A %c・・・ 参照したデータを文字に置換する置換記号
3.変数 文字を記憶する 記録した文字を表示するプログラム #include<stdio.h> main(){ char name ; name =
‘A’ ; printf(“彼は%cです”, name ); } name A (実行結果) 彼はAです
小数を記憶する 3.変数
記録した小数を表示するプログラム( 型) #include<stdio.h> main(){ double pi ; pi = 3.14
; printf(“円周率は%fです”, pi ); } 3.変数 小数を記憶する
記録した小数を表示するプログラム( 型) #include<stdio.h> main(){ double pi ; pi = 3.14
; printf(“円周率は%fです”, pi ); } double型は小数を記録する形式 3.変数 小数を記憶する pi
記録した小数を表示するプログラム( 型) #include<stdio.h> main(){ double pi ; pi = 3.14
; printf(“円周率は%fです”, pi ); } 変数に値を代入 3.変数 小数を記憶する pi 3.14
3.変数 小数を記憶する 記録した小数を表示するプログラム( 型) #include<stdio.h> main(){ double pi ; pi
= 3.14 ; printf(“円周率は%fです”, pi ); } printfで・・・ pi 3.14
3.変数 小数を記憶する 記録した小数を表示するプログラム( 型) #include<stdio.h> main(){ double pi ; pi
= 3.14 ; printf(“円周率は%fです”, pi ); } 変数を参照 pi 3.14 %f・・・ 参照したデータを小数に置換する置換記号
3.変数 小数を記憶する 記録した小数を表示するプログラム( 型) #include<stdio.h> main(){ double pi ; pi
= 3.14 ; printf(“円周率は%fです”, pi ); } (実行結果) 円周率は3.14です pi 3.14
3.変数 小数を記憶する 小数を記憶するのはfloat型も同じ( 型) #include<stdio.h> main(){ float pi ; pi
= 3.14 ; printf(“円周率は%fです”, pi ); } (実行結果) 円周率は3.14です pi 3.14
3.変数 小数を記憶する double型 と float型 はどっちがいいのか
3.変数 小数を記憶する double型 と float型 はどっちがいいのか double型のほうがいい
3.変数 小数を記憶する double型のメリット double型のデメリット
3.変数 小数を記憶する double型のメリット • 精度が高い double型のデメリット
3.変数 小数を記憶する double型のメリット • 精度が高い • 計算が速い double型のデメリット
3.変数 小数を記憶する double型のメリット • 精度が高い • 計算が速い double型のデメリット • 大きな容量がいる
3.変数 小数を記憶する double型のメリット • 精度が高い • 計算が速い double型のデメリット • 大きな容量がいる
しかし近年はコンピュータの容量が大きいので 気にしなくてもいい
3.変数 小数を記憶する double型のメリット • 精度が高い • 計算が速い double型のデメリット • 大きな容量がいる
しかし近年はコンピュータの容量が大きいので 気にしなくてもいい double型が一般的
5.コメント文
5.コメント文 プログラムに注釈をつけてみる
#include<stdio.h> main(){ printf(“Hello World”); } 5.コメント文 (実行結果) Hello World
#include<stdio.h> // インクルード main(){ printf(“Hello World”); } 5.コメント文 (実行結果) Hello
World
#include<stdio.h> // インクルード main(){ // メイン部分 printf(“Hello World”); } 5.コメント文
(実行結果) Hello World
#include<stdio.h> // インクルード main(){ // メイン部分 printf(“Hello World”); // 文字表示
} 5.コメント文 (実行結果) Hello World
#include<stdio.h> // インクルード main(){ // メイン部分 printf(“Hello World”); // 文字表示
} ↑ コメント文は実行結果から無視される 5.コメント文 (実行結果) Hello World
コメントアウト // printf(“Hello World”); コメントアウト ・・・ プログラムの命令をコメント化して実行しないようにすること 5.コメント文
#include<stdio.h> main(){ printf(“Hello World¥n”); printf(“彼は太郎です¥n”); printf(“コメントアウトの練習です”); } (実行結果) Hello World
↴ 彼は太郎です↴ コメントアウトの練習です 5.コメント文 コメントアウト
#include<stdio.h> main(){ // printf(“Hello World¥n”); printf(“彼は太郎です¥n”); printf(“コメントアウトの練習です”); } 5.コメント文 コメントアウト
(実行結果) 彼は太郎です↴ コメントアウトの練習です
#include<stdio.h> main(){ // printf(“Hello World¥n”); // printf(“彼は太郎です¥n”); printf(“コメントアウトの練習です”); } 5.コメント文
コメントアウト (実行結果) コメントアウトの練習です
#include<stdio.h> main(){ // printf(“Hello World¥n”); // printf(“彼は太郎です¥n”); // printf(“コメントアウトの練習です”); }
5.コメント文 コメントアウト (実行結果)
#include<stdio.h> main(){ // printf(“Hello World¥n”); // printf(“彼は太郎です¥n”); // printf(“コメントアウトの練習です”); }
コメント化することで命令を無視できる 5.コメント文 コメントアウト (実行結果)
もうひとつのコメント文 /* コメント文 */ 5.コメント文
#include<stdio.h> main(){ printf(“Hello World”); } 5.コメント文 もうひとつのコメント文 (実行結果) Hello World
#include<stdio.h> /* インクルード */ main(){ printf(“Hello World”); } (実行結果) Hello
World 5.コメント文 もうひとつのコメント文
#include<stdio.h> /* インクルード */ main(){ /* メイン部分 */ printf(“Hello World”);
} (実行結果) Hello World 5.コメント文 もうひとつのコメント文
#include<stdio.h> /* インクルード */ main(){ /* メイン部分 */ printf(“Hello World”);
/* 文字表示 */ } (実行結果) Hello World 5.コメント文 もうひとつのコメント文
#include<stdio.h> /* インクルード */ main(){ /* メイン部分 */ printf(“Hello World”);
/* 文字表示 */ } #include<stdio.h> // インクルード main(){ // メイン部分 printf(“Hello World”); // 文字表示 } 3.コメント文 もうひとつのコメント文
printf(“Hello World”); // 文字表示 と printf(“Hello World”); /* 文字表示 */
3.コメント文 もうひとつのコメント文
printf(“Hello World”); // 文字表示 と printf(“Hello World”); /* 文字表示 */
何が違うのか 3.コメント文 もうひとつのコメント文
printf(“Hello World”); // 文字表示 と printf(“Hello World”); /* 文字表示 */
何が違うのか コメントアウトすればわかる 3.コメント文 もうひとつのコメント文
// をつかったコメントアウト #include<stdio.h> main(){ printf(“Hello World¥n”); printf(“これは猫です¥n”); printf(“コメントアウトの練習です”); } 5.コメント文
もうひとつのコメント文
// をつかったコメントアウト #include<stdio.h> main(){ // printf(“Hello World¥n”); // printf(“これは猫です¥n”); //
printf(“コメントアウトの練習です”); } 5.コメント文 もうひとつのコメント文
// をつかったコメントアウト #include<stdio.h> main(){ // printf(“Hello World¥n”); // printf(“これは猫です¥n”); //
printf(“コメントアウトの練習です”); } コメントアウトが3回必要 5.コメント文 もうひとつのコメント文
/**/ をつかったコメントアウト #include<stdio.h> main(){ printf(“Hello World¥n”); printf(“これは猫です¥n”); printf(“コメントアウトの練習です”); } 5.コメント文
もうひとつのコメント文
/**/ をつかったコメントアウト #include<stdio.h> main(){ /* printf(“Hello World¥n”); printf(“これは猫です¥n”); printf(“コメントアウトの練習です”); */
} 5.コメント文 もうひとつのコメント文
/**/ をつかったコメントアウト #include<stdio.h> main(){ /* printf(“Hello World¥n”); printf(“これは猫です¥n”); printf(“コメントアウトの練習です”); */
} コメントアウトが1回ですむ 5.コメント文 もうひとつのコメント文
つまり 5.コメント文 もうひとつのコメント文
つまり // は1行だけ 5.コメント文 もうひとつのコメント文
つまり // は1行だけ /**/は複数行 5.コメント文 もうひとつのコメント文
つまり // は1行だけ /**/は複数行 場合に応じて使い分ける 5.コメント文 もうひとつのコメント文