SlideShare a Scribd company logo
C言語について
• Cはプログラミング言語
• 歴史が長い(1970年代に登場)
• 歴史が長く,よく使われているのでプログラム資産が多い
• 組込システムでの開発言語としても使われる
• 現在,よく利用されている多くのコンピュータ言語の文法体系に
影響を与えている
確かに古い,しかし学ぶ価値のある言語である
Cによる開発の流れ
(1)ソースコードの作成
Cの定める文法にしたがってコンピュータへの命令を記述
エディタや統合開発環境を使う
拡張子 .c はC, 拡張子 .cpp はC++
※この授業では .cpp として保存する
C++はCの文法体系を含むのでそれで問題なし
(2)コンパイル&リンク
コンパイラがソースコードをコンパイル
リンカが必要なライブラリをリンクする
(3)実行
出来上がった実行形式ファイル(Windowsでは拡張子 .exe)を実行
する
変数
• 変数は数値や文字を一時的に記憶しておくための場所で,データを
出し入れするためにあります.次の例では int型 の変数を宣言し,
利用しています.
文法事項を勉強したい場合は
http://www9.plala.or.jp/sgwr-t/
などのサイトを活用してみてください.
また,図書館にも多くの書籍が所蔵
されていますので活用してください.
資料中のプログラムサンプルはサクラ
エディタで書いていますが,皆さんは,
統合開発環境でプログラムを作成,コ
ンパイル,実行してください.
方法は,VSにおけるCプログラムの作成
の資料を見てください.
Ex01.cpp
変数の型
• 変数の型には次のようなものがあります
char 文字型
long int 整数型
short int 整数型
int 整数型
float 浮動小数点型
double 倍精度浮動小数点型
long double 倍精度浮動小数点型
Cには文字列型はありません
変数を使ったプログラムを作ってみる
Ex02.cpp
出力例
変数を使ったプログラムを作ってみる
値を変更できない変数
→ 定数
出力例
Ex03.cpp
演算子
• 算術演算子
+ 加算
- 減算
* 乗算
/ 除算(整数演算では商)
% 剰余(割り算の余り)
ProcessingやJavaでも使ってきましたが,ここで演算子について整理しておきましょう.
演算子
• 代入演算子
= 右辺を左辺に代入
+= 左辺と右辺を加算して左辺に代入
-= 左辺から右辺を減算して左辺に代入
*= 左辺と右辺を乗算して左辺に代入
/= 左辺と右辺を除算して左辺に代入
%= 左辺と右辺を除算し,その余りを左辺に代入
インクリメント,デクリメント演算子
インクリメント演算子
++ 値を1増やす
デクリメント演算子
-- 値を1減らす
演算子
• 文字列結合演算子
+ 文字列の結合
C言語では,この方法では文字列の結合はできません
いくつかの命令を試す
• Cにあらかじめ準備されている命令を使ってプログラムを作ってみま
しょう.まず,strcpy と strcat です. これらは文字列処理の関数です.
Ex04.cpp
出力例
2つの数字の
うち大きいほう
を返す関数を
作成してみま
しょう.
出力例
Ex05.cpp
atoi 命令を使ってみましょう.
文字列を数字に変換する命令です.
Ex06.cpp
出力例
rand 命令を使ってみましょう.
ランダムな数を生成する(乱数を発生)命令です.
Ex07.cpp
出力例
scanf 命令を使ってみましょう.
Ex08.cpp
出力例
レポートについて
• CについてもProcessingやJavaと同じようにレポートを作成し,提出
してもらいます.毎週,指示された課題をこなすようにしてください.
Cは6/27, 7/4, 7/11, 7/18 の4回,学習します.レポートは4回分
の内容を一つのファイルにまとめて提出してもらいます.
レポートの提出締め切りは7/25の予定です.
練習問題001
例題として示した,
Ex01.cpp ~ Ex08.cpp
を入力して動作させよ.
(注)ソースコードと動作結果をレポートとして
整理し提出
練習問題002
次に示した動作をするプログラムを作成せよ.
(1) キーボードから整数を読み込み,srandに与える
(2) rand関数で乱数を発生させる
(3) 乱数の発生する範囲を均等に3分割し,if文でどの範囲に
入ったかを判定する(領域1,領域2,領域3 とする)
(4) 乱数が領域1に入ったら グー
乱数が領域2に入ったら パー
乱数が領域3に入ったら チョキ
と表示する
(5) (2)~(4)を5回繰り返す

More Related Content

Viewers also liked

Presentation1
Presentation1Presentation1
Presentation1paduaanne
 
Social Security Disability Attorney
Social Security Disability AttorneySocial Security Disability Attorney
Social Security Disability Attorney
ssdapplication14
 
презентація ольга свириденко Microsoft
презентація ольга свириденко Microsoftпрезентація ольга свириденко Microsoft
презентація ольга свириденко MicrosoftMOOCology
 
Design Guidelines and Lighting in your Downtowns
Design Guidelines and Lighting in your DowntownsDesign Guidelines and Lighting in your Downtowns
Design Guidelines and Lighting in your Downtowns
The Cecil Group
 

