9月全國計算機等考試二C語言筆試真題與答案_第1頁
9月全國計算機等考試二C語言筆試真題與答案_第2頁
9月全國計算機等考試二C語言筆試真題與答案_第3頁
9月全國計算機等考試二C語言筆試真題與答案_第4頁
9月全國計算機等考試二C語言筆試真題與答案_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

2012年9月全國計算機A)預定義標識符(如庫函數(shù)中的函數(shù)名)可用作用標識

(1)下列鏈表種,其邏輯結構屬于非線性結構的是符,但失去原有含義

A)循環(huán)鏈表B)雙向鏈表C)帶鏈的棧D)二叉鏈B)用戶標識符可以由字母和數(shù)字任意順序組成

表在標識符中大寫字母和小寫字母被認為是相同的字符

(2)設循環(huán)隊列的存儲空間為Q(l:35),初始狀態(tài)為D)關鍵字可用作用戶標識符,但失去原有含義

front=rear=35,現(xiàn)經過一系列入隊身退隊運算后,front=15,(13)以下選項中表示一個合法的常量是(說明:符號口

rear=15,則循環(huán)隊列中的元素個數(shù)為表示空格)

A)16B)20C)0或35D)15A)9口9口9B)OXabC)123E0.2D)2.7e

(3)下列關于棧的敘述中,正確的是14c語言主要是借助以下哪個功能來實現(xiàn)程序模塊化

A)棧頂元素一定是最先入棧的元素B)棧操作遵循先A)定義函數(shù)B)定義常量和外部變量

進后出的原則C)三種基本結構語句D)豐富的數(shù)據(jù)類型

C)棧底元素一定是最后入棧的元素D)以上三種說法(15)以下敘述中錯誤的是

都不對A)非零的數(shù)值類型常量有正直和負值的區(qū)分

(4)在關系數(shù)據(jù)庫中,用來表示實體間聯(lián)系的是B)常量是在程序運行過程中值不能被改變的量

A)二維表B)樹狀結構C)屬性D)網狀結構C)定義符號常量必須用類型名來設定常量的類型

(5)公司中有多個部門和多名職員,每個職員只能屬于D)用符號名表示的常量叫符號常量

一個部門,一個部門可以有多名職員,則實體部門和職員(16)若有定義和語句:inia,b;scanf("%d,%d”,&a,&b);

間的聯(lián)系是以下選項中的輸入數(shù)據(jù),不能把值3賦給變量a、5賦給

A)m:l聯(lián)系B)l:m聯(lián)系C)1:1聯(lián)系D)m:n聯(lián)系變量b的是

(6)有兩個關系R和£如下:A)3,5R)3,5,4C)3,5D)3,5

一(17)C語言中char類型數(shù)據(jù)占字節(jié)數(shù)為

VS

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

(18)下列關系表達式中,結果為“假”的是

BABC

cA)(3+4)>6B)⑶=4]>2C)3<=4||3D)(3<4)==1

2c31(20)有以下程序

#include<stdio.h>

2main()

{inta=-2,b=0;

while(a++&&++b);

則由關系R得到關系S的操作是printf(M%d,%d\nH,a,b);}

A)自然連接B)選擇C)并D)投影程序運行后的輸出結果是

(7)數(shù)據(jù)字典(DD)所定義的對象都包含于A)1,3B)0,2C)0,3D)1,2

A)程序流程圖B)數(shù)據(jù)流圖(DFD圖)C)方框圖D)(21)設有定義:imx=0,*p;,立刻執(zhí)行以下語句,正確

軟件結構圖的語句是

(8)軟件需求規(guī)格說明書的作用不包括A)p=x;B)*p=x;C)p=NULL;D)*p=NULL;

A)軟件可行性研究的依據(jù)B)用戶與開發(fā)人員對軟件(22)下列敘述中正確的是

要做什么的共同理解A)可以用關系運算符比較字符串的大小

C)軟件驗收的依據(jù)D)軟件設計的依據(jù)B)空字符串不占用內存,其內存空間大小是0

(9)下面屬于黑盒測試方法的是C)兩個連續(xù)的單引號是合法的字符常量

A邏輯覆蓋B)語句覆蓋C)路徑覆蓋D)邊界值分析D)兩個連續(xù)的雙引號是合法的字符串常量

(10)下面不屬于軟件設計階段任務的是(23)有以下程序

A)數(shù)據(jù)庫設計B)算法設計#include<stdio.h>

C)軟件總體設計D)制定軟件確認測試計劃main()

