参考(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 x);
- double log(double x); double log10(double x);
- double pow(double x, double y);
- double sqrt(double x); double ceil(double x);
- double fabs(double x); double floor(double x);
|
- 入出力関数<stdio.h>
- NULL、EOF、FILE、stderr、stdin、stdout、
- FILE *fopen(const char *filename, const char *mode);
- int fclose(FILE *stream);
- int fscanf(FILE *stream, const char *format, …);
- int fprintf(FILE *stream, const char *format, …);
- int sscanf(const char *s, const char *stream, …);
- int sprintf(char *s, const char *stream, …);
- int fgetc(FILE *stream, …); int fputc(int c, FILE *stream);
- char *fgets(char *s,int c, FILE *stream);
- int fputs(const char *s, FILE *stream);
- int getc(FILE *stream, …); int putc(int c, FILE *stream);
- char *gets(char *s);int puts(const char *s);
- int ungetc(int c, FILE *stream);
|
- 一般ユーティリティ関数<stdlib.h>
- NULL double atof(const char *nptr);
- int atoi(const char *nptr);
- long int atol(const char *nptr);
- int rand(void); void srand(unsigned int seed);
- int abs(int i); long int labs(long int j);
|
- 文字列操作関数<string.h>
- NULL size_t
- char *strcpy(char *sl,const char *s2);
- char *strncpy(char *sl,const char *s2, size_t n);
- char *strcat(char *sl,const char *s2);
- char *strncat(char *sl,const char *s2, size_t n);
- int strcmp(const char *sl,const char *s2);
- int strncmp(const char *sl,const char *s2, size_t n);
- char *strchr(const char *s, int c);
- char *strrchr(const char *s, int c);
- char *strstr(const char *sl, const char *s2);
- size_t strlen(const char *s);
|
その他 |
- main関数の引数、整数型以外の関数
- 自己参照構造体
- 変数の記憶クラスと通用範囲(auto、static、register、extern)
|
※3級出題範囲含む
注)各級とも日本工業規格 (JIS) X3010 で出題・解答する。
C言語プログラミング能力認定試験
(C-Language Programming Skills Qualification Test)
http://www.sikaku.gr.jp/js/cp/
C言語認定試験とは
C言語を駆使した応用プログラムの作成能力を認定
C言語は、記述の自由度が高く、使用可能なプラットホームが多いなど、使用できる場面が多いことから、現在最も広く普及しているプログラミング言語です。このC言語のプログラミング能力の測定を目的に、1992年より開始されたのがサーティファイ 情報処理能力認定委員会が主催する「C言語プログラミング能力認定試験」です。
保有スキルのレベルに合わせた3段階の認定基準を設けることにより、これから新たにプログラミングの学習を始める方から、現在プログラマやシステム・エンジニアとして既に活躍されている高度IT技術者の方まで、幅広い皆様から受験いただいています。
初学者から、ビジネスシーンで活躍できるプログラマまで、幅広いスキルを測定
「C言語プログラミング能力認定試験」は、これからプログラミングを学び始める方を対象とした「3級」から、プログラマやシステム・エンジニアとして活躍されている方の保有スキルを客観的にアピールできる「1級」まで、幅広いスキルを測定しています。
特に「1級」では、実際にPCを使用して、プログラムの仕様変更やこれに伴うプログラミング作成(コーディング・コンパイル・デバッグ)を行う、極めて実践的な資格・検定試験として、IT業界でも高く評価されています。
基本情報技術者試験の午後の試験対策としても有効
「C言語プログラミング能力認定試験」の「2級」及び「3級」は、経済産業省認定「基本情報技術者試験」の「午後問題」の出題形式も意識して作成しています。そのため、「基本情報技術者試験」の学習と連動した活用も多く見られます。保有スキルのレベルに応じた級位取得を目標としていただくことで、C言語のプログラミング能力を高めるだけではなく、「基本情報技術者試験」の合格にもつなげていくことができます。
C言語認定試験について
試験名
C言語プログラミング能力認定試験
(C-Language Programming Skills Qualification Test)
試験目的
C言語を駆使して応用プログラム(言語処理系、ユーティリティなど)を作成する能力を認定します。
認定基準
一級 |
C言語を駆使し、応用プログラム(言語処理系、ユーティリティなど)が作成できる能力を有する。また使用しているOSについて理解をしている。 |
二級 |
小規模のプログラム(500行程度)が適切に(理路整然、簡潔、正しく、速く)書ける。また各種基本アルゴリズムを理解している。 |
三級 |
C言語の概念を理解し、簡単なプログラムが書ける。 |
参考(3級出題範囲)
出題内容 |
定数 |
整数定数 |
10進定数、8進定数、16進定数
整数接尾語は符号無し接尾語(u、U)のみ |
文字定数 |
ワイド文字定数(L’c文字の列’)を除く
拡張表記は単純拡張表記のみ |
文字列リテラル |
ワイド文字列リテラル(L”s文字の列”)を除く
拡張表記は単純拡張表記のみ |
演算子 |
算術演算子、インクリメント演算子、デクリメント演算子、(算術の)代入演算子、関係演算子、等値演算子、論理関係演算子、括弧演算子、コンマ演算子 |
型指定子 |
char、int、unsigned、signed |
変数 |
|
基本制御文 |
break、continue、do、for、if、return、switch、while |
プリプロセッサ機能 |
#define、#include |
ライブラリ関数 |
- 入出力関数<stdio.h>
- EOF NULL
- int printf(const char *format, …);
- int scanf(const char *format, …);
- int getchar(void); int putchar(int c);
|
- 文字操作関数<ctype.h>
- int isalnum(int c); int isalpha(int c);
- int iscntrl(int c); int isdigit(int c);
- int isgraph(int c); int islower(int c);
- int isprint(int c); int ispunct(int c);
- int isspace(int c); int isupper(int c);
- int isxdigit(int c); int tolower(int c);
- int toupper(int c);
|
その他 |
Cの歴史と特徴 |
現在使用するC言語教科書には、文字操作関数<ctype.h>の内容について不足するので、
[amazonjs asin=”479815038X” locale=”JP” ]
下記のサイトを参考にしてください。
- http://www.c-tipsref.com/reference/ctype.html
- http://www.bohyoh.com/CandCPP/C/Library/ctype_h.html
Human-centric intelligent systems