1. <small id="kntrr"><delect id="kntrr"></delect></small>
    2. <sub id="kntrr"></sub>
        1. <form id="kntrr"><listing id="kntrr"></listing></form>
            江蘇省高校計算機等級考試命題研究院 江蘇省高校計算機等級考試輔導
            2010秋江蘇省計算機二級C考試試題

            絕密★ 啟用前

            2010年秋

            江蘇省高等學校非計算機專業學生

            計算機基礎知識和應用能力等級考試

            二級試卷

            試卷語種:C語言
















            一、選擇題(用答題卡答題,答案依次填在2130答題號內,10)

            21.以下關于C源程序的敘述中正確的是___(21)___    。

                A.注釋只能出現在程序的開始位置或語句后面

                B.一行中不能寫多條語句    

                C.一條語句可以分寫在多行中

                D.一個源程序只能保存在一個文件中

            22.C源程序中的命令#include#define是在___(22)___階段被處理的。

                A.預處理    B.編譯    C.連接    D.執行

            23.以下語句中有語法錯誤的是___(23)___

                A.printf("%d",0xAB);    B.printf("%f",3.45E2.5);

                C.printf("%d",037);     D.printf("%c",'\\');

            24.已有聲明"int x=5,y;float z=2;",以下表達式中語法正確的是_____(24)____    。

                A.y=x%z    B.x>0?y=x:y=-x    C.y=x/2=z    D.y=x=z/2

            25.已知字母AASCII碼是65,字母aASCII碼是97,變量c中存儲了一個大寫字母的編碼.若要求將c中大寫字母編碼轉換成對應小寫字母編碼,則以下表達式中不能實現該功能的是______(25)_____

                A.c=tolower(c)    B.c=c+32    C.c=c-'A'+'a'  D.c=(c+'A')&-'a'

            26.一元二次方程ax +bx+c=0有兩個相異實根的條件是a0b -4ac>0,以下選項中能正確表示該條件的C語言表達式是 ___(26)___    。

                A.a!=0,b*b-4*a*c>0     B.a!=0||b*b-4*a*c>0

                C.a && b*b-4*a*c>0     D.!a && b*b-4*a*c>0

            27.以下關于breakcontinue語句的敘述中正確的是 ___(27)______    。

              A.breakcontinue語句都可以出現在switch語句中  

              B.breakcontinue語句都可以出現在循環語句的循環體中

              C.在循環語句和switch語句之外允許出現breakcontinue語句

              D.執行循環語句中的breakcontinue語句都將立即終止循環

            28.若有一函數定義為"int f(int x,int *y){return x/*y;}",聲明該函數的正確形式是__(28)___ .

              A.void f(int,int);    B.int *f(int,int *); 

              C.int f(int *,int *); D.int f(int,int *);

            29.已知有聲明"char a[]="program",*p=a+1;",則執行以下語句不會輸出字符a的是      _____(29)______    .

                A.putchar(*p+4);                B.putchar(*(p+4));

                C.putchar(a[sizeof(a)-3]);      D.putchar(*(a+5));

            30.已有定義和聲明:

                struct student

                {int no;

                 char name[20];

                 struct{int year,month,day;}birth;

                } s;

                若要求將日期"19891112"保存到變量sbirth成員中,則能實現這一功能的程序段是____(30)____ 。

              A.year=1989;  month=11;day=12;

              B.s.year=1989;s.month=11;s.day=12;

              C.birth.year=1989;birth.month=11;birth.,day=12;

              D.s.birth.year=1989;s.birth.month=11;s.birth.day=12;

            二、填空題(將答案填寫在答題紙的相應答題號內,每個答案只占一行,30)

              基本概念

            1.若有聲明"double n;",則數學公式" "對應的C語言表達式正確形式是___(1)___  。

            2.已知有聲明"char ch;int a;",執行語句"scanf("%c%d",&ch,&a);"時如果從鍵盤輸入的數據是"123",則變量a得到的值是___(2)___    。

            3.若有聲明"int a=0,b=1,c=2;",執行語句"if(a>0&&++b>0)c++;else c--;",變量a、b、c的值分別___(3)___    。

            4.若有以下宏定義:

              #define M(a,b) -a/b

              則執行語句"printf("%d",M(4+3,2+1));"后輸出結果為___(4)___ 。

            5.聲明"FILE *p;"中的類型標識符"FILE"是在頭文件 ___(5)___中定義的。

              閱讀程序

            6.以下程序運行時輸出到屏幕的結果為___(6)___    。

              #include

              enum{A,B,C,D}x;

              void main()

              {char s[]="your";

                for(x=B;x<=D;x++)

                  putchar(s[x]);

              }

            7.以下程序運行時輸出到屏幕的結果是  (7)    。

              #include

              void main()

              {int s[12]={1,2,3,4,4,3,2,1,1,1,2,3},c[5]={0},i,j;

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

                {j=s[i];

                 c[j]++;

                }

                for(i=1;i<5;i++)

                  printf("%d",c[i]);

                }

             8.以下程序運行時輸出到屏幕的結果是___(8)___    。

                #include

                int fun(int x)

                {static int c,y;

                 if(c==0) y=1;

                 else y=y+x;

                 c++;

                 return y;

                }

                void main()

                {int i;

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

                   printf("%d",fun(2));

                }

            9.以下程序運行時輸出到屏幕的結果中第一行是___(9)___,第二行是___(10)___ 。

                #include

                void fun(int *a,int b)

                {while(b>0)

                 {*a+=b;

                  b--;

                 }

                }

                void main()

                {int x=0,y=3;

                 fun(&x,y);

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

                }

            10.以下程序運行時輸出到屏幕的結果是___(11)___

              #include

              int f(int x)

              { if(x==0||x==1)return 3;

                return x*x-f(x-2);

              }

              void main()

              {printf("%d\n",f(3));}

             

            国产在线精品一区二区三区不卡_亚洲第一极品精品无码_永久免费无码网站在线观看_亚洲av综合日韩