二級(jí)C歷年真題_第1頁
二級(jí)C歷年真題_第2頁
二級(jí)C歷年真題_第3頁
二級(jí)C歷年真題_第4頁
已閱讀5頁,還剩124頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

2007年9月全國計(jì)算機(jī)等級(jí)考試二級(jí)筆試試卷公共基礎(chǔ)知識(shí)和c語言程序設(shè)計(jì)(考試時(shí)間120分鐘,滿分100分)一、選擇題((D)?(10)每題2分,(11)?(50)每題1分,共60分))下列各題A)、B)、C)、D)四個(gè)選項(xiàng)中,只有一個(gè)選項(xiàng)是正確的,請(qǐng)將正確選項(xiàng)涂寫在答題卡上,答在試卷上不得分。(1)軟件是指。A)程序B)程序和文檔C)算法加數(shù)據(jù)結(jié)構(gòu)D)程序、數(shù)據(jù)與相關(guān)文檔的完整集合(2)軟件調(diào)試的目的是。A)發(fā)現(xiàn)錯(cuò)誤B)改正錯(cuò)誤C)改善軟件的性能D)驗(yàn)證軟件的正確性(3)在面向?qū)ο蠓椒ㄖ?,?shí)現(xiàn)信息隱蔽是依靠。A)秒象的繼承B)對(duì)象的多態(tài)C)對(duì)象的封裝D)對(duì)象的分類(4)下列敘述中,不符合良好程序設(shè)計(jì)風(fēng)格要求的是。A)程序的效率第一,清晰第二B)程序的可讀性好C)程序中要有必要的注釋D)輸入數(shù)據(jù)前要有提示信息(5)下列敘述中正確的是。A)程序執(zhí)行的效率與數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)密切相關(guān)B)程序執(zhí)行的效率只取決于程序的控制結(jié)構(gòu)C)程序執(zhí)行的效率只取決于所處理的數(shù)據(jù)量D)以上三種說法都不對(duì)(6)下列敘述中正確的是。A)數(shù)據(jù)的邏輯結(jié)構(gòu)與存儲(chǔ)結(jié)構(gòu)必定是一一對(duì)應(yīng)的B)由于計(jì)算機(jī)存儲(chǔ)空間是向量式的存儲(chǔ)結(jié)構(gòu),因此,數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)一定是線性結(jié)構(gòu)C)程序設(shè)計(jì)語言中的數(shù)據(jù)一般是順序存儲(chǔ)結(jié)構(gòu),因此,利用數(shù)組只能處理線性結(jié)構(gòu)D)以上三種說法都不對(duì)(7)冒泡排序在最壞情況下的比較次數(shù)是。A)n(n+l)/2B)nlog2nC)n(n-l)/2D)n/2(8)一棵二叉樹中共有70個(gè)葉子結(jié)點(diǎn)與80個(gè)度為1的結(jié)點(diǎn),則該二叉樹中的總結(jié)點(diǎn)數(shù)為。A)219B)221C)229D)231(9)下列敘述中正確的是。A)數(shù)據(jù)庫系統(tǒng)是一個(gè)獨(dú)立的系統(tǒng),不需要操作系統(tǒng)的支持B)數(shù)據(jù)庫技術(shù)的根本目標(biāo)是要解決數(shù)據(jù)的共享問題C)數(shù)據(jù)庫管理系統(tǒng)就是數(shù)據(jù)庫系統(tǒng)D)以上三種說法都不對(duì)(10)下列敘述中正確的是。A)為了建立一個(gè)關(guān)系,首先要構(gòu)造數(shù)據(jù)的邏輯關(guān)系B)表示關(guān)系的二維表中各元組的每一個(gè)分量還可以分成若干數(shù)據(jù)項(xiàng)一個(gè)關(guān)系的屬性名表稱為關(guān)系模式D)一個(gè)關(guān)系可以包括多個(gè)二維表C語言源程序名的后綴是。A).exeB).CC).objD).cp(12)可在C程序中用作用戶標(biāo)識(shí)符的一組標(biāo)識(shí)符是。A)andB)DateC)HiD)case_2007ymdDr.TomBigl(13)以下選項(xiàng)中,合法的一組C語言數(shù)值常量是。A)028B)12.C).177D)0x8A.5e 30Xa234e1.510,000.0xf4.5e00abc3.e5(14)以下敘述中正確的是。A)C語言程序?qū)脑闯绦蛑械谝粋€(gè)函數(shù)開始執(zhí)行B)可以在程序中由用戶指定任意一個(gè)函數(shù)作為主函數(shù),程序?qū)拇碎_始執(zhí)行C)C語言規(guī)定必須用main作為主函數(shù)名,程序?qū)拇碎_始執(zhí)行,在此結(jié)束D)main可作為用戶標(biāo)識(shí)符,用以命名任意一個(gè)函數(shù)作為主函數(shù)(15)若在定義語句:inta,b,c,*p=&c;之后,接著執(zhí)行以下選項(xiàng)中的語句,則能正確執(zhí)行的語句是。A)scanf(M%d';a,b,c);B)scanf(,'%d%d%d,\a,b,c);C)scanf("%d”,p);D)scanf(,'%d',,&p);(16)以下關(guān)于long、int和short類型數(shù)據(jù)占用內(nèi)存大小的敘述中正確的是。A)均占4個(gè)字節(jié)B)根據(jù)數(shù)據(jù)的大小來決定所占內(nèi)存的字節(jié)數(shù)C)由用戶自己定義D)由C語言編譯系統(tǒng)決定(17)若變量均已正確定義并賦值,以下合法的C語言賦值語句是。A)x=y==5;B)x=n%2.5;C)x+n=i;D)x=5=4+1;(18)有以下程序段:intj;floaty;charname[50]:scanf(n%2d%f%s'\&j,&y,name);當(dāng)執(zhí)行上述程序段,從鍵盤上輸入555667777abc后,y的值為。A)55566.0B)566.0C)7777.0D)566777.0(19)若變量已正確定義,有以下程序段:i=0;doprintf(M%d,M,i);while(i++);printf(',%d\n,\i);其輸出結(jié)果是。A)0,0B)O,1C)l,lD)程序進(jìn)入無限循環(huán)(20)有以下計(jì)算公式:y=x-x(x20)(x<0)若程序前面已在命令行中包含math.h文件,不能夠正確計(jì)算上述公式的程序段是。A)if(x>=O)y=sqrt(x);B)y=sqrt(x);elsey=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)設(shè)有條件表達(dá)式:(EXP)?i++:j-,則以下表達(dá)式中與(EXP)完全等價(jià)的是。A)(EXP=0)B)(EXP!=0)C)(EXP==1)D)(EXP!=1)(22)有以下程序:#include<stdio.h>mainO{inty=9;for(;y>0;y-)if(y%3==0)printf(M%d,',—y);)程序的運(yùn)行結(jié)果是。A)741B)963C)852D)875421(23)已有定義:chare;,程序前面已在命令行中包含ctype.h文件,不能用于判斷c中的字符是否為大寫字母的表達(dá)式是。A)isupper(c)B)'A'<=c<=zZ'C)'A'<=c&&c<=zZ'D)c<=('z'-32)&&('a'-32)<=c(24)有以下程序:#include<stdio.h>main(){inti,j,m=55;fbr(i=l;i<=3;i++)門0=3;j<=i;j++)m=m%j;printf("%d\n",m);)程序的運(yùn)行結(jié)果是。A)0B)1C)2D)3(25)若函數(shù)調(diào)用時(shí)的實(shí)參為變量時(shí),以下關(guān)于函數(shù)形參和實(shí)參的敘述中正確的是。A)函數(shù)的實(shí)參和其對(duì)應(yīng)的形參共占同一存儲(chǔ)單元B)形參只是形式上的存在,不占用具體存儲(chǔ)單元C)同名的實(shí)參和形參占同一存儲(chǔ)單元D)函數(shù)的形參和實(shí)參分別占用不同的存儲(chǔ)單元(26)已知字符'A'的ASCH代碼值是65,字符變量cl的值是'A',c2的值是'D'。執(zhí)行語句“printf("%d,%d",cl,c2-2);”后,輸出結(jié)果是。A)A,BB)A,68C)65,66D)65,68(27)以下敘述中錯(cuò)誤的是。A)改變函數(shù)形參的值,不會(huì)改變對(duì)應(yīng)實(shí)參的值B)函數(shù)可以返回地址值C)可以給指針變量賦一個(gè)整數(shù)作為地址值D)當(dāng)在程序的開頭包含頭文件stdio.h時(shí),可以給指針變量賦NULL(28)以下正確的字符串常量是。A)"\\\"B)'abc'C)01ympicGamesD)""(29)設(shè)有定義:charp口={'1' 2' 3'},*q=p;,以下不能計(jì)算出一個(gè)char型數(shù)據(jù)所占字節(jié)數(shù)的表達(dá)式是。A)sizeof(p)B)sizeof(char)C)sizeof(*q)D)sizeof(p[0])(30)有以下函數(shù):intaaa(char*s){char*t=s;while(*t++);t--;return(t-s);)以下關(guān)于aaa函數(shù)的功能的敘述正確的是。A)求字符串s的長度B)比較兩個(gè)串的大小。將串S復(fù)制到串tD)求字符串s所占字節(jié)數(shù)(31)若有定義語句:inta[3][6]按在內(nèi)存中的存放順序,a數(shù)組的第10個(gè)元素是。A)a[0][4]B)a[1][3]C)a[0][3]D)a[1][4](32)有以下程序:#include<stdio.h>voidfun(char**p){++p;printf(M%s\nH,*p);}main(){char*a[]=("Mrming"JAftemoon","Evening","Night");fun(a);}程序的運(yùn)行結(jié)果是。A)AfternoonB)fternoonC)MorningD)orning(33)若有定義語句:inta[2][3],*p[3];,則以下語句中正確的是。A)p=a;B)p[0]=a;C)p[0]=&a[1][2];D)p[1]=&a;(34)有以下程序。#include<stdio.h>voidfun(int*a,intn)/*fun函數(shù)的功能是將a所指數(shù)組元素從大到小排序*/{intt,ij;for(i=0;i<n-l;j-H-)for(j=i+l;j<n;j++)if(a[i]<a[j]){t=a[i];a[i]=a[j];a[j]=t;})main(){intc[10]={l,2,3,4,5,6,7,8,9,0},i;fun(c+4,6);fbr(i=O;i<10;i++)printf("%d,",c[i]);printf("\n");)程序的運(yùn)行結(jié)果是。A)1,2,3,4,5,6,7,8,9,0,B)0,9,8,7,6,5,1,2,3,4,00,9,8,7,6,5,4,3,2,1,1,2,3,4,9,8,7,6,5,0,(35)有以下程序:#include<stdio.h>intfun(chars[]){intn=O;while(*s<=/9'&&">二'O'){n=10*n+*s-fO';s++;}return(n);}main(){chars[10]={'6,,'1' 4' 9yOz;*,};printf("%d\n”,fun(s));)程序的運(yùn)行結(jié)果是。A)9B)61490C)61D)5(36)當(dāng)用戶要求輸入的字符串中含有空格時(shí),應(yīng)使用的輸入函數(shù)是。A)scanf()B)getchar()C)gets()D)getc()(37)以下關(guān)于字符串的敘述中正確的是。A)C語言中有字符串類型的常量和變量B)兩個(gè)字符串中的字符個(gè)數(shù)相同時(shí)才能進(jìn)行字符串大小的比較C)可以用關(guān)系運(yùn)算符對(duì)字符串的大小進(jìn)行比較D)空串一定比空格打頭的字符串小(38)有以下程序:#include<stdio.h>voidfun(char*t,char*s){while(*t!=O)t++;while((*t++=*s++)!=0);)main(){charss[10]=Macc",aa[10]="bbxxyyn;fun(ss,aa);printf(H%s,%s\nn,ss,aa);}程序的運(yùn)行結(jié)果是。A)accxyy,bbxxyyB)acc,bbxxyyC)accxxyy,bbxxyyD)accbbxxyy,bbxxyy(39)有以下程序:#include<stdio.h>#include<string.h>voidfun(chars[][10],intn){chart;inti,j;fbr(i=O;i<n-1;i++)for(j=i+l;j<n;j++)/*比較字符串的首字符大小,并交換字符串的首字符*/if(s[i][0]>s[j][0]){t=s[i][0];s[i][0]=s[j][0];s[j][0]=t;})main(){charss[5][10]={*'bcc","bbccnxy"aaaaccnaabcc0};fiin(ss,5);printf(M%s,%s\nM,ss[0],ss[4]);)程序的運(yùn)行結(jié)果是。A)xy,aaaaccB)aaaacc,xyC)xcc,aabccD)acc,xabcc(40)在一個(gè)C源程序文件中所定義的全局變量,其作用域?yàn)?。A)所在文件的全部范圍B)所在程序的全部范圍C)所在函數(shù)的全部范圍D)由具體定義位置和extern說明來決定范圍(41)有以下程序:#include<stdio.h>inta=1;intf(intc){staticinta=2;c=c+l;return(a++)+c;}main(){inti,k=O;fbr(i=0;i<2;i++){inta=3;k+=f(a);}k+=a;printf(u%d\n",k);}程序的運(yùn)行結(jié)果是。A)14B)15C)16D)17(42)有以下程序:#include<stdio.h>voidfiin(intn,int*p){intf1,f2;if(n==llln=2)*p=l;else{fun(n-l,&fl);fun(n-2,&f2);*p=fl+f2;}1main(){ints;fun(3,&s);printf(H%d\nu,s);程序的運(yùn)行結(jié)果是。A)2B)3C)4D)5(43)若程序中有宏定義行:#deflneN100則以下敘述中正確的是。A)宏定義行中定義了標(biāo)識(shí)符N的值為整數(shù)100B)在編譯程序?qū)源程序進(jìn)行預(yù)處理時(shí)用100替換標(biāo)識(shí)符NC)對(duì)C源程序進(jìn)行編譯時(shí)用100替換標(biāo)識(shí)符ND)在運(yùn)行時(shí)用100替換標(biāo)識(shí)符N(44)以下關(guān)于lypedef的敘述錯(cuò)誤的是。A)用typedef可以增加新類型B)typedef只是將已存在的類型用一個(gè)新的名字來代表C)用typedef可以為各種類型說明一個(gè)新名,但不能用來為變量說明一個(gè)新名D)用typedef為類型說明一個(gè)新名,通??梢栽黾映绦虻目勺x性(45)有以下程序:#include<stdio.h>structtt{intx;structtt*y;}*p;structtta[4]={20,a+1,15,a+2,30,a+3,17,a};main(){inti;p=a;for(i=1;i<=2;i++){printf(M%d,",p->x);p=p->y;})程序的運(yùn)行結(jié)果是。A)20,30,B)30,17C)15,30,D)20,15,(46)有以下程序:#include<stdio.h>#include<string.h>typedefstruct{charname[9];charsex;floatscore[2];}STU;STUf(STUa){STUb={MZhao"/m/,85.0,90.0};inti;strcpy(,);a.sex=b.sex;fbr(i=0;i<2;i++)a.score[i]=b.score[i];returna;)main(){STUc={nQianM/f',95.0,92.0},d;d=f(c);printf(H%s,%c,%2.0f,%2.0f\nM,d.neme,d.sex,d.score[0],d.score[1]);程序的運(yùn)行結(jié)果是。A)Qian,f,95,92B)Qian,m,85,90C)Zhao,m,85,90D)Zhao,f,95,92(47)設(shè)有以下定義:uniondata{intdl;floatd2;}demo;則下面敘述中錯(cuò)誤的是。A)變量demo與成員d2所占的內(nèi)存字節(jié)數(shù)相同B)變量demo中各成員的地址相同C)變量demo和各成員的地址相同D)若給demo.dl賦99后,demo.d2中的值是99.0(48)有以下程序:#include<stdio.h>main(){inta=l,b=2,c=3,x;x=(aAb)&c;printf(M%d\n",x);)程序的運(yùn)行結(jié)果是。A)0B)1C)2D)3(49)讀取二進(jìn)制文件的函數(shù)調(diào)用形式為:fread(buffer,size,count,fp);,其中buffer代表的是。A)一個(gè)文件指針,指向待讀取的文件B)一個(gè)整型變量,代表待讀取的數(shù)據(jù)的字節(jié)數(shù)C)一個(gè)內(nèi)存塊的首地址,代表讀入數(shù)據(jù)存放的地址D)一個(gè)內(nèi)存塊的字節(jié)數(shù)(50)有以下程序:#include<stdio.h>main(){FILE*fp;inta[10]={1,2,3,0,0},i;fp=fopen(,,d2.dat";,wb,');fwtite(a,sizeof(int),5,fp);fwrite(a,sizeof(int),5,fp);fclose(fp);fp=fopen(,,d2.dat',;,rbu);fread(a,sizeof(int),10,fp);fclose(fp);for(i=0;i<10;i++)printf(,'%dH,a[i]);)程序的運(yùn)行結(jié)果是。A)l,2,3,0,0,0,0,0,0,0,B)l,2,3,1,2,3,0,0,0,0,C)123,0,0,0,0,123,0,0,0,0,D)l,2,3,0,0,1,2,3,0,0,二、填空題(每空2分,共40分)請(qǐng)將每一個(gè)空的正確答案寫在答題板【1】至[20]序號(hào)的橫線上,答在試卷上不得分。(1)軟件需求規(guī)格說明書應(yīng)具有完整性、無歧義性、正確性、可驗(yàn)證性、可修改性等特性,其中最重要的是【1】。(2)在兩種基本測(cè)試方法中,【2】測(cè)試的原則之一是保證所測(cè)模塊中每一個(gè)獨(dú)立路徑至少要執(zhí)行一次。(3)線性表的存儲(chǔ)結(jié)構(gòu)主要分為順序存儲(chǔ)結(jié)構(gòu)和鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)。隊(duì)列是一種特殊的線性表,循環(huán)隊(duì)列是隊(duì)列的【3】存儲(chǔ)結(jié)構(gòu)。(4)對(duì)下列二叉樹進(jìn)行中序遍歷的結(jié)果為[41(5)在ER圖中,矩形表示【5】。(6)執(zhí)行以下程序時(shí)輸入1234567<CR>,則輸出結(jié)果是[61#include<stdio.h>main(){inta=l,b;scanf("%2d%2d",&a,&b);printf("%d%d\n",a,b);)(7)以下程序的功能是:輸出a、b、c三個(gè)變量中的最小值。請(qǐng)?zhí)羁铡?include<stdio.h>main(){inta,b,c,tl,t2;scanf(n%d%d%d';&a,&b,&c);tl=a<b?[7];t2=c<tl?[8];printf(',%d\n,',t2);}(8)以下程序的輸出結(jié)果是[9】。#include<stdio.h>main(){intn=12345,d;while(n!=O){d=n%10;printf(H%dM,d);n/=10;})(9)有以下程序段,且變量已正確定義和賦值:for(s=l.O,k=l;k<=n;k++)s=s+l,O/(k*(k+1));printf("s=%f\n\n",s);請(qǐng)?zhí)羁?,使下面程序段的功能與之完全相同。s=1.0;k=l;while([10]){s=s+1.0/(k*(k+l));[11];)printf("s=%f\n\n",s);(10)以下程序的輸出結(jié)果是【12】。#include<stdio.h>main(){inti;for(i='a';iv'f';i++,i++)printf("%c",i-'a'+'A');(11)以下程序的輸出結(jié)果是【13】。#include<stdio.h>#include<string.h>char*fun(char*t){char*p=t;retum(p+strlen(t)/2);)main(){char*str="abcdefgh,';str=fun(str);puts(str);)(12)以下程序中函數(shù)f的功能是在數(shù)組x的n個(gè)數(shù)(假定n個(gè)數(shù)互不相同)中找出最大最小數(shù),將其中最小的數(shù)與第一個(gè)數(shù)秒換,把最大的數(shù)與最后一個(gè)數(shù)對(duì)換。請(qǐng)?zhí)羁铡?include<stdio.h>voidf(intx[],intn){intpO,pl,i,j,t,m;i=j=x[0];pO=pl=O;fbr(m=O;m<n;m++){if(x[m]>i){i=x[m];pO=m;}elseif(x[m]<j){j=x[m];pl=m;}}t=xLpO];x[pO]=x[n-1];x[n-1]=t;t=x[pl];x[pl]=[14];[15]=t;)main(){inta[10],u;for(u=0;u<10;u++)scanf("%(1",&a[u]);f(a,10);for(u=0;u<10;u4-4-)printf(H%dn,a[u]);printfCAn*');)(13)以下程序統(tǒng)計(jì)從終端輸入的字符中大寫字母的個(gè)數(shù),num[0]中統(tǒng)計(jì)字母A的個(gè)數(shù),num[1]中統(tǒng)計(jì)字母B的個(gè)數(shù),其他依次類推。用#號(hào)結(jié)束輸入,請(qǐng)?zhí)羁铡?include<stdio.h>#include<ctype.h>main(){intnum[26]={0},i;charc;whilc(([16])!='#')if(isupper(c))num[c-/A']+=[17];for(i=0;i<26;i++)printf(n%c:%d\nH,i+,A',num[i]);(14)執(zhí)行以下程序的輸出結(jié)果是【18】。#include<stdio.h>main(){inti,n[4]={1};for(i=l,i<=3;i++){n[i]=n[i-1]*2+l;printf(',%d,',n[i]);})(15)以下程序的輸出結(jié)果是【19,#include<stdio.h>#defineM5#defineNM+Mmain(){intk;k=N*N*5;printf(H%d\n",k);)(16)函數(shù)min()的功能是:在帶頭結(jié)點(diǎn)的單鏈表中查找數(shù)據(jù)域中值最小的結(jié)點(diǎn)。請(qǐng)?zhí)羁铡?include<stdio.h>structnode{intdata;structnode*next;);intmin(structnode"first)/*指針first為鏈表頭指針*/{structnode*p;intm;p=first->next;m=p->data;p=p->next;for(;p!=NULL;p=[20])if(p>>data<m)m=p->data;returnm;)2007年9月筆試試卷參考答案及詳解一、選擇題(1)[饌]D)【解析】軟件是程序、數(shù)據(jù)與相關(guān)文檔的集合,相對(duì)于計(jì)算機(jī)硬件而言,軟件是邏輯產(chǎn)品而不是物理產(chǎn)品,是計(jì)算機(jī)的無形部分。(2)【答案】B)【解析】軟件測(cè)試與軟件調(diào)試是兩個(gè)不同的概念:軟件測(cè)試的目的是發(fā)現(xiàn)錯(cuò)誤,而軟件調(diào)試的目的是發(fā)現(xiàn)錯(cuò)誤或?qū)е鲁绦蚴У脑?,并修改程序以修正錯(cuò)誤,調(diào)試是測(cè)試之后的活動(dòng)。(3)【答案】C)【解析】封裝是一種信息屏蔽技術(shù),目的在于將對(duì)象的使用者和對(duì)象的設(shè)計(jì)者分開。用戶只能見到對(duì)象封裝界面上的信息,不必知道實(shí)現(xiàn)的細(xì)節(jié)。封裝一方面通過數(shù)據(jù)抽象,把相關(guān)的信息結(jié)合在一起,另一方面也簡化了接口。(4)【答案】A)【解析】當(dāng)今主導(dǎo)的程序設(shè)計(jì)風(fēng)格是“清晰第-,效率第二”的觀點(diǎn)。結(jié)構(gòu)化程序設(shè)計(jì)思想提出之前,在程序設(shè)計(jì)中曾強(qiáng)調(diào)程序的效率,而實(shí)際應(yīng)用中,人們更重視程序的可理解性。(5)【答案】A)【解析】程序執(zhí)行的效率與很多因素有關(guān),如數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)、程序所處理的數(shù)據(jù)量、程序所采用的算法等。順序存儲(chǔ)結(jié)構(gòu)和鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)在數(shù)據(jù)插入和刪除操作上的效率就存在差別,其中鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)的效率要高一些。(6)【答案】D)【解析】數(shù)據(jù)的邏輯結(jié)構(gòu)與數(shù)據(jù)在計(jì)算機(jī)中的存儲(chǔ)方式無關(guān),它用來抽象地反映數(shù)據(jù)元素之間的邏輯關(guān)系,故A)選項(xiàng)錯(cuò)誤。存儲(chǔ)結(jié)構(gòu)分為順序存儲(chǔ)結(jié)構(gòu)與鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu),其中順序存儲(chǔ)結(jié)構(gòu)是將邏輯上相鄰的數(shù)據(jù)元素存儲(chǔ)在物理上相鄰的存儲(chǔ)單元里,節(jié)點(diǎn)之間的關(guān)系由存儲(chǔ)單元的相鄰關(guān)系來決定,它主要用于存儲(chǔ)線性結(jié)構(gòu)的數(shù)據(jù),故B)選項(xiàng)錯(cuò)誤。數(shù)組的存儲(chǔ)方式連續(xù)是指其在計(jì)算機(jī)中的存儲(chǔ)方式,它可以用來處理非線性結(jié)構(gòu),故C)選項(xiàng)錯(cuò)誤。(7)【答案】C)【解析】冒泡排序的基本思想是對(duì)當(dāng)前未排序的全部結(jié)點(diǎn)自上而下依次進(jìn)行比較和調(diào)整,讓鍵值較大的結(jié)點(diǎn)下沉,鍵值較小的結(jié)點(diǎn)往上冒。也就是說,每當(dāng)兩相鄰結(jié)點(diǎn)比較后發(fā)現(xiàn)它們的排列與排序要求相反時(shí),就將它們互換。對(duì)n個(gè)結(jié)點(diǎn)的線性表采用冒泡排序,冒泡排序的外循環(huán)最多執(zhí)行n-1遍。第一遍最多執(zhí)行n-l次比較,第二遍最多執(zhí)行n-2次比較,依次類推,第n-l遍最多執(zhí)行1次比較。因此,整個(gè)排序過程最多執(zhí)行n(n-l)/2次比較。(8)【答案】A)【解析】在任意一棵二叉樹中,若終端結(jié)點(diǎn)(葉子)的個(gè)數(shù)為nl,則闡2的結(jié)點(diǎn)數(shù)n2=nl-l。本題中度為0的結(jié)點(diǎn)即葉子結(jié)點(diǎn),故總結(jié)點(diǎn)數(shù)=度為0的結(jié)點(diǎn)數(shù)+度為1的結(jié)點(diǎn)數(shù)+度為2的結(jié)點(diǎn)數(shù)=70+80+69=219。(9)【答案】B)【解析】數(shù)據(jù)庫技術(shù)的根本目的是要解決數(shù)據(jù)的共享問題;數(shù)據(jù)庫需要操作系統(tǒng)的支持:數(shù)據(jù)庫管理系統(tǒng)(DatabaseManagementSystem)簡稱DBMS,對(duì)數(shù)據(jù)庫進(jìn)行統(tǒng)?的管理和控制,以保證數(shù)據(jù)庫的安全性和完整性。它是數(shù)據(jù)庫系統(tǒng)的核心軟件。(10)【答案】A)【解析】在一個(gè)二維表中,水平方向的行稱為元組,每一行為一個(gè)元組,元組中的每一個(gè)分量不能再進(jìn)行分割,故選項(xiàng)B)錯(cuò)誤;對(duì)關(guān)系的描述稱為關(guān)系模式,一個(gè)關(guān)系模式對(duì)應(yīng)一個(gè)關(guān)系的結(jié)構(gòu),格式為:關(guān)系名(屬性名1,屬性名2,……屬性名n),故選項(xiàng)C)錯(cuò)誤;一個(gè)關(guān)系就是一個(gè)二維表,故選項(xiàng)D)錯(cuò)誤。(11)【答案】B)【解析】C語言中,源程序文件的后綴為“.c",經(jīng)過編譯生成后綴為“.obj”的目標(biāo)文件,再經(jīng)過與C語言提供的各種庫函數(shù)連接,生成后綴為“.exe”的可執(zhí)行文件。故本題答案為B)。(12)【答案】A)【解析】在C語言中,合法標(biāo)識(shí)符的命名規(guī)則是:標(biāo)識(shí)符可以由字母、數(shù)字和下劃線3種字符組成,且第一個(gè)字符必須為字母或下劃線。C語言的標(biāo)識(shí)符可以分為關(guān)鍵字、預(yù)定義標(biāo)識(shí)符和用戶標(biāo)識(shí)符。選項(xiàng)B)和C)中的橫線以及點(diǎn)都不合法,選項(xiàng)D)中的case為C語言關(guān)鍵字,故本題答案為A)。(13)【答案】B)【解析】本題考查的是各個(gè)進(jìn)制數(shù)值常量的表示方法,八進(jìn)制數(shù)據(jù)是以0開頭的常量,其數(shù)字包括0?7,選項(xiàng)A)錯(cuò)誤。浮點(diǎn)數(shù)據(jù)的指數(shù)表示中,e的右側(cè)必須為整數(shù),選項(xiàng)C)錯(cuò)誤。在選項(xiàng)D)中,10,000顯然錯(cuò)誤的。故本題的答案為B)。(14)【答案】C)【解析】main是主函數(shù)的函數(shù)名,表示這是一個(gè)主函數(shù)。每一個(gè)C源程序都必須有,且只能有一個(gè)主函數(shù)。程序要從main函數(shù)開始執(zhí)行,最后在main函數(shù)中結(jié)束。本題選C)。(15)【答案】C)【解析】本題考查了scanf函數(shù)的用法,該函數(shù)的一般形式為“scanf(“格式控制字符串”,地址表列)”,其中的地址表列應(yīng)當(dāng)是存放輸入數(shù)據(jù)變量的地址。在選項(xiàng)C)中,指針p就是變量c的地址。故本題答案為C)。(16)【答案】D)【解析】在ANSI標(biāo)準(zhǔn)中,long、int和short分別占用4、2和2個(gè)字節(jié)。但實(shí)際上對(duì)于某些C編譯系統(tǒng),int和shoit卻都實(shí)際占用4個(gè)字節(jié)。所以說各種類型數(shù)據(jù)占用內(nèi)存大小是由選擇何種C編譯系統(tǒng)決定的。故本題答案為D)。(17)【答案】A)【解析】賦值運(yùn)算符左側(cè)的操作數(shù)必須是一個(gè)變量,而不能是表達(dá)式或者常量,選項(xiàng)C)和D)錯(cuò)誤。運(yùn)算符兩側(cè)都應(yīng)當(dāng)是整型數(shù)據(jù),選項(xiàng)B)錯(cuò)誤。故本題答案為A)。(18)【答案】B)【解析】本題考查通過scanf函數(shù)輸入數(shù)據(jù)時(shí)的格式控制問題。變量j的格式控制為“%2d”,即只接收輸入數(shù)據(jù)的前兩位,從第三位開始直到空格之間的輸入都會(huì)被保存到變量y中,因?yàn)閥為浮點(diǎn)型數(shù)據(jù),所以輸出結(jié)果為選項(xiàng)B)。(19)【答案】B)【解析】對(duì)于do…while循環(huán),程序會(huì)先執(zhí)行一次循環(huán)體,再判斷循環(huán)是否繼續(xù)。本題先輸出一次i的值“0,”,再接著判斷表達(dá)式i++的值,其值為0,所以循環(huán)結(jié)束。此時(shí)變量i的值經(jīng)過自加已經(jīng)變?yōu)?,程序再次輸出i的值“1”。故本題答案為B)。(20)【答案】B)【解析】對(duì)于選項(xiàng)B)來說,若x的值小于0,則有兩次調(diào)用sqrt()函數(shù),這很明顯不符合題意。通過分析可知,本題答案為B)。(21)【答案】B)【解析】當(dāng)表達(dá)式EXP為非0值時(shí)條件成立,即執(zhí)行語句i++;,當(dāng)EXP等于。時(shí)執(zhí)行語句j-;.這就等同于條件表達(dá)式“(EXP!=0)?i++:j--;"。故本題答案為B)。(22)【答案】C)【解析】本題考查變量的自加“++”和自減“-”問題。當(dāng)y的值為9、6或3時(shí),if語句的條件成立,執(zhí)行輸出語句,輸出表達(dá)式-y的值,y的自減要先于輸出語句的執(zhí)行,故輸出結(jié)果為852。因此,本題答案為C)。(23)【答案】B)【解析】在本題中,選項(xiàng)B)實(shí)際是先計(jì)算關(guān)系表達(dá)式A'<=c"的值是。還是1,再比較該值與字符'Z'之間的大小關(guān)系。顯然不能實(shí)現(xiàn)題目所要求的功能,而選項(xiàng)A)、C)、D)都可以。故本題答案為B)。(24)【答案】B)【解析】本題考查循環(huán)語句的嵌套以及條件的判斷問題。在程序中,內(nèi)層循環(huán)判斷條件為"j<=i",而j的初值為3,故當(dāng)i的值為1和2時(shí),內(nèi)層循環(huán)體都不會(huì)被執(zhí)行。只有當(dāng)i和j都等于3時(shí)才會(huì)執(zhí)行一次。m的值為55對(duì)3取模,計(jì)算結(jié)果為1。故本題答案為B)。(25)【答案】D)【解析】在內(nèi)存中,實(shí)參單元與形參單元是不同的單元。在C語言中,僅在調(diào)用函數(shù)時(shí),給形參分配存儲(chǔ)單元,并將實(shí)參對(duì)應(yīng)的值傳遞給形參,調(diào)用結(jié)束后,形參單元被釋放,實(shí)參單元仍保留并維持原值。故本題答案為D)。(26)【答案】C)【解析】在C語言中,字符型數(shù)據(jù)在內(nèi)存中的存儲(chǔ)形式是其ASCH碼值。當(dāng)需要以整型格式輸出字符時(shí),輸出的也是其ASCII碼值。字符'A'和'D'的ASCII碼值分別為65和68。故本題答案為C)。(27)【答案】C)【解析】函數(shù)形參和實(shí)參分別占用不同的內(nèi)存單元,改變形參的值不會(huì)影響對(duì)應(yīng)實(shí)參的值,選項(xiàng)A)正確。指針類型的函數(shù)可以返回地址值,選項(xiàng)B)正確。在頭文件stdio.h中,NULL被定義為void型的指針,選項(xiàng)D)也正確。指針變量的值只能是存儲(chǔ)單元地址,而不能是一個(gè)整數(shù),選項(xiàng)C)錯(cuò)誤。故本題答案為C)。(28)【答案】D)【解析】字符串常量是一對(duì)雙引號(hào)括起來的字符序列。選項(xiàng)A)中第二個(gè)雙引號(hào)被編譯系統(tǒng)解釋為轉(zhuǎn)義字符,選項(xiàng)A)錯(cuò)誤,選項(xiàng)B)和C)顯然也不是字符串常量。故本題答案為D)。(29)【答案】A)【解析】在本題中,p和q同為指向字符類型數(shù)據(jù)的指針。*q和p[0]同為字符型數(shù)據(jù)。選項(xiàng)B)、C)和D)都符合題目的要求。選項(xiàng)A)計(jì)算得出的是指針類型數(shù)據(jù)所占的內(nèi)存字節(jié)數(shù)。故本題答案為A)。(30)【答案】A)【解析】循環(huán)開始前,指針t和s都指向字符串的起始位置,然后通過while循環(huán)判斷t指向的位置是否為空,同時(shí)讓t向右移?位。while循環(huán)結(jié)束時(shí),t自減1,此時(shí)t指向的位置是字符串的結(jié)束標(biāo)志'\0'處,故t-s的值是字符串的長度,并不包括結(jié)束標(biāo)志。故本題答案選A)。(31)【答案】B)【解析】數(shù)組a的第二維為6,又因?yàn)镃語言中數(shù)組的下標(biāo)是從0開始的。故其第10個(gè)元素就是第二行的第4個(gè)元素,該元素為a[1][3]。故本題答案為B)。(32)【答案】A)【解析】在本題的程序中,a和p都是指向字符串的指針數(shù)組。調(diào)用fun()函數(shù)時(shí),p指向的是數(shù)組a的第一個(gè)指針元素,此時(shí)*p指向的是a的第1個(gè)字符串。p自加1之后,*p便指向了數(shù)組a的第2個(gè)字符串“Afternoon"。故本題答案為A)。(33)【答案】C)【解析】本題考查的是整型指針的數(shù)組。p的每個(gè)元素都是指向整型數(shù)據(jù)的指針,而a和&a都不是整型數(shù)據(jù)的地址。選項(xiàng)A)、B)和D)錯(cuò)誤。選項(xiàng)C)中,p[0]是指向整型數(shù)據(jù)的指針,&a[1][2]是整型變量的地址,可以進(jìn)行賦值運(yùn)算。故本題答案為C)。(34)【答案】D)【解析】在本題中,主函數(shù)在調(diào)用fun()函數(shù)進(jìn)行排序時(shí),傳遞的參數(shù)是c+4和6,fun函數(shù)實(shí)現(xiàn)的功能是將從數(shù)組c的第5個(gè)元素開始的6個(gè)元素進(jìn)行從大到小排列。排序之后,數(shù)組c的內(nèi)容變?yōu)椋?,2,3,4,9,8,7,6,5,0}。故本題答案為D的(35)【答案】C)【解析】在fun函數(shù)中,while循環(huán)的功能是:逐個(gè)取字符數(shù)組s的字符判斷其是否是數(shù)字。若是則將其作為個(gè)位數(shù)字保存到變量n中,n的原數(shù)據(jù)的各個(gè)數(shù)位將相應(yīng)左移一個(gè)10進(jìn)制位。當(dāng)指針s指向數(shù)組的第3位時(shí),循環(huán)條件不成立,循環(huán)結(jié)束,返回n的值。輸出n的值為61。故本題答案為C)。(36)【答案】C)【解析】本題綜合考查了輸入函數(shù)的使用。scanf函數(shù)會(huì)將空格視為分隔符,getchar函數(shù)只能輸入單個(gè)字符,getc函數(shù)是文件操作函數(shù),顯然都不符合題意。通過gets函數(shù)輸入字符串時(shí),輸入的空格被認(rèn)為是字符串的一個(gè)字符。故本題答案為C)。(37)【答案】D)【解析】C語言中沒有字符串類型,選項(xiàng)A)錯(cuò)誤。比較任意兩個(gè)字符串的大小要通過字符串操作函數(shù)strcmp()來進(jìn)行,而不能直接用關(guān)系運(yùn)算符進(jìn)行比較。選項(xiàng)B)和C)錯(cuò)誤。空串是最小的字符串。故本題答案為D)。(38)【答案】D)【解析】本題中fun函數(shù)實(shí)現(xiàn)了字符串函數(shù)strcat的功能,將字符串a(chǎn)a連接到字符串ss的末尾。調(diào)用fun函數(shù)時(shí),形參t和s分別指向了字符串ss和aa,然后通過一個(gè)while循環(huán)使t指向字符串SS的結(jié)束符的位置,第二個(gè)while循環(huán)將字符串a(chǎn)a中的字符(包括結(jié)束符'\0')逐個(gè)復(fù)制到字符串ss的末尾處。故本題答案為D)。(39)【答案】D)【解析】程序通過for循環(huán)的嵌套,對(duì)5個(gè)字符串的首字符進(jìn)行從小到大的排序,結(jié)果不影響各個(gè)字符串另外的字符。排序結(jié)束后,5個(gè)字符串的第一個(gè)字符依次變?yōu)閍、a、b、b和x;最后輸出第1個(gè)和第4個(gè)字符串,故本題答案為D)。(40)【答案】D)【解析】全局變量是在函數(shù)外部定義的,它的作用域是從變量的定義位置開始,到本程序文件的末尾。對(duì)于多文件構(gòu)成的程序,若使用extern來聲明全局變量,則可以在一個(gè)文件中引用另一個(gè)文件中的全局變量。故本題答案為D)。(41)【答案】A)【解析】本題考查的是全局變量、局部變量,以及局部靜態(tài)變量的作用域問題。程序中定義了多個(gè)變量a,它們的類型以及作用域都不同。k的初值為0,首先調(diào)用函數(shù)f(3),返回值為6,k的值變?yōu)?,for循環(huán)第二次調(diào)用函數(shù)f(3),由于第一次調(diào)用f函數(shù)時(shí)靜態(tài)變量的值由2加1變?yōu)榱?,這次返回值為7,k的值變?yōu)?3。跳出循環(huán),k再加上全局變量a,其最終的值為14o故本題答案為A).(42)【答案】A)【解析】本題考查的是函數(shù)的遞歸問題。函數(shù)hin的第二個(gè)參數(shù)是地址,所以通過指針p可以改變其對(duì)應(yīng)實(shí)參的值。本題中,主函數(shù)調(diào)用fun函數(shù)時(shí)傳遞給參數(shù)n的值為3,fun函數(shù)又遞歸調(diào)用了兩次自身。fl和他的值都變?yōu)?,通過指針p的引用,變量s的值最終變?yōu)?o故本題答案為A).(43)【答案】B)【解析】本題考查了預(yù)處理命令。宏定義不是C語言的一部分。C程序在進(jìn)行編譯之前,都要先進(jìn)行預(yù)處理,即對(duì)程序中所有出現(xiàn)的“宏名”,都用宏定義中的字符串進(jìn)行替換。故本題答案為B)。(44)【答案】A)【解析】在C語言中,typedef被用來聲明新的類型名來代替已有的類型名,這樣可以增加程序的可讀性,被聲明的新類型名只是原有類型的一個(gè)新的名稱,而不是一種新的類型。故本題的答案為A)o(45)【答案】D)【解析】本題考查的是結(jié)構(gòu)體數(shù)組的賦值以及鏈表的問題。程序在定義結(jié)構(gòu)體數(shù)組a的同時(shí)對(duì)其進(jìn)行了初始化。其元素a[0]的成員y被賦值為元素a[1]的地址,a[1].y被賦值為a[2]的地址,a[2].y指向了a[3],而a[3].y又指向了a[0]的存儲(chǔ)單元。這就形成了一個(gè)單向的循環(huán)鏈表,每個(gè)元素的指針成員都指向下一個(gè)元素的地址,隨后通過一個(gè)for循環(huán)控制輸出該鏈表前2個(gè)節(jié)點(diǎn)數(shù)值成員的值,即a[0].x和a[1].X。故本題答案為D)o(46)【答案】C)【解析】本題的看點(diǎn)是函數(shù)調(diào)用以及返回時(shí)的值傳遞問題。程序在調(diào)用f()函數(shù)時(shí),將STU類型的結(jié)構(gòu)體變量c的值傳遞給形參a,函數(shù)f()在對(duì)a的各個(gè)成員進(jìn)行重新賦值后,再將返回變量a的值傳給d,最后輸出結(jié)構(gòu)變量d的各個(gè)成員的值。故本題答案為C)。(47)【答案】D)【解析】本題考查共用體數(shù)據(jù)類型。共用體的特點(diǎn)是該類型變量與所有成員的起始地址都相同,且在每一個(gè)時(shí)刻所有的成員中只有一個(gè)有效,即當(dāng)一個(gè)成員被賦值,其余的成員就都不起作用了,選項(xiàng)D)錯(cuò)誤。故本題答案為D)。(48)【答案】D)【解析】本題考查的是位運(yùn)算符的使用。1、2、3的二進(jìn)制形式分別為00000001、00000010>0000001lo首先計(jì)算1八2的值為00000011,再將其與3進(jìn)行“與”運(yùn)算,得到的結(jié)果為00000011,即十進(jìn)制數(shù)3。故本題答案為D)。(49)【答案】C)【解析】fread函數(shù)中的參數(shù)buffer是一個(gè)指針,其值為fread函數(shù)讀入數(shù)據(jù)后在內(nèi)存中的存放地址。故本題答案為C)。(50)【答案】D)【解析】本題考查文件讀寫函數(shù)fread和fwrite的用法。fwrite函數(shù)將數(shù)組a的前5個(gè)元素輸出到文件fp中兩次,共10個(gè)字節(jié),再調(diào)用成ad函數(shù)從文件fp中讀取這10個(gè)字節(jié)的數(shù)據(jù)到數(shù)組a中,此時(shí)數(shù)組a的內(nèi)容就變?yōu)閧1,230,0,1,2,3,0,0},最后的輸出結(jié)果為''123,0,0,1,2,3,0,0,''。故本題答案為D)。二、填空題(1)【答案】【1】無歧義性【解析】軟件需求規(guī)格說明書是需求分析階段的最后成果,是軟件開發(fā)中的重要文檔之一。包括正確性、無歧義性、完整性、可驗(yàn)證性、一致性、可理解性、可修改性和可追蹤性等。其中最重要的特性是無歧義性,即需求規(guī)格說明書應(yīng)該是精確的、無二義的,需求說明書越精確,則以后出現(xiàn)錯(cuò)誤、混淆、反復(fù)的可能性越小。(2)【答案】[2]白盒【解析】白盒測(cè)試的基本原則是:保證所測(cè)模塊中每一獨(dú)立路徑至少執(zhí)行一次;保證所測(cè)模塊所有判斷的每一分支至少執(zhí)行一次;保證所測(cè)模塊每一循環(huán)都在邊界條件和一般條件下至少各執(zhí)行一次;驗(yàn)證所有內(nèi)部數(shù)據(jù)結(jié)構(gòu)的有效性。按照白盒測(cè)試的基本原則,“白盒”法是窮舉路徑測(cè)試。(3)【答案】[3]鏈?zhǔn)健窘馕觥繑?shù)據(jù)結(jié)構(gòu)包括數(shù)據(jù)的邏輯結(jié)構(gòu)和存儲(chǔ)(物理)結(jié)構(gòu),其中邏輯結(jié)構(gòu)分為線性結(jié)構(gòu)和非線性結(jié)構(gòu),存儲(chǔ)結(jié)構(gòu)包括順序結(jié)構(gòu)和鏈?zhǔn)浇Y(jié)構(gòu)。在循環(huán)隊(duì)列中,隊(duì)尾的指針指向?qū)κ自?是隊(duì)列的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)。(4)【答案】【4】ACBDFEHGP【解析】二叉樹中序遍歷的含義是:首先按中序遍歷根結(jié)點(diǎn)的左子樹,然后訪問根結(jié)點(diǎn),最后按中序遍歷根結(jié)點(diǎn)的右子樹,中序遍歷二叉樹的過程是一個(gè)遞歸的過程。根據(jù)題目中給出的二叉樹的結(jié)構(gòu)可知中序遍歷的結(jié)果是:ACBDFEHGPo(5)【答案】【5】實(shí)體【解析】在E-R圖中用矩形表示實(shí)體,橢圓形表示屬性,菱形表示聯(lián)系。(6)【答案】【6】1234【解析】本題scanf函數(shù)的輸出格式說明中,變量a和b的格式控制都為%2d,即a和b都只獲取兩個(gè)字符的輸入。輸入的前4個(gè)字符被分別賦給了a和b,其值分別為12和34o(7)【答案】【7】a:b[8]c:tl【解析】本題考查的是條件表達(dá)式問題。先判斷a是否小于b,若小于則tl=a,否則tl=b,這樣tl就是a和b中較小的值,同理再比較tl同c的大小,小的存入t2中,t2就是a、b、c中的最小值。(8)【答案】[9]54321【解析】將一個(gè)正整數(shù)對(duì)10進(jìn)行取模運(yùn)算的結(jié)果就是該整數(shù)的個(gè)位數(shù)字,被10整除的結(jié)果則是除去個(gè)位的其余數(shù)位。本題通過一個(gè)while循環(huán)反復(fù)取n的個(gè)位并將其輸出,依次輸出為54321o(9)【答案】【10]k<=n[11]k++【解析】本題要求將一個(gè)for循環(huán)改成while循環(huán)。這首先要保證循環(huán)條件相同,在for循環(huán)中,每次執(zhí)行循環(huán)之后,循環(huán)控制變量k都會(huì)加1。而while循環(huán)則沒有,故需在循環(huán)體中增加改變k的數(shù)值的語句“k++;”。(10) ][12]ACE【解析】在本題中,for循環(huán)體每執(zhí)行完一次,變量i的值自加兩次。i的初值為'a',執(zhí)行一次循環(huán)后變?yōu)?c',之后再變成'e',當(dāng)其變?yōu)?g'時(shí),循環(huán)條件便不滿足,循環(huán)終止。故本題共輸出3個(gè)字符。表達(dá)式"i-'a'+'A'"即表示輸出i對(duì)應(yīng)的大寫字母,結(jié)果為ACEo(11)嫁1[13]efgh【解析】在本題中,指針p和t都指向字符串str的起始位置。表達(dá)式“(p+strlen⑴/2)”的值為字符串str的中間字符。函數(shù)fun()返回后,輸出結(jié)果只是原字符串的后半部分。故輸出結(jié)果為efgho(12)瞬][14]x[0][15]x[0]【解析】函數(shù)f()通過for循環(huán)逐個(gè)比較數(shù)組x中的元素,循環(huán)結(jié)束后,p0和pl分別表示最大值和最小值在數(shù)組中的下標(biāo)位置,然后按照題意將最大值x[p0]和數(shù)組的最后一個(gè)元素x[n-1]交換位置,再將最小值x[pl]和第一個(gè)元素,即x[0]進(jìn)行交換,所以空白處應(yīng)該填入x[0]o(13) ][16]c=getchar()[17]1【解析】由題意可知,while循環(huán)的控制條件是從終端輸入的數(shù)據(jù),從輸入設(shè)備逐個(gè)獲取字符應(yīng)當(dāng)使用函數(shù)getcha?,將函數(shù)獲取的字符存入字符型變量c中,接著判斷獲取的字符是否是大寫字母,若是,則利用字符數(shù)據(jù)之間的差作為下標(biāo)直接對(duì)大寫字母進(jìn)行數(shù)量統(tǒng)計(jì)。(14)躁][18]3715【解析】由題意知,數(shù)組n相鄰元素之間滿足關(guān)系:n[i+1]=n[i]*2+1,數(shù)組n在定義時(shí)只初始化了第一個(gè)元素n[0]=1,隨后通過for循環(huán)逐個(gè)計(jì)算n[門、n[2]和n[3]的值,并將其輸出,通過計(jì)算可得n[1]=3,n[2]=7,n[3]=15。(15)朦][19]55【解析】程序在編譯前的預(yù)處理過程中,只是很機(jī)械的將宏表達(dá)式替換為其對(duì)應(yīng)的值。在本題中,表達(dá)式k=N*N*5經(jīng)過預(yù)處理,被改變成k=5+5*5+5*5,而不是預(yù)想的k=(5+5)*(5+5)*5,經(jīng)計(jì)算,k的值為55。(16) ][20]p->next【解析】本題考查的是對(duì)鏈表節(jié)點(diǎn)的訪問問題。利用結(jié)構(gòu)指針p依次指向每個(gè)節(jié)點(diǎn),繼而訪問各個(gè)節(jié)點(diǎn)的數(shù)據(jù),最終找出其中最小的數(shù)據(jù)。2008年4月全國計(jì)算機(jī)等級(jí)考試二級(jí)筆試試卷公共基礎(chǔ)知識(shí)和C語言程序設(shè)計(jì)(考試時(shí)間90分鐘,滿分100分)一、選擇題((1)?(10)、(21)?(40)每題2分,(11)?(20)每題1分,共70分)下列各題A)、B)、C)、D)四個(gè)選項(xiàng)中,只有一個(gè)選項(xiàng)是正確的,請(qǐng)將正確選項(xiàng)涂寫在答題卡相應(yīng)位置上,答在試卷上不得分。(1)程序流程圖中帶有箭頭的線段表示的是。A)圖元關(guān)系B)數(shù)據(jù)流C)控制流D)調(diào)用關(guān)系(2)結(jié)構(gòu)化程序設(shè)計(jì)的基本原則不包括。A)多態(tài)性B)自頂向下。模塊化D)逐步求精(3)軟件設(shè)計(jì)中模塊劃分應(yīng)遵循的準(zhǔn)則是。A)低內(nèi)聚低耦合B)高內(nèi)聚低耦合C)低內(nèi)聚高耦合D)高內(nèi)聚高耦合(4)在軟件開發(fā)中,需求分析階段產(chǎn)生的主要文檔是。A)可行性分析報(bào)告B)軟件需求規(guī)格說明書C)概要設(shè)計(jì)說明書D)集成測(cè)試計(jì)劃⑸算法的有窮性是指。A)算法程序的運(yùn)行時(shí)間是有限的B)算法程序所處理的數(shù)據(jù)量是有限的C)算法程序的長度是有限的D)算法只能被有限的用戶使用(6)對(duì)長度為n的線性表排序,在最壞情況下,比較次數(shù)不是n(n-l)/2的排序方法是。A)快速排序B)冒泡排序。直接插入排序D)堆排序(7)下列關(guān)于棧的敘述正確的是。A)棧按“先進(jìn)先出”組織數(shù)據(jù)B)棧按“先進(jìn)后出”組織數(shù)據(jù)C)只能在棧底插入數(shù)據(jù)D)不能刪除數(shù)據(jù)(8)在數(shù)據(jù)庫設(shè)計(jì)中,將E-R圖轉(zhuǎn)換成關(guān)系數(shù)據(jù)模型的過程屬于。A)需求分析階段B)概念設(shè)計(jì)階段C)邏輯設(shè)計(jì)階段D)物理設(shè)計(jì)階段(9)有三個(gè)關(guān)系R、S和T如下:BCDaOklblnlBCDf3h2aOkln2xlTBCDaOkl由關(guān)系R和S通過運(yùn)算得到關(guān)系T,則所使用的運(yùn)算為。A)并B)自然連接C)笛卡爾積D)交(10)設(shè)有表示學(xué)生選課的三張表,學(xué)生S(學(xué)號(hào),姓名,性別,年齡,身份證號(hào)),課程C(課號(hào),課名),選課SC(學(xué)號(hào),課號(hào),成績),則表SC的關(guān)鍵字(鍵或碼)為。A)課號(hào),成績B)學(xué)號(hào),成績C)學(xué)號(hào),課號(hào)D)學(xué)號(hào),姓名,成績(11)以下敘述中正確的是。A)C程序中的注釋只能出現(xiàn)在程序的開始位置和語句的后面B)C程序書寫格式嚴(yán)格,要求一行內(nèi)只能寫一個(gè)語句OC程序書寫格式自由,一個(gè)語句可以寫在多行上D)用C語言編寫的程序只能放在一個(gè)程序文件中(12)以下選項(xiàng)中不合法的標(biāo)識(shí)符是。A)printB)FORC)&aD)_00(13)以下選項(xiàng)中不屬于字符常量的是。A)'CB)''C'C)'\xCC'D),\072'(14)設(shè)變量已正確定義并賦值,以下正確的表達(dá)式是。A)x=y*5=x+zB)int(15 8%5)C)x=y+z+5,++yD)x=25%5 0(15)以下定義語句中正確的是。A)inta=b=O;B)charA=65+l?b='b';C)floata=1,*b=&a,*c=&b;D)doublea=00;b=l1;(16)有以下程序段:charch;intk;ch='a';k=12;printf("%c,%d,”,ch,ch,k);printf(,,k=%d\nM,k);已知字符a的ASCII碼值為97,則執(zhí)行上述程序段后輸出結(jié)果是。A)因變量類型與格式描述符的類型不匹配輸出無定值B)輸出項(xiàng)與格式描述符個(gè)數(shù)不符,輸出為零或不定值C)a,97,12k=12D)a,97,k=12(17)已知字母A的ASCH碼值為65,若變量kk為char型,以下不能正確判斷出kk中的值為大寫字母的表達(dá)式是。A)kk>=zA'&&kkv;'Z'B)!(kk>='A'llkkv二'Z')C)(kk+32)>='a'&&(kk+32)<=,Z'D)isalpha(kk)&&(kk<91)(18)當(dāng)變量c的值不為2、4、6時(shí),值也為“真”的表達(dá)式是。A)(c=2)ll(c==4)ll(c==6)B)(c>=2&&c<=6)ll(c!=3)ll(c!=5)C)(c>=2&&c<=6)&&!(c%2)D)(c>=2&&c<=6)&&(c%2!=l)(19)若變量已正確定義,有以下程序段:inta=3,b=5?c=7;if(a>b)a=b;c=a;if(c!=a)c=b;printf("%d,%d,%d\n”,a,b,c);其輸出結(jié)果是。A)程序段有語法錯(cuò)B)3,5,3C)3,5,5D)3,5,7(20)有以下程序:#include<stdio.h>main(){intx=l,y=0,a=0,b=0;switch(x){case1:switch(y){case0:a++;break;case1:b++;break;}case2:a++;b++;break;case3:a++;b++;}printf(na=%d,b=%d\nn,a,b):}程序的運(yùn)行結(jié)果是。A)a=l,b=0B)a=2,b=2C)a=l,b=lD)a=2,b=l(21)有以下程序:#include<stdio.h>main(){intx=8;for(;x>0;x—){if(x%3)(printf(”%d,”,x—);continue;}printf("%d,”,-x);))程序的運(yùn)行結(jié)果是。A)7,4,2,B)8,7,5,2,C)9,7,6,4,D)8,5,4,2,(22)以下不構(gòu)成無限循環(huán)的語句或語句組是。A)n=0:do{++n;}while(n<=0);B)n=0;while(l){n++;}C)n=10;while(n);{n—;}D)fbr(n=O,i=l;;i++)n+=i;(23)有以下程序:#include<stdio.h>main(){inta[]={1,2,3>4},y,*p=&a[3];-P;y=*p;printf("y=%d\n",y);)程序的運(yùn)行結(jié)果是。A)y=OB)y=lC)y=2D)y=3(24)以下錯(cuò)誤的定義語句是。A)intx[][3]={{0},{1},{1,2,3));B)intx[4][3]={{1,2,3),{1,2,3},{1,2,3},{1,2,3));C)intx[4]D={{1,2,3},{1,2,3},{1,2,3},{1,2,3}};D)intx[][3]={1,2,3,4);(25)設(shè)有如下程序段:chars[20]="Beijing",*p;p=s;則執(zhí)行p=s;語句后,以下敘述正確的是。A)可以用*p表示s[0]B)s數(shù)組中元素的個(gè)數(shù)和p所指字符串長度相等C)s和p都是指針變量D)數(shù)組s中的內(nèi)容和指針變量p中的內(nèi)容相同(26)若有定義:inta[2][3]以下選項(xiàng)中對(duì)a數(shù)組元素正確引用的是。A)a[2][!1]B)a[2][3]C)a[0][3]D)a[1>2][!1](27)有定義語句:chars[10]若要從終端給s輸入5個(gè)字符,錯(cuò)誤的輸入語句是。A)gets(&s[0]);B)scanf("%s”,s+1):C)gets(s);D)scanf("%s",s[1]);(28)以下敘述中錯(cuò)誤的是。A)在程序中凡是以“#”開始的語句行都是預(yù)處理命令行B)預(yù)處理命令行的最后不能以分號(hào)表示結(jié)束C)#defineMAX是合法的宏定義命令行D)C程序?qū)︻A(yù)處理命令行的處理是在程序執(zhí)行的過程中進(jìn)行的(29)以下結(jié)構(gòu)體類型說明和變量定義中正確的是。A)typedefstruct{intn:chare;}REC:RECtl,t2;B)structREC;{intn;chare;};RECtl,t2;QtypedefstructREC;{intn=O;charc=*A';}tl,t2;D)struct{intn;chare;}REC;RECtl,t2;(30)以下敘述中錯(cuò)誤的是。A)gets函數(shù)用于從終端讀入字符串B)getchar函數(shù)用于從磁盤文件讀入字符C)fputs函數(shù)用于把字符串輸出到文件D)fwrite函數(shù)用于以二進(jìn)制形式輸出數(shù)據(jù)到文件(31)有以下程序:#include<stdio.h>main(){ints[12]={1,2,3,4,4,3,2,1,L1,2,3),c[5]={0},i;fbr(i=O;i<12;i++)c[s[i]]++;for(i=l;i<5;i++)printf("%d",c[i]);printfCAn*');)程序的運(yùn)行結(jié)果是。A)1234B)2344C)4332D)1123(32)有以下程序:#include<stdio.h>voidfun(int*s,intnLintn2){inti*j,t:i=nl;j=n2;while(i<j){t=s[i];s[i]=sLj];s[j]=t;i++;j-;)}main(){inta[10]={1,2,3,4,5,6,7,8,9,0},k;fun(a,0,3);fun(a,4,9):fun(a,0,9);for(k=O;k<10;k++)printf(M%d,',a[k]);printf("\nM);}程序的運(yùn)行結(jié)果是。A)0987654321B)4321098765C)5678901234D)0987651234(33)有以下程序:#include<stdio.h>#include<string.h>voidfun(char*sQ,intn){char*t;inti,j;for(i=O;i<n-l;i++)fdr(j=i4-l;j<n;j++)if(strlen(s[i])>strlen(s[j])){t=s[i]:s[i]:s[j];s[j] })main(){char*ss[]={"bcc1',"bbcc'V'xy","aaaacc","aabcc");fun(ss,5);printf("%s,%s\n",ss[0],ss[4]);}程序的運(yùn)行結(jié)果是。A)xy,aaaaccB)aaaacc,xyC)bcc,aabccD)aabcc,bcc(34)有以下程序:#include<stdio.h>intf(intx){inty;if(x=Ollx==l)return(3);y=x*x-f(x-2);returny;)main(){intz;z=f(3);printf(,,%d\n,\z);}程序的運(yùn)行結(jié)果是。A)0B)9C)6D)8(35)有以下程序:#include<stdio.h>voidfun(char*a,char*b){while(*a==,*')a++;while(*b=*a){b++;a++;})main(){char*s=n*****a*b*****\t[80];fun(s,t);puts(t);}程序的運(yùn)行結(jié)果是。A)*****a*bB)a*bC)a*b****D)ab(36)有以下程序:#include<stdio.h>#include<string.h>typedefstruct{charname[9];charsex:floatscore[2];}STU;voidf(STUa){STUb={HZhaoM,'m',85 0,90 0);inti;strcpy(,);a.sex=b.sex;fbr(i=0;i<2;i++)a.score[i]=b.score[i];)main(){STUc={uQianH,'f',95 0,92 0};f(c);printf("%s,%c,%2.0f,%2.0f\n",,c.sex,c.score[0],c.score[1]);}程序的運(yùn)行結(jié)果是。A)Qian,f,95,92B)Qian,m,85,90C)Zhao,f,95,92D)Zhao,m,85,90(37)有以下程序:#include<stdio.h>main(){HLE*fp;inta[10]={1,2,3},i,n;fp=fopen(,,dl.daf,"w");fbr(i=O;i<3;i++)fprintf(fp,"%d",aLi]);fprintf(fp,”\n");fclose(fp);fp=fopen(Mdl.datM,V);fscanf(fp,"%d",&n);fclose(fp);printf(M%d\nn,n):}程序的運(yùn)行結(jié)果是。A)12300B)123C)1D)321(38)變量a中的數(shù)據(jù)用二進(jìn)制表示的形式是01011101,變量b中的數(shù)據(jù)用二進(jìn)制表示的形式是11110000。若要求將a的高4位取反,低4位不變,所要執(zhí)行的運(yùn)算是。A)aAbB)albC)a&bD)a?4(39)在C語言中,只有在使用時(shí)才占用內(nèi)存單元的變量,其存儲(chǔ)類型是。A)auto和registerB)extem和registerC)auto和staticD)static和register(40)設(shè)有定義語句int(*f)(int);,則以下敘述正確的是。A)f是基類型為int的指針變量B)f是指向函數(shù)的指針變量,該函數(shù)具有一個(gè)int類型的形參C)f是指向int類型一維數(shù)組的指針變量D)f是函數(shù)名,該函數(shù)的返回值是基類型為int類型的地址二、填空題(每空2分,共30分)請(qǐng)將每一個(gè)空的正確答案寫在答題板【1】至【15】序號(hào)的橫線上,答在試卷上不得分。(1)測(cè)試用例包括輸入值集和【1】值集。(2)深度為5的滿二叉樹有【2】個(gè)葉子結(jié)點(diǎn)。(3)設(shè)某循環(huán)隊(duì)列的容量為50,蟠針front=5(指向隊(duì)頭元素的前一位置),國旨針rear=29(指向隊(duì)尾元素),則該循環(huán)隊(duì)列中共有【3】個(gè)元素。(4)在關(guān)系數(shù)據(jù)庫中,用來表示實(shí)體之間聯(lián)系的是【4】。(5)在數(shù)據(jù)庫管理系統(tǒng)提供的數(shù)據(jù)定義語言、數(shù)據(jù)操縱語言和數(shù)據(jù)控制語言中,【5】負(fù)責(zé)數(shù)據(jù)的模式定義與數(shù)據(jù)的物理存取構(gòu)建。(6)已有定義:charc='';inta=l,b;(此處c的初值為空格字符),撓亍b=!c&&a;后b的值為【6】。(7)設(shè)變量已正確定義為整型,則表達(dá)式n=i=2,++i,i++的值為【7】。2008年4月筆試試卷第9頁(共12頁)2008年4月筆試試卷第10頁(共12頁)(8)若有定義:intk;,以下程序段的輸出結(jié)果是[8】。for(k=2ik<6;k++,k++)printf("##%d”,k);(9)以下程序的定義語句中,x[1]的初值是[9】,程序運(yùn)行后輸出的內(nèi)容是【10】。#include<stdio.h>main(){intx[]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16},*p[4],i;for(i=0:i<4:i++){p[i]=&x[2*i+l];printf("%d"?p[i][0]);)printf("\n");)(10)以下程序的輸出結(jié)果是【11】。#include<stdio.h>voidswap(int*a,int*b){int*t;t=a;a=b;b=t;)main(){inti=3,j=5,*p=&i,*q=&j;swap(p,q):printf("%d%d\n",*p,*q):}(11)以下程序的輸出結(jié)果是【12工#include<stdio.h>main(){inta[5]={2,4,6,8,10},*p:p=a;p++;printf("%d",*p);)(12)以下程序的輸出結(jié)果是【13】。#include<stdio.h>voidfun(intx){if(x/2>0)fun(x/2);printf("%d",x);}main(){ftin(3);printf(u\nM);)(13)以下程序中函數(shù)fun的功能是:統(tǒng)計(jì)person所指結(jié)構(gòu)體數(shù)組中所有性別(sex)為M的記錄的個(gè)數(shù),存入變量n中,并作為函數(shù)值返回。請(qǐng)?zhí)羁铡?include<stdio.h>#defineN3typedefstruct(intnum;charnam[10];charsex;)SS;intfun(SSperson[]){inti,n=0;fbr(i=O;i<N;i++)if([14]=='M')n++;returnn;}main(){SSW[NJ={{1,“AA",'F'},{2,MBB",'M'},{3,“CC",'M'}};intn;n=fun(W);printf(Hn=%d\n'\n);)(14)以下程序的功能是從名為fileadat的文本文件中逐個(gè)讀入字符并顯示在屏幕上。請(qǐng)?zhí)羁铡?include<stdio.h>main(){FILE*fp;charch;fp=fopen([15]);ch=fgetc(fp);while(!feof(fp)){putchar(ch):ch=fgetc(fp):}putchar('\nz):fclose(fp);}2008年4月筆試試卷參考答案及詳解一、選擇題(1)【答案】C)【解析】程序流程圖是人們對(duì)解決問題的方法、思路或算法的一種描述。其中,圖框表示各種操作的類型,圖框中的文字和符號(hào)表示操作的內(nèi)容,流程線表示操作的先后次序。帶箭頭的線段在數(shù)據(jù)流程圖中表示數(shù)據(jù)流,而在程序流程圖中表示控制流。在所給出的選項(xiàng)中,在圖元之間用帶有箭頭的線段表示圖元關(guān)系。在模塊之間用帶有箭頭的線段表示調(diào)用關(guān)系。構(gòu)成程序流程圖的基本圖符及其含義是:f或I表示控制流,口表示加工步驟,?表示邏輯條件。(2)【答案】A)【解析】結(jié)構(gòu)化程序設(shè)計(jì)的原則包括:“自頂而下,逐步求精”的設(shè)計(jì)思想,“獨(dú)立功能,單出口、單入口”的模塊化設(shè)計(jì)等。多態(tài)性是面向?qū)ο蟪绦蛘Z言的特征。(3)【答案】B)【解析】模塊劃分應(yīng)遵循的準(zhǔn)則包括模塊之間的耦合和內(nèi)聚。一般來說,要求模塊之間的耦合盡可能地低,即模塊盡可能獨(dú)立,要求模塊的內(nèi)聚程度盡可能地高,即高內(nèi)聚、低耦合的原則。(4)【答案】B)【解析】需求分析階段的工作主要包括需求獲取、需求分析、編寫需求規(guī)格說明書和需求評(píng)審等四方面。產(chǎn)生的主要文檔為軟件需求規(guī)格說明書,它可以為用戶、分析人員和設(shè)計(jì)人員之間的交流提供方便,可以直接支持目標(biāo)軟件系統(tǒng)的確認(rèn),又可以作為控制軟件開發(fā)進(jìn)程的依據(jù)。(5)【答案】A)【解析】算法具有6個(gè)特性。①有窮性:一個(gè)算法必須總是(對(duì)任何合法的輸入值)在執(zhí)行有窮步之后結(jié)束,旦每一步都可在有限時(shí)間內(nèi)完成,即運(yùn)行時(shí)間是有限的。②確定性:算法中每一條指令必須有確切的含義,讀者理解時(shí)不會(huì)產(chǎn)生歧義。③可行性:一個(gè)算法是可行的,即算法中描述的操作都是可以通過已經(jīng)實(shí)現(xiàn)的基本運(yùn)算執(zhí)行有限次來實(shí)現(xiàn)。④輸入:一個(gè)算法有零個(gè)或多個(gè)輸入,這些輸入取自于某個(gè)特定的對(duì)象的集合。⑤輸出:一個(gè)算法有一個(gè)或多個(gè)輸出。(6)【答案】D)【解析】在最壞情況下,快速排序、冒泡排序和宜接插入排序需要的比較次數(shù)都是n(n-l)/2,堆排序需要比較的次數(shù)為nlog2no(7)【答案】B)【解析】在棧中,允許插入與刪除的一端稱為棧頂,而不允許插入與刪除的一端稱為棧底。棧頂元素總是最后被插入的元素,從而也是最先被刪除的元素;棧底元素總是最先被插入的元素,從而也是最后才能被刪除的元素。因而棧是按照“先進(jìn)后出”或“后進(jìn)先出”的原則組織數(shù)據(jù)的。(8)【答案】C)【解析】數(shù)據(jù)庫的邏輯設(shè)計(jì)分為:①將概念模型轉(zhuǎn)換成一般的數(shù)據(jù)模型;②將一般的數(shù)據(jù)模型轉(zhuǎn)換為特定的數(shù)據(jù)庫管理系統(tǒng)所支持的數(shù)據(jù)模型。把概念模型轉(zhuǎn)換成關(guān)系數(shù)據(jù)模型就是把E-R圖轉(zhuǎn)換成一組關(guān)系模式。(9)【答案】D)【解析】在關(guān)系運(yùn)算中,交的定義如下:設(shè)R1和R2為參加運(yùn)算的兩個(gè)關(guān)系,它們具有相同的度n,且相對(duì)應(yīng)的屬性值取自同一個(gè)域,則R1HR2為交運(yùn)算,結(jié)果仍為度等于n的關(guān)系,其中,交運(yùn)算的結(jié)果既屬于R1乂屬于R2。2008年4月筆試試卷參考答案及詳解第1頁(共6頁)2008年4月筆試試卷參考答案及詳解第2頁(共6頁)(10)【答案】C)【解析】“選課SC”表是“學(xué)生S”表和“課程C”表的映肘表,主健是兩個(gè)表主鍵的組合。(11)【答案】C)【解析】在C語言中,注釋可以加在程序中的任何位置,選項(xiàng)A)錯(cuò)誤。C程序可以分模塊寫在不同的文件中,編譯時(shí)再將其組合在一起,選項(xiàng)D)錯(cuò)誤。C程序的書寫風(fēng)格很自由,不但一行可以寫多個(gè)語句,還可以將一個(gè)語句寫在多行中。所以正確答案為選項(xiàng)C)。(12)【答案】C)【解析】C語言合法標(biāo)識(shí)符的命名規(guī)則是:標(biāo)識(shí)符只能由字母、數(shù)字和下劃線組成,并且第一個(gè)字符必須為字母或下劃線。因?yàn)檫x項(xiàng)C)中的標(biāo)識(shí)符的第一個(gè)字符為“&”,所以選項(xiàng)C)為本題的正確答案。(13)【答案】B)【解析】在C語言程序中,用單引號(hào)把一個(gè)字符或反斜線后跟一個(gè)特定的字符括起來表示一個(gè)字符常量。選項(xiàng)A)、C)和D)為正確的字符常量;而選項(xiàng)B)是用雙引號(hào)括起來的字符,表示一個(gè)字符串常量,所以正確答案為選項(xiàng)B)。(14)【答案】C)【解析】求余運(yùn)算符“%”兩邊的運(yùn)算對(duì)象必須是整型,而選項(xiàng)B)和D)中“%”兩邊的運(yùn)算對(duì)象有浮點(diǎn)整數(shù)據(jù),所以選項(xiàng)B)和D)是錯(cuò)誤的表達(dá)式;在選項(xiàng)A)中賦值表達(dá)式的兩邊出現(xiàn)相同的變量x,也是錯(cuò)誤的;選項(xiàng)C)是一個(gè)逗號(hào)表達(dá)式,所以正確答案為C)。(15)【答案】B)【解析】本題考查變量的定義方法。如果要一次進(jìn)行多個(gè)變量的定義,則在它們之間耍用逗號(hào)隔開。因此選項(xiàng)A)和D)錯(cuò)誤;在選項(xiàng)C)中,變量c是一個(gè)浮點(diǎn)型指針,它只能指向一個(gè)浮點(diǎn)型數(shù)據(jù),不能指向指針變量b;所以正確答案為B)。(16)【答案】D)【解析】輸出格式控制符%c表示將變量以字符的形式輸出;輸出格式控制符%d表示將變量以帶符號(hào)的十進(jìn)制整型數(shù)輸出。所以第一個(gè)輸出語句輸出的結(jié)果為a,97,第二個(gè)輸出語句輸出的結(jié)果為k=12,所以選項(xiàng)D)為正確答案。(17)【答案】B)【解析】C語言的字符以其ASCII碼的形式存在,所以要確定某個(gè)字符是大寫字母,只要確定它的ASCII碼在A和Z之間就可以了,選項(xiàng)A)和C)符合此要求。在選項(xiàng)D)中,函數(shù)isal

溫馨提示

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

評(píng)論

0/150

提交評(píng)論