Relative Content

Monthly Archives: October 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 […]