通称“K&R”と呼ばれるC言語のバイブル“The C Programming Language”の邦題。
プログラミング言語C 第2版 ANSI規格準拠
こんにちは! プログラミング講師のといです! 今回は プログラミング言語 C言語 について説明していきます! みなさんは プログラミング言語 C言語 について知っていますか? C言語は プログラミング言語の中でも 1番人気の言語であり C言語をマスターするだけで プログラミングの基礎が全て身につきます! もし、C言語を学んでいないと 将来エンジニアとして 技術、知識不足になってしまうでしょう そうならないためにも ぜひこの記事を 最後まで読んでみてください! では実際に C言語とは何か説明していきます! プログラミング言語 C言語とは 1972年に開発された 歴史あるプログラミング言語の1つで…
こんにちは、情報系大学生のハル(Blog_IT_haru)です。 今回は、C言語で、超かんたんな、じゃんけんゲームを作ってみましたので、共有します。 すぐコードを見たい方は目次よりどうぞ。
こんにちは!マツケンです!プログラミングにおいて、「プロジェクトオイラー」を中心にブログを書いていますが、興味深いことや面白いことも別枠の「プログラミング」で書き残していこうとおもいました!今日は、おそらく大学の課題などで頻出する「素数判定・列挙を行うプログラム」について面白いことがあったので書き残していきます! そもそも素数とは... 素数判定1「単純に素数判定」 素数判定2「エラトステネスの篩」 2つのプログラムの実行結果 気づき そもそも素数とは... 素数とは 「1と自分自身以外では割り切れない2以上の自然数」 のことです。素数って無限に続き「最大の整数は何なのか」とか「素数を求める公…
課題やっと片付いた!専攻がむずくなってきましたが、量子情報の研究室行くためにGPAしっかり維持せねば... あっ、どうも、マツケンです。今回の問題↓ Problem 10 - PukiWiki ・最近習得したアリストテレスの篩を行っていく。 ・大きい配列を扱える最強のmalloc実装! ・探索範囲の削減。(詳しくはソースコード参照)ソースコード> /* The sum of the primes below 10 is 2 + 3 + 5 + 7 = 17. Find the sum of all the primes below two million. */ #include <stdio…
鏡餅の問題を解いてみました. ソートを使って並び替えて順番にdを検査していきました. ほかに面白い回答などがございましたらご教授お願いします.問題は以下の通り atcoder.jp #include <bits/stdc++.h> #define _GLIBCXX_DEBUG using namespace std; #define rep(i, n) for (int i = 0; i < (int)(n); i++) int main() { int N; cin >> N; vector<int> d(N); rep(i,N){ cin >> d.at(i); } sort(d.begi…
こんにちは、情報系大学生のハル(Blog_IT_haru)です。 この記事は、C言語で、0から始めるアルゴリズムというシリーズを書いていましたが、コードに出てきた用語解説が、色々な記事にかかれていてわかりづらくなっていたので、まとめた記事となります。
こんにちは、情報系大学生のハル(Blog_IT_haru)です。 今回は、paizaラーニングの、データセット選択メニューの第3回、最大値と最小値についてC言語での解き方を解説します。
こんにちは、情報系大学生のハル(Blog_IT_haru)です。 今回は、paizaラーニングの、データセット選択メニューの第2回、複数回のランダムアクセスについてC言語での解き方を解説していきます。 サンプルコードも掲載してありますので、勉強の参考にしていただければと思います。
こんにちは、情報系大学生のハル(Blog_IT_haru)です。 今回は、paizaラーニングの、データセット選択メニューの第1回、ランダムアクセスについて解説していきます。 サンプルコードも掲載してありますので、勉強の参考にしていただければと思います。
ノートパソコンが届いたのでプログラムができる環境を整えよう。 学校の授業でプログラミングはやったことはありますが、開発環境を整えられた思い出がないのでチャレンジしてみた。 Visual Studio Codeを使用したC言語学習の準備 - Qiita このサイトを参考にしました。 上の記事のMinGWをダウンロードするサイトのリンクがなんかおかしかったのですが、MinGWと検索して一番上のサイトに飛べばできました。 他は何も問題なかったです。 あと、次回からプログラムを作る際は、 ファイルをクリック、 フォルダーを開くをクリック、 C言語のプログラムを保存しているフォルダーを選択、 すると、こ…
会津大学の正門と磐梯山 注意事項 本記事は2019年4月から2024年3月の5年間、会津大学に学生として在籍していた人物の文章です。全ての文章は筆者の主観に基づいており、勘違いや誤りが含まれる可能性があります。 またこの文章は客観的な大学案内ではなく、一人の学生による会津大学に対する思いの吐露、という位置付けを前提に読んでください。 特に授業の質や教員に対する意見、学生生活の特定の側面に関する評価などは、他の学生によっては異なる見解が存在する可能性があります。 この記事を執筆した2024年3月19日以降、この記事の内容は古くなっていきます。適宜公式が提供する最新の情報を参照してください。 会津…
おはようございます🌞 今回は、 【テック投資】CPUと半導体メモリの仕組みを、理解しよう! Arm CPU 【CPUとは!? (基礎おさらい)】 『CPU』プログラムを動かす為にデータを計算したり、メモリやハードディスクに命令を出す半導体の中心部にある部品の事。計算・命令・制御等の複雑な処理をこなす。パソコンやスマホ等の電子機器の処理能力に大きく関わる為、『コンピューターの頭脳』と呼ばれている。 正式名称は、Central Processing Unit。 『CPUの種類』(%は世界シェア) ・スマホCPU…Arm (99%以上)・パソコンCPU…Intel(約70%)・AMD(約20%) 【…
C++を使用した競馬予想プログラムの作成方法 競馬は多くの人々にとって興味深いスポーツですが、競馬の結果を予測することは難しいものです。そこで、プログラミング言語C++を使用して、競馬予想を行うプログラムを作成することができます。この記事では、C++を使用して競馬予想を行う方法について詳しく説明します。 プログラムの概要 このプログラムでは、過去の競馬のデータを利用して、将来の競馬の結果を予測します。具体的には、過去の競馬のデータから各馬の成績や条件を分析し、その情報を元に各馬の勝利確率を計算します。そして、計算された勝利確率を元に、最も勝利確率が高い馬を予測します。 プログラムの実装 まずは…
もくじ https://tera1707.com/entry/2022/02/06/144447 やりたいこと 以前別の記事で、Win32APIのCreateMutexを使ってC++でMutexで排他するというのをやったが、今回は標準ライブラリというのを使ってやってみる。 実験コード 今回の肝の「Mutex」は、冒頭のstd::mutex mtx;の部分。 mtx.lock();でロックをかけ、mtx.unlock();でロックを解除する。 実験① mutexをかけて排他する #include <iostream> #include <thread> #include <mutex> std:…
プログラミング言語C++において、nodiscard属性が指定された関数に対し意図的な戻り値破棄を明示する方法。まとめ: C++23現在は、方式(3) std::ignoreへの関数戻り値代入が実践的か。*1 C++2c(C++26)以降は、方式(4) プレースホルダ識別子_(アンダースコア1文字)への関数戻り値代入がベター。 方式(3), (4)は戻り値オブジェクトの破棄タイミングが異なることに注意。 // 戻り値の破棄をすべきでない関数 [[nodiscard]] int f() { return 42; } f(); // コンパイラによる警告(warning) // GCC: igno…
今回紹介するのは以下 ・Linuxのデスクトップアプリケーション ・Linuxのサーバーアプリケーション ・Linuxのパッケージとパッケージ管理ツール ・補足:Linuxの主なプログラミング言語 LPI Linuxエッセンシャル試験対応 しっかりわかるLinux入門作者:株式会社ティエスイー,海堂正裕,平井達也,上村斎文秀和システムAmazonLPI公式認定 Linux Essentials 合格テキスト&問題集作者:長原 宏治日本能率協会マネジメントセンターAmazon
はじめに 最近,ブルアカのイベントでヴェリタスが主役のやつが開始され,ハレとコタマがキャンプ姿で実装されたらしい. それに合わせて,楽曲「Get Over the World」が配信された.推しのチヒロの歌が聞けるので非常に良かった. ところで,ヴェリタスはハッカー集団,すなわち情報系の技術団なので当然歌詞もそれに合わせたように用語が連なる. 最近低レイヤに踏み入れた初学者自分としても,聞いたことある用語や意味が曖昧になっている単語などがあるのでまとめた. 間違っていたりしたら指摘してくれ.できるだけ優しく. 用語 Hello, World だいたい何かしらのプログラミング言語(高級)では標準…
新年、あけましておめでとうございます。 昨年中は大変お世話になりました。 本年もどうぞよろしくお願い申し上げます。さて、本日より、新しい会社に勤めさせて頂く運びとなりました。 というわけで、20歳で社会人になってから20年目という節目の年に、初めての転職ブログというものを書いております*1。三ヶ日明けてから新年のご挨拶というのもアレですが、一応仕事始めに合わせてということで。 *1:なお転職は4回目(5社目)です
2023年は二つ目の会社の方で大きな動きがありました。 それまで間借りだったオフィスが、念願の秋葉原に移転となりました。 移転に伴って信用もましたのか、仕事の内容も高度化した印象 2023年に実際使っていた言語 プログラミング言語 Python C++ 語学 英語 中国語 2024年に強化していきたい言語 プログラミング言語 C++ Rust 語学 英語 中国語 韓国語
プログラミング言語Cの次期仕様C2yに向けて、式の評価順序を厳格に規定する提案 N3203 Strict order of expression evaluation が提出されている。チャレンジングなお話。C言語(C++も同様)では歴史的経緯から、演算子オペランドの評価順*1や関数実引数リストの評価順(→id:yohhoy:20120304)は規定されておらず、任意の順序で実行される可能性がある。*2C/C++以降のプログラミング言語では演算子オペランドや関数実引数リストの評価順「左→右」と保証されており、本提案がC言語に採用されれば未規定(unspecified)動作や未定義動作(unde…
『不完全性定理とはなにか (ブルーバックス)』という本を見ると、不完全性定理について調べるためのヒントがいろいろ書かれていたので少し調べてみようと思います。また、ビジュアルプログラミングで何かやる例にすることができるかもしれないと考えています。この本では「不完全性定理」は「チューリング機械の停止問題」と同様に考えることができるという主張のようなので、まず「チューリング機械の停止問題」を考えてみます。この本では「万能チューリング機械」を無限のメモリーを持つコンピューターで動くプログラミング言語と考えればわかりやすいということのようです。この本ではプログラミング言語BASICで説明されていますが、…
プログラミング言語C++において、異なる基底クラスに属する同名メンバ関数*1を個別にオーバーライドする方法。 // 同名メンバ関数をカスタマイズポイントとして提供する // 互いに無関係なインタフェースクラス struct Interface1 { virtual void process() = 0; }; struct Interface2 { virtual void process() = 0; }; // インタフェース実装クラス struct Derived: Interface1, Interface2 { void process() override { /*...*/ } …
タイトルに書いたことが全てだが、思考の整理を兼ねて、もう少し深掘りしてみたい。以下に示す要求に合致した書籍の類を探しているのである: C言語(言語仕様)よりも「C言語を用いたプログラミング」に主軸を置いた内容。 最低でもC99、できればC11/C17の利用を前提とした内容とコーディングスタイル。 プログラミング未経験者ではなく「すでに他のモダンな言語によるプログラミングを経験している人」を想定した内容。 C言語(や古典的なC++)でのプログラミングに付き物の「変数と記憶領域」についての解説がある。 イメージとしては「『プログラミング言語C 第2版 ANSI規格準拠』と『Cプログラミング専門課程…
現在Swift Evolutionで議論されているSE-0413 Typed throwsについて、Swiftの歴史を辿りながら紹介します。 この記事ははてなエンジニア Advent Calendar 2023の9日目の記事です。昨日は id:kouki_dan のiPadだけでアプリを作ってみるでした。ファスティング中の id:kouki_dan を関モバに誘ったのは私です。お誕生日おめでとうございました。 Swiftのエラーハンドリング Swiftのエラーハンドリングでは、2015年6月のSwift 2.0のリリース以来、エラーに型がつかない。Errorプロトコルに準拠したなんらかの型が投…
プログラミング言語C/C++の次期標準規格C2x(C23)およびC++2c(C++26)では、アサーションマクロassertの改善が行われる。 #include <assert.h> // C/C++ #include <cassert> // C++のみ int is_valid(int); assert( "42 shall be vaild", is_valid(42) ); // NG: C17/C++20現在 // OK: C2x/C++2c以降 assert(("42 shall be vaild", is_valid(42))); // OK: 式全体を括弧で囲う C言語ではトラ…