![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
2010秋江蘇省計(jì)算機(jī)二級(jí)C考試試題 |
絕密★ 啟用前 2010年秋 江蘇省高等學(xué)校非計(jì)算機(jī)專業(yè)學(xué)生 計(jì)算機(jī)基礎(chǔ)知識(shí)和應(yīng)用能力等級(jí)考試 二級(jí)試卷 試卷語(yǔ)種:C語(yǔ)言
一、選擇題(用答題卡答題,答案依次填在21~30答題號(hào)內(nèi),共10分) 21.以下關(guān)于C源程序的敘述中正確的是___(21)___ 。 A.注釋只能出現(xiàn)在程序的開(kāi)始位置或語(yǔ)句后面 B.一行中不能寫(xiě)多條語(yǔ)句 C.一條語(yǔ)句可以分寫(xiě)在多行中 D.一個(gè)源程序只能保存在一個(gè)文件中 22.C源程序中的命令#include與#define是在___(22)___階段被處理的。 A.預(yù)處理 B.編譯 C.連接 D.執(zhí)行 23.以下語(yǔ)句中有語(yǔ)法錯(cuò)誤的是___(23)___ A.printf("%d",0xAB); B.printf("%f",3.45E2.5); C.printf("%d",037); D.printf("%c",'\\'); 24.已有聲明"int x=5,y;float z=2;",以下表達(dá)式中語(yǔ)法正確的是_____(24)____ 。 A.y=x%z B.x>0?y=x:y=-x C.y=x/2=z D.y=x=z/2 25.已知字母A的ASCII碼是65,字母a的ASCII碼是97,變量c中存儲(chǔ)了一個(gè)大寫(xiě)字母的編碼.若要求將c中大寫(xiě)字母編碼轉(zhuǎn)換成對(duì)應(yīng)小寫(xiě)字母編碼,則以下表達(dá)式中不能實(shí)現(xiàn)該功能的是______(25)_____ A.c=tolower(c) B.c=c+ 26.一元二次方程ax A.a!=0,b*b-4*a*c>0 B.a!=0||b*b-4*a*c>0 C.a && b*b-4*a*c>0 D.!a && b*b-4*a*c>0 27.以下關(guān)于break和continue語(yǔ)句的敘述中正確的是 ___(27)______ 。 A.break和continue語(yǔ)句都可以出現(xiàn)在switch語(yǔ)句中 B.break和continue語(yǔ)句都可以出現(xiàn)在循環(huán)語(yǔ)句的循環(huán)體中 C.在循環(huán)語(yǔ)句和switch語(yǔ)句之外允許出現(xiàn)break和continue語(yǔ)句 D.執(zhí)行循環(huán)語(yǔ)句中的break或continue語(yǔ)句都將立即終止循環(huán) 28.若有一函數(shù)定義為"int f(int x,int *y){return x/*y;}",聲明該函數(shù)的正確形式是__(28)___ . A.void f(int,int); B.int *f(int,int *); C.int f(int *,int *); D.int f(int,int *); 29.已知有聲明"char a[]="program",*p=a+1;",則執(zhí)行以下語(yǔ)句不會(huì)輸出字符a的是 _____(29)______ . A.putchar(*p+4); B.putchar(*(p+4)); C.putchar(a[sizeof(a)-3]); D.putchar(*(a+5)); 30.已有定義和聲明: struct student {int no; char name[20]; struct{int year,month,day;}birth; } s; 若要求將日期" A.year=1989; month=11;day=12; B.s.year=1989;s.month=11;s.day=12; C.birth.year=1989;birth.month=11;birth.,day=12; D.s.birth.year=1989;s.birth.month=11;s.birth.day=12; 二、填空題(將答案填寫(xiě)在答題紙的相應(yīng)答題號(hào)內(nèi),每個(gè)答案只占一行,共30分) ● 基本概念 1.若有聲明"double n;",則數(shù)學(xué)公式" 2.已知有聲明"char ch;int a;",執(zhí)行語(yǔ)句"scanf("%c%d",&ch,&a);"時(shí)如果從鍵盤(pán)輸入的數(shù)據(jù)是"123",則變量a得到的值是___(2)___ 。 3.若有聲明"int a=0,b=1,c=2;",執(zhí)行語(yǔ)句"if(a>0&&++b>0)c++;else c--;"后,變量a、b、c的值分別___(3)___ 。 4.若有以下宏定義: #define M(a,b) -a/b 則執(zhí)行語(yǔ)句"printf("%d",M(4+3,2+1));"后輸出結(jié)果為___(4)___ 。 5.聲明"FILE *p;"中的類型標(biāo)識(shí)符"FILE"是在頭文件 ___(5)___中定義的。 ● 閱讀程序 6.以下程序運(yùn)行時(shí)輸出到屏幕的結(jié)果為___(6)___ 。 #include enum{A,B,C,D}x; void main() {char s[]="your"; for(x=B;x<=D;x++) putchar(s[x]); } 7.以下程序運(yùn)行時(shí)輸出到屏幕的結(jié)果是 (7) 。 #include void main() {int s[12]={1,2,3,4,4,3,2,1,1,1,2,3},c[5]={0},i,j; for(i=0;i<12;i++) {j=s[i]; c[j]++; } for(i=1;i<5;i++) printf("%d",c[i]); } 8.以下程序運(yùn)行時(shí)輸出到屏幕的結(jié)果是___(8)___ 。 #include int fun(int x) {static int c,y; if(c==0) y=1; else y=y+x; c++; return y; } void main() {int i; for(i=0;i<2;i++) printf("%d",fun(2)); } 9.以下程序運(yùn)行時(shí)輸出到屏幕的結(jié)果中第一行是___(9)___,第二行是___(10)___ 。 #include void fun(int *a,int b) {while(b>0) {*a+=b; b--; } } void main() {int x=0,y=3; fun(&x,y); printf("%d\n%d\n",x,y); } 10.以下程序運(yùn)行時(shí)輸出到屏幕的結(jié)果是___(11)___ #include int f(int x) { if(x==0||x==1)return 3; return x*x-f(x-2); } void main() {printf("%d\n",f(3));}
|