(11)以下敘述中正確的是{chara='H';

A在C語言程序中,main函數(shù)必須放在其他函數(shù)的最前a=(a>='A,&&a<='Z')?(a-,A'+'a,):a;

面printf("%c\n",a);}

B)每個后綴為.C的C語言源程序都可以單獨進行編譯程序運行后的輸出結果是

C在C語言程序中,只有main函數(shù)才可單獨進行編譯A)AB)aC)HD)h

D每個后綴為.C地點C語言源程序都應該包含一個main(24)有以下程序

函數(shù)#inckide<stdio.h>

(12)C語言中的標識符分為關鍵字、預定義標識符和用intf(intx);

戶標識符,以下敘述正確的是main()

{inta,b=O;

for(a=0;a<3;a++)D)charstr[5]="pass",str2|6];str2=strl;

{b=b+f(a);putcharCA'+b);}}(31)有以下程序

intf(intx)#include<stdio.h>

{returnx*x+l;(main()

程序運行后狗輸出結果是{char*s=M12134";intk=O,a=O;

A)ABEB)BDIC)BCFD)BCDwhile(s[k+lJ!='\O')

(25)設有定義:intx[2][3];,則以下關于二維數(shù)組x的{k++;

敘述錯誤的是if(k%2==0){a=a+(s[k]-,0,+l);continue;)

A)x[0]可看作是由3個整型元素組成的一維數(shù)組a=a+(s[k]-'O');}

B)x[0]和x[l]是數(shù)組名,分別代表不同的地址常量printf("k=%da=%d\n",k,a);)

C)數(shù)組x包含6個元素程序運行后的輸出結果是

D)可以用語句x[0]=0;為數(shù)組所有元素賦初值0A)k=6a=llB)k=3a=14C)k=3a=12D)k=5

(26)設變量p是指針變量,語句p=NULL;是給指針變a=15

量賦NULL值,它等價于(32)有以下程序

A)p=',H;B)p='O';C)p=0;D)p=n;#include<stdio.h>

(27)有以下程序main()

#include<stdio.h>{chara[5][10]={"one","twoM,,,three',;,fbur",,,fiveH};

main()inti,j;

{inta[]={10,20,30,40},*p=a,i;chart;

fbr(i=O;i<=3i4-+){a[i]=*p:p++;}for(i=0;i<4;i++)

printf("%d\n",a[2]);}for(j=i+l;j<5;j++)

程序運行后的輸出結果是if(a[i][O]>a|j][O])

A)30B)40C)10D)20{t=a[i][O];a[i][O]=a[j][O];a[j][O]=t;}

(28)有以下程序puts(a[l]);}

#include<stdio.h>程序運行后的輸出結果是

#defincN3A)fwoB)fixC)twoD)owo

voidfun(inta[][N],intb[])(33)有以下程序

{inti,j;#include<stdio.h>

for(i=0;i<N;i++)inta=1,b=2;

{b[i]=a[i][0];voidfun1(inta,intb)

for(j=i;j<N;j++){printf("%d%d",a,b);)

if(b[i]<a[i]UDb[i]=a[i]U];}}voidfun2()

main()(a=3;b=4;J

{intx[N][N]={l,2,3A5,6,7,8,9},y[N],i;mian()

fun(x,y);{funl(5,6):fun2();

for(i=0;i<N;i++)printf("%d?\y[i]);printf("%d%d\n",a,b);}

printf("\n");!程序運行后的輸出結果是

程序運行后的輸出結果是A)1256B)563405612D)3456

A)2,4,8,B)3,6,9,C)3,5,7,D)1,3,5,(34)有以下程序

(29)有以下程序(strcpy為字符串復制函數(shù),strcat為字#inckide<stdio.h>

符串連接函數(shù))voidfunc(intn)

#include<stdio.h>{staticintnum=l;

#include<string.h>num=num+n;printf("%d",num)}

main()main()

{chara[lO]="abc,',b[l0]="012",c[lO]="xyzn;{func(3);func(4);printf("\n");)

strcpy(a+l,b+2);程序運行后的輸出結果是

puts(strcat(a,c+1));}A)48B)34035D)45

程序運行后的輸出結果是(35)有以下程序

A)al2cyzB)12yzC)a2yzD)bc2yz#include<stdio.h>

(30)以下選項中,合法的是#inckide<dtdio.h>

A)charstr3□二{'d','e','b','u','g',''0',(;voidfun(int*pl,int*p2,int*s)

B)charstr4;str4="helloworld";{s=(int*)malloc(sizeof(int));

C)charname[10];name="china";*s=*pl+*p2;

free(s);}二、填空題(每空2分,共30分)

