<pre id="bbfd9"><del id="bbfd9"><dfn id="bbfd9"></dfn></del></pre>

          <ruby id="bbfd9"></ruby><p id="bbfd9"><mark id="bbfd9"></mark></p>

          <p id="bbfd9"></p>

          <p id="bbfd9"><cite id="bbfd9"></cite></p>

            <th id="bbfd9"><form id="bbfd9"><dl id="bbfd9"></dl></form></th>

            <p id="bbfd9"><cite id="bbfd9"></cite></p><p id="bbfd9"></p>
            <p id="bbfd9"><cite id="bbfd9"><progress id="bbfd9"></progress></cite></p>
            試題

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

            時間:2025-05-03 20:53:48 試題 我要投稿

            計算機二級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語言》考試模擬試題與答案07-21

            計算機二級C語言試題及答案05-19

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

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

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

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

            計算機二級《C語言》試題及答案201610-30

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

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

                    <pre id="bbfd9"><del id="bbfd9"><dfn id="bbfd9"></dfn></del></pre>

                    <ruby id="bbfd9"></ruby><p id="bbfd9"><mark id="bbfd9"></mark></p>

                    <p id="bbfd9"></p>

                    <p id="bbfd9"><cite id="bbfd9"></cite></p>

                      <th id="bbfd9"><form id="bbfd9"><dl id="bbfd9"></dl></form></th>

                      <p id="bbfd9"><cite id="bbfd9"></cite></p><p id="bbfd9"></p>
                      <p id="bbfd9"><cite id="bbfd9"><progress id="bbfd9"></progress></cite></p>
                      飘沙影院