Jeffの間違い集(七):ブラシ、ブラシ


問題1:1組の記録のソートコードは(46,79,56,38,40,84)、1回のソートの結果は(40,38,46,56,79,84)であり、()ソートアルゴリズムを採用する.Aオプションバブルアルゴリズム:隣接する要素を2つ比較して、1つの要素が右側の隣接する要素の交換位置より大きくて、さもなくば位置は変わらない.1回のソート:46,56,38,40,79,84 Bオプションを直接挿入します.すべての要素が挿入されるまで、ステップごとにソートされるレコードを前に並べられた順序のシーケンスに挿入します.1回のソート:38,40,46,79,56,84 Cオプション高速:基準要素より大きいものを右に、基準要素より小さいものを左に、分割できないまで2つの部分に分割します.ソースデータの最初の要素46を基準として、leftとrightの2つのポインタが配列の左端と右端を指し、右ポインタから始まり、基準要素以上であればポインタは左に移動し、基準要素未満であれば停止する.ステアリングleftポインタは右に移動し、基準要素以下であれば右に移動し続け、基準要素以上であれば停止します.2つのポインタ要素を交換した後、右のポインタは上記の操作を比較し続け、最後に基準要素と2つのポインタが要素交換位置を繰り返すまで続けます.1回目のソートが終了すると以下のソートが得られるので、Cは正しい.1つの配列を40,38,46,56,79,84 Dオプション2-ルート集計:1つの配列を2つの配列に分け、それぞれ2つの配列をソートし、分割された「小さな配列」が1つの要素だけを含むまで、最初のステップをループします.1つの要素の配列はデフォルトでは、1つの配列がソートされています.38,40,84合併問題2 ABCDEF 6都市、各都市は他のすべての都市と直接つながっています.A-Bから何種類の接続方式があるかを聞いて、経路は2つの都市の間で往復することができません.0都市到着B 1*(4321)+4*(321)+4*3/2*2+4+1=24+24+12+4+1=65題3:以下のオプションでC言語プログラム演算子に属していないのは?正解:Bあなたの答え:A(間違い)sizeof<>()&&解答:Cの演算子は以下の種類があります:1.演算子:-+/2.リレーショナル演算子:><=!=>=<=3.論理演算子:!&|,,4.ビット演算子:<>~|^&5.代入演算子:=および拡張代入演算子6.条件演算子:?7.カンマ演算子:,8.ポインタ演算子:*と&9.バイト数演算子を求める:sizeof 10.強制タイプ変換演算子:(タイプ)11.コンポーネント演算子:->12.下付き演算子:[]13.その他:関数呼び出し演算子のように:()注意:条件演算子はC言語で唯一の三目(三元)演算子問題4:DFSで無環有向図を遍歴し、DFSアルゴリズムがスタックを返したときに対応する頂点を印刷すると、出力される頂点シーケンスは()です.问题5:enum string{x 1,x 2,x 3=10,x 4,x 5,}x;関数外部アクセスxは何に等しいですか?正解:Cあなたの答え:B(エラー)5 12 0ランダム値解答:列挙変数がグローバル変数の場合、列挙値のデフォルト値は0で、列挙の最初の値ではありません.その他の場合、その値は不定であり、リストされた列挙値問題6に限定されない:struct st{int*p;int i;char a;};int sz=sizeof(struct st); 以下のCプログラムで、64ビットプロセッサで実行した後のszの値は何ですか?回答:Cあなたの答え:F(间违い)24 20 16 14 13解答:考点:1.structの位置合わせの原則は、コンパイラによって異なる効果があることに注意してください.2.32ビットと64ビットで異なるデータ型が占めるバイトの違い32ビットコンパイラ:
  char :1   
   char*(     ): 4   (32       2^32,  32 bit,   4   。  64    )
  short int : 2   
  int: 4   
  unsigned int : 4   
  float: 4   
  double: 8   
  long: 4   
  long long: 8   
  unsigned long: 4   

64ビットコンパイラ:
  char :1   
  char*(     ): 8   
  short int : 2   
 int: 4   
  unsigned int : 4   
  float: 4   
  double: 8   
  long: 8   
  long long: 8   
  unsigned long: 8   

ここでポインタはまず8バイトを占有します.intは4バイトを占有し、要求を満たすには補完しないで、charは1バイトを占有し、同時に総バイト数は8の倍数である16を満たさなければならない.