亚洲欧洲国产欧美一区精品,激情五月亚洲色五月,最新精品国偷自产在线婷婷,欧美婷婷丁香五月天社区

      自考

      各地資訊
      當前位置:華課網(wǎng)校 >> 自考 >> 模擬試題 >> 工學類 >> C語言程序設計 >> 文章內容

      排行熱點

      自學考試《C語言程序設計》試題及答案_第3頁

      來源:華課網(wǎng)校  [2017年1月31日]  【

        【2.51】下面程序的輸出結果是____。

        #include

        main( )

        { int a=1,*p,**pp;

        pp=&p;

        p=&a;

        a++;

        printf ("%d,%d,%d\n", a,*p, **pp);

        }

        A) 2,1,1 B) 2,1,2 C) 2,2,2 D) 程序有錯誤

        【2.52】下面程序的輸出結果是____。

        main()

        { char *alpha[7]={"ABCD","EFGH","IJKL","MNOP","QRST","UVWX","YZ"};

        char **p;

        int i;

        p=alpha;

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

        printf("%c",*(p[i]));

        printf("\n");

        }

        A) AEIM B) BFJN C) ABCD D) DHLP

        【2.53】下面程序的輸出結果是____。

        #include

        char *pp[2][3]={ "abc", "defgh", "ijkl", "mnopqr", "stuvw", "xyz"};

        main ( )

        { printf("%c\n",***(pp+1)); /* ① */

        printf("%c\n",**pp[0]); /* ② */

        printf("%c\n",(*(*(pp+1)+1))[4]); /* ③ */

        printf("%c\n",*(pp[1][2]+2)); /* ④ */

        printf("%s\n",**(pp+1)); /* ⑤ */

        }

       、 A) a B) d C) i D) m

        ② A) a B) d C) i D) m

       、 A) h B) l C) q D) w

       、 A) k B) o C) u D) z

        ⑤ A) ijkl B) mnopqr C) stuvw D) xyz

        【2.54】下面程序的輸出結果是____。

        #include "stdio.h"

        struct str1

        { char c[5];

        char *s;

        };

        main( )

        { struct str1 s1[2]={ {"ABCD""EFGH"},{"IJK","LMN"} };

        struct str2

        { struct str1 sr;

        int d;

        }s2={"OPQ","RST",32767};

        struct str1 *p[2];

        p[0]=&s1[0];

        p[1]=&s1[1];

        printf("%s",++p[1]->s); /* ① */

        printf("%c",s2.sr.c[2]); /* ② */

        }

       、 A) LMN B) MN C) N D) IJK

       、 A) O B) P C) Q D) R

        【2.55】以下程序的輸出結果是____。

        struct st

        { int x,*y;

        }*p;

        int s[]={10,20,30,40};

        struct st a[]={1,&s[0],2,&s[1],3,&s[2],4,&s[3]};

        main()

        { p=a;

        printf("%d\n",++(*(++p)->y));

        }

        A) 10 B) 11 C) 20 D) 21

        【2.56】以下程序的輸出結果是____。

        #include

        main()

        { union EXAMPLE

        { struct

        { int x,y;

        }in;

        int a,b;

        }e;

        e.a=1;e.b=2;

        e.in.x=e.a*e.b;

        e.in.y=e.a+e.b;

        printf("%d,%d\n",e.in.x,e.in.y);

        }

        A) 2,3 B) 4,4 C) 4,8 D) 8,8

        【2.57】下面程序的輸出結果是____。

        #include

        main()

        { union

        { int i[2];

        long k;

        char c[4];

        }r,*s=&r;

        s->i[0]=0x39;

        s->i[1]=0x38;

        printf("%c\n",s->c[0]);

        }

        A) 39 B) 9 C) 38 D) 8

        【2.58】下面程序的輸出是 。

        main ( )

        { printf("%d\n", EOF);

        }

        A) -1 B) 0 C) 1 D) 程序是錯誤的

        【閱讀程序題參考答案】

        【2.1】參考答案:D

        注釋:程序中除法運算的兩個操作數(shù)均是整型,運算結果也是整型。

        【2.2】參考答案:B

        注釋:C語言允許在程序塊(分程序)中說明變量。

        【2.3】參考答案:C

        注釋:變量i中的負號傳送給變量n后,因n是無符號數(shù),已不作為負號處理。

        【2.4】參考答案:D

        注釋:對變量x的――操作是后綴形式,變量x的減1操作要在執(zhí)行完 printf函數(shù)之后才進行,所以變量x的值在輸出的時候仍然保持原值10。

        【2.5】參考答案:B

        注釋:C語言在執(zhí)行printf()時,對函數(shù)中的表達式表列的處理順序是從后向前,即先處理n- -,再處理n++,最后處理n,而且每一個表達式作為一個處理單元,也就是說在不同的表達式中自增自減運算是單獨考慮的。

        【2.6】參考答案:A

        注釋:變量x和變量y做按位與,結果為0x0200,右移4位為0x0020,再與0x005f做按位或,最后結果為0x007f。

        【2.7】參考答案:A

        注釋:逗號表達式的結果是用逗號分開的最后一個表達式的值,此題由于 c=='A'的值是0,所以逗號表達式的值為0。

        【2.8】參考答案: B

        【2.9】參考答案: A

        【2.10】參考答案: C

        注釋:在輸出格式描述"%m.ns"中,m是輸出總長度,n是實際字符的個數(shù),這里m沒有給出,則輸出總長度就是實際輸出字符的個數(shù)。

        【2.11】參考答案: C

        【2.12】參考答案:B

        【2.13】參考答案:C

        【2.14】參考答案:B

        【2.15】參考答案:D

        【2.16】參考答案:A

        【2.17】參考答案: C

        【2.18】參考答案:A

        【2.19】參考答案: C

        注釋:在switch語句中,case本身僅起到語句標號的作用,不會改變語句的流程,執(zhí)行break語句才能退出當前的switch語句。

        【2.20】參考答案: D

        注釋:siwtch語句的表達式中,變量c是后綴的增一運算,第一次執(zhí)行do-while循環(huán)時,執(zhí)行case 'A'后面的語句。

        【2.21】參考答案: D

        【2.22】參考答案: B

        【2.23】參考答案: B

        注釋:fabs()是浮點數(shù)絕對值函數(shù)。

        【2.24】參考答案: A

        【2.25】參考答案: C

        注釋:C語言允許在程序塊(分程序)內說明變量,如果在程序塊內說明的變量和程序塊外的變量同名,在塊外說明的變量在塊內是不可見的。可將此題和【2.11】進行比較,加深理解。

        【2.26】參考答案: C

        【2.27】參考答案: B

        【2.28】參考答案: ① D ② A

        【2.29】參考答案:D

        【2.30】參考答案: B

        注釋:輸出結果為字符串長度。

        【2.31】參考答案: D

        注釋:字符串拷貝函數(shù)strcpy()要求的兩個參數(shù)都是字符串首地址。本題中第二個參數(shù)是字符串常量,接受這個字符串的第一個參量不是直接給出字符數(shù)組名,而是進行了地址運算后的結果。由于str字符串的長度是13,除2取整后是6,第一個參數(shù)給出的地址是字符數(shù)組str的首地址加6,也就是原來字符串中第二個空格的位置,把"es she"從該處放入,字符串str變?yōu)?How does she"。

        【2.32】參考答案: C

        注釋:main函數(shù)調用func函數(shù)時,第一個實參使用的是逗號表達式的值,也就是x+y的結果。由于對變量x、y、z進行的是后綴運算,所以函數(shù)func的參數(shù)值是13和8。

        【2.33】參考答案: C

        【2.34】參考答案: ① C ② A ③ C

        【2.35】參考答案: C

        【2.36】參考答案: B

        注釋:函數(shù)fun進行了遞歸調用,實際進行的運算是5×4×3×2×1×3×10。主函數(shù)內說明的局部變量w屏蔽了外部變量w,所以在主函數(shù)中外部變量w是不可見的,在調用printf函數(shù)時表達式"fun(5)*w"中w的值是10。

        【2.37】參考答案: D

        注釋:main函數(shù)三次調用了函數(shù)funa,在funa函數(shù)中的靜態(tài)變量c僅在第一次調用時進行了初始化,再次調用時不再對靜態(tài)變量賦初值。

        【2.38】參考答案: B

        注釋:main函數(shù)和num函數(shù)中都說明了變量a和b,由于它們是內部變量,所以它們分別在說明它們的函數(shù)內有效。外部變量x和y在函數(shù)num之后被說明,而在num函數(shù)中又要引用它們,所以在num函數(shù)中用關鍵字"extern"說明變量x和y是一個外部變量,也就是通知計算機這兩個變量在fun函數(shù)以外被說明,此處不是定義兩個int型變量。

        【2.39】參考答案: D

        注釋:函數(shù)f中的變量c是靜態(tài)變量,僅在第一次調用函數(shù)f時它被初始化為3,第二次調用函數(shù)f時c的值是4,第三次調用函數(shù)f時c的值是5。

        【2.40】參考答案: D

        【2.41】參考答案: D

        注釋:程序中有三個"x"分別在三個不同的函數(shù)中,這三個"x"都是自動變量,所以三個"x"分別局部于三不同的函數(shù),在三個函數(shù)中對"x"的操作互不影響。

        【2.42】參考答案: A

        【2.43】參考答案: A

        注釋:*(++p)和*++p都是指針變量值前加1,第一次指向a[1],第二次指向a[2];a+3是a[3]的地址。

        【2.44】參考答案: C

        注釋:②句沒有語法錯誤,但是a+6指向數(shù)組之外,因為a是a[0]的地址,a+1是a[1]的地址,a+2是a[2]的地址,顯然數(shù)組a沒有a[6]分量。③句錯誤,因為a[1]是地址常量,它是a[1][0]的地址,對于地址常量是不可以進行賦值運算的。

        【2.45】參考答案: ① D ② A

        注釋:如果FMT定義為"%x\n",則輸出的16進制數(shù)據(jù)用小寫字母表示。

        【2.46】參考答案: A

        注釋:語句"p=&a[0]"表示將數(shù)組a中元素a[0]的地址賦給指針變量p,則p就是指向數(shù)組首元素a[0]的指針變量,"&a[0]"是取數(shù)組首元素的地址。對于指向數(shù)組首址的指針,p+i(或a+i)是數(shù)組元素a[i]的地址,*(p+i)(或*(a+i))就是a[i]的值。

        【2.47】參考答案: B

        【2.48】參考答案: D

        【2.49】參考答案: D

        【2.50】參考答案: A

        注釋:變量g是指向函數(shù)的指針,(*g)(a,b)是調用指針g所指向的函數(shù)。

        【2.51】參考答案: C

        注釋:p是指針,pp是指向指針的指針。

        【2.52】參考答案: A

        注釋:對于指向數(shù)組的指針變量可以做下標運算,p[i]和alpha[i]都是指向字符串的首地址,*p[i]取出字符串的第一個字符。

        【2.53】參考答案: ① D ② A ③ D ④ D ⑤ B

        注釋:pp是一個二維指針數(shù)組,pp+1指向數(shù)組的第二維,*(pp+1)是第二維的起始地址,**(pp+1)是第二維第一個元素的地址,***(pp+1)是第二維第一個元素的內容,所以,①的參考答案應選D。*(pp+1)+1是第二維第二個元素的地址,*(*(pp+1)+1)是第二維第二個元素,(*(*(pp+1)+1))[4]則是第二維第二個元素所指字符串下標為4的元素,即是字符w,故③應當選D。

        【2.54】參考答案: ① B ② C

        【2.55】參考答案:D

        【2.56】參考答案:C

        注釋:聯(lián)合體成員的取值是最后一次給成員賦的值。

        【2.57】參考答案: B

        注釋:整型數(shù)組i和字符數(shù)組c共用存儲空間,給i賦值也等于給c賦值,所以s->c[0]=0x39,所以輸出9。

        【2.58】參考答案:A

        注釋:基本概念。EOF是由C語言在頭文件stdio.h中定義的,用戶可以直接使用。

      首頁 1 2 3 尾頁
      責編:zhangjing0102