auの日記

プログラミング初心者の日記。(auはハンドルネームです)

2018-08-01から1ヶ月間の記事一覧

以前作成したstudent.txtに出力するプログラムを修正した

auです。 今回は、以前作成してうまくいかなかったfprintf関数を使用して"student.txt"に文字列を出力するプログラムを修正しました。 program-shoshinsya.hatenablog.com以前のコード #include <stdio.h> #include <stdlib.h> void new_reg(void) { int id = 0; char name[256]</stdlib.h></stdio.h>…

再起呼び出しをするプログラムの実行時間を測りたかった

auです。 今回は、以前作成した再起呼び出しをして最大公約数を求めるプログラムは何回か呼び出されると時間は変わってくのかということを調べました。 結果からいうと、プログラムの処理時間が短すぎて数値に出すことができませんでした。 作成したプログラ…

C言語のプログラムがどれくらい時間がかかったのかを計測するプログラム

auです。 今回は"time.h"モジュールを使用して、for文を1000万回繰り返したらどれくらい時間がかかるのか調べてみました。 #include <stdio.h> #include <time.h> int main(void) { int t1 = 0; int t2 = 0; int dt = 0; int t = 0; t1 = clock(); // 処理する前の時間をt1に</time.h></stdio.h>…

fprintf関数を使用して"student.txt"に文字を出力する

auです。 今回はfprintf関数を使用して"student.txt"に文字列を出力するプログラムを組みました。 fprintf関数は、コンソール上に文字を出力するのではなく、指定されたファイルに出力する関数です。 今回は"student.txt"にHello World"と出力するプログラム…

idと名前をstudent.txtに出力することができるプログラムを組みたかった

auです。 今回はidと氏名をstudent.txtに出力するプログラムを組みたかったんですが、何かがいけないためにSegmentation fault (core dumped)とエラーが起きてしまい、うまく動作することができませんでした。 #include <stdio.h> #include <stdlib.h> void new_reg(void) { int</stdlib.h></stdio.h>…

C言語のvoid型を分岐でreturnする方法

auです。 void型の関数を使用していて、int型みたいに"return 0"をしようとするとwarningで返されるのでどうすればいいかと思い調べてみました。 return 0で返そうとしてみる 以下のようなプログラムを組み、void型の中でreturn 0で返そうとしました。 #incl…

再起呼び出しを使用して最大公約数を計算するプログラム

auです。 今回も再起呼び出しを使って最大公約数を呼び出すプログラムを組みました。 #include <stdio.h> int g_common_divisor(int x, int y) { int rem = 0; int res = 0; res = x / y; rem = x % y; if (rem == 0) { return y; } x = y; y = rem; return g_common_</stdio.h>…

再起呼び出しを使って1 ~ nの総和を計算する

auです。 今回は再起呼び出しを使って1~nの総和を計算するプログラムを組みました。 #include <stdio.h> int sum_total(int n) { if (n == 1) { return 1; } return n + sum_total(n - 1); } int main(void) { int n = 0; int result = 0; printf("数字を入力: "); sc</stdio.h>…

再帰処理をして階乗のプログラムを作った

auです。 今回は再起呼出をして階乗のプログラムを作りました。 再起呼出とは、return を使って自身の関数をもう一度呼び出して処理をすることです。 今回のプログラムでは、nの階乗を計算する関数「factorial」を複数回呼び出して計算しています。 #include <stdio.h></stdio.h>…

関数を定義して3つの図形の面積を求めるプログラム

auです。 今回は、関数を作って処理をするプログラムを作ろうと思い、正方形・長方形・円形の3つの図形の面積を求めるプログラムを組みました。 #include <stdio.h> #define PI 3.14f float radius = 0; // (ここから)グローバル関数 float side1 = 0; float side2 = </stdio.h>…

きのうのプログラムをポインタを使って実装した

auです。 今回はきのうのプログラムをポインタを使用して実装しました。 #include <stdio.h> int main(void) { int slide = 0; int over = 0; char word[128]; char n_word[128]; char all_word[] = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; char *p</stdio.h>…

文字を暗号化するプログラム

auです。 今回はアルファベットを入力して、数字を入力するとその分だけ→にずれるプログラムを組みました。 #include <stdio.h> int main(void) { int slide = 0; int over = 0; char ch[128]; char word[128]; char n_word[128]; char all_word[] = "abcdefghijklmno</stdio.h>…

きのうのプログラムを修正してみた

auです。 今回はきのうのプログラムを修正しました。 #include <stdio.h> #include <string.h> int main(void) { char s_word[] = "abcdefghijklmnopqrstupvwxyz"; char b_word[] = "ABCDEFGHIJKLMNOPQRSTUPVWXYZ"; char word[30]; char n_word[30]; int number = 0; printf("大</string.h></stdio.h>…

小文字を入力すると大文字で返してくれるプログラム

auです。 今回は小文字を入力すると大文字で返してくれるプログラムを組みました。 #include <stdio.h> #include <string.h> int main(void) { char s_word[] = "abcdefghijklmnopqrstupvwxyz"; char b_word[] = "ABCDEFGHIJKLMNOPQRSTUPVWXYZ"; char word[126]; char n_word[12</string.h></stdio.h>…

