C復(fù)習(xí)題(答案)_第1頁
C復(fù)習(xí)題(答案)_第2頁
C復(fù)習(xí)題(答案)_第3頁
C復(fù)習(xí)題(答案)_第4頁
C復(fù)習(xí)題(答案)_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、一、選擇題1. 下列C語言標(biāo)識符中,不合法的是(B )A)_1B)a-bC)a_bD)AaBb2. 下列選項中,哪個不是C語言關(guān)鍵字( B )A)whileB)integerC)breakD)static3. 下列選項中,能用作數(shù)據(jù)常量的是( D )A)o115B)0118C)1.5e1.5D)115L4. 關(guān)于轉(zhuǎn)義字符,下列選項中錯誤的是( D )A)B)C)nD)805. 設(shè)有定義:int a=3,b=2,c=1;,下列選項中錯誤的賦值表達式是( A )A)a=(b=4)=3B)a=b=c+1C)a=(b=4)+cD)a=1+(b=c=4)6. 設(shè)有定義:int a,b,y;,則執(zhí)行y=(

2、a=4,b=5,a+b);后,變量y的值是( C )A)4B)5C)9D)不確定7. 設(shè)有定義int x=2;,下列表達式中,值不為6的是( D )A)x*=x+1B)x+,2*xC)x*=(1+x)D)2*x,x+=28. 若a是數(shù)值類型,則邏輯表達式(a=1)|(a!=1)的值是(A )A)1B)0C)2D)不能確定9. 設(shè)有定義char w;int x;float y;double z;,則表達式w*x+z-y值的數(shù)據(jù)類型是( D )A)floatB)charC)intD)double10. 下列關(guān)于switch語句的敘述中正確的是( C )A)switch后面的表達式可以是任意值B)s

3、witch語句中必須包括default語句C)通常break語句與case子句配合使用D)break語句只能用于switch語句中11. 下列選項中,能夠滿足“若字符串s1等于字符串s2,則執(zhí)行ST”要求的是( B )A)if(s1= =s2)ST;B)if(strcmp(s1,s2)= =0)ST;C)if(strcpy(s1,s2)= =1)ST;D)if(s1-s2= =0)ST;12.若有語句int a,b;scanf(“%d;%d”,&a,&b);,則使得a=3,b=5的正確輸入數(shù)據(jù)是( D )A)3 5B)3,5C)35D)3;513. 設(shè)有語句:int i=5,n=0;while

4、(i-) n+;,則運行后變量n的值是(C )A)0B)3C)5D)614. 執(zhí)行語句for(i=10;i0;i-=2);后變量i的值是( B )A)-2B)0C)1D)215. 若有定義 int a34;則對數(shù)組元素引用正確的是( B )A)a14B)a20C)a(2)(1)D)a1,316. 下列選項中錯誤的是( A )A)int a2=1,2,3,4B)int a3=1,2,3,4C)int a23=1,2,3,4D)int a3=1,2,3,417. 若函數(shù)首部定義為int func(double x10,int n),則下列函數(shù)聲明中錯誤的是( A )A)int func(doubl

5、e,int);B)int func(double x,int n);C)int func(double a10,int b);D)int func(double *x,int n);18. 設(shè)有int a=1,3,5,7,9,*p=a;,則下列選項中值為7的表達式是(A )A)*(p+3)B)p+3C)*(p+4)D)p+419. 設(shè)有定義語句:struct stuint a;double b;s1;,則下列說法錯誤的是( A )A)s1是用戶定義的結(jié)構(gòu)體類型名B)struct stu是用戶定義的結(jié)構(gòu)體類型C)a和b都是結(jié)構(gòu)體成員D)struct是定義結(jié)構(gòu)體類型的關(guān)鍵字20. 若要打開當(dāng)前文件

6、夾中的文本文件abc.txt追加寫入新內(nèi)容,應(yīng)使用( D )打開文件A)fopen(abc.txt,r)B)fopen(abc.txt,w+)C)fopen(abc.txt,w)D)fopen(abc.txt,a)21.結(jié)構(gòu)化程序設(shè)計所規(guī)定的三種基本控制結(jié)構(gòu)是(C)A)輸入、處理、輸出B)樹形、網(wǎng)形、環(huán)形C)順序、選擇、循環(huán)D)主程序、子程序、函數(shù)22.要把高級語言編寫的源程序轉(zhuǎn)換為目標(biāo)程序,需要使用(D)A)編輯程序B)驅(qū)動程序C)診斷程序D)編譯程序23.英文小寫字母d的ASCII碼為100,英文大寫字母D的ASCII碼為(D)A)50B)66C)52D)6824.若有定義:inta=8,

