はじめまして、ますみです!
#>>利用方法
C言語を学ぶための記事ではなく、細かい説明を省略し、
久々にC言語を触る人が**コードを思い出したり、検索するための記事**にしました。
- 【機能から調べる】 → Qiitaの右側の目次から探してください
- 【コードから調べる】 →
Command + F
/Ctrl + F
で検索してください
1. 基本コード
###・変数の型
コード | 変数 |
---|---|
void | 型なし |
char | 文字型 |
int | 整数 |
float | (単精度)浮動小数点 |
double | (倍精度)浮動小数点 |
struct | 構造体型 |
union | 共用体型 |
enum | 列挙型 |
###・演算子
コード | 演算 |
---|---|
+ | 足し算 |
- | 引き算 |
* | 掛け算 |
/ | 割り算 |
% | あまり |
&& | かつ |
ll | または |
! | ではない |
== | 等しい |
> | 大なり |
< | 小なり |
>= | 以上 |
<= | 以下 |
!= | 等しくない |
###・配列
c:array.c int A[3] = {0,1,2};
###・入力
`c:input.c
//scanf()
int a;
scanf("%d", &a);
//getchar() - int型なことに注意
int c;
c = getchar();
//gets() - 廃止
`
###・出力
`c:output.c
//printf()
int a = 0;
printf("%d", a);
//putchar()
int c = 'a';
putchar(c);
`
###・条件分岐
`c:conditon.c
//if文、else文
if(x<0){
printf("lower than 0.");
}else if(x<5){
printf("between 0 and 5");
}else{
printf("bigger than 5");
}
//switch文
switch(c){
case '+':
printf("a+b=%d", a+b);
break;
case '-':
printf("a-b=%d", a-b);
break;
default:
printf("other");
break;
}
`
###・繰り返し
`c:repeat.c
//for文
for(i=0;i<10;i++){
total = total+i;
}
//while文
while(i<10){
total = total+i;
i++;
}
//do-while文
do{
total = total+i;
i++;
}while(i<10);
`
###・break文 / continue文 / goto文
`c:outNest.c
//break文
while(1){
if(x<0){
break;
}
x--;
}
return 0;
//continue文
while(1){
if(x<0){
return 0;
}else{
x--;
continue;
}
}
//goto文
while(1){
if(x<0){
goto labelOut;
}
x--;
}
labelOut: return 0;
`
2. 構造体
`c:structure.c
struct date{
int year;
int month;
int day;
}
struct date today;
today.year = 2018;
today.month = 7;
today.day = 20;
printf("%d / %d / %d", today.year, today.month, today.day);
`
3. 関数
`c:function.c
//sum関数の宣言
int sum(int a, int b);
//main関数
int main(void){
int x = 3;
int y = 5;
printf("%d", sum(x,y));
return 0;
}
//sum関数の定義
int sum(int a, int b){
return a+b;
}
`
###・数学関数 / 数学定数
#include<math.h>
をはじめに宣言(インクルード)します。
- 数学関数
コード | 関数 |
---|---|
sin() | 正弦 |
cos() | 余弦 |
tan() | 正接 |
pow(x,y) | べき乗 ( $x^y$ ) |
fabs() | 絶対値 |
sqrt() | 平方根 |
cbrt() | 立方根 |
exp() | 指数関数 |
log() | 自然対数 |
log10() | 底が10の対数 |
- 数学定数
コード | 関数 |
---|---|
M_e | 自然対数の底e / ネイピア数 |
M_PI | 円周率π |
M_SQRT2 | $\sqrt{2}$ |
M_LN2 | $\ln 2$ |
4. 標準入出力
#include<stdio.h>
をはじめに宣言(インクルード)します。
標準入出力をするための雛形は次の通りです。
#include<stdio.h>
int main(void){
FILE *fp;
fp = fopen("data.txt", "r");
//ファイルの処理
fclose();
return 0;
}
・ファイルの読み出し - fgetc() / fscanf()
#include<stdio.h>
int main(void){
FILE *fp;
int c, num;
fp = fopen("data.txt", "r");
//fgetc()
c = fgetc(fp);
//fscanf()
fscanf(fp, "%d", &num);
fclose();
return 0;
}
・ファイルの書き出し - fputc() / fprintf()
#include<stdio.h>
int main(void){
FILE *fp;
int c = 'A';
fp = fopen("data.txt", "w");
//fputc()
fputc(c,fp);
//fprintf()
fprintf(fp, "\nMy name is %s", "umi_mori");
fclose();
return 0;
}
5. マクロ処理
`c:macro.c
#define PI 3.14
最後に
最後まで読んでくださり、ありがとうございました!
いかがだったでしょうか?
この記事を通して、少しでもあなたの学びに役立てば幸いです!
【仕事の相談はこちら】
お仕事の相談のある方は、下記のフォームよりお気軽にご相談ください。
もしもメールでの問い合わせの方がよろしければ、下記のメールアドレスへご連絡ください。
info*galirage.com(*を@に変えてご送付ください)
🎁 「生成AI活用の無料相談券」もしくは「生成AIの社内ガイドライン(無料PDF)」を『公式LINE』で配布中 🎁
『生成AIを業務に活用したいけど、どうしたらいいかわからない』といった声を多くいただきます。
Galirageでは公式LINEにて、チャットやオンライン会議で「完全個別の生成AI活用無料相談会」を実施しております!
(期間限定で実施しているため、ご興味ある方はお早めに以下のLINE公式アカウントをご登録ください^^)
https://lin.ee/rvz6lMN
※ 予告なく、キャンペーンを終了する可能性がございますが、ご了承ください。
【業務内容】
具体的には、以下のお仕事を中心に受け付けております!(詳しくはこちら)
- 受託開発(例:生成AIを使った社内システムの開発)
- コンサルティング(例:技術戦略のアドバイス)
- 講演(例:社内研修、イベント登壇)
※ 特に「生成AIを使ったシステム開発のご依頼」が多く、ご好評いただいております。
【これまでの相談事例】
以下のようなご相談が多くあります。
🔑 機密情報を漏洩させないための、生成AIのシステム構築をお願いしたい。
🤖 自社データを用いたFAQチャットボットの作り方を知りたい。
💡 ChatGPTを、自分たちの事業にどのように活かせるか、アドバイスやアイデアが欲しい。
おまけ
エンジニアの仲間(データサイエンティストも含む)を増やしたいため、公式LINEを始めました🎉
「一緒に仕事をしてくれる方」「友だちとして仲良くしてくれる方」は、友だち追加をしていただけますと嬉しいです!(仲良くなった人たちを集めて、「ボードゲーム会」や「ハッカソン」や「もくもく会」もやりたいなと考えています😆)
とはいえ、みなさんにもメリットがないと申し訳ないので、特典を用意しました!
友だち追加後に、アンケートに回答してくれた方へ「エンジニア図鑑(職種20選)」のPDFをお送りします◎