<delect id="sj01t"></delect>
  1. <em id="sj01t"><label id="sj01t"></label></em>
  2. <div id="sj01t"></div>
    1. <em id="sj01t"></em>

            <div id="sj01t"></div>
            試題

            全國計算機二級C語言考試試題

            時間:2025-04-24 22:15:01 試題 我要投稿

            全國計算機二級C語言考試試題2016

              雖然現在離全國計算機等級考試還有兩個月的時間,小編提早為大家整理了以下的計算機二級C語言考試卷,希望對大家有幫助!

            全國計算機二級C語言考試試題2016

              一、選擇題

              1)軟件是指

              A)程序 B)程序和文檔C)算法加數據結構 D)程序、數據和相關文檔的集合

              2)軟件調試的目的是 A)發現錯誤 B)改正錯誤C)改善軟件的性能 D)驗證軟件的正確性

              3)在面向對象方法中,實現信息隱蔽是依靠 A)對象的繼承 B)對象的多態C)對象的封裝 D)對象的分類

              4)下列敘述中,不符合良好程序設計風格的是

              A)程序的效率第一,清晰第二 B)程序的可讀性好C)程序中有必要的注釋 D)輸入數據前要有提示信息

              5)下列敘述中正確的是 A)程序執行的效率與數據的存儲結構密切相關B)程序執行的效率只取決于程序的控制結構

              C)程序執行的效率只取決于所處理的數據量D)以上三種說法都不對

              6)下列敘述中正確的是A)數據的邏輯結構與存儲結構必定是一一對應的

              B)由于計算機存儲空間是向量式的存儲結構,因此,數據的存儲結構一定是線性結構

              C)程序設計語言中的數組一般是順序存儲結構,因此,利用數組只能處理線線結構 D)以上三種說法都不對

              7)冒泡排序在最壞情況下的比較次數是 A)n(n+1)/2 B)nlog2n C)n(n-1)/2 D)n/2

              (8)一棵二叉樹中共有70個葉子結點與80個度為1的結點,則該二叉樹中的總結點數為

              A)219 B)221 C)229 D)231

              9)下列敘述中正確的是A)數據庫系統是一個獨立的系統,不需要操作系統的支持

              B)數據庫技術的根本目標是要解決數據的共享問題 C)數據庫管理系統就是數據庫系統 D)以上三種說法都不對

              10)下列敘述中正確的是 A)為了建立一個關系,首先要構造數據的邏輯關系

              B)表示關系的二維表中各元組的每一個分量還可以分成若干數據項

              C)一個關系的屬性名表稱為關系模式 D)一個關系可以包括多個二維表

              (11)C語言源程序名的后綴是 A).exe B).C C).obj D).cp

              (12)可在C程序中用做用戶標識符的一組標識符是 A)and B)Date C)Hi D)case_2007 y-m-d Dr.Tom Bigl

              (13)以下選項中,合法的一組C語言數值常量是 A)028 B)12. C).177

              D)0x8A. 5e-3 OXa23 4c1.5 10,000-0xf 4.5e0 Oabc 3.e5

              (14)以下敘述中正確的是 A)C語言程序將從源程序中第一個函數開始執行

              B)可以在程序中由用戶指定任意一個函數作為主函數,程序將從此開始執行

              C)C語言規定必須用main作為主函數名,程序將從此開始執行,在此結束

              D)main可作為用戶標識符,用以命名任意一個函數作為主函數

              (15)若在定義語句:int a,b,c,*p=&c;之后,接著執行以下選項中的語句,則能正確執行的語句是

              A)scanf("%d",a,b,c); B)scanf("%d%d%d",a,b,c); C)scanf("%d",p); D)scanf("%d",&p);

              (16)以下關于long、int和short類型數據占用內存大小的敘述中正確的是

              A)均占4個字節 B)根據數據的大小來決定所占內存的字節數 C)由用戶自己定義 D)由C語言編譯系統決定

              (17)若變量均已正確定義并賦值,以下合法的C語言賦值語句是

              A)x=y==5; B)x=n%2.5; C)x+n=I; D)x=5=4+1;

              (18)有以下程序段

              int j; float y; char name[50];

              scanf("-%f%s",&j,&y,name); 當執行上述程序段,從鍵盤上輸入55566 7777abc后,y的值為

              A)55566.0 B)566.0 C)7777.0 D)566777.0

              (19)若變量已正確定義,有以下程序段

              i=0;

              do printf("%d,",i);while(i++);

              printf("%d\n",i) 其輸出結果是 A)0,0 B)0,1 C)1,1 D)程序進入無限循環

              (20)有以下計算公式 若程序前面已在命令中包含math.h文件,不能夠正確計算上述公式的程序段是

              A)if(x>=0) y=sqrt(x); B)y=sqrt(x)else y=sqrt(-x); if(x<0) y=sqrt(-x);

              C)if(x>=0)y=sqrt(x); D)y=sqrt(x>=0?x:-x);If(x<0)y=sqrt(-x);

              (21)設有條件表達式:(EXP)?i++;j--,則以下表達式中(EXP)完全等價的是

              A)(EXP= =0) B)(EXP!=0) C)(EXP= =1) D)(EXP!=1)

              (22)有以下程序

              #include

              main()

              {int y=9;

              for( y>0;y--)

              if(y%3= =0) printf("%d",--y);0} 程序的運行結果是 A)741 B)963 C)852 D)875421

              (23)已有定義:char c; ,程序前面已在命令行中包含ctype.h文件,不能用于判斷c中的字符是否為大寫字母的表達式是 A)isupper(c) B)’A’<=c<=’Z’C)’A’<=c&&c<=’Z’ D)c<=(‘2’-32)&&(‘a’-32)<=c

              (24)有以下程序

              #include

              main()

              {int i,j,m=55;

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

              for(j=3;j<=i;j++) m=m%j;

              printf("%d\n",m);} 程序的運行結果是 A)0 B)1 C)2 D)3

              (25)若函數調用時的實參為變量時,以下關于函數形參和實參的敘述中正確的是

              A)函數的實參和其對應的形參共占同一存儲單元 B)形參只是形式上的存在,不占用具體存儲單元

              C)同名的實參和形參占同一存儲單元 D)函數的形參和實參分別占用不同的存儲單元

              (26)已知字符’A’的ASCⅡ代碼值是65,字符變量c1的值是’A’,c2的值是’D’。執行語句printf("%d,%d",c1,c2-2);后,輸出結果是 A)A,B B)A,68 C)65,66 D)65,68

              (27)以下敘述中錯誤的是 A)改變函數形參的值,不會改變對應實參的值

              B)函數可以返回地址值 C)可以給指針變量賦一個整數作為地址值

              D)當在程序的開頭包含文件stdio.h時,可以給指針變量賦NULL

              (28)以下正確的字符串常量是 A)"\\\" B)’abc’ C)OlympicGames D)""

              (29)設有定義:char p[]={’1’,’2’,’3’},*q=p; ,以下不能計算出一個char型數據所占字節數的表達式是

              A)sizeof(p) B)sizeof(char) C) sizeof(*q) D)sizeof(p[0])

              (30)有以下函數

              int aaa(char *s)

              {char *t=s;

              while(*t++);

              t--;

              return(t-s);} 以下關于aaa函數的功能敘述正確的是

              A)求字符串s的長度 B)比較兩個串的大小 C)將串s復制到串t D)求字符串s所占字節數

              (31)若有定義語句:int a[3][6]; ,按在內存中的存放順序,a數組的第10個元素是

              A)a[0][4] B)a[1][3] C)a[0][3] D)a[1][4]

              (32)有以下程序

              #include

              void fun(char **p)

              {++p; printf("%s\n",*p);}

              main()

              {char *a[]={"Morning","Afternoon","Evening","Night"};

              fun(a);} 程序的運行結果是 A)Afternoon B)fternoon C)Morning D)orning

              33)若有定義語句:int a[2][3],*p[3]; ,則以下語句中正確的是

              A)p=a; B)p[0]=a; C) p[0]=&a[1][2]; D)p[1]=&a;

              (34)有以下程序

              #include

              void fun(int *a,int n)

              {int t,i,j;

              for(i=0;i

              for(j=i+1;j

              if (a}

              main()

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

              fun(c+4,6);

              for (i=0;i<10;i++) printf("%d,",c);

              printf("\n");} 程序運行的結果是

              A)1,2,3,4,5,6,7,8,9,0, B)0,9,8,7,6,5,1,2,3,4, C) 0,9,8,7,6,5,4,3,2,1, D)1,2,3,4,9,8,7,6,5,0,

              (35)有以下程序

              #include

              int fun(char s[])

              {int n=0;

              while(*s<=’9’&&*s>=’0’) {n=10*n+*s-’0’;s++;}

              return(n);}

              main()

              {char s[10]={’6’,’1’,’*’,’4’,’*’,’9’,’*’,’0’,’*’};

              printf("%d\n",fun(s));} 程序運行的結果是 A)9 B)61490 C)61 D)5

              36)當用戶要求輸入的字符串中含有空格時,應使用的輸入函數是 A)scanf() B)getchar() C)gets() D)getc()

              (37)以下關于字符串的敘述中正確的是

              A)C語言中有字符串類型的常量和變量 B)兩個字符串中的字符個數相同時才能進行字符串大小的比較

              C)可以用關系運算符對字符串的大小進行比較 D)空串一定比空格打頭的字符串小

              (38)有以下程序:

              #include

              void fun(char *t,char *s)

              {while(*t!=0)t++;

              while((*t++=*s++)!=0);}

              main()

              { char ss[10]=”acc”,aa[10]=”bbxxyy”;

              fun(ss,aa);

              printf(“%s,%s\n”,ss,aa);}程序運行結果是

              A) accxyy , bbxxyy B) acc, bbxxyy C) accxxyy,bbxxyy D) accbbxxyy,bbxxyy

              (39)有以下程序

              #include

              #include

              void fun(char s[][10],int n)

              {char t;int i,j;

              for(i=0;i

              for(j=i+1,j

              if(s[0])>s[j][0]{t=s[0];s[0]=s[j][0];s[j][0]=t;}}

              main()

              {char ss[5][10]={“bcc”,”bbcc”,”xy”,”aaaacc””aabcc”}

              fun(ss,5); printf(“%s,%s\n”,ss[0],ss[4]);} 程序運行結果是

              A) xy,aaaacc B) aaaacc,xy C) xcc,aabcc D) acc,xabcc

              (40) 在一個C語言源程序文件中所定義的全局變量,其作用域為:

              A) 所在文件的全部范圍 B) 所在程序的全部范圍

              C) 所在函數的全部范圍 D) 由具體定義位置和extern 說明來決定范圍

              (41)有以下程序

              #include

              int a=1;

              int f(int c)

              {static int a=2;

              c=c+1;

              return (a++)+c;}

              main()

              { int i,k=0;

              for(i=0;i<2;i++){int a=3;k+=f(a);}

              k+=a;

              printf(“%d\n”,k);} 程序運行結果是 A) 14 B) 15 C) 16 D) 17

              (42)有以下程序

              #include

              void fun(int n,int *p)

              { int f1,f2;

              if(n==1||n==2) *p=1;

              else

              { fun(n-1,&f1); fun(n-2,&f2);

              *p=f1+f2;}}

              main()

              { int s;

              fun(3,&s); printf("%d\n",s);} 程序的運行結果是 A)2 B)3 C)4 D)5

              (43)若程序中有宏定義行:#define N 100 則以下敘述中正確的是

              A)宏定義行中定義了標識符N的值為整數100 B)在編譯程序對C源程序進行預處理時用100替換標識符N

              C) 對C源程序進行編譯時用100替換標識 D)在運行時用100替換標識符N

              (44)以下關于typedef的敘述錯誤的是 A)用typedef可以增加新類型

              B)typedef只是將已存在的類型用一個新的名字來代表C)用typedef可以為各種類型說明一個新名,但不能用來為變量說明一個新名 D)用typedef為類型說明一個新名,通常可以增加程序的可讀性

              (45)有以下程序

              #include

              struct tt

              {int x;struct tt *y;} *p;

              struct tt a[4]={20,a+1,15,a+2,30,a+3,17,a};

              main()

              { int i;

              p=a;

              for(i=1;i<=2;i++) {printf("%d,",p->x); p=p->y;}} 程序的運行結果是 A)20,30, B)30,17 C)15,30, D)20,15,

              (46)有以下程序

              #include

              #include

              typedef struct{ char name[9];char sex; float score[2]; } STU;

              STU f(STU a)

              { STU b={"Zhao",'m',85.0,90.0}; int i;

              strcpy(a.name,b.name);

              a. sex=b.sex;

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

              return a;}

              main()

              {STU c={"Qian",'f',95.0,92.0},d;

              d=f(c); printf("%s,%c,%2.0f,%2.0f\n",d.name,d.sex,d.score[0],d.score[1]);} 程序的運行結果是

              A)Qian,f,95,92 B)Qian,m,85,90 C)Zhao,m,85,90 D)Zhao,f,95,92

              (47)設有以下定義

              union data

              { int d1; float d2; }demo;則下面敘述中錯誤的是

              A)變量demo與成員d2所占的內存字節數相同 B)變量demo中各成員的地址相同

              C)變量demo和各成員的地址相同 D)若給demo.d1賦99后, demo.d2中的值是99.0

              (48)有以下程序

              #include

              main()

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

              x=(a^b)&c; printf("%d\n",x);} 程序的運行結果是 A)0 B)1 C)2 D)3

              (49)讀取二進制文件的函數調用形式為:fread(buffer,size,count,fp); ,其中buffer代表的是

              A)一個文件指針,指向待讀取的文件 B)一個整型變量,代表待讀取的數據的字節數

              C)一個內存塊的首地址,代表讀入數據存放的地址 D)一個內存塊的字節數

              (50)有以下程序

              #include

              main()

              {FILE *fp; int a[10]={1,2,3,0,0},i;

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

              fwrite(a,sizeof(int),5,fp);

              fwrite(a,sizeof(int),5,fp);

              fclose(fp);

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

              fread(a,sizeof(int),10,fp);

              fclose(fp);

              for(i=0;i<10;i++) printf("%d",a);} 程序的運行結果是

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

              二、填空題(每空2分,共40分)

              (1) 軟件需求規格說明書應具有完整性、無歧義性、正確性、可驗證性、可修改性等特性,其中最重要的_[1]_______.

              (2) 在兩種基本測試方法中, _[2]_______測試的原則之一是保證所測模塊中每一個獨立路徑至少要執行一次.

              (3) 線性表的存儲結構主要分為順序存儲結構和鏈式存儲結構.隊列是一種特殊的線性表,循環隊列是隊列的_[3]_______存儲結構.

              (4) 對下列二叉樹進行中序遍歷的結果為_[4]_______

              F

              / \

              C E

              / \ \

              A D G

              / / \

              B H P

              (5) 在E-R圖中距形表示_[5]_______

              (6) 執行以下程序時輸入1234567,則輸出結果是_[6]_______.

              #include

              main()

              { int a=1,b;

              scanf("--",&a&b);printf("%d %d\n",a,b);}

              (7) 以下程序的功能是:輸出a、b、c三個變量中的最小值.請填空。

              #include

              main()

              { int a,b,c,t1,t2;

              scanf("%d%d%d",&a,&b,&c);

              t1=a

              t2=c

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

              (8) 以下程序的輸出結果是_[9]_______.

              #include

              main()

              { int n=12345,d;

              while(n!=0){ d=n; printf("%d",d); n/=10;}}

              (9) 有以下程序段,且變量已正確定義和賦值

              for(s=1.0,k=1;k<=n;k++) s=s+1.0/(k*(k+1));

              printf("s=%f\n\n",s);

              請填空,使下面程序段的功能為完全相同

              s=1.0;k=1;

              while(_[10]_______){ s=s+1.0/(k*(k+1)); _[11]_______;}

              printf("s=%f\n\n",s);

              (10) 以下程序的輸出結果是_[12]_______.

              #include

              main()

              { int i;

              for(i='a';i<'f';i++,i++) printf("%c",i-'a'+'A');

              printf("\n");}

              (11) 以下程序的輸出結果是_[13]_______.

              #include

              #include

              char *fun(char *t)

              { char *p=t;

              return(p+strlen(t)/2);}

              main()

              { char *str="abcdefgh";

              str=fun(str);

              puts(str);}

              (12)以下程序中函數f的功能是在數組x的n個數(假定n個數互不相同)中找出最大最小數,將其中最小的數與第一個數對換,把最大的數與最后一個數對換.請填空.

              #include

              viod f(int x[],int n)

              { int p0,p1,i,j,t,m;

              i=j=x[0]; p0=p1=0;

              for(m=0;m

              { if(x[m]>i) {i=x[m]; p0=m;}

              else if(x[m]}

              t=x[p0]; x[p0]=x[n-1]; x[n-1]=t;

              t=x[p1];x[p1]= _[14]_______; _[15]_______=t;}

              main()

              { int a[10],u;

              for(u=0;u<10;u++) scanf("%d",&a);

              f(a,10);

              for(u=0;u<10;u++) printf("%d",a);

              printf("\n");}

              (13)以下程序統計從終端輸入的字符中大寫字母的個數,num[0]中統計字母A的個數,num[1]中統計字母B的個數,其它依次類推.用#號結束輸入,請填空.

              #include

              #include

              main()

              { int num[26]={0},i; char c;

              while((_[16]_______)!='#')

              if(isupper(c)) num[c-‘A’]+= _[17]_______;

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

              Printf("%c:%d\n",i+'A',num);}

              (14)執行以下程序的輸出結果是_[18]_______.

              #include

              main()

              { int i,n[4]={1};

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

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

              (15) 以下程序的輸出結果是_[19]_______.

              #include

              #define M 5

              #define N M+M

              main()

              { int k;

              k=N*N*5; printf("%d\n",k);}

              (16)函數main()的功能是:在帶頭結點的單鏈表中查找數據域中值最小的結點.請填空

              #include

              struct node

              { int data;

              struct node *next;};

              int min(struct node *first)

              { strct node *p; int m;

              p=first->next; m=p->data;p=p->next;

              for(;p!=NULL;p=_[20]_______)

              if(p->datadata;

              return m;}

              【參考答案】

              一、選擇題

              1-5 DBCAA6-10 CCABA 11-15 BABCC

              16-20 DABBB21-25 BCBBD

              26-30 CCDAA31-35 BACDC

              36-37 CDDBC42-45 AABAD

              46-50 CDDCD

              二、填空題

              1、無歧義性2、白盒測試3、順序4、ACBDFEHGP5、實體集6、12 347、a:b8、c:t19、5432110、k<=n11、k++

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

            全國計算機二級C語言考試沖刺試題201708-17

            全國計算機等級考試二級C語言試題二09-18

            全國計算機二級考試C語言備考試題及答案09-18

            全國計算機二級《C語言》操作試題07-20

            2017全國計算機二級《C語言》考試題及答案10-22

            2013全國計算機等級考試二級C語言試題一09-19

            全國計算機等級考試二級C語言筆試試題06-29

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

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

            <delect id="sj01t"></delect>
            1. <em id="sj01t"><label id="sj01t"></label></em>
            2. <div id="sj01t"></div>
              1. <em id="sj01t"></em>

                      <div id="sj01t"></div>
                      黄色视频在线观看