<address id="ousso"></address>
<form id="ousso"><track id="ousso"><big id="ousso"></big></track></form>
  1. 試題

    下半年全國計算機二級C語言考試真題

    時間:2025-02-10 18:40:20 試題 我要投稿

    2011下半年全國計算機二級C語言考試真題

      一、選擇題((1)-(10)、(21)-(40)每題2分,(11)-(20)每題1分,共70分)下列各題A)、B)、C)、D)四個選項中,只有一個選項是正確的。請將正確選項填涂在答題卡相應位置上答在試卷上不得分。

    2011下半年全國計算機二級C語言考試真題

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

      A)算法就是程序

      B)設計算法時只需要考慮數據結構的設計

      C)設計算法時只需要考慮結果的可靠性

      D)以上三種說法都不對

      (2)下列關于線性鏈表的敘述中,正確的是( )。

      A)各數據結點的存儲空間可以不連續,但它們的存儲順序與邏輯順序必須一致

      B)各數據結點的存儲順序與邏輯順序可以不一致,但它們的存儲空間必須連續

      C)進行插入與刪除時,不需要移動表中的元素

      D)以上三種說法都不對

      (3)下列關于二叉樹的敘述中,正確的是( )。

      A)葉子結點總是比度為2的結點少一個

      B)葉子結點總是比度為2的結點多一個

      c)葉子結點數是度為2的結點數的兩倍

      D)度為2的結點數是度為1的結點數的兩倍

      (4)軟件按功能可以分為應用軟件、系統軟件和支撐軟件(或工具軟件)。下面屬于應用軟件的是( )。

      A)學生成績管理系統

      B)C語言編譯程序

      C)UNIX操作系統

      D)數據庫管理系統

      (5)某系統總體結構圖如下圖所示:

      該系統總體結構圖的深度是( )。

      A)7

      B)6

      C)3

      D)2

      (6)程序調試的任務是( )。

      A)設計測試用例

      B)驗證程序的正確性

      C)發現程序中的錯誤

      D)診斷和改正程序中的錯誤

      (7)下列關于數據庫設計的敘述中,正確的是( )。

      A)在需求分析階段建立數據字典

      B)在概念設計階段建立數據字典

      C)在邏輯設計階段建立數據字典

      D)在物理設計階段建立數據字

      (8)數據庫系統的三級模式不包括( )。

      A)概念模式

      B)內模式

      C)外模式

      D)數據模式

      (9)有三個關系R、S利T如下:

      則由關系R和s得到關系T的操作是( )。

      A)自然連接

      B)差

      C)交

      D)并

      (10)下列選項中屬于面向對象設計方法主要特征的是( )。

      A)繼承

      B)自頂向下

      C)模塊化

      D)逐步求精

      (11)以下敘述中錯誤的是( )。

      A)C語言編寫的函數源程序,其文件名后綴可以是.C

      B)C語言編寫的函數都可以作為一個獨立的源程序文件

      C)C語言編寫的每個函數都可以進行獨立的編譯并執行

      D)一個C語言程序只能有一個主函數

      (12)以下選項中關于程序模塊化的敘述錯誤的是( )。

      A)把程序分成若干相對獨立的模塊,可便于編碼和調試

      B)把程序分成若干相對獨立、功能單一的模塊,可便于重復使用這些模塊

      c)可采用自底向上、逐步細化的設計方法把若干獨立模塊組裝成所要求的程序

      D)可采用自項向下、逐步細化的設計方法把若干獨立模塊組裝成所要求的程序

      (13)以下選項中關于c語言常量的敘述錯誤的是( )。

      A)所謂常量,是指在程序運行過程中,其值不能被改變的量

      B)常量分為整型常量、實型常量、字符常量和字符串常量

      c)常量可分為數值型常量和非數值型常量

      D)經常被使用的變量可以定義成常量

      (14)若有定義語句:int a=10;double b=3.14;,則表達式'A'+a+b值的類型是( )。

      A)char

      B)int

      C)double

      D)float

      (15)若有定義語句:int x=12,3=8,z;,在其后執行語句z=0.9+x/y;,則Z的值為( )。

      A)1.9

      B)1

      C)2

      D)2.4

      (16)若有定義:int a,b;,通過語句scanf("%d;%d",&a,&b);,能把整數3賦給變量a,5賦給變量b的輸入數據是( )。

      A)3 5

      B)3,5

      C)3;5

      D)35

      (17)若有定義語句:intk1=10,k2=20;,執行表達式(k1=k1>k2)&&(k2=k2>k1)后,k1和k2的值分別為( )。

      A)0和1

      B)0和20

      C)10和1

      D)10和20

      (18)有以下程序

      #include

      main()

      {int a=1,b=0;

      if(-a) b++;

      else if(a=0)b+=2:

      else b+=3:

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

      )

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

      A)0

      B)1

      C)2

      D)3

      (19)下列條件語句中,輸出結果與其他語句不同的是( )。

      A)if(a)printf("%d\-n",x); else printf("%d\n",y);

      B)if(a—0)printf("%d\n",y); else printf("%d\n",x);

      C)if(a!=0)p由tf("%d\n",x); else printf("%d\n",y);

      D)if(a=0)printf("%d\n",x); else printf("%d\n",y);

      (20)有以下程序

      #include

      main()

      {int a=7;

      while(a--);

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

      )

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

      A)-1

      B)0

      C)1

      D)7

      (21)以下不能輸出字符A的語句是(注:字符A的ASCIl碼值為65,字符a的ASCIl碼值為97)

      A)printf("%c\n",'a'-32);

      B)printf("%d\n",'A');

      c)printf("%c\n",65);

      D)print-f("%c\n",'B'-1);

      (22)有以下程序(注:字符a的ASCIl碼值為97)

      #include

      main()

      {char*s={"abe");

      do

      {printf(”%d”,+s%10);++s;)

      while(+s);

      )

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

      A)abc

      B)789

      C)7890

      D)979899

      (23)若有定義語句:double a,+p=&a;以下敘述中錯誤的是( )。

      A)定義語句中的*號是一個間址運算符

      B)定義語句中的*號只是一個說明符

      C)定義語句中的P只能存放double類型變量的地址

      D)定義語句中,*p=&a把變量a的地址作為初值賦給指針變量P

      (24)有以下程序

      #include

      double f(double x);

      main()

      {doublea_0;inti;

      for(i=0;i<30;i+=10)a+--f((double)i);

      printf("%5.0f\n",a);

      }

      double f(double x)

      (return X+x+1;)

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

      A)503

      B)401

      C)500

      D)1404

      (25)若有定義語句:int year=2009,*p=&year;,以下不能使變量year中的值增至2010的語句是( )。

      A)*p+=1;

      B)( *p)++;

      C)++(*p);

      D)*p++;

      (26)以下定義數組的語句中錯誤的是( )。

      A)int num[]={1,2,3,4,5,6};

      B)int num[][3]={{1,2},3,4,5,6};

      C)int num[2][4]=({1,2,,{3,4},{5,6});

      D)int num[][4]={1,2,3,4,5,6};

      (27)有以下程序

      #include

      void fun(int+p)

      {printf(”%d\n”,p[5]);}

      main() ;

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

      fun(&a[3]);

      )

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

      A)5

      B)6

      C)8

      D)9

      (28)有以下程序

      #include

      #defineN4

      void fun(int a[][N],im b[])

      {int i;

      for(i=0;i)

      void main()

      {int x[N][N]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}},y[N],i;

      fun(x,y);

      for(i=0;i}

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

      A)-12,-3,0,0,

      B)-3,-1,1,3,

      C)0,1,2,3,

      D)-3,-3,-3,-3

      (29)有以下函數

      int fun(char *x,char *y)

      {int n=0;

      while((*x=*y)&&*x!='\0'){x++;y++;n++;}

      return n:

      )

      函數的功能是( )。

      A)查找x和y所指字符串中是否有'\0'

      B)統計x和y所指字符串中最前面連續相同的字符個數

      c)將y所指字符串賦給X所指存儲空間

      D)統計x和y所指字符串中相同的字符個數

      (30)若有定義語句:char *s1="OK",*s2="ok";,以下選項中,能夠輸出"0K"的語句是( )。

      A)if(strcmp(s1,s2)=0)puts(s1);

      B)if(strcmp(s1,s2)!=0) puts(s2);

      C)if(strcmp(s1,s2)=1)puts(s1,);

      D)if(strcmp(s1,s2)!=0) puts(s1);

      (31)以下程序的主函數中調用了在其前面定義的fun函數

      #include

      {

      main()

      {double a[15],k;

      k=fun(a);

      }

      則以下選項中錯誤的fun函數首部是( )。

      A)double fun(double a[15])

      B)double fun(double *a)

      C)double fun(double a[])

      D)double fun(double a)

      (32)有以下程序

      #include

      #include

      main()

      {char a[5][10]={"china","beijing","you","tiananmen","welcome”);

      int i,j;chart[10];

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

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

      if(strcmp(a[i],a[j])>O)

      {strcpy(t,a[i]);strcpy(a[i],a[j]);strcpy(a[j],t);}

      puts(a[3]);

      )

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

      A)Beijing

      B)china

      C)welcome

      D)tiananmen

      (33)有以下程序

      #include

      int f(int m)

      { static int n=0;

      n+=m:

      return n;

      )

      main()

      {int n=0;

      printf("%d",f(++n));

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

      )

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

      A)1,2

      B)1,1

      C)2,3

      D)3,3

      (34)有以下程序

      #include

      main()

      {char ch [3][5]={"AAAA","BBB","CC");

      printf ("%s\n",ch[1]);

      }

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

      A)AAAA

      B)CC

      C)BBBCC

      D)BBB

      (35)有以下程序

      #include

      #include

      void fun(char *w,int m)

      {char s,*p1,*p2;

      p1=w;p2=w+m-1;

      while(p1)

      main()

      {char a[]="123456";

      fun(a,strlen(a));puts(a);

      }

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

      A)654321

      B)116611

      C)161616

      D)123456

      (36)有以下程序

      #include

      #include

      typedefstruct{char name[9];char sex;int score[2];}STU;

      STUf(STU a)

      {STU b={"Zhao",'m',85,90};

      inti:

      strcpy(a.name,b.name);

      a.sex=b.sex;

      for (i=0;i<2;i++)a.score[i]=b.score[i];

      return a;

      }

      main()

      f STU c={"Qian",'f',95,92},d;

      d=f(c);

      printf("%s,%c,%d,%d,",d.nalne,d.sex,d.score[0],d.score[1]);

      printf("%s,%c,%d,%d,",c.nanle,c.Sex,c.score[0],c.score[1]);

      }

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

      A)Zhao,m,85,90,Qian,f,95,92

      B)Zhao,m,85,90,Zha0,m,85,90

      C)Qian,f,95,92,Qian,f,95,92

      D)Qian,f,95,92,Zhao,m,85,90

      (37)有以下程序

      #include

      main()

      { struct node{int n;stmct node+next;} *p;

      structnodex[31={(2,x+l},{4,x+2),{6,NULL}};

      p=x;

      printff"%d,",p->n);

      printf("%dkn",p->next->n);

      }

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

      A)2,3

      B)2,4

      C)3,4

      D)4,6

      (38)有以下程序

      #include

      main()

      {int a=2,b;

      b=a<<2:printr("%d\n",b);

      )

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

      A)2

      B)4

      C)6

      D)8

      (39)以下選項中敘述錯誤的是( )。

      A)C程序函數中定義的賦有初值的靜態變量,每調用一次函數,賦一次初值

      B)在C程序的同一函數中,各復合語句內可以定義變量,其作用域僅限本復合語句內

      C)C程序函數中定義的自動變量,系統不自動賦確定的初值

      D)C程序函數的形參不可以說明為static型變量

      (40)有以下程序

      #include

      main()

      {FILE *fp,

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

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

      for(i=0;i<6;i++)fprintf(fp,"%d\n",a[i]);

      fclose(fp);

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

      for(i=0;i<3;i++)fscanf(fp,"%d%d",&k,&n);

      fc|ose(fp);

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

      )

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

      A)1,2

      B)3,4

      C)5,6

      D)123.456

      二、填空題(每空2分,共30分)請將每空的正確答案寫在答題卡【1】至【15】序號的橫線上,答在試卷上不得分。

      (1)數據結構分為線性結構與非線性結構,帶鏈的棧屬于 【1】 。

      (2)在長度為n的順序存儲的線性表中插入一個元素,最壞情況下需要移動表中 【2】 個元素。

      (3)常見的軟件開發方法有結構化方法和面向對象方法。對某應用系統經過需求分析建立數據流圖(DFD),則應采用 【3】 方法。

      (4)數據庫系統的核心是 【4】 。

      (5)在進行關系數據庫的邏輯設計時,E—R圖中的屬性常被轉換為關系中的屬性,聯系通常被轉換為 【5】 。

      (6)若程序中已給整型變量a和b賦值10和20,請寫出按以下格式輸出a、b值的語句 【6】 。

      ****a=10.b=20****

      (7)以下程序運行后的輸出結果是 【7】 。

      #include

      main()

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

      )

      (8)以下程序運行后的輸出結果是 【8】 。

      #include

      main()

      {int i,j;

      for(i=6;i>3;i--)j=i;

      printf(”%d%d\n”,i,j);

      }

      (9)以下程序運行后的輸出結果是 【9】 。

      #include

      main()

      {int i,n[]={0,0,0,0,0);

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

      {n[i]=n[i-1]*3+1;

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

      }

      printf("\n");

      }

      (10)以下程序運行后的輸出結果是 【10】 。

      #include

      main()

      {chara;

      for(a=0;a<15;a+=5)

      {putchar(a+'A');)

      printf("\n");

      )

      (11)以下程序運行后的輸出結果是 【11】 。

      #include

      void fun(int x)

      {if(x/5>o)fun(x/5);

      prinff("%dt",x);

      )

      main()

      {fun(11);printf("\n");}

      (12)有以下程序

      #include

      main()

      {int c[3]={0},k,i;

      while((k=getchar())!='\n')

      c[k-'A']++;

      for(i=0;i<3;i++)printf(”%d”,c[i]);printf("\n");

      若程序運行時從鍵盤輸入ABcAcC<回車>,則輸出結果為 【12】 。

      (13)以下程序運行后的輸出結果是 【13】 。

      #include

      main()

      {int n[2],i,j;

      for(i=0;i<2;i++)n[i]=0;

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

      for(j=0;j<2;j++)n[j]=n[i]+1;

      printf("%d\n",n[1]);

      }

      (14)以下程序調用fun函數把x中的值插入到a數組下標為k的數組元素中。主函數中,n存放a數組中數據的

      個數。請填空。

      #include

      void fun(int s[],int *n,int k,int x)

      { int i;

      for(i=*n-1;i>=k;i--)s[ 【14】 ]=s[i];

      s[k]=x;

      *n=*n+ 【15】 ;

      }

      main()

      {int a[20]={1,2,3,4,5,6,7,8,9,10,11},i,x=0,k=6,n=11;

      fun(a,&n,k,X);

      for(i=0;i }

    【下半年全國計算機二級C語言考試真題】相關文章:

    下半年全國計算機二級C語言考試真題及答案09-25

    全國計算機二級考試《C語言》真題與答案09-03

    2010下半年全國計算機二級C語言考試真題09-12

    全國計算機二級考試《C語言》真題練習及答案09-20

    下半年計算機二級C語言考試真題06-29

    全國計算機二級C語言歷年真題02-11

    2017全國計算機二級C考試真題10-05

    全國計算機二級考試C++真題09-20

    計算機二級考試C語言無紙化真題10-06

    <address id="ousso"></address>
    <form id="ousso"><track id="ousso"><big id="ousso"></big></track></form>
    1. 日日做夜狠狠爱欧美黑人