main()(1)一棵二叉樹共有47個結點,其中有23個度為2的

{inta=l,b=40,*q=&a;結點,假設根結點在底1層,則該二叉樹的深度為L11。

fun(&a,&b,q);(2)設棧的存儲空間為S(l:40),初始狀態(tài)為bottom=0,

printf("%d\n",*q);top=0,現(xiàn)經過一系列入棧與出棧運算后,top=20,則當

)前棧中有3個元素。

程序運行后的輸出結果(3)數(shù)據(jù)獨立性分為邏輯獨立性和物理獨立性。當總體

A)42B)0C)1D)41邏輯結構改變時,其局部邏輯結構可以不變,從而根據(jù)局

(36)有以下程序部邏輯結構編寫的應用程序不必修改,稱為【3】。

voidf(structSTUa[])(4)關系數(shù)據(jù)庫中能實現(xiàn)的專門關系運算包括包、連

',

{structSTUb={"Zhao;m,,85t90);接和投影。

a[l]=b;|(5軟件按功能通??梢苑譃閼密浖?、系統(tǒng)軟件和支撐

main()軟件(或工具軟件),Unix操作系統(tǒng)屬于【5】軟件。

{structSTUc[2]={{"Qian";f,95,92),{"Sun",'m',98,99));(6)請寫出與!(a<=b)等價的C語言表達式,

f(c);(7)以下程序運行時從鍵盤輸入:1.02.0,輸出結果是:

printf("%s,%c,%d,%d;;c[0].name,c[0].sex,c[0].score[0],c[01.0()00002.0000()0,請?zhí)羁铡?/p>

].score[l]);#include<stdio.h>

printf("%s,%c,%d,%d\n",c[1].name,c[1].sex,c[l].score[0],c[inain()

l].score[l]);}{doublea;floatb;

程序運行后為輸出結果是【7】printf(',%f%An,,,a,h);)

A)Zhao,m,85,90,Sun,m,98,99(8)有以下程序

B)Zhao,m,85,90,Qian,f,95,92#include<stdio.h>

C)Qian,f,95,92,Sun,m,98,99inainO

D)Qian,f,95,92,Zhao,m,85,90{intnl=0,n2=0,n3=0;

(37)以下敘述中錯誤的是while(ch=getchar()!='!")

A)可以用lypcdef說明的新類型名來定義變量switch(ch)

B)typedef說明的新類型名必須使用大寫字母,否則會出{case'r:case'3';n1++;break;

編譯錯誤case'2':case'4';n2++;break;

C)用typedef可以為基本數(shù)據(jù)類型說明一個新名稱default:n3++;break;))

D)用typedef說明新類型的作用是用一個新的標識符來代若程序運行時輸入01234567!〈回車>,則輸出結果是18入

表已存在的類型名(9)有以下程序

(38)以下敘述中錯誤的是#include<stdio.h>

A)函數(shù)的返回值類型不能是結構體類型,只能是簡單類main()

型{inti,sum=0;

B)函數(shù)可以返回指向結構體變量的指針for(j=l;j<9;i+=2)sum+=i;

C)可以通過指向結構體變量的指針訪問所指結構體變量printf("%d\n",sum);

的任何成員)

D)只要類型相同,結構體變量之間可以整體賦值程序運行后的輸出結果是[9】,

(39)若有定義語句imb=2;則表達式(bvv2)/(3||b)的值是(10)有以下程序

A)4B)8C)0D)2#inckide<stdio.h>

(40)有以下程序main()

#include<stdio.h>{intd,n=1234;

main()while(n!=0)

{FILE*fp;inti,a[6]=(1,23,4,5,6};{d=n%10;n=n/lO;printf-%d”,d);}

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

for(i=0;i<6;i++)fprintf(fp,"%d\nM,a[i]);程序運行后的輸出結果是【10】。

rewind(fp);(11)有以下程序

fbr(i=0;i<6;i++)fscanf(fp;'%d",&a[5-i]);#include<stdio.h>

fclose(fp);intk=7;

for(i=0;i<6;i++)printf("%d,",a[i]);}int*st(int*a)

程序運行后的輸出結果是{int*c=&k;

A)4,5,61,2,3,B)123,3,2,1,C)if(*a>*c)c=a;

1,2,3,456,D)654,3,2/,returnc;

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

main()D)以上三種說法都不對

{inti=3.*p=&i.*r;(2)下列敘述中正確的是

r=st(p);printf("%d\n',,*r);A)有一個以上根結點的數(shù)據(jù)結構不一定是非線性結構

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

程序運行后的輸出結果是C)循環(huán)鏈表是非線性結構

(12)以下程序的輸出結果是【12】。D)雙向鏈表是非線性結構

