首页 → 名言 → 格言演讲
c語言經典筆試題 c語言筆試題及答案解析
日期:2023-03-16 20:51:44    编辑:网络投稿    来源:网络资源
c語言常見筆試題總結  引導語:C語言之所以命名為C,是因為 C語言源自Ken Thompson發明的B語言,而 B語言則源自BCPL語言。以下是小編整理的c語言常見筆試題總結,歡迎參考閱讀! 
为你推荐:
  • 圣誕節的早安心語
  • c語言常見筆試題總結

      引導語:C語言之所以命名為C,是因為 C語言源自Ken Thompson發明的B語言,而 B語言則源自BCPL語言。以下是小編整理的c語言常見筆試題總結,歡迎參考閱讀!

    c語言常見筆試題總結

      【1 使用宏】

      1.1 #error的作用?

      #error用于向編譯器報錯,并輸出它后面帶的錯誤信息。例如:

      #ifndef SOMETHING

      #error SOMETHING not defined!

      #endif

      如果在這段代碼之前未定義過SOMETHING,則在編譯時出錯,并給出"SOMETHING not defined!"的錯誤信息。

      1.2 定義一個宏,求出給定數組中的元素的個數 #define NELEMENTS(array) (sizeof(array) / sizeof((array)[0]))

      【2 數據聲明和定義】

      給定以下類型的變量a的定義式:

      a) An integer

      int a;

      b) A pointer to an integer

      int *a;

      c) A pointer to a pointer to an integer

      int **a;

      d) An array of 10 integers

      int a[10];

      e) An array of 10 pointers to integers

      int *a[10];

      f) A pointer to an array of 10 integers

      int (*a)[10];

      g) A pointer to a function that takes an integer as an argument and returns an integer int (*a)(int );

      h) An array of ten pointers to functions that take an integer argument and return an integer int (*a[10] ) (int );

      【3 復雜類型(1)】

      有如下表達式:

      char (*(*x())[])();

      請用文字描述x是什么。 首先,確定標識符:x

      x是一個函數,沒有參數:x()

      返回值是一個指針:*x()

      這個指針指向一個數組:(*x())[]

      數組中的每個元素是指針:*(*x())[]

      指向一個不帶參數的函數:(*(*x())[])()

      函數的返回值是char:char (*(*x())[])()

      這里,要知道*、()和[]的優先級

      【5 頭文件】

      問:為什么標準頭文件都有類似以下的結構?

      #ifndef __INCvxWorksh

      #define __INCvxWorksh #ifdef __cplusplus extern "C" { #endif /*...*/ #ifdef __cplusplus } #endif #endif

      在編譯源文件時,C編譯器和C++編譯器都會對符號(函數或變量)名作某些修正,但兩者采用的修正方法不同,所以兩者生成的目標文件不能互相鏈接。在C+ +中使用extern "C"可以讓C++符號獲得C鏈接特性。由于C++編譯器會自動定義__cplusplus宏,所以在C語言頭文件中采用這種結構可以保證無論使用何種編譯器,生成的.目標文件都具有C鏈接特性,能夠與標準C編譯器所生成的目標文件相鏈接

      【6 static關鍵字】

      請說出static關鍵字的3種用處:

      (1)用于全局變量;外部靜態變量,只能在本源文件中被引用,不能被其它源文件所引用。

      (2)用于局部變量;局部靜態變量,在函數返回后存儲單元不釋放;下一次調用該函數時,該變量為上次函數返回時的值。

      (3)用于函數。內部函數,只能被本源文件中的函數所調用,不能被其它源文件調用。 /* file.c */

      static int a;

      int b;

      static int fn()

      {

      static int x;

      int y;

      }

      【7 const關鍵字】

      7.1 const關鍵字的意義是什么?

      7.2 解釋以下的變量定義: const int a1; a1是整型常量。

      int const a2; a2是整型常量。等同于const int a2。

      const int *a3; a3是指針(a3是可變的),指向一個整型常量。等同于int const *a3。 int * const a4; a4是常量指針(a4不可變),指向一個整型變量。

      int const * const a5; a5是常量指針(a5不可變),指向一個整型常量。等同于const int * const a5。

      【8 volatile關鍵字】

      8.1 volatile意義?

      volatile int *p;

      8.2 volatile能和const一起使用嗎?

      const關鍵字的意思是限制編程者自己不能修改變量的值;兩者并不矛盾。

      例如一個內存映射的、只讀的硬件寄存器,假設它的地址是p,則可以這樣聲明:

      volatile const UINT32 *p;

    【c語言常見筆試題總結】相關文章:

    C語言入門常見錯誤09-30

    C語言試題(精選)10-08

    C語言試題大全10-08

    C語言試題訓練10-08

    標準c語言筆試題10-08

    c語言經典筆試題10-08

    C語言面試筆試題02-11

    C語言練習測試試題10-08

    C語言自我檢測試題10-08

    这里有更多你想看的
  • 簡單的短句
    • 本类最新
    • 精品图文
    • 时尚
    • 新闻
    • 生活
    • 视觉
    • 微爱
      栏目ID=88的表不存在(操作类型=0)

    头条推荐

    热门推荐

    特别推荐

    返回顶部