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

                2009秋季C語言筆試試卷

              第一部分:計算機基礎知識

             1.下列關于個人移動通信的敘述中,錯誤的是____

              A.1代個人移動通信(簡稱1G)采用的通信技術是數字通信技術

              B.目前廣泛使用的GSM手機采用的通信技術屬于第2代移動通信技術(簡稱2G)

              c.3代移動通信技術(簡稱3G)將無線通信與互聯網、多媒體通信相結合

              D.3G有多個國際技術標準,其中也有我國自主制定的3G技術標準。   

              2.在下列有關集成電路的敘述中,正確的是2。

              A.現代集成電路所使用的半導體材料都是硅

              B.所有的集成電路都是數字集成電路

              C.Moore定律認為單塊集成電路的集成度平均每年翻一番

              D.Intel公司微處理器產品Core 2 Duo,其集成度已高達數千萬個電子元件

              3.與十六進制數AB等值的八進制數是3  。

              A. 253    B.254    C.171   D.172

              4.在下列有關PCCPU的敘述中,錯誤的是4。

              A.CPU中包含幾十個甚至上百個寄存器,用來臨時存放數據、指令和控制信息

              B.所有PC機的CPU都具有相同的指令系統,因而PC機可使用相同的軟件

              C.一臺計算機至少包含1CPU,也可以包含2個、4個、8個甚至更多個CPU

              D.Intel公司是國際上研制和生產CPU的主要公司,我國也能生產CPU

              5.在下列有關PC機主板上部件的敘述中,錯誤的是5  。

              A.BIOS保存在主板上的一個閃存中,其內容在關機后通常不會改變

              B.CMOS中保存有用戶設置的開機口令,關機后主板上的電池繼續給CMOS供電

              C.啟動CMOS設置程序可以重新設置CMOS中的數據,該程序是BIOS的組成部分

              D.網卡通常集成在主板上,由主板上獨立的IC實現其功能,與芯片組無關

              6.PC機存儲器的層次結構來看,下列存儲器中存取速度最快的是6  。

              A.Cache存儲器  B.RAMROM  C.寄存器  D.硬盤和優盤

              7.在下列4PC機常用I/O接口中,數據傳輸速率最高的是7。

              A.PS/2    B.SATA    C.IEEE-1394b D.USB 2.0

              8.在下列有關I/O操作、I/O總線和I/O接口的敘述中,錯誤的是8。

              A.I/O操作的任務是在I/O設備與內存的指定區域之間傳送信息

              B.I/O總線傳送的只能是數據信號,它不能傳送控制信號和地址信號

              C.不同類型的I/O接口,其插頭/插座以及相應的通信規程和電氣特性通常各不相同

              D.并行總線的數據傳輸速率不一定比串行總線高

              9.在下列有關PCI/0設備的敘述中,錯誤的是9。

              A.數碼相機的成像芯片可以為CCD器件或CMOS芯片,目前大多數用CCD器件

              B.平板式掃描儀的分辨率通常遠遠高于膠片掃描儀和滾筒式掃描儀

              C.常見的寬屏液晶顯示器的寬度與高度之比為16:9(16:10)

              D.目前在銀行、超市等商業部門一般采用針式打印機來打印存折和票據

              10.在下列有關計算機軟件的敘述中,錯誤的是10  。

              A.程序設計語言處理系統和數據庫管理系統被歸類為系統軟件

              B.共享軟件是一種具有版權的軟件,它允許用戶買前免費試用

              C.機器語言和匯編語言與特定的計算機類型有關,取決于CPU

              D.目前PC機只能使用Windows系列操作系統,均不能使用UNIXLinux操作系統

              11.在下列常用的PC機軟件中,編輯的文檔(內容)能直接保存為圖片類型(例如JPEG

            文件類型)的是11  。

                A.Microsoft Word        B.Microsoft Excel

                C.Microsoft PowerPoint  D.Microsoft FrontPage

                12.在下列關于以太網(局域網)的敘述中,錯誤的是12。

                A.在共享式以太網中,任何時間只允許一對計算機進行通信

                B.在交換式以太網中,每臺計算機均獨享相同的帶寬,其帶寬僅由交換機決定

                c.無論是共享式以太網還是交換式以太網,網絡中的所有計算機都要安裝以太網網卡

                D.無論是共享式以太網還是交換式以太網,它們的數據幀和MAC地址格式均相同

                13.連接在因特網上的每一臺主機都有一個IP地址。下面不能作為IP地址的是13  。

                A.211.256.49.68 B.21.18.33.48  C.120.34.0.18 D.37.251.68.0

                14.為了將異構的計算機網絡互相連接起來,必須使用的網絡設備是14  。

                A.調制解調器    B.以太網集線器  c.以太網交換機  D.路由器

                15.下列網絡協議中,與發送電子郵件有關的是15  。

                A.Http    B.FTP    C.SMTP D.TELNET

                16.在下列有關字符集及其編碼的敘述中,錯誤的是16  。

                A.基本的ASCII字符集共有128個字符,每個字符使用7個二進位進行編碼

                B.GB2312字符集中收錄了6千多個漢字,每個字符在機內通常使用雙字節編碼

                C.GBK字符集中的字符也采用雙字節編碼,且該字符集收錄了部分繁體漢字

                D.GB18030字符集中所有的字符均采用4字節編碼,因此該字符集的代碼空間很大

                17.目前數碼相機拍攝的照片在保存時通常采用的文件類型是17  。

                A.BMP    B.GIF    C.JPEG D.TIF

                18.MP3是數字波形聲音的一種壓縮編碼文件格式,它采用的壓縮編碼標準屬于18  。

                A.MPEG-1    B.MPEG-2    C.MPEG-4 D.Dolbv AC-3

                19.使用Macromedia公司的Flash軟件制作的動畫是一種矢量圖形,在保存為動畫文件

            時其文件擴展名通常為19  。

              A.GIF    B.SWF    C.AVI D.MPG    。

                20.在計算機應用中,CADCAM是典型的信息系統。它們屬于20  。

              A.管理業務系統    B.輔助技術系統

              c.信息檢索系統    D.信息分析系統

             

                第二部分C語言程序設計

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

              21.以下敘述中正確的是21  。

              A.C語言系統以函數為單位編譯源程序

              B.main函數必須放在程序開始

              C.用戶定義的函數可以被一個或多個函數調用任意多次

              D.在一個函數體內可以定義另外一個函數

              22.以下選項中,不能用作c語言標識符的是 22

              A.print    B.FOR    C.&a D._00

              23.已知int類型數據在內存中存儲長度為2個字節,以下語句中能正確輸出整數32768

            的是23。

              A.printf("%d",32768);    B.printf("%ld",32768);

              C.printf("%f",32768);     D.printf("%c",32768);

              24.已知有聲明"int a=3,b=4,c=5;",以下表達式中值為0的是24  。

              A.a&&b    B.a<=b    C.a||b&&c   D.!(!c||1)

              25.已知有聲明"long x,y;"x中整數的十進制表示有n位數字(4<n<10),若要求去

            掉整數x十進制表示中的最高位,用剩下的數字組成一個新的整數并保存到y,則以下表達

            式中能正確實現這一功能的是25  。

              A.y=x/(10*(n-1))        B.y=x%(10*(n-1))

              C.y=x%(long)pow(10,n-1) D.y=x%(10^(n-1))

              26.已知有聲明"int x,y;",若要求編寫一段程序實現"x大于等于0y取值1,否則Y

            取值-1",則以下程序段中錯誤的是___26___。

                A.if(x>=0) y=1;else y=-1;    B.y=x>=0?1:-1;

                C.switch()                   D.switch(x-abs(x))

                   {  case x>=0: y=1;break;     {  case 0:y=1;break;

                       default:y=-1;               default:y=-1;

                   }                            }

                27.已知有聲明"int m[]={5,4,3,2,1},i=0;",下列對m數組元素的引用中,錯誤

            ___27___。

                A.m[++i]    B.m[5]    C.m[2*2]  D.m[m[4]]

                28•已知有聲明"char s[80];",若需要將鍵盤輸入的一個不含空格的字符串保存到

            組中,則下列語句中正確的是28  。

              A.scanf("%s",s);    B.scanf("%s",s[0]);

              C.s=gets();         D.s=getchar();

              29.若函數調用時的實參為變量,則以下關于函數形參和實參的敘述中正確的是29

              A.實參和其對應的形參占用同一存儲單元

              B.形參不占用存儲單元

              C.同名的實參和形參占用同一存儲單元

              D.形參和實參占用不同的存儲單元    ,

              30.已知有聲明"int i,a[10],*p=a;",現需要將1--l0保存到a[0]--a[9],以下程

            序段中不能實現這一功能的是30  。

              A.for(i=0;i<10;i++) a[i]=i+1;  B.for(i=0;i<10;i++) p[i]=i+1;

              C.i=1;while(p<a+10)  *p++=i++; D.i=1;while(p<a+10) *a++=i++;

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

              ●基本概念

              1.C語言中有!、&&、||三個邏輯運算符,其中優先級高于算術運算符的是  (1)  。

              2.若有聲明"int r=2;",則執行語句"printf("%d",sizeof(2*3.14*r));"時輸

              (2)  。

              3.數學表達式 所對應的C語言表達式為  (3)  。

              4.若有以下聲明:

                char *p="%d,%d\n";int a=1,b=2;

                則執行語句"printf(p,a,b);"時輸出(4)  。

              5.聲明局部變量時若缺省存儲類別,該變量的存儲類別是(5)  。

              ●閱讀程序

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

                #include<stdio.h>

                void main()

                {FILE *fp;

                 int k,n,a[6]={1,2,3,4,5,6};

                 fp=fopen("d2.dat","w");   

                 fprintf(fp,"%d%d%d\n",a[0],a[1],a[2]); 

                 fprintf(fp,"%d%d%d\n",a[3],a[4],a[5]);

                 fclose(fp);

                 fp=fopen("d2.dat","r");

                 fscanf(fp,"%d%d",&k,&n);

                 printf("%d,%d\n",k,n);

                 fclose(fp);

                }

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

                #include<stdio.h>

                void main()

                {int i=1,m=0;

                switch(i)

                 {  case 1:

                    case 2:  m++;

                    case 3:  m++;

                }

                printf("%d",m);

                }‘

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

                #include<stdio.h>

                void fun(int a[],int b[],int *x)

                {  int i,j=0;

                   for(i=0;a[i];i++)

                   {if(i%2==0)continue;

                    if(a[i]>10)

                      b[j++]=a[i];

                   }

                  *x=j;

                }

                void main()

                {int a[10]={3,15,32,23,11,4,5,9},b[10];

                 int i=0,x=0;

                 fun(a,b,&x);

                 for(i=0:i<x;i++)

                  printf("%d\t",b[i]);

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

                }

             

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

                #include<stdio.h> 

                int fun(int *x,int n)

                {if(n==0) return x[0];

                 else return x[0]+fun(x+1,n-1);

                }

                void main()

                {int a[ ]={1,2,3,4,5,6,7};

                printf("%d\n",fun(a,2));

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

                #include<stdio.h>

                long f(int n)

                {static long s;

                if(n==1) return s=2;

                else return ++s;

                }

                void main()

                {long i,sum=0;

                 for(i=1;i<4;i++,) sum+=f(i);

                 printf("%ld",sum);

                }

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

                #include、<stdio.h>

                #define f(x,y) y=x*x

                void g(int x,int y)

                {    y=x*x;    }

                void main()

                {  int a=2,b=0,c=2,d=0;

                   f(a,b);

                   g(c,d);

                   printf("%d\n%d",b,d);

                }

            12.以下程序運行時輸出到屏幕的結果中第一行是  (14)  ,第三行是  (15)  。

                #include<stdio.h>

                void main()

                {  int a[3][3]={{3,8,12},{4,7,10},{2,5,11}},i,j,k,t;

                for(j=0;j<3;j++)

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

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

                      if(a[i][J]>a[i+1][j]) 

                        t=a[i][j],a[i][j]=a[i+1][j],a[i+1][j]=t;

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

                {for(j=0;j<3;j++)

                  printf("%3d",a[i][j]);

                printf("\n");  

                }

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

                #include<stdio.h>

                #include<string.h>

                void main()

                {  int i=0,n=0;char s[80],*p;

                   strcpy(s,"It is a book.");

                   for(p=s;p!='\0';p++)

                     if(*p==' ')

                      i=0;

                     else

                       if(i==0)

                        {n++;i=1;  }

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

                }

            14.以下程序運行時輸_出到屏幕的結果第一行是  (17)  ,第二行是  (18)  。

                #include<stdio.h>

                typedef struct fact

                {  int m,z;

                }FACT;

                FACT fun1(FACT t1,FACT t2)

                {FACT t3;

                 t3.m=t1.m*t2.m ;

                 t3.z=t1.z*t2.m+t2.z*t1.m;

                 retum t3;

                }

                FACT fun2(FACT t)

                {int m,n,k;   

                 m=t.m;

                 n=t.z;

                 while(k=m%n)

                {  m=n;n=k;  }

                t.m=t.m/n;

                t.z=t.z/n;

                return t;

                }

                void main()

                {FACT s,s1={8,4},s2={6,5};

                 s=fun1(sl,s2);

                 printf("%d,%d\n",s.z,s.m);

                 s=fun2(s);

                 printf("%d,%d",s.z,s.m);

                }

                完善程序

                15.以下程序求方程的一個近似根。root函數采用二分法計算并返回方程f(x)=0[a,b]內的一個近似根,main函數調用root函數求方程cos(x)=0[0,3.14]內的一個近似根。

            試完善程序以達到要求的功能。

                #include<stdio.h>

                #include<math.h>

                double root(double a,double b,double(*f)(double))

                {double x,y;

                 if((19))

                  {printf("There is no root between%f and%f",a,b);

                   return 0;

                  }

                do

                { x=( 20 );

                  y=f(x);

                  if(fabs(y)<1e-6||fabs(b-a)<le-6) break;

                  if((21)<0)b=x;

                  else a=x;

                }while(1);

                return x;

                }

                void main()

                {printf("\n x=%f",root(0,3.14,(22));

              16.以下程序在3-50范圍內驗證:大于等于3的兩個相鄰素數的平方之間至少有4

            素數。例如,35是相鄰素數,3^25^2之間有素數11、13、17、19、23。試完善程序以達到要

            的功能。

                #include<stdio.h>

                #include<stdlib.h)

                #include<math.h>

                int prime(int n)

                {int i;

                 for(i=2;i<=sqrt(n);i++)

                   if((23)) return 0;

                 return 1;

                }

                void main()

                {int i,j,k=0,m,n,c,a[30]={0};

                for(i=3;i<50;i++)

                  if(prime(i)) (24)  ;

                for(i=0;i<k-1;i++)

                {  m=a[i]*a[i];

                   n=a[i+1]*a[i+1];

                   c=  (25)  ;

                   for(j=m+1;j<n;j++)

                    if((26)) c++:

                   if(c>=4)

                     printf("\n  %d*%d-%d*%d:%d",a[i],a[i],a[i+1],a[i+1],c);

                   else{printf("Error");exit(0);}

                }

              17.fun函數的功能是刪除s指向的鏈表中滿足以下條件的結點:該結點的編號值是奇數

            且存放的字母ASCII編碼值也為奇數(提示:aASCII編碼是97);將刪除的結點添加到t

            指向的鏈表尾部。試完善fun函數以達到要求的功能。

              例如,若刪除前的s鏈表為:

             s à1  a    à2  b  à3  b   à  4  c  0

            則刪除后的s鏈表為:

             sà2  b  à3  b  à4  c  0

                #include<stdio.h>

                struct node

                {int i;    /* 存放結點的編號 */

                 char c:    /* 存放一個字母的ASCII編碼 */

                 struct node *next;

                };

                struct node *t=NULL:

                struct node *fun(struct node *s)

                {struct node *p,*q;struct node *r;

                 p=q=s;

                 while(p!=NULL)

                 {if(((pài)%2)&&((pàc)%2))

                  {if(s==p)

                    s=q=( 27 );

                  else

                  {  ( 28 )  ;

                     q=p->next;

                  }

                  if(t==NULL)

                    t=r=p;

                  else

                   {  r->next=p;    r=r->next;  }

                }

                p=(29)  ;

                }

                if(t!=NULL)

                ( 30 )    ;

                return s;

                }

                  參考答案

            一、選擇題

            1.A 2.D 3.A 4.B 5.D 6.C 7.B 8.B 9.B 10.D 11.C 12.B 13.A 14.D

            15.C  16.D  17.C  18.A  19.B  20.B

            21.C 22.C 23.B 24.D 25.C 26.C 27.B 28.A 29.D 30.D

            二、填空題

            (1)!    (2)8

            (3)sqrt(fabs(x))!=4*a/(b*c)sqrt(fabs(x))!=4*a/b/c

            <4)1,2    (5)auto

            (6)123,456    (7)2

            (8)15 23    (9)2

            (10)6    (11)9

            (12)4    (13)0

            (14)2 5 10    (15)4 8 12

            (16)4    (17)64,48

            (18)4,3    (19)f(a)*f(b)>0

            (20)(a+b)/2 (21)y*f(a)f(x)*f(a)

            (22)cos    (23)n%i==0!(n%i)

            (24)a[k++]=ia[k]=i,k++

            (25)0    (26)prime(j)

            (27)p->next    (28)q->next=p->next

            (29)p->next    (30)r->next=NULL

             

             

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