Viewers also liked (6)

Presentation1
Presentation1Presentation1
Presentation1
 
Social Security Disability Attorney
Social Security Disability AttorneySocial Security Disability Attorney
Social Security Disability Attorney
 
Untitled Presentation
Untitled PresentationUntitled Presentation
Untitled Presentation
 
Oee kpi
Oee kpiOee kpi
Oee kpi
 
презентація ольга свириденко Microsoft
презентація ольга свириденко Microsoftпрезентація ольга свириденко Microsoft
презентація ольга свириденко Microsoft
 
Design Guidelines and Lighting in your Downtowns
Design Guidelines and Lighting in your DowntownsDesign Guidelines and Lighting in your Downtowns
Design Guidelines and Lighting in your Downtowns
 

Similar to 資料1

2011年10月21日
2011年10月21日2011年10月21日
2011年10月21日nukaemon
 
EWD 3トレーニングコース#1 Node.jsとCacheの連携
EWD 3トレーニングコース#1 Node.jsとCacheの連携EWD 3トレーニングコース#1 Node.jsとCacheの連携
EWD 3トレーニングコース#1 Node.jsとCacheの連携
Kiyoshi Sawada
 
.NET Coreとツール類の今
.NET Coreとツール類の今.NET Coreとツール類の今
.NET Coreとツール類の今
Yuki Igarashi
 
RAD Studioで始めるマルチデバイス・クロスプラットフォーム開発ワークショップ
RAD Studioで始めるマルチデバイス・クロスプラットフォーム開発ワークショップRAD Studioで始めるマルチデバイス・クロスプラットフォーム開発ワークショップ
RAD Studioで始めるマルチデバイス・クロスプラットフォーム開発ワークショップ
Kaz Aiso
 
Introduction to VSCode
Introduction to VSCodeIntroduction to VSCode
Introduction to VSCode
Yuki Igarashi
 
Keep a diary
Keep a diaryKeep a diary
Keep a diary
幸雄 村上
 
C# と .NET と ・・・
C# と .NET と ・・・C# と .NET と ・・・
C# と .NET と ・・・
ShinichiAoyagi
 
Webセミナー「RAD Studio 10.1 Berlin Update 2 Anniversary Edition 新機能ガイド」
Webセミナー「RAD Studio 10.1 Berlin Update 2 Anniversary Edition 新機能ガイド」Webセミナー「RAD Studio 10.1 Berlin Update 2 Anniversary Edition 新機能ガイド」
Webセミナー「RAD Studio 10.1 Berlin Update 2 Anniversary Edition 新機能ガイド」
Kaz Aiso
 
達人出版会のご紹介(技術編)
達人出版会のご紹介(技術編)達人出版会のご紹介(技術編)
達人出版会のご紹介(技術編)masayoshi takahashi
 
ソフトウェア工学2023 14 ビルド
ソフトウェア工学2023 14 ビルドソフトウェア工学2023 14 ビルド
ソフトウェア工学2023 14 ビルド
Toru Tamaki
 
KGReplace2014 20130720.pps
KGReplace2014 20130720.ppsKGReplace2014 20130720.pps
KGReplace2014 20130720.pps
Masami YASUDA
 
サーバーだけじゃない!Linux デスクトップを使い倒そう その3 ― 今話題の Kotlin から Ruby、C++ 1x…の開発環境を整える
サーバーだけじゃない!Linux デスクトップを使い倒そう その3 ― 今話題の Kotlin から Ruby、C++ 1x…の開発環境を整えるサーバーだけじゃない!Linux デスクトップを使い倒そう その3 ― 今話題の Kotlin から Ruby、C++ 1x…の開発環境を整える
サーバーだけじゃない!Linux デスクトップを使い倒そう その3 ― 今話題の Kotlin から Ruby、C++ 1x…の開発環境を整える
Fuminobu Takeyama
 
Visual Studio Code でプログラムをデバッグしよう!
Visual Studio Code でプログラムをデバッグしよう!Visual Studio Code でプログラムをデバッグしよう!
Visual Studio Code でプログラムをデバッグしよう!
m ishizaki
 
本格化するクラウド ネイティブに向けて進化する開発プラットフォームと .NET
本格化するクラウド ネイティブに向けて進化する開発プラットフォームと .NET本格化するクラウド ネイティブに向けて進化する開発プラットフォームと .NET
本格化するクラウド ネイティブに向けて進化する開発プラットフォームと .NET
Akira Inoue
 
JUS関西 Sphinxワークショップ@関西 Sphinx紹介
JUS関西 Sphinxワークショップ@関西 Sphinx紹介JUS関西 Sphinxワークショップ@関西 Sphinx紹介
JUS関西 Sphinxワークショップ@関西 Sphinx紹介
Takayuki Shimizukawa
 
Agileツール適合化分科会(dev opsツール)
Agileツール適合化分科会(dev opsツール)Agileツール適合化分科会(dev opsツール)
Agileツール適合化分科会(dev opsツール)
masanori kataoka
 
12 総合演習Word Pressの利用
12 総合演習Word Pressの利用12 総合演習Word Pressの利用
12 総合演習Word Pressの利用
文樹 高橋
 
