サイズ: 1839
コメント:
|
サイズ: 4090
コメント:
|
削除された箇所はこのように表示されます。 | 追加された箇所はこのように表示されます。 |
行 5: | 行 5: |
#acl solanumaple,su_zu:admin,write,read,revert,delete All: | |
行 37: | 行 36: |
== コンパイル == {{{ $ gcc -o hello hello.c -std=c99 $ ./hello }}} |
|
行 43: | 行 48: |
printf("%d\n", 2 * 3 + 14 / 7 - 3 % 2 ); // 2 × 3 + 14 ÷ 7 - 3 mod 2 | |
行 59: | 行 65: |
= 入力 = | = 型 = * void : 無 * int : (-2^31^) ~ (2^31^-1) の範囲の整数 * long long int : (-2^63^) ~ (2^63^-1)の範囲の整数 * double : 少数 = 算術演算子 = * =: 代入(左辺の変数に右辺の値を格納する) * +: 加算(+) * -: 減算(ー) * *: 乗算(×) * /: 除算(÷) * %: 剰余(mod) = 数値入力 = scanf("%d", &変数名); |
行 74: | 行 95: |
if( ){ }else if( ){ }else{ } | |
行 90: | 行 112: |
/* 結果 入力されたnが 2 なら 200 入力されたnが 10 なら 1000 入力されたnが 30 なら 300 入力されたnが 400 なら 2000 */ |
|
行 91: | 行 126: |
= 比較演算子 = * < : 小なり * <= : 小なりイコール * > : 大なり * >= : 大なりイコール * == : イコール * != : notイコール = 反復 = for(/*一度だけ実行*/; /*ここに書いた条件が成り立つ間波括弧内を繰り返す*/; /*波括弧の後に実行*/){} {{{#!highlight c #include<stdio.h> int main(void){ int n; for(n = 3; n > 0; n = n-1){ printf("%d\n", n); } return 0; } /* 結果 3 2 1 */ }}} == 問3 べき乗 == 整数ふたつを引数にとって第1引数の第2引数乗を返す関数を定義してください = GNU Make = {{{#!highlight make C = gcc CFLAGS = -std=c99 -Wall SOURCE = $(filter-out $(patsubst %.h,%.c,$(wildcard *.h)),$(wildcard *.c)) all: $(basename $(SOURCE)) %: %.c $(C) -o $@ $^ $(CFLAGS)\\ }}} == 問4 昇順ソート == {{{#!highlight c #include<stdio.h> void sort(int array[], int size){ } int main(void){ int array[10]; for(int i = 0; i < 10; i = i + 1){ scanf("%d", &array[i]); } sort(array, 10); for(int i = 0; i < 10; i = i + 1){ printf("%d\n", array[i]); } return 0; } }}} = ためになる外部ページ = * [[http://judge.u-aizu.ac.jp/onlinejudge/index.jsp?lang=ja|AIZU ONLINE JUDGE: Programming Challenge]] * [[http://9cguide.appspot.com/|苦しんで覚えるC言語]] * [[http://www.curiocube.com/mikata/beyondthecode/index.php|コーディングの向こう側 - つくる人の味方]] * [[http://www.wakayama-u.ac.jp/~chen/cmake/cmake.html|Learning CMake]] |
Hello, World!
コンパイル
$ gcc -o hello hello.c -std=c99 $ ./hello
数値出力
変数
型
- void : 無
int : (-231) ~ (231-1) の範囲の整数
long long int : (-263) ~ (263-1)の範囲の整数
- double : 少数
算術演算子
- =: 代入(左辺の変数に右辺の値を格納する)
- +: 加算(+)
- -: 減算(ー)
- *: 乗算(×)
- /: 除算(÷)
- %: 剰余(mod)
数値入力
scanf("%d", &変数名);
条件分岐
もし (1) ならば [1] をする そうでなく, もし (2) なら [2] をする そうでなければ [3] をする if( ){ }else if( ){ }else{ }
1 #include<stdio.h>
2 int main(void){
3 int n;
4 scanf("%d", &n);
5 if( n < 10 ){ // (1)なら
6 n = n * 100; // [1]する
7 }else if( n < 100 ){ // (1)でないかつ(2)であるとき
8 n = n * 10; // [2]をする
9 }else{ // そうでなければ
10 n = n * 5; // [3]する
11 }
12 printf("%d\n", n);
13 return 0;
14 }
15 /* 結果
16 入力されたnが 2 なら
17 200
18
19 入力されたnが 10 なら
20 1000
21
22 入力されたnが 30 なら
23 300
24
25 入力されたnが 400 なら
26 2000
27 */
比較演算子
< : 小なり
<= : 小なりイコール
> : 大なり
>= : 大なりイコール
- == : イコール
- != : notイコール
反復
for(/*一度だけ実行*/; /*ここに書いた条件が成り立つ間波括弧内を繰り返す*/; /*波括弧の後に実行*/){}
問3 べき乗
整数ふたつを引数にとって第1引数の第2引数乗を返す関数を定義してください
GNU Make
問4 昇順ソート