7、b=5,c;,執(zhí)行語句c=a/b+0.4;后,c的值為(B)A)1.4B)1C)2.0D)225.若變量a是int類型,并執(zhí)行了語句:a=A+1.6;,則正確的敘述是(D)A)a的值是字符C B)a的值是浮點型C)不允許字符型和浮點型相加 D)a的值是字符A的ASCII值加上1。26.以下選項中不屬于C語言的類型的是(D)A)signedshortintB)unsignedlongintC)unsignedintD)longshort27.若有說明語句:inta,b,c,*d=&c;,則能正確從鍵盤讀入三個整數(shù)分別賦給變量a、b、c的語句是(A)A)scanf(%d%d%d,&a,&b,d);

8、B)scanf(%d%d%d,&a,&b,&d);C)scanf(%d%d%d,a,b,d); D)scanf(%d%d%d,a,b,*d);28. 不合法的main函數(shù)命令行參數(shù)表示形式是(C)A)main(inta,char*c)B)main(intarc,char*arv)C)main(intargc,char*argv)D)main(intargv,char*argc)29.若定義:inta=511,*b=&a;,則printf(%dn,*b);的輸出結(jié)果為(D)A)無確定值B)a的地址C)512D)51130.在C語言中,形參的缺省存儲類是(A)A)autoB)registerC)s

9、taticD)extern31.若指針p已正確定義,要使p指向兩個連續(xù)的整型動態(tài)存儲單元,不正確的語句是(A)A)p=2*(int*)malloc(sizeof(int);B)p=(int*)malloc(2*sizeof(int);C)p=(int*)malloc(2*4);D)p=(int*)calloc(2,sizeof(int);32.若要打開A盤上user子目錄下名為abc.txt的文本文件進行讀、寫操作,下面符合此要求的函數(shù)調(diào)用是(B)A)fopen(A:userabc.txt,r)B)fopen(A:userabc.txt,r+)C)fopen(A:userabc.txt,rb)

10、D)fopen(A:userabc.txt,w)33.以下不能正確進行字符串賦初值的語句是(A)A)charstr5=good!;B)charstr=good!;C)char*str=good!;D)charstr5=g,o,o,d34.在說明語句:int*f();中,標(biāo)識符f代表的是(D)A)一個用于指向整型數(shù)據(jù)的指針變量B)一個用于指向一維數(shù)組的行指針C)一個用于指向函數(shù)的指針變量D)一個返回值為指針型的函數(shù)名35.以下敘述中正確的是(A)A)構(gòu)成C程序的基本單位是函數(shù) B)可以在一個函數(shù)中定義另一個函數(shù)C)main()函數(shù)必須放在其它函數(shù)之前 D)所有被調(diào)用的函數(shù)一定要在調(diào)用之前進行定義

11、36.以下選項中合法的實型常數(shù)是(C)A)5E2.0B)E-3C).2E0D)1.3E37.以下選項中合法的用戶標(biāo)識符是(B)A)longB)_2TestC)3DmaxD)A. dat(4)已知大寫字母A的ASCII碼值是65,小寫字母a的ASCII碼是97,則用八進制表示的字符常量101是(A)A)字符AB)字符aC)字符eD)非法的常量38.以下非法的賦值語句是(C)A)n=(i=2,+i);B)j+;C)+(i+1);D)x=j0;39.設(shè)a和b均為double型變量,且a=5.5、b=2.5,則表達式(int)a+b/b的值是(D)A)6.B)6C)5.D)6.40.已知i、j、k為i