自己紹介とC# Devkitについて.pptx
自己紹介とC# Devkitについて.pptx自己紹介とC# Devkitについて.pptx
自己紹介とC# Devkitについて.pptx
hkharu0803
 
Dockerを使ったローカルでの開発から本番環境へのデプロイまで
Dockerを使ったローカルでの開発から本番環境へのデプロイまでDockerを使ったローカルでの開発から本番環境へのデプロイまで
Dockerを使ったローカルでの開発から本番環境へのデプロイまで
Ryo Nakamaru
 

Similar to 資料1 (20)

2011年10月21日
2011年10月21日2011年10月21日
2011年10月21日
 
20010127
2001012720010127
20010127
 
EWD 3トレーニングコース#1 Node.jsとCacheの連携
EWD 3トレーニングコース#1 Node.jsとCacheの連携EWD 3トレーニングコース#1 Node.jsとCacheの連携
EWD 3トレーニングコース#1 Node.jsとCacheの連携
 
.NET Coreとツール類の今
.NET Coreとツール類の今.NET Coreとツール類の今
.NET Coreとツール類の今
 
RAD Studioで始めるマルチデバイス・クロスプラットフォーム開発ワークショップ
RAD Studioで始めるマルチデバイス・クロスプラットフォーム開発ワークショップRAD Studioで始めるマルチデバイス・クロスプラットフォーム開発ワークショップ
RAD Studioで始めるマルチデバイス・クロスプラットフォーム開発ワークショップ
 
Introduction to VSCode
Introduction to VSCodeIntroduction to VSCode
Introduction to VSCode
 
Keep a diary
Keep a diaryKeep a diary
Keep a diary
 
C# と .NET と ・・・
C# と .NET と ・・・C# と .NET と ・・・
C# と .NET と ・・・
 
Webセミナー「RAD Studio 10.1 Berlin Update 2 Anniversary Edition 新機能ガイド」
Webセミナー「RAD Studio 10.1 Berlin Update 2 Anniversary Edition 新機能ガイド」Webセミナー「RAD Studio 10.1 Berlin Update 2 Anniversary Edition 新機能ガイド」
Webセミナー「RAD Studio 10.1 Berlin Update 2 Anniversary Edition 新機能ガイド」
 
達人出版会のご紹介(技術編)
達人出版会のご紹介(技術編)達人出版会のご紹介(技術編)
達人出版会のご紹介(技術編)
 
ソフトウェア工学2023 14 ビルド
ソフトウェア工学2023 14 ビルドソフトウェア工学2023 14 ビルド
ソフトウェア工学2023 14 ビルド
 
KGReplace2014 20130720.pps
KGReplace2014 20130720.ppsKGReplace2014 20130720.pps
KGReplace2014 20130720.pps
 
サーバーだけじゃない!Linux デスクトップを使い倒そう その3 ― 今話題の Kotlin から Ruby、C++ 1x…の開発環境を整える
サーバーだけじゃない!Linux デスクトップを使い倒そう その3 ― 今話題の Kotlin から Ruby、C++ 1x…の開発環境を整えるサーバーだけじゃない!Linux デスクトップを使い倒そう その3 ― 今話題の Kotlin から Ruby、C++ 1x…の開発環境を整える
サーバーだけじゃない!Linux デスクトップを使い倒そう その3 ― 今話題の Kotlin から Ruby、C++ 1x…の開発環境を整える
 
Visual Studio Code でプログラムをデバッグしよう!
Visual Studio Code でプログラムをデバッグしよう!Visual Studio Code でプログラムをデバッグしよう!
Visual Studio Code でプログラムをデバッグしよう!
 
本格化するクラウド ネイティブに向けて進化する開発プラットフォームと .NET
本格化するクラウド ネイティブに向けて進化する開発プラットフォームと .NET本格化するクラウド ネイティブに向けて進化する開発プラットフォームと .NET
本格化するクラウド ネイティブに向けて進化する開発プラットフォームと .NET
 
JUS関西 Sphinxワークショップ@関西 Sphinx紹介
JUS関西 Sphinxワークショップ@関西 Sphinx紹介JUS関西 Sphinxワークショップ@関西 Sphinx紹介
JUS関西 Sphinxワークショップ@関西 Sphinx紹介
 
Agileツール適合化分科会(dev opsツール)
Agileツール適合化分科会(dev opsツール)Agileツール適合化分科会(dev opsツール)
Agileツール適合化分科会(dev opsツール)
 
12 総合演習Word Pressの利用
12 総合演習Word Pressの利用12 総合演習Word Pressの利用
12 総合演習Word Pressの利用
 
自己紹介とC# Devkitについて.pptx
自己紹介とC# Devkitについて.pptx自己紹介とC# Devkitについて.pptx
自己紹介とC# Devkitについて.pptx
 
Dockerを使ったローカルでの開発から本番環境へのデプロイまで
Dockerを使ったローカルでの開発から本番環境へのデプロイまでDockerを使ったローカルでの開発から本番環境へのデプロイまで
Dockerを使ったローカルでの開発から本番環境へのデプロイまで
 

資料1