C言語のgets関数を使う

auです。 色々なサイトを見た際にgets関数を使っているところが多かったので調べてみました。 gets関数 gets関数は標準入力を受け付ける関数です。gets関数を利用すると1行の文がそのまま格納されます。他にはscanfなどもあります。gets関数に対してscanfは…

商品名と値段と数量を出すプログラム

auです。 今日もプログラムを組みました。 この前のように商品番号と数量を求められるので入力し、最後に値段を出してくれるプログラムを組みました。 #include <stdio.h> #include <string.h> int main(void) { int num = 0; int num_t[] = {1, 2, 3, 4, 5, 99}; int qua; char</string.h></stdio.h>…

きのうのプログラムを修正しようとした

auです。 今回はきのうのプログラムを修正して該当のidがなかった場合に「該当するidは存在しませんでした」と表記するプログラムを組んでみました。 #include <stdio.h> #include <string.h> int main(void) { int student_id = 0; int student_id_t[] = {1, 2, 3, 4, 5}; char</string.h></stdio.h>…

idから名前を検索するプログラム

auです。 今回はC言語でidを打つとそれに対応した名前を出力するプログラムを組みました。 #include <stdio.h> #include <string.h> int main(void) { int student_id = 0; int student_id_t[] = {1, 2, 3, 4, 5}; char student_name[10]; char student_name_t[][10] = {"Sato",</string.h></stdio.h>…

条件付きコンパイルについて

auです。 今回は条件付きコンパイルについて調べました。 条件付きコンパイルとは 条件付きコンパイルは、条件を満たす(真)のときだけコンパイルし、条件が満たされない(偽)の場合はコンパイルをしないようにするようにすることです。 #if 定数式1 定数…

C言語のインクルードガードとは

auです。 今回はインクルードガードについて調べました。 インクルードガードとは インクルードガードとはヘッダーファイルを何回もインクルードする(2重コンパイル)と、エラーの原因になります。それを回避するためにインクルードガードを付けます。大きな…

C言語でtest.txtをプログラム上で開かずに出力する

auです。 今回はファイルをプログラム上では開かずに出力してみます。 ファイルをプログラム上で開かないとは FILE *fp; fopen fclose を使わないということです。 どうするのかというと、"catコマンド"というコマンドを使います。 catコマンドはLinuxに上で…

C言語でstdoutを使って出力先を変更する

auです。 今回はstdout(標準出力)を使って出力先を変更します。 stdoutとは stdoutとは、標準出力のことです。 標準出力とは、モニターなどのディスプレイに書き込みを要求することで、ディスプレイにデータを表示することができることです。 #include <stdio.h> int </stdio.h>…

ストリームとは

auです。 stdinについて調べていたら「ストリーム」という単語がでてきて、よくわからなかったので調べてみました。 ストリームとは プログラムからみたファイルなどのデータの入出力の「流れ」の経路をストリームといいます。 C言語に限った話ではなく、い…

C言語のstdinとは

auです。 今回は、stdinについて調べました。 stdinとは stdinはヘッダーファイル"stdio.h"で使用することができます。 特に何も指定が無い場合キーボードからの標準入力を受け取ることができる標準ストリームです。 #include <stdio.h> int main(void) { char ch[30]</stdio.h>…

C言語のEOFとは

auです。 今回はEOFというワードについて調べました。 EOFとは EOFとは、End Of Fileの略称で、ファイルの終わりに着きましたよという意味です。 ファイルを1文字ずつ読み込み、読み込む文字がなくなった場合EOFとなります。 "feof関数"はEOFであるかの状態…

C言語でperror関数を使う

auです。 今回は、C言語の関数のperrorを使います。 perror関数とは ヘッダーファイル"stdio.h"で使用することができます。 使い方: エラーが発生する場所で使います。 perror(文字列); perrorの処理が実行されると「文字列: エラーメッセージ」で表示されま…

C言語でtest.txtのファイルに内容を書き込む

auです。 きのうはファイルに入っている文字をコンソール上に出力しました。 program-shoshinsya.hatenablog.com今回は、test.txtに文字を書き込みます。 test.txtの内容はなし 書き込むためにh、fopen関数を書き込みモードにします fopen("test.txt", "w")…

C言語でtest.txtの内容を出力する

auです。 昨日はファイルを開くところまでやりました。 program-shoshinsya.hatenablog.com 今回は、実際にtest.txtに入ってる内容を出力します。 test.txtの内容: Hello World! 出力するには、"fread関数"を使います #include <stdio.h> int main(void) { FILE *fp; </stdio.h>…

C言語でテキストファイルを開く

auです。 今回は、C言語を使ってファイル名"test.txt"を開きます。 まずは、ファイルを開くための関数"fopen"を使います。 fopenを使う fopenを使うには以下のようにします。 fopen("ファイル名", "r"); と書きます。第2引数の"r"は読み込みモードを表します…

オーバーヘッドとは

auです。 今回はオーバーヘッドという用語について調べました。 オーバーヘッドとは オーバーヘッドは、余分に必要な処理時間のことです。 Aというプログラムがあり、処理時間は10分かかります。ですが、Bという処理をしなければAというプログラムを安全に動…