IT情報@PRO人

C言語 練習問題 07

この記事は2016年7月27日に書かれたものです。内容が古い可能性がありますのでご注意ください。


C言語練習問題

C言語練習問題

環境について

C言語の練習問題です。

開発環境は以下の通り。

PC:MacBook Pro 2011early 15inch

OS:Windows 8.1(デュアルブート)

メモリ:16GB(8GB x 2)

CPU:Core i7-2635QM 2.00GHz

コンパイラ:MinGW-w64 5.3.0 (posix, sjlj)

 

※問題文に書いてあるプログラムを実行する際は自己責任で実行してください。

 

問題

次のプログラムを作った。コンパイル、実行に関して以下の問いに答えよ。

プログラム(test07.c)

#include<stdio.h>
int main(void){
  int a = 1;
  int b = 0;
  if(a == b){
    printf("0");
  }
  if(a){
    printf("1");
  }
  if(a = 1){
    printf("2");
  }
  if(a == 1){
    printf("3");
  }
  if(b){
    printf("4");
  }
  if(b = 1){
    printf("5");
  }
  if(b == 1){
    printf("6");
  }
  if(true){
    printf("7");
  }
  if(1){
    printf("8");
  }
  if(!1){
    printf("9");
  }
  return 0;
}

問1.次のコマンドをコマンドプロンプトから打ち込んだ。どのような結果になるか。

A,B,Cの選択肢から適切なものを選べ。また、選んだ選択肢の中の空欄を埋めよ。

なお、コマンドを入力する前はディレクトリ内のファイルはtest07.cのみであった。

gcc test07.c -o test07.exe

選択肢A,B,C

A.コンパイル成功して(空欄1)が生成される

B.(空欄1)の部分でコンパイルエラー

C.コマンドの(空欄1)の部分が間違っているためコンパイルに失敗する

 

 

問2.その後、次のコマンドをコマンドプロンプトから打ち込んだ。どのような結果になるか。 A,B,Cの選択肢から適切なものを選べ。また、選んだ選択肢の空欄を埋めよ。

 test07

A.ファイルが実行され(空欄1)と画面に表示される。

B.(空欄1)というファイルがないため実行できない

C.コンパイルはされているが、実行ファイルに(空欄1)という問題があるため実行ができない

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

解答

問1

B.( if(true){ )の部分でコンパイルエラー

※該当箇所が指摘できていれば正解とする。

 

問2

B.(test07.exe)というファイルがないため実行できない

※実行ファイルができていないことが指摘されていれば正解とする。

解説

問1,問2

今回はif文を使用している。しかし、C言語ではそのままではtrueは使用できない。そのため該当部分でコンパイルエラーが出る。trueを使用したい場合はstdbool.hをインクルードする必要がある。

※ただし、C89準拠のプログラムを作成する場合はstdbool.hはインクルードできないので注意。

 

  • このエントリーをはてなブックマークに追加

PAGE TOP