C言語

ポインタ

ポインタを利用して二つの値を交換する #include<stdio.h> void swap(int *nx,int *ny){ int temp = *nx; *nx = *ny; *ny = temp; } int main(void){ int na,nb; puts("二つの整数を入力してください。"); printf("整数1:"); scanf("%d",&na); printf("整数2:"); scan</stdio.h>…

C言語の難関ポインタを勉強するぞ

ポインタアドレスオブジェクトが、記憶域上のどこにあるのかを表すのがポインタ。オブジェクトのアドレスとは、それが格納されている記憶域上の番地のことである。実際にアドレスを調べてみる #include<stdio.h> int main(void){ int nx; double dx; int vc[3]; print</stdio.h>…

ポインタと配列

ポインタと配列 #include<stdio.h> int main(void){ int i; int vc[5] = {10,20,30,40,50}; int *ptr = &vc[0]; for(i=0;i<5;i++){ printf("vc[%d] = %d ptr[%d] = %d *(ptr + %d) = %d\n", i,vc[i],i,ptr[i],i,*(ptr + i)); } return 0; } 実行結果 vc[0] = 10 ptr[0</stdio.h>…

入出力と文字

数字文字のカウントgetchar()関数は、文字列を読み込んで、それを返す関数。 読み込み時にエラーが発生したり、入力の終了に達すると、EOFという値を返す。 #include<stdio.h> int main(void){ int i,ch; int cnt[10] = {0}; while(1){ ch = getchar(); if(ch == EOF)</stdio.h>…

再帰関数呼び出し

階乗を求めるプログラム #include <stdio.h> int factorial(int n){ if(n>0){ return (n * factorial(n-1)); }else{ return 1; } } int main(void){ int num; printf("整数を入力してください。"); scanf("%d",&num); printf("その数の階乗は%dです。\n",factorial(nu</stdio.h>…

列挙体

#include<stdio.h> #define putsa(str) (putchar('\a'),puts(str)) enum animal {Dog,Cat,Monkey,Invalid}; void dog(void){ puts("わんわん"); } void cat(void){ puts("にゃんにゃん"); } void monkey(void){ puts("きっきっ"); } enum animal select(void){ int tm</stdio.h>…

C言語 〜遂次探索〜

遂次探索 #include<stdio.h> #define NUMBER 5 #define FAILED -1 int search(const int vc[],int key,int no){ int i = 0; while(1){ if(i==no){ return (FAILED); } if(vc[i] == key){ return i; } i++; } } int main(void){ int i,ky,idx; int vx[NUMBER]; for(i=0</stdio.h>…

関数に配列を受け渡す

#include<stdio.h> #define NUMBER 5 int max_of(int vc[],int no){ int i; int max = vc[0]; for(i=1;i<no;i++){ if(vc[i] > max){ max = vc[i]; } } return max; } int main(void){ int i; int eng[NUMBER]; int mat[NUMBER]; int max_e,max_m; printf("%d人の点数を入力してください。\</no;i++){></stdio.h>…

復習

最高点を求めるプログラム #include<stdio.h> #define NUMBER 5 int tensu[NUMBER]; int top(void); int main(void){ extern int tensu[]; int i; printf("%d人の点数を入力してください。",NUMBER); for(i=0;i<NUMBER;i++){ do{ printf("%d:",i+1); scanf("%d",&tensu[i]); if(tensu[i] < 0 || tensu[i] > 100 ){ printf("点数は0以上100以下で入力してください</number;i++){></stdio.h>…

文字列を操作する

文字列の長さを調べる #include<stdio.h> unsigned str_length(const char str[]){ unsigned len = 0; while(str[len]){ len++; } return len; } int main(void){ char st[100]; printf("文字列を入力してください。"); scanf("%s",st); printf("文字列の長さは%uです</stdio.h>…

文字列の配列

文字列も配列化することができる。 #include<stdio.h> int main(void){ int i; char cs[][10] = {"banana","orange","pear"}; for(i=0;i<3;i++){ printf("cs[%d] =\"%s\"\n",i,cs[i]); } return 0; } 文字列配列の要素である文字列の読み込み配列の各要素に、標準入力</stdio.h>…

文字列

文字列リテラルは、整数での50や、浮動小数点数での3.14といった定数のようなもの。 オブジェクトに格納することによって、自由に取り扱うことができる。文字の配列に文字列を格納・表示してみる #include<stdio.h> int main(void){ char str[4]; str[0] = 'A'; str[1</stdio.h>…

復習 〜配列〜

そろそろ夏休みだし、もっと勉強しようと思う。点数を読み込んで合格者の一覧を表示する #include<stdio.h> #define NUMBER 5 int main(void){ int i; int snum = 0; int tensu[NUMBER]; int succs[NUMBER]; puts("点数を入力してください。"); for(i=0;i<NUMBER;i++){ printf("%2d番",i+1); scanf("%d",&tensu[i]); if(tensu[i] >= 60){ succs</number;i++){></stdio.h>…

C言語ポインタ

ポインタポインタをつかって変数の値を入れ替える。 #include <stdio.h> void swap(int *,int *); int main(void) { int a,b; a = 10; b = 20; swap(&a,&b); printf("a = %d , b = %d\n",a,b); return 0; } void swap(int *x,int *y) { int z; z = *x; *x = *y; *y = </stdio.h>…

C言語 配列

C言語で配列を使う。 #include <stdio.h> int main() { int a[5]; int i; for (i=0;i<5;i++){ printf("整数を入力してください\n"); scanf("%d",&a[i]); } printf("入力された整数を出力します\n"); for (i=0;i<5;i++){ printf("%d",a[i]); } return 0; } こんな感じ</stdio.h>…

C言語勉強しなきゃ

なんか問題みたいなの #include <stdio.h> int sum = 1; int main(void) { int x; if(sum==1){ printf("問題を出します。数字で答えてください\n"); }else{ printf("%d回目のチャレンジです。頑張ってください!!",sum); } printf("問題:世界一高い山は?\n"); print</stdio.h>…

関数の再帰呼び出し

再帰呼び出し階乗を求めるプログラム #include <stdio.h> int factorial(int); int main() { int i; for (i=0;i<11;i++) printf("%d! = %d\n",i,factorial(i)); return 0; } int factorial(int n) { if (n==0){ return 1; }else{ return n* factorial(n-1); } } facto</stdio.h>…

関数

関数 #include <stdio.h> int func(int,int); int main() { int a,b,c; a = 10; b = 10; c = func(a,b); printf("%d X %d = %d\n",a,b,c); return 0; } int func(int a,int b) { int c ; c = a*b; return c; } 関数を使うときはプロトタイプ宣言をしないといけない。 </stdio.h>…