#include<stdio.h>(6)下面描述中錯誤的是

#defineN3A)系統(tǒng)總體結構圖支持軟件系統(tǒng)的詳細設計

#defincM(n)(N+l)*nB)軟件設計是將軟件需求轉換為軟件表示的過程

main()C)數(shù)據(jù)結構與數(shù)據(jù)庫設計是軟件設計的任務之一

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

x=2*(N+M(2));(7)負責數(shù)據(jù)庫中查詢操作的數(shù)據(jù)庫語言是

printf("%d\n",x);A)數(shù)據(jù)定義語言B)數(shù)據(jù)管理語言

)C)數(shù)據(jù)操縱語言D)數(shù)據(jù)控制語言

(13)若有定義語句:charstr[]="O";,則字符串str在內(8)一個教師可講授多門課程,一門課程可由多個教師講

存中實際占【13】字節(jié)。授。則實體教師和課程間的聯(lián)系是

(14)有以下程序A)l:l聯(lián)系B)l:m聯(lián)系

#inckide<stdio.h>C)m:l聯(lián)系D)m:n聯(lián)系

intfnn(intn)(I。)定義無符號整數(shù)類為Ulnt,下面可以作為類UInt實

{if(n==O)retum(1);例化值的是

retum(fun(n-l)*n);A)-369B)369C)0.369D)整數(shù)集合{1,2,345}

)(11)計算機高級語言程序的運行方法有編譯執(zhí)行和解釋執(zhí)

main()行兩種,以下敘述中正確的是

{intt;A)C語言程序僅可以編譯執(zhí)行

t=fun(3);printf(M%d\nM,t);B)C語言程序僅可以解釋執(zhí)行

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

程序運行后的輸出結果是【14】。D)以上說法都不對

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

參考答案:1答案已對照修改為正確順序)A)C語言的可執(zhí)行程序是由一系列機器指令構成的

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

1-5CCBBA6-10BBADD通過編譯得到的二進制目標程序需要連接才可以運行

11-15BABAC16-20CCBDDD)在沒有安裝C語言集成開發(fā)環(huán)境的機器上不能運行

21-25BDDBD26-30CABCAC源程序生成的.exe文件

31-35CABAD36-40DBABD(13)以下選項中不能用作C程序合法常量的是

二、填空題A)1,234B)'123'C)123D)"\x7G”

,62.203,邏輯獨立4.選擇5.系統(tǒng)6.a>b(14)以下選項中可用作C程序合法實數(shù)的是

7、%lf%f8、2249、1610、4321A).leOB)3.0e0.2C)E9D)9.I2E

11、712、2213、214、615、p=p>next(15)若有定義語句:inta=3,b=2,c=l;,以下選項中錯誤的

賦值表達式是

2011年3月計算機等級考試二級A)a=(b=4)=3;B)a=b=c+I;C)a=(b=4)+c;D)a=l+(b=c=4);

(3)某二叉樹共有7個結點,其中葉子結點只有1個,(16)有以下程序段

則該二叉樹的深度為(假設根結點在第1層)charname[20];

A)3B)4C)6D)7intnum;

(4)在軟件開發(fā)中,需求分析階段產生的主要文檔是scanf("name=%snum=%d",name;&num);

A)軟件集成測試計劃B)軟件詳細設計說明書當執(zhí)行上述程序段,并從鍵盤輸入:name=Lili

C)用戶手冊D)軟件需求規(guī)格說明書num=1001<回車〉后,name的值為

(5)結構化程序所要求的基本結構不包括A)LiliB)name=Lili

A)順序結構B)GOTO跳轉C)Lilinum=D)name=Lilinum=1001

C)選擇(分支)結構D)重復(循環(huán))結構(17)if語句的基本形式是:if(表達式)語句,以下關于“表

(1)下列關于棧敘述正確的是達式”值的敘述中正確的是

A)棧頂元素最先能被刪除A)必須是邏輯值B)必須是整數(shù)值

B)棧頂元素最后才能被刪除C)必須是正數(shù)D)可以是任意合法的數(shù)值

(18)有以下程序D)構成無限循環(huán)

#include(23)有以下程序

main()#include

{intx=Oll;main()

printf(',%d\n",++x);){charb,c;inti;

程序運行后的輸出結果是b='a';c='A';

A)12B)11C)10D)9for(i=0;i<6;i++)

(19)有以下程序{if(i%2)putchar(i+b);

#inckideelseputchar(i+c);)printff"\n");}

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

{ints;A)ABCDEFB)AbCdEfC)aBcDeFD)abcdef

