<address id="ousso"></address>
<form id="ousso"><track id="ousso"><big id="ousso"></big></track></form>
  1. 計算機二級c語言考試試題及答案

    時間:2025-12-08 02:10:50 試題

    計算機二級c語言考試試題及答案

      為幫助同學們在計算機二級考試中能輕松通過考試,百分網小編為大家整理了歷年的計算機二級考試題及答案,希望對大家有所幫助!

    計算機二級c語言考試試題及答案

      計算機考試題【一】

      1.若以下對fun函數的調用是正確的:

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

      則fun函數的形參個數為()

      A)3 B)4 C)5 D)6

      2.若有說明:int*p, m=5; n;,以下正確的程序段是()

      A)p=&m;

      scanf("%d",&p)

      B)p=&n;

      scanf("%d",&p)

      C)scanf("%d",&p)

      p=&n;

      D)p=&n;

      p=&m;

      3.以下程序調用findmax函數返回數組中的最大值

      findmax(int*a,int n)

      { int*p,*s;

      for(p=a,s=a;p-a  if()s=p;

      return(*s);

      }

      main()

      { intx[5]={12,21,13,6,18};

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

      }

      在下劃線處應填入的是()

      A)p>s B)*p>*s C)a[p]>a[s] D)p-a>p-s

      4.若指針p已正確定義,要使p指向兩個連續的整型動態存儲單元,則正確語句是()

      A)p=2*(int*)malloc(sizeof(int));

      B)p=(int*)calloc(2*sizeof(int));

      C)p=(int*)malloc(2* sizeof(int));

      D)p=2*(int*)calloc(sizeof(int));

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

      main()

      {char *p1,*p2,str[50]="xyz";

      p1="abcd";

      p2="ABCD";

      strcpy(str+2,strcat(p1+2,p2+1));

      printf("%s",str);

      }

      A)xyabcAB B)abcABz C)Ababcz D)XycdBCD

      6.以下敘述中不正確的是()

      A)一個變量的作用域完全取決于變量定義語句的位置

      B)全局變量可以在函數以外的任何部位進行定義

      C)局部變量的“生存期”只限于本次函數調用,因此不可能將局部變量的運算結果保存至下一次調用

      D)一個變量說明為static存儲類是為了限制其他編譯單位的引用

      7.交換兩個變量的值,不允許用臨時變量,應該使用下列哪一個位運算符()

      A)~ B)& C)^ D)|

      8.下面的說法不正確的是()

      A)函數調用時,先求出實參表達

      B)函數調用是在程序運行時處理的,分配臨時的內存單元。而宏展開則是在編譯時進行的,在展開時也要分配內存單元,進行值傳遞

      C)對于函數中的實參和形參都要定義類型,二者的類型要求一致,而宏不存在類型問題,宏名有類型

      D)調用函數只可得到一個返回值,而用宏可以設法得到幾個結果

      9.fscanf函數的正確調用形式是()

      A)fscanf(fp,格式字符串,輸出表列);

      B)fscanf(格式字符串,輸出表列,fp);

      C)fscanf(格式字符串,文件指針,輸出表列);

      D)fscanf(文件指針,格式字符串,輸入表列);

      10.以下程序的運行結果是()

      # define MAX 10

      int a[MAX],i;

      main()

      { printf("\n");sub1();sub3(a);sub2();sub3(a);

      }

      sub2()

      { int a[MAX],i,max;

      max=5;

      for(i=0;i  }

      sub1()

      {for(i=0;i  }

      sub3(int a[])

      { int i;

      for(i=0;i  printf("\n");

      }

      A)0 2 4 6 8 10 12 14 16 18

      0 1 2 3 4

      B)0 1 2 3 4

      0 2 4 6 8 10 12 14 16 18

      C)0 1 2 3 4 5 6 7 8 9

      0 1 2 3 4

      D)0 2 4 6 8 10 12 14 16 18

      0 2 4 6 8 10 12 14 16 18

      答案:1.A 2.D 3.B 4.C 5.D 6.B 7.C 8.B 9.D 10.D

      計算機考試題【二】

      1.若有如下程序:

      main()

      {chara[]="china\0name\0";

      printf("%d,",strlen(a));

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

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

      A)5,11 B)5,12 C)11,11 D)12,12

      2.指針變量p的基類型為int,并已指向一連續存儲區,若p中當前的地址值為1234,則執行p++后,p中的值為()

      A)1234 B)1235 C)1236 D)1237

      3.函數調用“strcat(strcpy(str1,str2),str3)”的功能是()

      A)將串str1拷貝到串str2中后再連接到串str3之后

      B)將串str1連接到串str2之后再拷貝到串str3之后

      C)將串str2拷貝到串str1中后再將串str3連接到串str1之后

      D)將串str2連接到串str1之后再將串str1拷貝到串str3中

      4.下面宏定義正確的是()

      A)#defineSa*b

      B)#definePI3.14;

      C)#definemax(a,b) ((a)>(b)?(a)∶(b))

      D)#defines(x)(x)*(x);

      5.下面敘述正確的是()

      A)函數調用不可以出現在表達式中

      B)函數調用可以作為一個函數的實參

      C)函數調用可以作為一個函數的形參

      D)函數不可以直接調用其本身

      6.有如下程序

      #include

      main()

      {int v1=0,v2=0;

      char ch;

      while ((ch=getchar())!='#')

      switch(ch)

      {case ′a′:

      case ′h′:

      default:v1++;

      case ′0′: v2++;

      }

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

      }

      如果從鍵盤上輸入china#<回車>,則程序運行結果為()

      A)2,0 B)5,0 C)5,5 D)2,5

      7.程序中頭文件type1.h的內容是:

      #defineN5

      #defineM1N*3

      程序如下:

      #include"type1.h"

      #defineM2N*2

      main()

      {inti;

      i=M1+M2;printf("%d\n",i);}

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

      A)10 B)20 C)25 D)30

      8.C語言規定函數返回值的類型由()

      A)在定義時所指定的函數類型所決定

      B)調用該函數時的主調函數類型所決定

      C)return語句中的表達式類型所決定

      D)調用該函數時系統臨時決定

      9.若有如下程序:

      main()

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

      printf("%d%d%d\n",a[0][1],a[1][2],a[2][3]);}

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

      A)270 B)480 C)160 D)不定值

      10.以下能將字符串:youareluck!正確讀入的語句組是()

      A)chars[80];scanf("%s",s);

      B)char*s;scanf("%s",s);

      C)chars[80];gets(s);

      D)char*s;gets(s);

      答案:1.B 2.C 3.C 4.C 5.B 6.C 7.C 8.A 9.A 10.C

      計算機考試題【三】

      1.執行下面的程序段

      int x=40;

      char z=′B′;

      int B;

      B=((x&0xff)&&(z>′a′));

      后,B的值為()

      A)0 B)1 C)2 D)3

      2.已知下列函數定義

      setw(int *b,int m,int n,int dat)

      { int k;

      for(k=0;k  {*b=dat;b++;}

      }

      則調用此函數的正確寫法是(假設變量a的說明為int a[50])()

      A)setw(*a,5,8,1); B)setw(&a,5,8,1); C)setw((int*)a,5,8,1); D)setw(a,5,8,1);

      3.若有以下定義和語句:

      double r=99, *p=7;

      *p=r;

      則以下正確的敘述是()

      A)兩處的*p含義相同,都說明給指針變量p賦值3

      B)在“double r=99, *p=7; *p=r;”中,把r的地址賦給了p所指的存儲單元

      C)語句“*p=r;”把變量r的值賦給指針變量p

      D)語句“*p=r;”把變量r的值放回p中

      4.設有char str[10],下列語句正確的是()

      A)scanf("%s",&str); B)printf("%c",str); C)printf("%s",str[0]); D)printf("%s",str);

      5.下列描述說明正確的是()

      A)定義結構體時,它的每個成員的數據類型可以不同

      B)不同結構體的成員名不能相同

      C)結構體定義時,其成員的數據類型不能是結構體本身

      D)結構體定義時各成員項之間可用分號也可用逗號隔開

      6.以下函數的功能是()

      intfun(char *a)

      { char*b=a;

      while(*b)b++;

      {return b-a; }

      }

      A)比較兩個字符串的大小 B)字符串的復制 C)計算字符串的長度 D)字符串的連接

      7.若有如下程序:

      #define X3

      #define YX+1

      #define ZY*Y/2

      main()

      { intn;

      for(n=1;n<=Z;n++)printf("%d",n);}

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

      A)12345 B)1234567 C)12345678 D)123456

      8.以下敘述中錯誤的是()

      A)局部變量的定義可以在函數體和復合語句的內部

      B)全局變量的定義可以在函數以外的任何部位

      C)同一程序內局部變量和全局變量不允許同名

      D)函數的形參屬于局部變量

      9.以下敘述中錯誤的是()

      A)二進制文件打開后可以先讀文件的末尾,而順序文件不可以

      B)在程序結束時,應當用fclose函數關閉已打開的文件

      C)在利用fread函數從二進制文件中讀數據時,可以用數組名給數組中所有元素讀入數據

      D)不可以用FILE定義指向二進制文件的文件指針

      10.若fp是指向某文件的指針,且已讀到此文件末尾,則庫函數feof(fp)的返回值是()

      A)EOF B)0 C)非零值 D)NULL

      答案:1.A 2.D 3.D 4.D 5.A 6.C 7.D 8.C 9.D 10.C

      計算機考試題【四】

      1.有以下程序:

      main()

      {intx=0xFFFF;printf("%d\n",x--);}

      執行后的輸出結果是()

      A)32767 B)FFFE C)-1 D)-32768

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

      #include

      #include

      main()

      { char str[12]={′s′,′t′,′r′,′i′,′n′,′g′};

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

      }

      A)6 B)7 C)11 D)12

      3.若有以下定義:

      char s[20]="programming",*ps=s;

      則不能代表字符o的表達式是()

      A)ps+2 B)s[2] C)ps[2] D)ps+=2,*ps

      4.關于語句“for(表達式1;表達式2;表達式3)”,下面說法中錯誤的是()

      A)for語句中的三個表達式可以同時省略

      B)for語句可以用于循環次數不確定的情況

      C)for語句中表達式2只能是關系表達式或邏輯表達式

      D)for語句中表達式1和表達式3可以是逗號表達式

      5.執行下面程序片段的結果是()

      int x=23;

      do

      { printf("-",x--);}

      while(!x);

      A)打印出321 B)打印出23 C)不打印任何內容 D)陷入死循環

      6.與y=(x>0?1∶x<0?-1∶0);的功能相同的if語句是()

      A)if(x>0)y=1;

      else if(x<0)y=-1;

      else y=0;

      B)if(x)

      if(x>0) y=1;

      else if(x<0) y=-1;

      else y=0;

      C)y=-1;

      if(x)

      if(x>0)y=1;

      else if(x==0) y=0;

      else y=-1;

      D)y=0;

      if(x>=0)

      if(x>0) y=1;

      else y=-1;

      7.標準庫函數fgets(s,n,f)的功能是()

      A)從文件f中讀取長度為n的字符串存入指針s所指的內存

      B)從文件f中讀取長度不超過n-1的字符串存入指針s所指的內存

      C)從文件f中讀取n個字符串存入指針s所指的內存

      D)從文件f中讀取長度為n-1的字符串存入指針s所指的內存

      8.若有如下函數調用語句:

      sub(a,1,fun(b,c),d+c,(a+d,c*f));

      則在該函數調用語句中含有實參的個數是()

      A)5 B)7 C)10 D)6

      9.若要定義a為3×4的二維數組,正確的定義語句是()

      A)float a(3,4); B)float a[3][4]; C)float a(3)(4); D)float a[3,4];

      10.有以下程序

      main()

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

      int i,s=0;

      for (i=0;i<4;i++)s+=aa[i][1];

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

      }

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

      A)11 B)19 C)13 D)20

      答案:1.C 2.A 3.A 4.C 5.B 6.A 7.B 8.A 9.B 10.B

      計算機考試題【五】

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

      #include

      main ()

      {int a,b,d=241;

      a=d/100%9

      b=(-1)&&(+1);

      printf("%d,%d,a,d"); }

      A)6,1 B)2,1 C)6,0 D)2,0

      2.關于if后一對圓括號中的表達式,以下敘述中正確的是()

      A)只能用邏輯表達式 B)只能用關系表達式 C)既可用邏輯表達式也可用關系表達式 D)可用任意表達式

      3.有以下程序

      main()

      { int a,b;

      for(a=1,b=1;a<=100;a++)

      {if(b>=20)break;

      if(b%3==1)

      {b+=3;

      continue;}

      b-=5;

      }

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

      }

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

      A)7 B)8 C)9 D)10

      4.C語言中()

      A)不能使用do-while語句構成的循環

      B)do-while語句構成的循環必須用break語句才能退出

      C)do-while語句構成的循環,當while語句中的表達式值為非零時結束循環

      D)do-while語句構成的循環,當while語句中的表達式值為零時結束循環

      5.當a=1、b=3、c=5、d=4時,執行下面一段程序:

      if(a  if(c  else

      if(a  if(b  elsex=3;

      elesx=6;

      elsex=7;

      程序執行后,x的值為()

      A)1 B)2 C)3 D)6

      6.若x、y、z、m均為int型變量,則執行下面語句后m的值是()

      m=1;x=2;y=3;

      m= (m  m= (m  m= (m

      A)1 B)2 C)3 D)4

      7.設有如下的函數

      funct(x)

      float x;

      { x*=x;printf("\n%d",x);return(x);}

      則函數的類型()

      A)與參數x的類型相同 B)void C)int D)無法確定

      8.在C語言中,不適用于局部變量的存儲類說明符是()

      A)auto B)register C)static D)extern

      9.有以下程序

      intf(intn)

      {if(n==1)return1;

      elsereturnf(n-1)+1;

      }

      main()

      {inti,j=0;

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

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

      }

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

      A)15 B)10 C)6 D)3

      10.有以下程序

      intb=2;

      int func(int*a)

      {b+=*a;return(b);}

      main()

      {inta=2,res=2;

      res+=func(&a);

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

      }

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

      A)4 B)6 C)8 D)10

      答案:1.B 2.D 3.B 4.D 5.B 6.A 7.C 8.D 9.B 10.B

    【計算機二級c語言考試試題及答案】相關文章:

    計算機二級《C語言》考試模擬試題與答案01-18

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

    2017計算機二級《C語言》考試題及答案08-27

    計算機二級《C語言》備考試題及答案01-29

    計算機二級《C語言》考試沖刺試題及答案202409-11

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

    計算機二級《C語言》操作試題與答案09-23

    計算機二級《C語言》專項試題及答案11-29

    計算機二級C語言模擬試題及答案03-21

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