《C語言基礎》習題及答案

上傳人:文*** 文檔編號:33445640 上傳時間:2021-10-17 格式:DOC 頁數(shù):6 大小:34.50KB
收藏 版權申訴 舉報 下載
《C語言基礎》習題及答案_第1頁
第1頁 / 共6頁
《C語言基礎》習題及答案_第2頁
第2頁 / 共6頁
《C語言基礎》習題及答案_第3頁
第3頁 / 共6頁

下載文檔到電腦,查找使用更方便

8 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《《C語言基礎》習題及答案》由會員分享,可在線閱讀,更多相關《《C語言基礎》習題及答案(6頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、真誠為您提供優(yōu)質參考資料,若有不當之處,請指正。 《C語言基礎》習題及答案 一、選擇題 1.設a的值為15,n的值為5,則進行a%=(n%=2)運算后,a的值為( A )。 A.0 B.1 C.12 D.6 2.設有類型說明 unsigned int a=65535; , 按%d格式輸出a的值,其結果是( B )。 A.65536 B.-1 C.1 D.-32767 3.下列運算符中優(yōu)先級最高的是( C )。 A.?: B.&& C.+ D.!= 4. 以下程序輸出的結果是

2、( A )。 main( ) { int a= -1,b=4,k; k=!((++a<0)&&! (b--<0)); printf("%d%d%d\n",k,a,b); } A.104 B.103 C.013 D.004 5.下面的程序執(zhí)行后,變量a的值是( B )。 #define SQR(x) x*x main() { int a=10,k=2,m=1; a/=SQR(k+m)/SQR(k+m); printf("%d\n",a); } A.10 B.1

3、 C.9 D.0 6.設有int i;則表達式i=1,++i,++i||++i,i的值為 ( C)。 A.1 B.2 C.3 D.4 7.設有int i;則表達式(i=1,i=10)?i++||++i:++i的值為 ( A )。 A.1 B.2 C.3 D.10 8.設有int a[]={10,11,12},*p=&a[0];則執(zhí)行完*p++;*p+=1;后a[0],a[1],a[2]的值依次是 ( C )。 A.10,11,12 B.11,12,12 C.10,12,12 D.11,11,1

4、2 9.設有int i, j, k; 則表達式i=1,j=2,k=3, i&&j&&k 的值為 ( A )。 A.1 B.2 C.3 D.0 10.設有說明int s[2]={0,1},*p=s; 則下列錯誤的C語句是 ( A )。 A.s+=1; B.p+=1; C.*p++; D.(*P)++; 11.以下敘述正確的是( D )。 A.可以把define和if定義為用戶標識符 B.可以把if定義為用戶標識符,但不能把define定義為用戶標識符 C.define和if都不能定義為用戶標識符 D.可以把define定義為用戶標識符,但不能把if

5、定義為用戶標識符 12. 以下程序的輸出結果是( B )。 void prtv(int *x) { printf("%d\n",++*x); } main() { int a=25; prtv(&a); } A.25 B.26 C.27 D.以上均不對 13. 設有以下說明語句 struct ex { int x; float y;char z; } example; 則下面的敘述中不正確的是( D )。 A.struct ex是結

6、構體類型 B.x,y,z都是結構體成員名 C.struct是結構體類型的關鍵字 D.example是結構體類型名 14. 下列敘述中正確的是( D )。 A.C語言的函數(shù)可以嵌套定義 B.C語言的子程序有過程和函數(shù)兩種 C.C語言編譯時不檢查語法 D.C語言中,根據(jù)函數(shù)能否被其它源文件調用,被區(qū)分為內部函數(shù)和外部函數(shù) 15. 若有說明:int i,j=7,*p=&i;則與i=j;等價的語句是( D )。 A.i=*p; B.i=**p; C.i=&j; D.*p=*&j; 16. 以下程序的輸出結果是( A )。 main() { char st[2

7、0]="hello\0\t\\"; printf("%d%d\n",strlen(st),sizeof(st)); } A.520 B.99 C.1320 D.2020 17. 不合法的main函數(shù)命令行參數(shù)表示形式是( C )。 A.main(int argv,char *arge[]) B.main(int arc,char **arv) C.main(int argc,char *argv) D.main(int a,char *c[]) 18. 若有說明語句:int a,b,c,*d=&c;則能正確從鍵盤讀入三個整數(shù)分別

8、賦給變量a、b、c的語句是( C )。 A.scanf("%d%d%d",a,b,d); B.scanf("%d%d%d",&a,&b,&d) C.scanf("%d%d%d",&a,&b,d); D.scanf("%d%d%d",a,b,*d); 19. 以下程序段的輸出結果是( A )。 char s[]="\\141\141abc\t"; printf("%d\n",strlen(s)); A.9 B.10 C.12 D.14 20. 以下程序的輸出結果是( D )。 main() { int x=10,y=10,i; for(i=0;

9、x>8 ;y=++i) printf("%d %d ",x--,y); } A.10 1 9 2 B.10 9 9 0 C.9 8 7 6 D.10 10 9 1 21. 設a和b均為double型變量,且a=5.5、b=2.5,則表達式(int)a+b/b的值是( D )。 A.6 B.6.500000 C.5.500000 D.6.000000 22. 以下定義語句中正確的是( A )。 A. int a=10,*b=&a; B. float a=b=10.0; C. char a=Ab=B; D. fl

10、oat *a,b=&a; 23. 有以下程序 main() {char str[][10]={"China","Beijing"},*p=str; printf("%s\n",p+10); } 程序運行后的輸出結果是( B )。 A. ing B. Bejing C. ng D. China 24. 下列關于單目運算符++、--的敘述中正確的是( A )。 A.它們的運算對象可以是char型變量、int型變量和float型變量 B.它們的運算對象可以是char型變量和int型變量,但不能是float型變量 C.它們的運算對象可以是int型變量,但不能是d

11、ouble型變量和float型變量 D.它們的運算對象可以是任何變量和常量 25. 設a=5、b=6、c=7、d=8、m=2、n=2,執(zhí)行 (m=a>b)&&(n=c>d) 后n的值為( B )。 A.4 B.2 C.3 D.1 二、填空題 1.C語言中靜態(tài)變量和外部變量的初始化是在___編譯___階段完成的。 2.設a為整型變量,初值為12,執(zhí)行賦值表達式a+=a-=a*a后,a的值是___-264_____。 3.設a和x都為整型變量,執(zhí)行賦值表達式x=(a=3,6*3)后,x值為____18____。 4.設整型變量a 的值為-1,在1

12、6位微機中用16進制打印a的值是___ffff_____。 5.在內存中供用戶使用的存儲空間可分為三個區(qū):存儲程序的程序區(qū),存儲數(shù)據(jù)的靜態(tài)存儲區(qū)和動態(tài)存儲區(qū)。在靜態(tài)存儲區(qū)中存放的數(shù)據(jù)是___全局變量和___局部靜態(tài)____變量。 6.C語言提供的預處理功能主要有三種:宏定義,文件包含和條件編譯。 條件編譯命令有三種基本形式: ① #ifdef 標識符 ② #__ifndef__標識符 ③ #___if ___表達式 程序段1 程序段1 程序段1

13、 #else #else #else 程序段2 程序段2 程序段2 #endif #endif #endif 7.類型定義:int a[10],*p; 執(zhí)行賦值語句p=a;之后,那么p+5是___ a[5]的XXX_____,*(p+5)是___ a[5]_____。 (第1空答&a[

14、5]或a+5也不算錯),第2空答a[5]的值也可) 三、判斷題 1、若有說明int c;則while(c=getchar());是正確的C語句。 ( T ) 2、int i,*p=&i;是正確的C說明語句。 ( T ) 3、7&&3+12的值是15。 ( F ) 4、while 1 i,j; 一定是錯誤的C說明。 ( T ) 5、for( ; ; )S中的語句S必執(zhí)行無窮多次。 ( F ) 6、unsigned 和void 在C中都是保留的。 ( T ) 7、int If=’\0’;會出現(xiàn)編譯錯誤。 ( F ) 8、char str[10][]; 是錯誤的說明語句。 ( T

15、 ) 9、構成C程序的基本單位是函數(shù)。 ( T ) 10、所有被調用的函數(shù)一定要在調用之前進行定義。 ( F ) 11、語句int *p; *p=0;存在著潛在的危險。( T ) 12、語句int *p; p=0;是錯誤的。( F ) 13、int *p[3];定義了一個指針數(shù)組p,該數(shù)組含有三個元素,每個元素都是基類型為int的指針。( T ) 14、print可以作為變量名使用。( T ) 15、if (a=0) i=1; 是合法的C語句。( T ) 四、閱讀程序題(寫出程序的運行結果) 1.【程序】 swap1(int x,int y) { int w;

16、w=x; x=y; y=w;} swap2(int *p1,int *p2) { int *p; p=p1; p1=p2; p2=p;} swap3(int *pa, int *pb) { int p; p=*pa; *pa=*pb; *pb=p;} main() { int a,b; int *ptr1,*ptr2; a=5; b=7; ptr1=&a; ptr2=&b; swap1(*ptr1,*ptr2); printf("data1=%d\tdata2=%d\n",*ptr1,*ptr2); swap2(ptr1,ptr2);

17、 printf("data3=%d\tdata4=%d\n",*ptr1,*ptr2); printf("data5=%d\tdata6=%d\n",a,b); swap3(ptr1,ptr2); printf("data7=%d\tdata8=%d\n",*ptr1,*ptr2); printf("data9=%d\tdata10=%d\n",a,b); } 【運行結果】 data1=5 data2=7 data3=5 data4=7 data5=5 data6=7 data7=7 data8=5 data9=7 data10=

