C言語とは? わかりやすく解説

C言語

読み方シーげんご
【英】C language

C言語とは、1972年AT&Tベル研究所で、ブライアン・カーニハンデニス・リッチーによって開発された、コンパイル型の汎用プログラミング言語のことである。

C言語は、人間にとって記述内容解釈容易ないわゆる高級言語一種である。しかし、他の現代的なプログラミング言語比べる抽象度は低く、むしろC言語はアセンブリ言語に近いともいえる。コンパイル結果として生成されオブジェクトコードコンパクトで、処理性能がよいとされる

C言語は、システムソフトウェアアプリケーションソフトウェア中心として、幅広い用途用いられている。オペレーティングシステムOSに関しては、UNIX系OSWindows系OSといった主要なOS多くがC言語によって記述されている。また、デスクトップアプリケーション組み込みシステムにおいても、C言語が広く採用されている。

C言語の設計構造化プログラミング思想影響受けており、関数呼び出し順次処理、繰り返し処理(while、for)、条件判断(if、switch)をサポートしている。また、変数の定義、代入演算を行うことができる。C言語では、ポインタ変数使えることから、低レベル物理アドレス直接指定や、関数ポインタ用いた間接的な実行理などを行うことが可能となっている。データ型としては、整数小数文字といったプリミティブな型の他、配列構造体などをサポートしている。

また、C言語は、言語処理系プリプロセッサ持っているという点に特徴がある。これによって、別ファイルからの取り込み(#include)、マクロ定義(#define)、条件コンパイル(#ifdef)、コンパイラへの指示(#pragma)などが可能となっており、柔軟な実装を可能としている。

なお、C言語の特徴としては、メモリ管理開発者指定任されるという点もある。これによって、より柔軟幅広い処理制御を可能としている。他面メモリ破壊意図的また、偶発的に起きやすく、セキュアプログラム開発などでは問題生じ可能性もある。

C言語のソースファイルには、拡張子に「.c」が、同じくインクルードされるヘッダファイル拡張子としては「.h」が付く。

C言語は、1986年ANSIアメリカ規格協会標準となり、その後ISO国際標準化機構)やJIS日本工業規格)などの規格としても採用された。プログラマー人口多く、後に登場したC++Objective-CJavaD言語といったプログラミング言語にも多大な影響与えている。

プログラミングのほかの用語一覧
プログラミング言語の種類:  CASL  COBOL  CODASYL  C++言語  DSL  D言語  Fortran

C++

(C言語 から転送)

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2024/01/15 03:09 UTC 版)

