1. <tt id="5hhch"><source id="5hhch"></source></tt>
    1. <xmp id="5hhch"></xmp>

  2. <xmp id="5hhch"><rt id="5hhch"></rt></xmp>

    <rp id="5hhch"></rp>
        <dfn id="5hhch"></dfn>

      1. 9月計算機二級c語言基礎試題

        時間:2024-08-15 08:51:52 計算機等級 我要投稿
        • 相關推薦

        2017年9月計算機二級c語言基礎試題

          程序設計是給出解決特定問題程序的過程,是 軟件構造活動中的重要組成部分。下面是小編收集的關于計算機二級c語言基礎試題,希望大家認真閱讀!

        2017年9月計算機二級c語言基礎試題

          1.下面的代碼輸出什么?為什么?

          void foo(void)

          {

          unsigned int a = 6;

          int b = -20;

          (a+b > 6)?puts(“>6”):puts(“<=6”);

          }

          答案:輸出值”>6”

          解析:a+b在這里做了隱式的轉換,把int轉化為unsigned int.編譯器會把b當做一個很大的正數.

          2.下面的代碼有什么問題,為什么?

          void foo(void)

          {

          char string[10], str1[10];

          int i;

          for (i = 0; i < 10; i++) {

          str1[i] = 'a';

          }

          strcpy(string, str1);

          printf("%s\n", string);

          }

          答案:運行到strcpy的時候可能會產生內存異常

          解析:吟哦日str1沒有\0結束標志,所以數組后面存儲的可能不是\0,而是隨機數據,對于strcpy和printf這種需要\0判斷字符串結束的函數來說,出錯是必然的了.

          道理雖是如此,但是這段代碼我在windows和Linux下測試的結果不一樣,Linux下可以正常輸出10個a,windows下會出錯,使用的都是gcc的編譯器.

          3.下面的代碼,i和j的值分別是多少?為什么?

          static int j;

          int k = 0;

          void fun1(void)

          {

          static int i = 0;

          i++;

          }

          void fun2(void)

          {

          j = 0;

          j++;

          }

          int main(void)

          {

          for (k = 0; k < 10; k++) {

          fun1();

          fun2();

          }

          return 0;

          }

          答案:i=10,j=1

          解析:由于被static修飾的局部變量存儲在靜態區內,所以即使這個函數運行結束,這個靜態變量還是不會被銷毀,函數下次運行時還能使用這個值,靜態變量只被初始化一次,函數下次運行會直接跳過初始化,進行++操作.而j每次都被賦0.

          4.下面的代碼里,假設在32位系統下,各sizeof計算得結果分別是多少?

          int *p = NULL;

          sizeof(p)的值是

          sizeof(*p)的值是

          int a[100];

          sizeof(a)的值是

          sizeof(a[100])的值是

          sizeof(&a)的值是

          sizeof(&a[0])的值是

          int b[100];

          void fun(int b[100])

          {

          sizeof(b);

          }

          sizeof(b)的值是

          答案:4,4,400,4,4,4,4

          解析:沒什么好說的吧

          5.下面代碼的結果是多少?為什么?

          int main(void)

          {

          char a[1000];

          int i;

          for (i = 0; i < 1000; i++)

          a[i] = -1-i;

          printf("%d", strlen(a));

          return 0;

          }

          答案:255

          解析:基本上算是個”輪回”的問題,strlen遇到a[i]=0的時候就終止了,現在的問題變成循環多少次a[i]=0了,那么就使用補碼來計算到底多少次之后char會溢出為0,我的回答是一個輪回,也就是256次,那么strlen不包含0的位置,那么長度就是255了.

        【9月計算機二級c語言基礎試題】相關文章:

        2016年9月計算機二級C語言試題題庫07-02

        9月計算機二級C語言測試題及答案08-20

        3月計算機二級c語言模擬試題10-30

        2017年9月計算機二級c語言筆試試題09-08

        2017年9月計算機二級考試C語言考試試題06-30

        下半年計算機二級c語言基礎試題07-31

        2016年9月計算機二級C語言考試上機沖刺試題及答案09-30

        2017年9月計算機二級C語言檢測試題及答案07-30

        2016年9月計算機二級c語言題庫09-24

        2017年計算機二級C語言基礎考試試題10-05

        国产高潮无套免费视频_久久九九兔免费精品6_99精品热6080YY久久_国产91久久久久久无码

        1. <tt id="5hhch"><source id="5hhch"></source></tt>
          1. <xmp id="5hhch"></xmp>

        2. <xmp id="5hhch"><rt id="5hhch"></rt></xmp>

          <rp id="5hhch"></rp>
              <dfn id="5hhch"></dfn>