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-09-30 19:51:07 計算機等級 我要投稿
        • 相關推薦

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

          一、選擇題(每小題1分,共40小題,共40分)

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

          1.算法的空間復雜度是指( )。

          A.算法程序的長度

          B.算法程序中=的指令條數

          C.算法程序所占的存儲空間

          D.算法執行過程中所需要的存儲空間

          2.下列敘述中正確的是( )。

          A.一個邏輯數據結構只能有一種存儲結構

          B.邏輯結構屬于線性結構,存儲結構屬于非線性結構

          C.一個邏輯數據結構可以有多種存儲結構,且各種存儲結構不影響數據處理的效率

          D.一個邏輯數據結構可以有多種存儲結構,且各種存儲結構影響數據處理的效率

          3.簡單的交換排序方法是( )。

          A.快速排序

          B.選擇排序

          C.堆排序

          D.冒泡排序

          4.關于結構化程序設計原則和方法的描述錯誤的是( )。

          A.選用的結構只準許有一個入口和一個出口

          B.復雜結構應該用嵌套的基本控制結構進行組合嵌套來實現

          C.不允許使用GOT0語句

          D.語言中若沒有控制結構,應該采用前后一致的方法來模擬

          5.相對于數據庫系統,文件系統的主要缺陷有數據關聯差、數據不一致性和( )。

          A.可重用性差

          B.安全性差

          C.非持久性

          D.冗余性

          6.面向對象的設計方法與傳統的面向過程的方法有本質不同,它的基本原理是( )。

          A.模擬現實世界中不同事物之間的聯系

          B.強調模擬現實世界中的算法而不強調概念

          C.使用現實世界的概念抽象地思考問題從而自然地解決問題

          D.不強調模擬現實世界中的算法而強調概念

          7.對如下二叉樹進行后序遍歷的結果為( )。

          A.ABCDEF

          B.DBEAFC

          C.ABDECF

          D.DEBFCA

          8.軟件設計包括軟件的結構、數據接口和過程設計,其中軟件的過程設計是指( )。

          A.模塊間的關系

          B.系統結構部件轉換成軟件的過程描述

          C.軟件層次結構

          D.軟件開發過程

          9.兩個或兩個以上模塊之間關聯的緊密程度稱為( )。

          A.耦合度

          B.內聚度

          C.復雜度

          D.數據傳輸特性

          10.下列描述錯誤的是( )。

          A.繼承分為多重繼承和單繼承

          B.對象之間的通信靠傳遞消息來實現

          C.在外面看不到對象的內部特征是基于對象的“模塊獨立性好”這個特征

          D.類是具有共同屬性、共同方法的對象的集合

          11.數據庫DB、數據庫系統DBS、數據庫管理系統DBMS之間的關系是( )。

          A.DB包含DBS和DBMS

          B.DBMS包含DB和DBS

          C.DBS包含DB和DBMS

          D.沒有任何關系

          12.下列合法的聲明語句是( )。

          A.int_abc=50;

          B.double int=3+5e2.5;

          C.long do=1L:

          D.float 3_asd=3e-3;

          13.設x、Y和z是int型變量,且x=4,y=6,z=8,則下列表達式中值為0的是( )。

          A.x&&Y

          B.x<=Y

          C.x‖y+z&&y-z

          D.!((x  14.若ch為char型變量,k為int型變量(已知字符a的ASCIl碼是97),則執行下列語句后輸出的結果為( )。

          ch=’b’;

          k=10:

          printf("%X,%o,",ch,ch,k);

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

          A.因變量類型與格式描述符的類型不匹配,輸出無定值

          B.輸出項與格式描述符個數不符,輸出為0值或不定值

          C.62,142,k一%d

          D.62,142,k一%l0

          15.有下列程序: 、

          fun(int X,int y){return(x+y);)

          main()

          { int a=1,b=2,c=3,sum;

          sum=fun((a++,b++,a+b),c++);

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

          }

          執行后的輸出結果是( )。

          A.6

          B.7

          C.8

          D.9

          16.假定x和Y為double型,則表達式x=2,y—x+3/2的值是( )。

          A.3.500000

          B.3

          C.2.000000

          D.3.000000

          17.有如下程序:

          main()

          {int x=1,a=0,b=0;

          switch(x)

          {

          case 0:b++;

          case l:a++;

          case 2:a++;b++;

          )

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

          )

          該程序的輸出結果是( )。

          A.a=2,b=1

          B.a=1,b=1

          C.a=1,b=0

          D.a=2,b=2

          18.下列程序的輸出結果是( )。

          main()

          {int i=1,j=2,k=3;

          if(i++= =1&&(++j= =3= =‖k++= =3))

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

          )

          A.1 2 3

          B.2 3 4

          C.2 2 3

          D.2 3 3

          19.下列程序的輸出結果是( )。

          #include

          main()

          { int a=0,i;

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

          { switch(i)

          { case 0:

          case 3:a+=1;

          case l:

          case 2:a+=2;

          default:a+=3;

          )

          printf("%d",i);

          )

          A.19 B.1 C.6 D.8

          20.有以下程序:

          main()

          {int X,i;

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

          {x=i;

          if(X%2=O)

          if(x%3=O)

          if(X%7=0) .

          printf("%d,i)";

          )

          )

          輸出結果是( )。

          A.28

          B.27

          C.42

          D.41

          21.以下程序的輸出結果是( )。

          main()

          {int a[3][3]={{1,2},{3,4),{5,6}},i,j,s=0;

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

          for(j=0;j<=i;j++)s+=a[i][j];

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

          }

          A.18

          B.19

          C.20

          D.21

          22.有下列程序:

          main()

          { int k=5;

          while(--k) printf("%d",k=1);

          printf("/n");

          )

          執行后的輸出結果是( )。

          A.1

          B.2

          C.4

          D.死循環

          23.若有定義:“int a[2][3];”,則對a數組的第i行第J列元素的正確引用為( )。

          A.*(*(a+i)+j)

          B.(a+i)[j]

          C.*(a+i+j)

          D.*(a+i)+j

          24.下列能正確進行字符串賦值的是( )。

          A.char s[5]={"ABCDE"};

          B.char s[5]={’A’,’B’,’C’,’D’,’E’}; 、

          C.char*S;S="ABCDE";

          D.char*s;printf("%《",s);

          25.現有以下結構體說明和變量定義,如圖所示,指針P、q、r分別指定一個鏈表中連續的3個結點。

          struct node

          {har data;

          struct node*next;)*P,*q,*r;

          現要將q和r所指結點交換前后位置,同時要保持鏈表的結構,下列不能完成此操作的語句是( )。

          A.q-:>next=r->next;p--:>next=r;rm:>next=q;

          B.q-:>next=r;q->next=r->next;r->next=q;

          C.q-:>next=r->next;r->next=q;p->next=r;

          D.q-:>next=q;p->next=r;q->next=r->next;

          26.有下列程序:

          main()

          {int i,j,x=0;

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

          {x++;

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

          {if(j%2)continue;

          x++:

          )

          x++:

          }

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

          }

          程序執行后的輸出結果是( )。

          A.x=4

          B.x=8

          C.x=6

          D.x=12

          27.有下列程序:

          int funl(double a){return a*=a;} 、

          int fun2(double x,double y)

          {double a=0,b=0;

          a=funl(x);b=funl(y);return(int)(a+b);

          )

          main()

          {double w;w=fun2(1.1,2.0),……}

          程序執行后變量w中的值是( )。 、

          A.5.21 B.5 C.5.0 D.0.0

          28.有下列程序:

          main()

          {int i,s=0,t[]={1,2,3,4,5,6,7,8,9};

          for(i=0;i<9;i+=2)s+=*(t+i);

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

          }

          程序執行后的輸出結果是( )。

          A.45

          B.20

          C.25

          D.36

          29.有下列程序:

          int fun(int n)

          {if(n= =1))return l;

          else

          return(n+fun(n-1)):

          }

          main()

          { int x;

          seanf("%d",&x);x=fun(x);printf("%d\n",x);

          }

          執行程序時,給變量x輸入l0,程序的輸出結果是( )。

          A.55

          B.54

          C.65

          D.45

          30.有下列程序:

          int fun(int x[],int n)

          { static int sum=0,i;

          for(i=0;i   return sum;

          }

          main()

          {int a[3]={1,2,3,4,5),b[3]={6,7,8,9),s=0;

          s=fun(a,5)+fun(b,4);printf("%d\n",s);

          程序執行后的輸出結果是( )。 、

          A.45

          B.50

          C.60

          D.55

          31.有下列程序:

          main()

          f char*P[]={"3697","2584");

          int i,j;long num=0;

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

          {j=0;

          while(p[i][j]!=’\0’)

          {if((p[i][j]-t\0’)%2)num=10*num+p[j][j]-’0’;

          j+=2;

          )

          )

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

          )

          程序執行后的輸出結果是( )。

          A.35 B.37 C.39 D.3975

          32.以下程序的輸出結果是( )。

          main()

          { char st[20]="hell0\O\t\\\”;

          printf("%d%d\n",strlen(st),sizeof(st));

          }

          A.9 9

          B.5 20

          C.13 20

          D.20 20

          33.若有下的定義:"int t[3][2];",能正確表示t數組元素地址的表達式是( )。

          A.&t[3][2]

          B.t[3]

          C.t[l]

          D.t[2][2]

          34.函數fseek(pf,OL,SEEK_END)中的SEEK_END代表的起始點是( )。

          A.文件開始

          B.文件末尾

          C.文件當前位置

          D.以上都不對

          35.下述程序的輸出結果是( )。

          #include

          main()

          {int i;

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

          {if(i*i>=20)&&(i*i<=lOO))

          break;

          }

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

          )

          A.49

          B.36

          C.25

          D.64

          36.若有定義“int b[8],*p=b;”,則p+6表示( )。

          A.數組元素b[6]的值

          B.數組元素b[6]的地址

          C.數組元素b[7]的地址

          D.數組元素b[0]的值加上6

          37.設變量已正確定義,則以下能正確計算f=n!的程序是( )。

          A.f=0; for(i=1;i<=n;i++)f*=i;

          B.f=1;for(i=1;i  C.f=1;for(i=n;i>1;i++)f*=i;

          D.f=1;for(i=n;i>=2;i--)f*=i;

          38.下述程序執行的輸出結果是( )。

          #include

          main()

          {char a[2][4]; ,

          strcpy(a。"are");strcpy(a[1],"you");

          a[o][3]=’&’;

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

          )

          A.are&you

          B.you

          C.are

          D.&

          39.設x=011050,則x=x&01252的值是( )。

          A.0000001000101000

          B.1111110100011001

          C.0000001011100010

          D.1100000000101000

          40.在“文件包含,,預處理語句的使用形式中,當#include后面的文件名用(雙引號)括時,尋找被包含文件的方式是( )。

          A.直接按系統設定的標準方式搜索目錄

          B.先在源程序所在的目錄搜索,如沒找到,再按系統設定的標準方式搜索

          C.僅僅搜索源程序所在目錄

          D.僅僅搜索當前目錄

          二、基本操作題(共18分)

          請補充函數proc(),該函數的功能是計算下面公式SN的值:

          SN=1+1/3十4/5+...+2N-1/SN-1

          例如,當N=20時,SN=29.031674。

          注意:部分源程序給出如下。

          請勿改動main()函數和其他函數中的任何內容,僅在函數proc()的橫線上填入所編寫的若干表達式或語句。

          試題程序:

          #include

          #include

          #include

          double proc(int n)

          {

          double s=1.0,sl=0.0;

          int k;

          for(【1】;k<=n;k++)

          {

          sl=S;

          【2】

          }

          return 【3】 ;

          )

          void main()

          {

          int k=0:

          double sum;

          system("CLS");

          printf("\nPlease input N=");

          scanf("%d",&k);

          sum=proc(k);

          printf("\nS=%If",sum);

          )

          三、程序改錯題(共24分)

          下列給定程序中,函數proc()的功能是根據整型形參n,計算如下公式的值:

          Y=1-1/(22)+1/(33)-1/(44)+…+(-1)(n+1)/(nn)

          例如,n中的值為l0,則應輸出0.817962。

          請修改程序中的錯誤,使它能得到正確結果。

          注意:不要改動main()函數,不得增行或刪行,也不得更改程序的結構。

          試題程序:

          #include

          #include

          #include

          double proc(int n)

          {

          double y=1.0;

          f|****found****

          int J=1; .

          int i;

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

          {

          j=-l*j;//****found****

          y+=1/(i*i);

          )

          return(y);

          )

          void main()

          {

          int n=10:

          system("CLS"):

          printf("\nThe result is%lf\n",proc(n));

          )

          四、程序設計題(共18分)

          編寫一個函數,從傳人的M個字符中找出最長的一個字符串,并通過形參指針max傳回該串地址(用****作為結束輸入的標志)。

          注意:部分源程序給出如下。

          請勿改動main()函數和其他函數中的任何內容,僅在函數proc()的花括號中填人所編寫的若干語句。

          試題程序:

          #include

          #include

          #include

          char*proc(char(*a)[81],int num)

          {

          )

          void main()

          {

          char ss[l0][81],*max;

          int n,i=0;

          printf("輸入若干個字符串:");

          gets(ss[i]);

          puts(ss[i]);

          while(!strcmp(ss[i],"****")= =0)

          {

          i++:

          gets(ssEi]);

          puts(ss[i]);

          )

          n=i:

          max=proe(SS,n);

          printf("\nmax=%s\n",max);

          }

          【參考答案及專家詳解】

          一、選擇題

          1.D!窘馕觥克惴ǖ目臻g復雜度,是指執行這個算法所需的存儲空間。算法所占用的存儲空間包括算法程序所占用的空間、輸入的初始數據所占用的存儲空間、算法執行過程中所需要的額外空間。

          2.D!窘馕觥繑祿拇鎯Y構是指數據的邏輯結構在計算機存儲空間中的存放形式,一種數據結構可以根據需要采用不同的存儲結構,用的存儲結構有順序和鏈式結構。用不同的存儲結構,其處理的效率是不同的。

          3.D!窘馕觥克^的交換排序方法是指借助數據元素之間的互相交進行排序的一種方法,包括冒泡排序和快速排序,冒泡排序通過相鄰元素的交換,逐步將線性表變成有序是一種最簡單的交換排序方法。

          4.C!窘馕觥拷Y構化程序設計的原則和方法之一是限制使用GOT0語句,但不是絕對不允許使用G0T0語句。其他三項為結構化程序設計的原則。

          5.D!窘馕觥课募到y所管理的數據文件基本上是分散、相互獨立的。相對于數據庫系統,以此為基礎的數據處理存在3個缺點:數據冗余大、數據的不一致性、程序與數據的依賴性強。

          6.C!窘馕觥棵嫦驅ο蟮脑O計方法的基本原理是:使用現實世界的概念抽象地思考問題從而自然地解決問題。它雖強調模擬現實世界中的概念而不強調算法,但是它鼓勵開發者在軟件開發的過程中從應用領域的概念角度去思考。

          7.D。【解析】所謂的后序遍歷是指,首先遍歷左子樹,然后遍歷右子樹,最后訪問根結點,并且在遍歷左、右樹時,仍然先遍歷左子樹,然后遍歷右子樹,最后訪問根點。因此,后序遍歷二叉樹的過程也是一個遞歸過程。

          8.B。【解析】軟件的過程設計是指系統結構部件轉換成軟件的過程描述。

          9.A!窘馕觥磕K的獨立性是指每個模塊保證完成系統要求的獨立功能,并且與其他模塊的聯系少且接口簡單。衡量軟件的模塊獨立性有內聚性和耦合性兩個定性度量標準。耦合性是模塊間互相連接緊密程度的度量。一般較優秀的軟件設計,應盡量做到高內聚,低耦合,即減弱模塊之間的耦合性和提高模塊內的內聚性,以利于提高模塊的獨立性。

          10.C!窘馕觥繉ο蟮姆庋b性是指從外面看只能看到對象的外部特性,而對象的內部,其處理能力的實行和內部狀態對外是不可見的,是隱蔽的。

          11.C!窘馕觥繑祿䦷煜到y由如下5個部分組成:數據庫(DB)、數據庫管理系統(DBMS)、數據庫管理員(人員)、系統平臺之一——硬件平臺(硬件)、系統平臺之二——軟件平臺(軟件)。其中DB(DataBase)即數據庫,是統一管理的相關數據的集合DBMS即數據庫管理系統,是位于用戶與操作系統之間的一層數據管理軟件,為用戶或應用完程序提供訪問DB的方法。由以上可知,選C為正確答案。

          12.A!窘馕觥繕俗R符是由字母、數字或下劃線組成,并且它的第一個字符必須是字母或者下劃線。B選項int不是表達變量類型的標識符,它不能再用做變量名和函數名。C選項d0是C語言的一個關鍵字。D選項標識符只能以字母或下劃線開始。

          13.D。【解析】本題考查邏輯運算符的使用。當“&&”的兩個運算對象都是邏輯l時,表達式返回值才是1;“‖”的兩個運算對象至少有一個是邏輯1時,表達式返回值也是l,x

          14.C。【解析】第l個printf函數,格式說明的個數是2,而輸出項的個數是3,所以對于多余的輸出項k不予輸出;第2個printf函數,有兩個%說明,第1個%后面的字符要原樣輸出。本題考查printf函數的格式。①“%x”和“%o”分別表示以十六進制和八進制無符合型輸出整型數據(不帶前導ox或o);②printf函數中格式說明符之前插入的任何字符都原樣輸出;③格式說明與輸出項的個數也要相等,如果格式說明的個數少于輸出項的個數,則對于多余的輸出項不予輸出。

          15.C!窘馕觥亢瘮礷un(int x,int y)的功能是返回x+Y的值。在主函數中,變量a,b,c的初始值分別為 1,2,3。因此逗號表達式“a++,b++,a+b”的值等于5,表達式c++的值為3,調用于函數的表達式為“fun(5,3);”,其返回值等于8。

          16.D!窘馕觥吭趚=2,y=x+3/2中,3/2=1,2+1=3,因此表達式的值為3,因為X,y為double型變量,故選擇D選項。

          17.A!窘馕觥慨擷為1時,執行case l,a自加等于l,因為case l后沒有break,接著執行case 2,此時a的值為2,b自加為1,故選擇A選項。

          18.D!窘馕觥勘绢}考查自增運算符“++”、邏輯與運算符“&&”和邏輯或運算符“‖”。自增運算符“++”出現在變量之前,表示先使用變量的值加1,再使用變量的值進行運算;出現在變量之后,表示先使用變量的值進行運算,再使用變量的值加l。當邏輯與運算符“&&”兩邊的運算對象都為真時,邏輯表達式的值才為真;當邏輯或運算符“‖”只要一個值為1,值就為l。根據運算符的優先級,題中應先計算內層括號中的值。++j是先自加后運算,因此運算時j的值等于3,所以表達式++j=3成立,即表達式的值為l;1與任何數都為進行或(1 1)運算,結果都為1,因此k一3的表達式i++是先運算后自加,因此運算時i為 1,所以i++=1成立,自加1后i=2。if語句的條件為真即“1”,所以輸出i、j、k的值分別是2,3,3。

          19.A。【解析】本題考查switch語句。當i=1時,執行case l,因為沒有遇到break語句,所以依次往下運行,“a=a+2=2,a=a+3=5”;當i=2時,執行case 2,因為沒有遇到break語句,所以依次往下執行,“a=a+2=7,a=a+3=10”;當i=3時,執行case 3,a=a+1=11,因為沒有遇到break語句,所以依次往下運行,a=a+2=13,a=a+3=16;當i=4時,執行default,a=a+3=l9,結束循環。

          20.C!窘馕觥恐挥挟3個if條件同時成立,即能夠同時被2、3、7整除時,才輸出i的值,而從0到50能夠同時被2、3、7整除的數只有42,故選擇c選鞏。

          21.A。【解析】循環的作用是求行下標從l到2列下標從0到i的元素之和,即s=a[1][0]+a[1][1]+a[2][o]+a[2][1]+a[2][2]=3+4+5+6+0一18。

          22.A。【解析】在程序語句中,k的初始值為5,進行第l次while循環后,k自減l為4,非0,執行循環體里的printf語句,輸出k,此時k的值變為l。程序執行第2次循環時,k自減l變為0,為假,退出while循環語句。所以程序的最后結果為l。

          23.A。【解析】通過地址來引用數組元素的方法有下列5種:

          (1)a[i][j];(2)*(a[i]+j);(3)*(*(a+j)+j);(4)*(a[i][j]);(5)(&a[o][0]+3*i+j)。故A正確。

          24.C!窘馕觥窟x項A、B的空間不夠;字符串存儲要有結束符’\0’,且要占用一個空間,printf用來輸出 字符,不能輸入字符串。

          25.D!窘馕觥坑深}目中線性鏈表的定義可知,要將q和r所指的結點交換前后位置,只要使q指向r的后一個結點,P指向r結點,r指向q結點即可。而在選項D中,r->next=q,這時r指向的節點為q;p->next=r,這時P指向的節點為r;q->next:r->next,因為r節點已經指向q,所以執行這個語句后q又指向q,所以選項D不正確。

          26.B!窘馕觥吭诘1次外層for循環中,首先x++得到x=1。進入到內層for循環,只有循環j的值為奇數時,變量x的值才自加1,所以在內層for循環執行過程中,變量x的值自加兩次,當退出內層for循環時,x=3,然后執行x++,得到x=4。在進入執行第2次外層for循環中,首先x++得到x=5。進入到內層for循環,只有循環變量J的值為奇數時,變量X的值才自加1,所以在內層for循環執行過程中,變量X的值自加l兩次,當退出內層for循環時,x=7,然后執行x++,得到x=8,所以打印輸出變量x的值為8。

          27.C!窘馕觥孔雍瘮礷unl(double a)的功能是返回a的平方值的整數部分。子函數fun2(double X, double y)的功能是返回X的平方值的整數部分與Y的平方值的整數部分的和。又因為題中變量W的定義為double型,函數fun(2)的定義為int型,按照各類數值型數據間的混合運算,整型數據被轉換為實型數據。所以雙精度型變量w的值為5.0。

          28.c!窘馕觥吭趂or循環語句中自變量i從0開始,每次自加2,執行s+=*(t+i)語句,因為C語言規定數組名做表達式相當于數組的首地址,也就是第一個元素的地址。因此,*(t+i)代表數組的第i+1個元素。所以程序運行的結果是l+3+5+7+9=25,即變量S的值等于25。

          29.A!窘馕觥勘绢}在函數int fun(int n)的定義中又出現了對函數fun的調用,所以函數fun是遞歸函數。因而在主函數中調用x=fun(x)時,當輸入10賦給變量X時,遞歸調用的過程為

          fun(10)=l0+fun(9)=10+9+fun(8)=10+9+8+fun(7)

          =10+9++8+7+fun(6)=10+9++8+7+6+fun(6)

          =10+9++8+7+6+5+fun(4)

          =10+9++8+7+6+5+4+fun(3)

          =10+9++8+7+6+5+4+3+fun(2)

          =10+9++8+7+6+5+4+3+2+fun(1)

          =10+9++8+7+6+5+4+3+2=55

          30.C!窘馕觥吭诤瘮礽nt fun(int x[],int n)的定義中,變量sum為一個靜態局部變量。由于在整個程序運行期間,靜態局部變量在內存中的靜態存儲中占據著永久的存儲單元。函數int fun(int x[],int n)的功能是求出數組x[]各個元素的和,所以在主函數中,調用函數fun(a,5)后,變量sum=1+2+3+4+5=15,當再次調用fun(b,4)后,變量sum=15+6+7+8+9=45,所以s=15+45=60。

          31.D。【解析】執行第一次for循環時,用表達式p[i][J]!=’\o’來判斷字符串數組指針P是否到達字符串的結尾,如果沒有到達,繼續執行while中的語句。if語句表示(p[i][j]-’\o’)除2的余數不為0時,即字符串所有奇數,執行后面的語句。所以退出第1次for的循環體時,輸出為397,執行第2次循環體。對字符串“2584”進行處理,輸出結果為5,因而最后輸出結果為3975。

          32.B!窘馕觥繌念}目中可知,’\O’、’\t’、’\\’分別為一個字符,而sizeof是求字節個數的函數,其中包括’\O’占的字節,strlen函數是求數組長度的函數;其以’\0’結束,因此strlen的值為5,sizeof的值為20。

          33.C!窘馕觥繑到M的下標是從0開始的,A中越界,行下標和列下標都不能越界;B中,雖然是個地址,但是也同樣越界了;選項c中表示的是第一個的首地址;選項D表示的為其元素的值,并不是地址。

          34.B!窘馕鯹SEEK_SET代表文件的開始,SEEK_END代表文件末尾,SEEK_CUR代表文件當前位置。

          35.C!窘馕觥慨攊f執行到第一個滿足(i*i>=20)&&(i*i<=100)這個條件的i出現時,通過break語句跳出循環,執行下面的prinlf語句。

          36.B。【解析】指針中存放的是變量的地址,指針也可以進行增減運算,這時指針移動的最小單位是一個存儲單元,而不是一個字節。所以題中p+6指的是將指針向后移動了6個存儲單元,即指向b[6],存放的是b[6]的地址。

          37.D!窘馕觥坑蒼!的數字定義可知n!=n*(n-1)*(n-2)*…*1。在選項A中,由于f的初值為0,在for循環語句中,f依次乘以l,2,3,…,n,最后計算得到f=n!=0,所以選項A不正確。在選項B中,f的初值為l,在for循環語句中,f依次乘以l,2,3,…,(n-1),最后計算得到f=(n-1)!,所以選項B不正確。在選項C中,f的初值為l,在for循環語句中,f依次乘以n,n+1,n+2,……,所以選項C不正確。在選項D中,f的初值為l,在for循環語句中,f依次乘以n,n-1,n-2,…,2,最后計算得到f=n!,所以選項D正確。

          38.A。【解析]strcpy實現的功能是復制,該操作把are復制到a中,aE03 E33一’&’,且strcpy(aEl], "you")把you復制到a[l]中,故輸出a為“are&you”。

          39.A!窘馕觥勘绢}主要考查按位與運算,x=Oll050的二進制形式為00010010000101000,Ol252的二進制形式為0000001010101010,兩者相與得0000001000101000。

          40.B。【解析】#include”文件名”,預處理程序首先在引用被包含文件的源文件所在的目錄下搜索指定的文件,如沒找到,再按系統指定的標準目錄搜索。

          二、基本操作題程序填空題

          【1】k=2【2】s+=(2*k一1)/sl【3】s

          【解析】由題目中所給公式可知,多項武的第一項為1。變量s中存放多項式的和,其初始值為l。因此,循環從第二項開始,因此,【1】處填“k=2”;變量sl中存放各項表達武的值,由公式可知,【2】處填“s+=(2*k-1)/sl”;題目中要求將多項式的和返回到主函數當中,因此,【3】處填“s”。

          三、程序改錯題

          (1)錯誤:int j=1;正確:double j=1.0;

          (2)錯誤:y+=1/(i*i); 正確:y+=j/(i*i);

          【解析】由函數proc()可知,變量j的作用是控制每一項符號的變化,并且作為運算的分子,應改為double型變量。因此,“int j=1;”應改為“double j=1.0;”。變量y中存放多項式的值,多項式中的每一項符號由變量j決定。因此,“y+=1/(i*i);”應改為“y+=j/(i*i);”。

          四、程序設計題

          char*proc(char(*a)[81],int M)

          {

          char*max;

          int i=0:

          max=a[O]:

          for(i=0;i  if(strlen(max)  max=a[i];

          return max; //返回最長字符串的地址

          }

          【解析】本題首先要定義一個字符指針用于保存最長的字符串,并使其初始值指向第一個字符串;再循環遍歷字符串數組,通過if語句比較字符串的長度,并把最長的字符串地址賦給字符指針;最后返回最長字符串的地址。

        【9月計算機二級C語言考試上機沖刺試題及答案】相關文章:

        計算機二級C語言考試上機沖刺試題及答案03-03

        2016年9月計算機二級C++上機考試沖刺試題及答案03-13

        計算機等級二級C語言上機模擬試題及答案10-25

        計算機二級C上機考試試題及答案03-05

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

        計算機二級C語言考試試題及答案03-08

        2016計算機等級考試二級C++上機模擬試題及答案03-08

        2016最新計算機二級C++上機試題及答案03-03

        2016年計算機二級C語言沖刺試題及答案03-12

        国产高潮无套免费视频_久久九九兔免费精品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>