C++シープラスプラス)は、汎用プログラミング言語のひとつである。派生元であるC言語の機能や特徴を継承しつつ、表現力と効率性の向上のために、手続き型プログラミングデータ抽象オブジェクト指向プログラミングジェネリックプログラミングといった複数のプログラミングパラダイムが組み合わされている[1]。C言語のようにハードウェアを直接扱うような下位層向けの低水準言語としても、複雑なアプリケーションソフトウェアを開発するための上位層向け高水準言語としても使用可能である。アセンブリ言語以外の低水準言語を必要としないこと、使わない機能に時間的・空間的コストを必要としないことが、言語設計の重要な原則となっている[2][3]


  1. ^ Open issues for The C++ Programming Language (3rd Edition) - このコードはストロヴストルップ自身による訂正文からの引用(633ページ)。std::endl'\n'に改めている。またmain関数がデフォルトで0を返す件についてはwww.research.att.com及びwww.delorie.com/djgpp/ を参照されたし。このデフォルト仕様はmain関数のみであり他の関数にはない。
  1. ^ a b 『プログラミング言語C++』第4版、pp.12-13。
  2. ^ 『C++の設計と進化』、pp.152-153。
  3. ^ 『プログラミング言語C++』第4版、p.11。
  4. ^ Bjarne Stroustrup's FAQ - When was C++ invented?” (English). 2006年5月30日閲覧。
  5. ^ Bjarne Stroustrup; Margaret A. Ellis (1990). The Annotated C++ Reference Manual. Addison-Wesley Professional. ISBN 978-0201514599 
  6. ^ Bjarne Stroustrup; Margaret A. Ellis『The Annotated C++ Reference Manual』足立高徳、小山裕司、シイエム・シイ、2001年。ISBN 978-4901280396 
  7. ^ ISO/IEC 14882:1998
  8. ^ ISO/IEC 14882:2003
  9. ^ ISO/IEC TR 19768:2007
  10. ^ ISO/IEC 14882:2011
  11. ^ ISO/IEC 14882:2014
  12. ^ https://www.iso.org/standard/68564.html
  13. ^ https://www.iso.org/standard/79358.html
  14. ^ We have C++14! : Standard C++
  15. ^ Current Status”. isocpp.org. 2020年9月7日閲覧。
  16. ^ C++20 Approved -- Herb Sutter”. isocpp.org. 2020年9月8日閲覧。
  17. ^ ISO/IEC 14882:2020”. 2021年3月16日閲覧。
  18. ^ Working Draft, Standard for Programming Language C ++” (2020年12月15日). 2021年3月16日閲覧。
  19. ^ Sutter, Herb (2020年7月29日). “Business Plan and Convener's Report: ISO/IEC JTC1/SC22/WG21 (C++)”. 2021年3月16日閲覧。
  20. ^ Upcoming Meetings, Past Meetings”. 2021年3月16日閲覧。
  21. ^ Ranns, Nina (2020年11月19日). “WG21 2020-11 Virtual Meeting: Minutes of Meeting”. 2021年3月16日閲覧。
  22. ^ Koenig, Andrew; Bjarne Stroustrup (1989年5月11日). “C++: as close as possible to C – but no closer” (PDF) (英語). 2016年11月19日閲覧。
  23. ^ Stroustrup, Bjarne. “Stroustrup: FAQ Is C a subset of C++?” (英語). 2016年11月19日閲覧。
  24. ^ 『C++の設計と進化』、pp.124-125。
  25. ^ Bjarne Stroustrup (2000年). The C++ Programming Language (Special Edition ed.). Addison-Wesley. pp. 46. ISBN 0-201-70073-5 
  26. ^ 式 - cppreference.com
  27. ^ Sutter, Herb; Alexandrescu, Andrei (2004). C++ Coding Standards: 101 Rules, Guidelines, and Best Practices. Addison-Wesley 
  28. ^ Henricson, Mats; Nyquist, Erik (1997). Industrial Strength C++. Prentice Hall. ISBN 0-13-120965-5 
  29. ^ Stroustrup, Bjarne (2000). The C++ Programming Language (Special Edition ed.). Addison-Wesley. p. 310. ISBN 0-201-70073-5. "A virtual member function is sometimes called a method." 
  30. ^ Andrew Birkett. “Parsing C++ at nobugs.org”. Nobugs.org. 2009年7月3日閲覧。
  31. ^ Why We Can’t Afford Export (PDF, 266 KB)
  32. ^ Minutes of J16 Meeting No. 36/WG21 Meeting No. 31, April 7-11, 2003” (2003年4月25日). 2006年9月4日閲覧。
  33. ^ C++ ABI”. 2006年5月30日閲覧。
  34. ^ 後藤大地 (2013年4月22日). “LLVM Clang、C++11にフル対応”. マイナビニュース. 2013年9月7日閲覧。
  35. ^ GCC 4.8 Release Series — Changes, New Features, and Fixes - GNU Project”. gcc.gnu.org. 2022年11月7日閲覧。
  36. ^ Bjarne Stroustrup's FAQ - Is C a subset of C++?”. 2008年1月18日閲覧。
  37. ^ C9X -- The New C Standard”. 2008年12月27日閲覧。
  38. ^ 可変長配列: §6.7.6.2
  39. ^ C言語の最新事情を知る: C99の仕様 - Build Insider



C言語

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2024/02/16 14:02 UTC 版)

カテゴリ / テンプレート


注釈

  1. ^ 英語ではC-family, C-style, C-likeなどと呼ばれる。「C系」の定義は明確ではないが、構文がCに類似しているものを指すことが多い。
  2. ^ 例えばポインタのエイリアシングは最適化やベクトル化を妨げる[1]
  3. ^ 他の言語、例えば、BASICPascalではプログラム開始直後に実行するプログラム要素はサブルーチンや手続きや関数ではない。
  4. ^ C89においては関数プロトタイプは必須ではない。
  5. ^ C89規格に準拠しないソースコードをGNU Cコンパイラでコンパイル失敗させるには、
    gcc -ansi -pedantic -fstrict-aliasing -Wall -Wextra -Wmissing-declarations -Werror test.c
    とすれば良い(→エイリアシング)。
  6. ^ setjmp.hを参照。

