Relative Content

Yearly Archives: 2016

12.1 構造体

演習 1)任意二つのunsigned int型数値の論理AND, OR, XORを求めなさい(P324) /* a9-4-1.c */ #include <stdio.h> #include <limits.h> int main(void) { unsigned a, b; printf(“0 〜 %u の整数を2つ入力してください。¥n”, UINT_MAX); printf(“> “); scanf(“%u”, &a); printf(“> “); scanf(“%u”, &b); printf(“%u(%#x) AND %u(%#x) = %#x¥n”,__,__,__,__,__); printf(“%u(%#x) OR %u(%#x) = %#x¥n”,__,__,__,__,__); printf(“%u(%#x) XOR %u(%#x) = %#x¥n”,__,__,__,__,__); return 0; }   2)任意unsigned int型数値のビットパターンを表示(P328) /* a9-4-2.c */ […]

5.2 多次元配列

  前回の演習 演習5-4(p115) List5-6を書き換えて、配列aの要素の並びを逆順にしたものをbにコピーするプログラムを作成さよ。 #include <stdio.h> #define NUMBER 5 int main(void) { int i; int va[NUMBER] = {15, 20, 30}; int vb[NUMBER]; for(i = 0; i < 5; i++) { vb[i] = va[NUMBER – i – 1]; } puts(” va vb”); puts(“——-“); for(i = 0; i < 5; i++) { printf(“%3d%3d\n”, va[i], vb[i]); } return(0); } […]

7.2 bitwise

第9章 ビットを意識する 整数型の指定 整数値を扱うための型には,( signed, unsigned ) char 型と int 型とがあることは説明したが, それら以外にもある.ここで,まとめて簡単に解説する. バイト数 ビット数 最小値 最大値 unsigned char 1 8 0 255 signed char 1 8 -128 127 unsigned short int 2 16 0 65535 signed short int 2 16 -32768 32767 unsigned int 4 32 0 4294967295 signed int 4 32 -2147483648 2147483647 unsigned long […]

5.1 配列

配列 同じ型の変数が並んだものを「配列」と言います。C以外でも多くの高級言語に採用されている。 通常の変数は int num; のように型と名前を示して宣言しますが、配列ではさらに要素数を加えて以下のように宣言します。 int num[10]; 名前(上の例では”num”)が変数名で、それに続く[ ]内に示した”10″が、配列の要素数です。上記のように宣言すると int 型の変数が10個確保され その全体を“num”という名前で扱える ようになります。 配列の各要素は添字(またはインデックス)と呼ばれる番号で一意に指定できます。Cでは先頭が0で、1ずつ増加します。   配列の走査 配列の各要素に規則性を持った値を代入するには、forループを使うのが便利です。例えば、10個の要素を持つint 型の配列に、100・200・300……と100ずつ増加する値を代入する処理は、リスト1のように記述できます。 カウンタ変数iは0から1ずつ増加するので、その値を配列の添字に使い、同時に(i + 1)の100倍を添字で示す要素の値として代入します。 継続条件は「i < 10」となっているので、iが9になるまでループが繰り返され、10になったら処理をせずにループを抜けるので、配列のすべての要素に値が代入されます。 リスト1:配列に100ずつ増加する値を代入していく int num[10];    /* 整数を格納する配列 */ int i;    /* カウンタ変数 */ for(i =0; i <10; i++){ num[i]=(i +1)*100; } 配列の初期化 配列は同じ型の変数が並んだものですから、個々の要素の扱いは通常の変数と変わりません。配列の個々の要素に値を代入するには、以下のように代入演算子=を使います。 num[0]=100; num[1]=200; num[2]=300; : もちろん、通常はこんな悠長な記述はしません。配列の宣言時にすべての要素の値を示し、初期化することができます。 int num[]={100,200,300,400,500,600}; { }内に値を「,」で区切って列挙するだけです。このようにすれば、[ ]内に最大要素数を示す必要はありません。{ }内に列挙した値の数だけの要素が自動的に確保されます。 配列のコピー 他の変数と同じように配列をコピーしたプログラム […]

C言語検定(2級)

