校閲ペン試験問題まとめ(C/C++)

1544 ワード

static
staticキーワードはC言語で2つの用法があり、この2つの用法は互いに何の関連もなく、完全に独立している.
  • ローカル変数を修飾し、静的ローカル変数を形成する:非静的ローカル変数はスタックに割り当てられ、静的ローカル変数はデータセグメント/bssセグメントに割り当てられる.
  • グローバル変数を修飾し、静的グローバル変数を形成する:static修飾グローバル変数(関数)リンク属性を外部接続から内部接続に変更する(外部接続:プログラム範囲全体で有効で、ファイルにまたがることができる;内部接続:現在のCファイルの下でのみ有効で、ファイルにまたがることができない).

  • 識別子の定義
  • 最初の文字はアルファベットか下線で、数字ではありません!!!
  • C++キーを識別子
  • とすることはできない.
  • 識別子長制限32文字
  • 識別子大文字小文字に敏感
  • C++異常処理
  • C++例外処理は、try、catch、throwの3つのキーワードに関連する.
  • throw:問題が発生すると、プログラムは異常を放出します.
  • catch:異常をキャプチャします.
  • try:tryは異常を表します.tryは常にcatchとともに現れ、1つのtry文、少なくとも1つのcatch文があるべきである.

  • メンバー#メンバー#
    ベースクラスの共有メンバー.保護メンバーは、そのプライベート派生クラスのプライベートメンバーです.
    派生クラスを保護する保護メンバーであるベースクラスの共有メンバー.
    ベースクラスの共有メンバー.保護メンバーは、その共通派生クラスの共有メンバーです.
    ベースクラスのプライベートメンバーは、派生クラスには表示されません.
    その他
    1、C言語自体に入出力文はありません(scanfとprintfは関数です).
    2、printf関数
    「%.5 s」は、文字列が最大5文字まで出力されることを意味します.
    「%5 s」は、少なくとも5文字を出力し、5文字未満の場合は左側をスペースで補正することを意味します.
    3、math.round(x):x+0.5を下に取ります.
    4、基底クラスで関数を戻り値のない純粋な虚関数として宣言します.
    5、unionは最長変数のバイト数をとる.
    6、演算優先度:[]>+&.
    7、異なるデータ型の数を比較する:最大範囲に変換して比較する.
    8、sizeofはc言語の演算子であり、関数ではない.
    char str[] = ”hello”;    sizeof(str)=6;sizeof(str[0])=1; strlen(str)=5;
    char *p = str;     sizeof(p)=4; sizeof(*p)=1;    strlen(p)=5;
    Int b[100]; sizeof(b)=400;
    注意:sizeof(配列名)の場合、このときの配列名は左も右もせず、純粋に配列名の意味です.
    9、
    class packet{
         int size;
         void data[0];
    }

    dataの役割は,パケット空間の連続性を維持することである.