18、5 2.【程序】 int a[][3]={1,2,3,4,5,6}; main() { int i,j,(*p)[3]; p=a; printf("%d %d %d\n",p[0][0],*(p[0]+1),(*p)[2]); printf("%d %d %d\n",p[1][0],*(p[1]+1),(*(p+1))[2]); for (i=0; i<2; i++) for (j=0; j<3; j++) printf("%d ",*(*(p+i)+j)); printf("\n"); } 【運行結果】 1 2 3 4

19、 5 6 1 2 3 4 5 6 3.【程序】 main() { int i,n=0; for( i=2;i<5;i++) {do { if(i%3) continue; n++; }while(!i); n++; } printf("n=%d\n",n); } 【運行結果】 n=4 4.以下程序運行后的輸出結果是______。 【程序】 main () { char a[]="Language",b[]="Programe"; char *p1,*p2; int k;

20、 p1=a; p2=b; for(k=0;k<=7;k++) if(*(p1+k)==*(p2+k)) printf("%c",*(p1+k)); } 【運行結果】 gae 5. 【程序】 #include void main() { int i,j,k,a=5,m[6][6]; i=1; k=(a+1)/2; for (j=1;j<=a*a;j++) { m[i][k]=j; if (j%a==0) {i=(i%a)+1;continue;} k=(k%a)+1; i--; if (i==0) i=a; } for (i=1;i<=a;i++) { for (j=1;j<=a;j++) printf("%4d",m[i][j]); printf("\n"); } } 【運行結果】 17 24 1 8 15 23 5 7 14 16 4 6 13 20 22 10 12 19 21 3 11 18 25 2 9 6 / 6

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

相關資源

更多
正為您匹配相似的精品文檔
關于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對上載內容本身不做任何修改或編輯。若文檔所含內容侵犯了您的版權或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!