scanf("%dH,&s);(24)設有定義:doublex[10],*p=x;,以下能給數(shù)組x下

while(s>0)標為6的元素讀入數(shù)

{switch(s)據(jù)的正確語句是

{casel:printf("%d",s+5);A)scanf(0%r,&x[6]);B)scanf("%lf;*(x+6));

case2:printf('%d",s+4);break;C)scanf("%If,p+6);D)scanf("%lf;p[6]);

case3:printf("%d",s+3);(25)有以下程序(說明:字母A的ASCII碼值是65)

default:printf(M%d",s+l);break;}#include

scanf("%dH,&s);}}voidfun(char*s)

運行時,若輸入1244sM問車〉,則輸出結果是{while(*s)

A)6566456B)66656C)66666D)6666656{if(*s%2)printf("%c",*s);

(20)有以下程序段S++;}}

inti,n;inainO

for(i=0;i<8;i-t-+){chara[]="BYTE";

{n=rand()%5;fun(a);printf("\n");)

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

(case1:A)BYB)BTC)YTD)YE

case3:printf(',%d\n',,n);break;(26)有以下程序段

case2:#include

case4:printf(',%d\n',,n);continue;main()

caseO:exit(O);){..

printf(1,%d\n,,,n);)while(getchar()!=*\n');

以下關于程序段執(zhí)行情況的敘述,正確的是...)

A)for循環(huán)語句固定執(zhí)行8次以下敘述中正確的是

B)當產生的隨機數(shù)n為4時結束循環(huán)操作A)此while語句將無限循環(huán)

C)當產生的隨機數(shù)n為1和2時不做任何操作B)getchar()不可以出現(xiàn)在while語句的條件表達式中

D)當產生的隨機數(shù)n為0時結束程序運行C)當執(zhí)行此while語句時,只有按回年鍵程序才能繼續(xù)

(21)有以下程序執(zhí)行

#includeD)當執(zhí)行此while語句時,按任意鍵程序就能繼續(xù)執(zhí)行

main()(27)有以下程序

{chars[]="012xy\08s34f4w2H;#includc

inti,n=0;main()

for(i=0;s[i]!=0;i++){intx=l,y=O;

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

printf("%d\n",n);}elseif(x==O)

程序運行后的輸出結果是if(x)y+=2;

A)0B)3C)7D)8elsey+=3;

(22)若i和k都是int類型變量,有以下for語句prinif("%d\n",y);}

fbr(i=O,k=-1:k=1;k++)printf("*****\n");程序運行后的輸出結果是

下面關于語句執(zhí)行情況的敘述中正確的是A)3B)2C)1D)0

A)循環(huán)體執(zhí)行兩次(28)若有定義語句:char譏3],*p;,則以下賦值

B)循環(huán)體執(zhí)行一次語句正確的是

C)循環(huán)體一次也不執(zhí)行A)p=s;B)p=k;C)p=s[O];D)k=s;

(29)有以下程序A)3B)6C)8D)I2

#include(34)有以下程序

voidfunfchar*c)#include

{while(*c)intfun()

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

C++;}}x*=2;

main()returnx;J

{chars[81];main()

gets(s);fun(s);puts(s):}{inti,s=l;

當執(zhí)行程序時從鍵盤上輸入HelloBeijingv回車》,則程序for(i=l;i<=3;i++)s*=fun();

的輸出結果是printf(H%d\n",s);)

A)hellobeijingB)HelloBeijing程序運行后的輸出結果是

C)HELLOBEIJINGD)hELLOBeijingA)0B)10C)30D)64

(30)以下函數(shù)的功能是:通過鍵盤輸入數(shù)據(jù),為數(shù)組中的(35)有以下程序

所有元素賦值。#inckide

#include#defineS(x)4*(x)*x+l

#defineN10main()

voidfun(intx[N]){intk=5,j=2;

{inti=0;printf(M%d\n",S(k+j));)

while(i<='M,p=,,u>}程序運行后的輸出結果是

在程序中下劃線處應填入的是A)197B)143C)33D)28

A)x+iB)&x[i+1](36)設有定義:struct{charmark[12];intnuml;double

C)x+(i++)D)&x[++i]num2;}若變

(31)有以下程序量均已正確賦初值,則以下語句中錯誤的是

#includeA)tlK2;B)t2.numl=tl.numl;

main()C)t2.mark=t1.mark;D)t2.num2=tl.num2;

{chara[30],b[30];(37)有以下程序

scanf("%s",a);#include

gets(b);structord

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

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論