C言語検定試験について 主催・認定 サーティファイ情報処理能力認定委員会 試験名 C言語プログラミング能力認定試験 (C-Language Programming Skills Qualification Test) 試験目的 C言語を駆使して応用プログラム(言語処理系、ユーティリティなど)を作成する能力を認定します。 認定基準 一級 C言語を駆使し、応用プログラム(言語処理系、ユーティリティなど)が作成できる能力を有する。また使用しているOSについて理解をしている。 二級 小規模のプログラム(500行程度)が適切に(理路整然、簡潔、正しく、速く)書ける。また各種基本アルゴリズムを理解している。 三級 C言語の概念を理解し、簡単なプログラムが書ける。   参考(2級出題範囲) 出題内容 定数 浮動小数点定数 指数形式を許す 浮動小数点接尾語はf、l、F、Lのいずれか 整数定数 整数接尾語として長語接尾語(l、L)を含む 文字定数 拡張表記は8進拡張表記、16進拡張表記を含む 文字列リテラル 拡張表記は8進拡張表記、16進拡張表記を含む 列挙定数 演算子 ビット演算子、条件演算子、代入演算子、キャスト演算子、ポインタ/アドレス演算子、構造体演算子、sizeof演算子 宣言指定子 void、short、long、float、double、構造体共用体指定子(struct、union)、列挙型指定子(enum)、型修飾子(const)、typedef 変数 上記型指定子の単純変数、配列 外部定義 プリプロセッサ機能 ファイルの包含 ライブラリ関数 数学関数<math.h> double cos(double x); double sin(double x); double tan(double x); double exp(double […]

C code IV – シラパス

【授業の概要】 コンピュータプログラム開発言語の中で広く利用されているC言語をCプログラミング開発環境ソフト: CPad for Borland C++ Compilerを使った一人一台のPCを使い実習により学びます. 毎回問題に取り組み理解を深めます。復習問題としてプログラミング課題を出題する。 【授業要旨】 回数 題目 授業内容 学習課題 予習時間(分) 復習時間(分) 1 ガイダンス 学習目的 C言語プログラミング演習Ⅰの試験解説   C言語検定試験について 授業内容を復習する 60 2 ビットを意識する sizeof演算子 ビット演算子    10進数と2進数(ビット)の相互変換 テキスト(P315-330)を読む 授業内容を復習する 30 60 3 構造体 構造体の基本  構造体の配列 テキスト(P332-341)を読む 授業内容を復習する 30 60 4 構造体 構造体のネスト 代入、比較、アドレス テキスト(P342-348)を読む 授業内容を復習する 30 60 5 構造体 構造体へのポインタ テキスト(P349-353)を読む 授業内容を復習する 30 60 6 構造体 構造体と関数  アロー演算子 テキスト(P354-362)を読む 授業内容を復習する 30 […]

ノートPCはMacが良いと思う理由

新学期に、ノートPCを考えることがありませんか? WindowsのノートPCか、MacのノートPCか、悩むかもしれません。 ここはノートPCはMacが良いと思う理由を列挙する。 OSXとWindows両方利用できる Macbookに、Boot Campというソフトウェアある。 Boot Camp(ブートキャンプ)は、アップルにより開発・配布されているソフトウェア。Intel Macにおいて、Microsoft Windowsの利用を可能とする。 UNIX(Linux)の勉強 OS X(オーエス テン)は、アップルが開発・販売する、Macbook コンピュータ用の現行オペレーティングシステムである。BSD UNIX ベースで新たに Mac OS X(マック オーエス テン)が作られた。 MacbookにUNIX, Apache, PHP内蔵のため、活用範囲大 Linux(リナックス)は、UnixライクなOSカーネルであるLinuxカーネル、およびそれをカーネルとして周辺を整備したシステム。 iPhoneのアプリの開発 iPhoneのアプリの開発は、Apple社のMac PCが必須です。 Macbookのトラックパッドの性能が素晴らしすぎる Macbookでも Pro でも Air でもトラックパッドの性能というか動きが素晴らしすぎるんです。トラックパッドとはWindowsでいうタッチパッドのことなんですが、一度使うと抜け出せない程使いやすいんです! 先日ヨドバシカメラへ行った際に、hp・Dell・NEC・VAIO・Surface・Lenovo機を触ってきたのですが、それらブランドノートPCの多くはタッチパッドに若干のひっかかりがあり、ぎこちなさは否めなかったです。LenovoのThinkPadとSurfaceはなかなかよかったので、もしもWindowsノートPCを使うなら、Surfaceは膝の上でタイピングできないですしThinkPadかな?と感じました。 これを読んでいるWindowsだけのユーザーさんは是非店頭でMacbookを触ってもらえばと思います。きっと惚れてまうよ(笑) 同価格帯のWindowsノートPCよりも画面が綺麗 同価格帯のWindowsノートPCと比べて、Retina画面ではないMacbook Airですら画面の綺麗さが違います。雲泥の差です。持ち運び用の小さい画面ですから、綺麗=見やすいにこしたことはありません。作業しやすいですよ。 スリープ復帰速度とバッテリー管理はMacが上 スリープ復帰の速さとスリープ中のバッテリー消費管理はMacbookの方が断然上だと感じます。Macbookは画面を持ち上げたその時から普通に作業開始できます。また、Macbookはスリープしながら何日も放置できます。安いWindowsノートPCなんかですと、スリープしているのにもかかわらず恐ろしくバッテリーが減っていることもしばしば・・・。 キーボードが打ち易すぎる MacはWindowsに無いキーがあったり、若干配置が違いますが、それは慣れてしまえばどうでも良いこと。それらを差し引いても、あのキーボードの打ち易さはハンパないです。機体を膝に乗っけてタイピングしても超快適な打ち心地です。タイプしていると気持ちが良いんです。外出して作業するときにはWindows ノートよりもタイピングがはかどることは間違いないです。一応WindowsノートだとLenovoのThinkPad x250はなかなか打ちやすく、さすがビジネスモデルだと思いました。 画面の縦幅が長い Windows ノートの画面はほぼ「16:9」で、ワイド画面の幅です。それに比べ、Macbookの画面は「16:10」で縦幅が若干長いのです。例をだすと、Macbook Airの画面解像度は「1440×900」ですが、Windowsノートだと「1440x810」となります(実際にこのサイズのWindowsノートはありませんがあくまでも比率の問題)。この差は結構重要で、見やすさと作業効率に若干の影響を与えます。 やっぱりカッコイイ 外でMacbookを広げている人を見ると、やっぱりカッコイイと思う自分がいます(笑)冒頭で書きましたが、1人で引きこもって作業している時には特にそういうものは気にせず使いやすさ重視なのですが、外ではやはりMacbookがカッコイイのですよ!!これはWindowsノートPCには覆せない現実です。 Macbookは細部まで本当に丁寧に作られていますし、デザインに無駄がなというのはこういうことだな・・・と自分のMacbook Airや店頭のその他Mac機体たちをみていてつくづくそう思います。

C code II 指南

C言語プログラミングⅠの前期試験解説 試験後、解説が行われたので、質問があれば、答えする。 (質問応答は、日本語の他に、英語、中国語も可能!)

C code II – シラパス

【授業の概要】 コンピュータプログラム開発言語の中で広く利用されているC言語をCプログラミング開発環境ソフト: CPad for Borland C++ Compilerを使った一人一台のPCを使い実習により学びます. 毎回問題に取り組み理解を深めます。復習問題としてプログラミング課題を出題する。 【授業要旨】 回数 題目 授業内容 学習課題 予習時間(分) 復習時間(分) 1 ガイダンス 学習目的 C言語プログラミングⅠの前期試験解説  C言語検定試験について 授業内容を復習する 30 60 2 配 列 配 列 テキスト(P88-101)を読む 授業内容を復習する 30 60 3 配 列 多次元配列 テキスト(P102-110)を読む 授業内容を復習する 30 60 4 関 数 関数とは テキスト(P114-121)を読む 授業内容を復習する 30 60 5 関 数 関数の設計 テキスト(P122-138)を読む 授業内容を復習する 30 60 6 関 数 有効範囲と記憶域期間 テキスト(P140-146)を読む 授業内容を復習する 30 […]

C# exercises (f) Summary

C# 演習前期のまとめ C#プログラムは「入れ子構造」をしている ボタンクリックでメッセージボックス に表示完成したコード using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace test1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } // ボタンクリックでメッセージボックスに表示 private void button1_Click(object sender, EventArgs e) { MessageBox.Show(“Hello world”); } } } *注意:( ” “) […]