出典

  1. ^ ポインター・エイリアシングとベクトル化 | iSUS
  2. ^ もう一度基礎からC言語 第19回 いろいろな演算子~ビット演算子 Cは高級アセンブラ?
  3. ^ 第1回 Chapter 1 C言語の概要(1):Cプログラミング入門|gihyo.jp … 技術評論社
  4. ^ ISO/IEC 14882:2003 §3.6.1 「The function main shall not be used within a program.」
  5. ^ JIS X 3014:2003「プログラム言語C++」日本産業標準調査会経済産業省) §3.6.1 「関数mainは、プログラムの中で挙用してはならない。」
  6. ^ EXP33-C. 未初期化のメモリを参照しない JPCERT/CC、2014年3月25日(2014年8月22日閲覧)。
  7. ^ Memory Allocation Guide”. The Linux Kernel documentation. 2023年11月8日閲覧。
  8. ^ main 関数 - cppreference.com
  9. ^ [Python入門]Pythonってどんな言語なの?:Python入門(1/2 ページ) - @IT
  10. ^ Hello, Worldプログラム | Programming Place Plus C言語編 第2章
  11. ^ Portability of C Programs and the UNIX Systems
  12. ^ a b The Evolution of the Unix Time-sharing System
  13. ^ ソースレベル互換 - ZDNet Japan
  14. ^ http://www.tohoho-web.com/ex/draft/kanji.htm
  15. ^ Rust言語でAndroidはより強固・安全に ~GoogleがOS開発への導入を進める - 窓の杜
  16. ^ Microsoft、Windows 10の一部をRustへ書き換えてセキュリティ強化狙う | TECH+
  17. ^ C FAQ 11
  18. ^ 6.19 Arrays of Variable Length
  19. ^ C の歴史 - cppreference.com
  20. ^ Clang 拡張 C++ コンパイラ - RAD Studio
  21. ^ Status of C99 features in GCC - GNU Project - Free Software Foundation (FSF)
  22. ^ C11Status - GCC Wiki
  23. ^ “Microsoft Releases C Program Wares, Provides Rebates”. InfoWorld: p. 29. (1987年11月9日). https://books.google.pl/books?id=Sj0EAAAAMBAJ 
  24. ^ インテル® C++ Composer XE 2011 Windows* 版インストール・ガイドおよびリリースノート - w_ccompxe_2011.7.258_Release_Notes_ja_JP.pdf
  25. ^ C99 Support in Intel® C++ Compiler | Intel® Software
  26. ^ C11 Support in Intel C++ Compiler | Intel® Software
  27. ^ 脇英世(監修)、1987、『パソコンの常識事典』、日本実業出版社 pp. 339、342 - 普及率、解説書の多さについて。
  28. ^ 長沢英夫(編)、1988、『パソコンベストソフトカタログ』、JICC出版局 pp. 201 - Personal版、解説書の多さについて。
  29. ^ ucom10 1983, p. 80.



「C言語」の例文・使い方・用例・文例

Weblio日本語例文用例辞書はプログラムで機械的に例文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。



固有名詞の分類


英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「C言語」の関連用語

C言語のお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



C言語のページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
デジタル大辞泉デジタル大辞泉
(C)Shogakukan Inc.
株式会社 小学館
IT用語辞典バイナリIT用語辞典バイナリ
Copyright © 2005-2024 Weblio 辞書 IT用語辞典バイナリさくいん。 この記事は、IT用語辞典バイナリC言語の記事を利用しております。
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのC++ (改訂履歴)、C言語 (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。
Tanaka Corpusのコンテンツは、特に明示されている場合を除いて、次のライセンスに従います:
 Creative Commons Attribution (CC-BY) 2.0 France.
この対訳データはCreative Commons Attribution 3.0 Unportedでライセンスされています。
浜島書店 Catch a Wave
Copyright © 1995-2024 Hamajima Shoten, Publishers. All rights reserved.
株式会社ベネッセコーポレーション株式会社ベネッセコーポレーション
Copyright © Benesse Holdings, Inc. All rights reserved.
研究社研究社
Copyright (c) 1995-2024 Kenkyusha Co., Ltd. All rights reserved.
日本語WordNet日本語WordNet
日本語ワードネット1.1版 (C) 情報通信研究機構, 2009-2010 License All rights reserved.
WordNet 3.0 Copyright 2006 by Princeton University. All rights reserved. License
日外アソシエーツ株式会社日外アソシエーツ株式会社
Copyright (C) 1994- Nichigai Associates, Inc., All rights reserved.
「斎藤和英大辞典」斎藤秀三郎著、日外アソシエーツ辞書編集部編
EDRDGEDRDG
This page uses the JMdict dictionary files. These files are the property of the Electronic Dictionary Research and Development Group, and are used in conformance with the Group's licence.

©2024 GRAS Group, Inc.RSS