12、nt型變量,若從鍵盤輸入:1,2,3,使i的值為1、j的值為2、k的值為3,以下選項中正確的輸入語句是(C)A)scanf(“%2d%2d%2d”,&i,&j,&k); B)scanf(“%d%d%d”,&i,&j,&k);C)scanf(“%d,%d,%d”,&i,&j,&k); D)scanf(“i=%d,j=%d,k=%d”,&i,&j,&k);41.已有定義: intx=3,y=4,z=5;,則表達式!(x+y)+z-1&y+z/2的值是(D)A)B)C)D)42. if語句的基本形式是:if(表達式)語句,以下關(guān)于“表達式”值的敘述中正確的是(D)A) 必須是邏輯值 B) 必須是整數(shù)

13、值 C) 必須是正數(shù) D) 可以是任意合法的數(shù)值43.以下敘述正確的是(B)A)可以把define和if定義為用戶標(biāo)識符B)可以把define定義為用戶標(biāo)識符,但不能把if定義為用戶標(biāo)識符C)可以把if定義為用戶標(biāo)識符,但不能把define定義為用戶標(biāo)識符D)define和if都不能定義為用戶標(biāo)識符44.有以下程序#includemain(intargc,char*argv)inti,len=0;for(i=1;iargc;i+)len+=strlen(argv);printf(“%dn”,len); 程序編譯連接后生成的可執(zhí)行文件是ex1.exe,若運行時輸入帶參數(shù)的命令行是:ex1abcd

14、efg10則運行的結(jié)果是:A)22B)17C)12D)9二、填空題1. 運行一個C程序的基本步驟是:編輯、編譯、 連接 、運行。2. 已知字母A的ASCII值為65。則語句printf(%d,D);的輸出結(jié)果是 68 。3. 若有定義int i=6,j;,則執(zhí)行j=i+;后,j的值是 6 。4. 如有定義int a=2;,則執(zhí)行語句a+=a-=a*a后,變量a的值是 -4 。5. 若有定義int a=2,b=7則表達式(float)b/a的結(jié)果是 3.5 。6. 表示條件“x能同時被3和5整除”的邏輯表達式是 x%3=0 & x%5=0。7. 若下列代碼運行后輸出“21”,則代碼問號處應(yīng)填寫語

15、句: break 。 for(s=0,n=1;n20) ? ;printf(%d,s);8. 若有代碼char s10=”abcd0ef”; ,則printf(%s,s);的輸出結(jié)果是 abcd 。9. 設(shè)有#define F(x,y) x*y,則F(1+3,3+2)的值是 12 。10. 設(shè)有定義union datachar c;int x;double f;a;,則變量a所占空間是 8 字節(jié)。三、閱讀理解題1. 下列程序的運行結(jié)果是( ga )。#include main() char a=program,*p1=a; char b=language,*p2=b; int i; for(i

16、=0;i8;i+) if(*(p1+i)=*(p2+i) printf(%c,*(p1+i);2. 下列程序的運行結(jié)果是( s=8765 )#include main() int i=1,j=8,s; for(s=0;ij;i+,j-)s=s*10+j; printf(s=%dn,s);3. 下列程序的運行結(jié)果是( s1=18,s2=10 )#include main() int a3=9,7,5,3,1,2,4,6,8; int i,j,s1=0,s2=0; for(i=0;i3;i+) for(j=0;j3;j+) if(i=j) s1+=aij; if(i+j=2) s2+=aij; p

17、rintf(s1=%d,s2=%dn,s1,s2);4. 下列程序的運行結(jié)果是( 45 )。#include int fun(int n) if(n=1) return 5; else return 10+fun(n-1);main() int num; num=fun(5); printf(%dn,num);5.以下程序的輸出結(jié)果是( 10 )f(intb,intm,intn)inti,s=0; for(i=m;in;i=i+2)s=s+bi; returns;main()intx,a=1,2,3,4,5,6,7,8,9; x=f(a,3,7); printf(%dn,x);6.以下程序的輸

18、出的結(jié)果是( 2 6 )intx=3;main()void ncre();inti;for(i=1;i=A&ch=Z)ch=ch-A+a; returnch;main()chars=ABC+abc=defDEF,*p=s; while(*p) *p=cchar(*p); p+; printf(%sn,s);8.下列程序的運行結(jié)果是( abcde )#include main() char str1=abcde,*s=str1; char str220,*t=str2; while(*t+=*s+); puts(str2);9.以下程序的輸出結(jié)果是 ( 32 )#includemain()inti=0,a=0;w

溫馨提示

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

評論

0/150

提交評論