<dfn id="w48us"></dfn><ul id="w48us"></ul>
  • <ul id="w48us"></ul>
  • <del id="w48us"></del>
    <ul id="w48us"></ul>
  • 計算機二級考試C語言復習題

    時間:2024-07-31 22:20:24 計算機等級 我要投稿

    2017計算機二級考試C語言復習題

      C語言是一門高級程序設計語言,為了能夠讓你考生更好的了解計算機二級考試C語言的相關知識,yjbys小編為大家準備了C語言的復習題。歡迎閱讀。

    2017計算機二級考試C語言復習題

      一、 選擇題

      (1)下列關于棧敘述正確的是

      A)棧頂元素最先能被刪除

      B)棧頂元素最后才能被刪除

      C)棧底元素永遠不能被刪除

      D)以上三種說法都不對

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

      A)有一個以上根結點的數據結構不一定是非線性結構

      B)只有一個根結點的數據結構不一定是線性結構

      C)循環鏈表是非線性結構

      D)雙向鏈表是非線性結構

      (3)某二叉樹共有7個結點,其中葉子結點只有1個,則該二叉樹的深度為(假設根結點在第1層)

      A)3

      B)4

      C)6

      D)7

      (4)在軟件開發中,需求分析階段產生的主要文檔是

      A)軟件集成測試計劃

      B)軟件詳細設計說明書

      C)用戶手冊

      D)軟件需求規格說明書

      (5)結構化程序所要求的基本結構不包括

      A)順序結構

      B)GOTO跳轉

      C)選擇(分支)結構

      D)重復(循環)結構

      (6)下面描述中錯誤的是

      A)系統總體結構圖支持軟件系統的詳細設計

      B)軟件設計是將軟件需求轉換為軟件表示的過程

      C)數據結構與數據庫設計是軟件設計的任務之一

      D)PAD圖是軟件詳細設計的表示工具

      (7)負責數據庫中查詢操作的數據庫語言是

      A)數據定義語言

      B)數據管理語言

      C)數據操縱語言

      D)數據控制語言

      (8)一個教師可講授多門課程,一門課程可由多個教師講授。則實體教師和課程間的聯系是

      A)1:1聯系

      B)1:m聯系

      C)m:1聯系

      D)m:n聯系

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

      則由關系R和S得到關系T的操作是

      A)自然連接

      B)交

      C)除

      D)并

      (10)定義無符號整數類為UInt,下面可以作為類UInt實例化值的是

      A)-369

      B)369

      C)0.369

      D)整數集合{1,2,3,4,5}

      (11)計算機高級語言程序的運行方法有編譯執行和解釋執行兩種,以下敘述中正確的是

      A)C語言程序僅可以編譯執行

      B)C語言程序僅可以解釋執行

      C)C語言程序既可以編譯執行又可以解釋執行

      D)以上說法都不對

      (12)以下敘述中錯誤的是

      A)C語言的可執行程序是由一系列機器指令構成的

      B)用C語言編寫的源程序不能直接在計算機上運行

      C)通過編譯得到的二進制目標程序需要連接才可以運行

      D)在沒有安裝C語言集成開發環境的機器上不能運行C源程序生成的.exe文件

      (13)以下選項中不能用作C程序合法常量的是

      A)1,234

      B)'\123'

      C)123

      D)"\x7G"

      (14)以下選項中可用作C程序合法實數的是

      A).1e0

      B)3.0e0.2

      C)E9

      D)9.12E

      (15)若有定義語句:int a=3,b=2,c=1;,以下選項中錯誤的賦值表達式是

      A)a=(b=4)=3;

      B)a=b=c+1;

      C)a=(b=4)+c;

      D)a=1+(b=c=4);

      (16)有以下程序段

      char name[20];

      int num;

      scanf("name=%snum=%d",name;&num);

      當執行上述程序段,并從鍵盤輸入:name=Lili num=1001<回車>后,name的值為

      A)Lili

      B)name=Lili

      C)Lilinum=

      D)name=Lili num=1001

      (17)if語句的基本形式是:if(表達式)語句,以下關于“表達式”值的敘述中正確的是

      A)必須是邏輯值

      B)必須是整數值

      C)必須是正數

      D)可以是任意合法的數值

      (18)有以下程序

      #include

      main()

      { int x=011;

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

      }

      程序運行后的輸出結果是

      A)12

      B)11

      C)10

      D)9

      (19)有以下程序

      #include

      main()

      { int s;

      scanf("%d",&s);

      while(s>0)

      { switch(s)

      { case 1:printf("%d",s+5);

      case 2:printf("%d",s+4);break;

      case 3:printf("%d",s+3);

      default:printf("%d",s+1);break;

      }

      scanf("%d",&s);

      }

      }

      運行時,若輸入1 2 34 5 0<回車>,則輸出結果是

      A)6566456

      B)66656

      C)66666

      D)6666656

      (20)有以下程序段

      int i,n;

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

      {n=rand()%5;

      switch (n)

      { case 1:

      case 3:printf("%d\n",n); break;

      case 2:

      case 4:printf("%d\n",n);continue;

      case 0:exit(0);

      }

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

      }

      以下關于程序段執行情況的敘述,正確的是

      A)for循環語句固定執行8次

      B)當產生的隨機數n為4時結束循環操作

      C)當產生的隨機數n為1和2時不做任何操作

      D)當產生的隨機數n為0時結束程序運行(21)有以下程序

      #include

      main()

      { chars[]="012xy\08s34f4w2";

      int i,n=0;

      for(i=0;s[i]!=0;i++)

      if(s[i]>='0'&&s[i]<='9')n++;

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

      }

      程序運行后的輸出結果是

      A)0

      B)3

      C)7

      D)8

      (22)若i和k都是int類型變量,有以下for語句

      for(i=0,k=-1;k=1;k++)printf("*****\n");

      下面關于語句執行情況的敘述中正確的是

      A)循環體執行兩次

      B)循環體執行一次

      C)循環體一次也不執行

      D)構成無限循環

      (23)有以下程序

      #include

      main()

      { char b,c;int i;

      b='a'; c='A';

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

      { if(i%2) putchar(i+

      B);

      else putchar(i+

      C);

      }

      printf("\n");

      }

      程序運行后的輸出結果是

      A)ABCDEF

      B)AbCdEf

      C)aBcDeF

      D)abcdef

      (24)設有定義:double x[10],*p=x;,以下能給數組x下標為6的元素讀入數據的正確語句是

      A)scanf("%f",&x[6]);

      B)scanf("%lf",*(x+6));

      C)scanf("%lf",p+6);

      D)scanf("%lf",p[6]);

      (25)有以下程序(說明:字母A的ASCII碼值是65)

      #include

      voidfun(char *s)

      { while(*s)

      { if(*s%2) printf("%c",*s);

      s++;

      }

      }

      main()

      { char a[]="BYTE";

      fun(a);

      printf("\n");

      }

      程序運行后的輸出結果是

      A)BY

      B)BT

      C)YT

      D) YE

      (26)有以下程序段

      #include

      main()

      { …

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

      …

      }

      以下敘述中正確的是

      A)此while語句將無限循環

      B) getchar()不可以出現在while語句的條件表達式中

      C)當執行此while語句時,只有按回車鍵程序才能繼續執行

      D)當執行此while語句時,按任意鍵程序就能繼續執行

      (27)有以下程序

      #include

      main()

      { int x=1,y=0;

      if(!x) y++;

      else if(x==0)

      if (x) y+=2;

      else y+=3;

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

      }

      程序運行后的輸出結果是

      A)3

      B)2

      C)1

      D) 0

      (28)若有定義語句:char s[3][10],(*k)[3],*p;,則以下賦值語句正確的是

      A)p=s;

      B)p=k;

      C)p=s[0];

      D)k=s;

      (29)有以下程序

      #include

      voidfun(char *

      C)

      { while(*

      C)

      {if(*c>='a'&&*c<='z') *c=*c-('a'-'A');

      c++;

      }

      }

      main()

      { chars[81];

      gets(s);

      fun(s);

      puts(s);

      }

      當執行程序時從鍵盤上輸入HelloBeijing<回車>,則程序的輸出結果是

      A)hello beijing

      B)Hello Beijing

      C)HELLO BEIJING

      D)hELLO Beijing

      (30)以下函數的功能是:通過鍵盤輸入數據,為數組中的所有元素賦值。

      #include

      #define N 10

      void fun(intx[N])

      { int i=0;

      while(i

      }

      在程序中下劃線處應填入的是

      A)x+i

      B)&x[i+1]

      C)x+(i++)

      D)&x[++i]

      (31)有以下程序

      #include

      main()

      { chara[30],b[30];

      scanf("%s",a);

      gets(

      B);

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

      B);

      }

      程序運行時若輸入:

      how areyou? I am fine<回車>

      則輸出結果是

      A)how areyou?

      B)how

      I am fine are you? I am fine

      C)how areyou? I am fine

      D)how are you?

      (32)設有如下函數定義

      int fun(intk)

      { if(k<1) return 0;

      elseif(k==1) return 1;

      else returnfun(k-1)+1;

      }

      若執行調用語句:n=fun(3);,則函數fun總共被調用的次數是

      A)2

      B)3

      C)4

      D)5

      (33)有以下程序

      #include

      int fun (int x,int y)

      { if(x!=y) return ((x+y)/2);

      else return (x);

      }

      main()

      { inta=4,b=5,c=6;

      printf("%d\n",fun(2*a,fun(b,

      C)));

      }

      程序運行后的輸出結果是

      A)3

      B)6

      C)8

      D)12

      (34)有以下程序

      #include

      int fun()

      { static intx=1;

      x*=2;

      return x;

      }

      main()

      { int i,s=1;

      for(i=1;i<=3;i++) s*=fun();

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

      }

      程序運行后的輸出結果是

      A)0

      B)10

      C)30

      D)64

      (35)有以下程序

      #include

      #define S(x)4*(x)*x+1

      main()

      { intk=5,j=2;

      printf("%d\n",S(k+j));

      }

      程序運行后的輸出結果是

      A)197

      B)143

      C)33

      D)28

      (36)設有定義:struct {char mark[12];int num1;double num2;} t1,t2;,若變量均已正確賦初值,則以下語句中錯誤的是

      A)t1=t2;

      B)t2.num1=t1.num1;

      C)t2.mark=t1.mark;

      D)t2.num2=t1.num2;

      (37)有以下程序

      #include

      struct ord

      { int x,y;}dt[2]={1,2,3,4};

      main()

      {

      struct ord *p=dt;

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

      }

      程序運行后的輸出結果是

      A)1,2

      B)4,1

      C)3,4

      D)2,3

      (38)有以下程序

      #include

      struct S

      { inta,b;}data[2]={10,100,20,200};

      main()

      { struct Sp=data[1];

      printf("%d\n",++(p.a));

      }

      程序運行后的輸出結果是

      A)10

      B)11

      C)20

      D)21

      (39)有以下程序

      #include

      main()

      { unsignedchar a=8,c;

      c=a>>3;

      printf("%d\n",

      C);

      }

      程序運行后的輸出結果是

      A)32

      B)16

      C)1

      D)0

      (40)設fp已定義,執行語句fp=fopen("file","w");后,以下針對文本文件file操作敘述的選項中正確的是

      A)寫操作結束后可以從頭開始讀

      B)只能寫不能讀

      C)可以在原有內容后追加寫

      D)可以隨意讀和寫

      二、填空題

      (1)有序線性表能進行二分查找的前提是該線性表必須是【1】存儲的。

      (2)一棵二叉樹的中序遍歷結果為DBEAFC,前序遍歷結果為ABDECF,則后序遍歷結果為 【2】 。

      (3)對軟件設計的最小單位(模塊或程序單元)進行的測試通常稱為 【3】 測試。

      (4)實體完整性約束要求關系數據庫中元組的【4】屬性值不能為空。

      (5)在關系A(S,SN,

      D)和關系B(D,CN,NM)中,A的主關鍵字是S,B的主關鍵字是D,則稱 【5】 是關系A的外碼。

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

      #include

      main()

      { int a;

      a=(int)((double)(3/2)+0.5+(int)1.99*2);

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

      }

      (7) 有以下程序

      #include

      main()

      { int x;

      scanf("%d",&x);

      if(x>15)printf("%d",x-5);

      if(x>10)printf("%d",x);

      if(x>5)printf("%d\n",x+5);

      }

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

      (8)有以下程序(說明:字符0的ASCII碼值為48)

      #include

      main()

      { charc1,c2;

      scanf("%d",&c1);

      c2=c1+9;

      printf("%c%c\n",c1,c2);

      }

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

      (9)有以下函數

      voidprt(char ch,int n)

      { int i;

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

      printf(i%6!=0?"%c":"%c\n",ch);

      }

      執行調用語句prt('*',24);后,函數共輸出了 【9】 行*號。

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

      #include

      main()

      { int x=10,y=20,t=0;

      if(x==y)t=x;x=y;y=t;

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

      }

      (11)己知a所指的數組中有N個元素。函數fun的功能是,將下標k(k>0)開始的后續元素全部向前移動一個位置。請填空。

      void fun(inta[N],int k)

      { int i;

      for(i=k;i  }

      (12)有以下程序,請在【12】處填寫正確語句,使程序可正常編譯運行。

      #include

      【12】 ;

      main()

      { double x,y,(*p)();

      scanf("%lf%lf",&x,&y);

      p=avg;

      printf("%f\n",(*p)(x,y));

      }

      double avg(double a,double

      B)

      {return((a+

      B)/2);}

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

      #include

      main()

      { int i,n[5]={0};

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

      { n[i]=n[i-1]*2+1;printf("%d",n[i]); }

      printf("\n");

      }

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

      #include

      #include

      #include

      main()

      { char *p;int i;

      p=(char*)malloc(sizeof(char)*20);

      strcpy(p,"welcome");

      for(i=6;i>=0;i--) putchar(*(p+i));

      printf("\n"); free(p);

      }

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

      #include

      main()

      { FILE *fp;int x[6]={1,2,3,4,5,6},i;

      fp=fopen("test.dat","wb");

      fwrite(x,sizeof(int),3,fp);

      rewind(fp);

      fread(x,sizeof(int),3,fp);

      for(i=0;i<6;i++) printf("%d",x[i]);

      printf("\n");

      fclose(fp);

      }

      參考答案

      一、選擇題 :

      1-5 ABDDB 6-10 ACDCB

      11-15 ADAAA 16-20 ADCAD

      21-25 BDBCD 26-30 CDCCC

      31-35 BBBDB 36-40 CDDCB

      二、填空題 :

      【1】 有序 【2】 DEBFCA 【3】單元

      【4】 主鍵 【5】 D 【6】 3

      【7】 1217 【8】 09 【9】 4

      【10】 20 0 【11】 i-1

      【12】 double avg(double,double);或doubleavg(double a,double B);

      【13】 13715 【14】 emoclew 【15】 123456

    【計算機二級考試C語言復習題】相關文章:

    2017年全國計算機二級考試C語言備考復習題03-07

    計算機二級考試c語言過關經驗03-21

    計算機等級考試二級C語言考點03-08

    全國計算機二級考試c語言考試要點03-09

    2017計算機二級考試C語言沖刺題03-10

    計算機二級C語言考試真題及答案09-30

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

    計算機二級考試C語言歷年真題09-26

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

    主站蜘蛛池模板: 91精品国产色综合久久| 8050免费午夜一级国产精品| 国产第一福利精品导航| 久久久亚洲精品蜜桃臀| 国内精品免费在线观看| 亚洲精品高清国产一线久久| 99热精品久久只有精品| 99精品国产丝袜在线拍国语| 四虎影视永久在线精品| 成人精品一区二区三区| 91精品国产乱码久久久久久| 日韩精品无码一区二区三区免费| 久久久WWW成人免费精品| 88国产精品欧美一区二区三区| 国产精品亚洲一区二区三区在线| 亚洲精品国产成人影院| 国产亚洲精品激情都市| 色花堂国产精品第一页| 99精品视频在线观看| 久久精品国产网红主播| 中文字幕日韩精品在线| 久久这里只有精品视频99| 国产福利电影一区二区三区,欧美国产成人精品一 | 亚洲国产精品欧美日韩一区二区| 精品国产一区二区三区久久久狼| 中文字幕乱码中文乱码51精品 | 在线涩涩免费观看国产精品| 久久中文精品无码中文字幕| 国产亚洲精品自在线观看| 国产成人精品一区在线| 久久99精品国产一区二区三区 | 亚洲精品成人无限看| 亚洲精品无码乱码成人| 亚洲国产av无码精品| 久久亚洲中文字幕精品一区四| 久久精品亚洲福利| 久久久久人妻一区精品果冻| 国内精品伊人久久久久影院对白 | 国产精品成人精品久久久| 国产成人精品高清不卡在线| 91精品国产综合久久四虎久久无码一级|