2017年西安交通大學習題答案《程序設計基礎》答案_第1頁
2017年西安交通大學習題答案《程序設計基礎》答案_第2頁
2017年西安交通大學習題答案《程序設計基礎》答案_第3頁
2017年西安交通大學習題答案《程序設計基礎》答案_第4頁
2017年西安交通大學習題答案《程序設計基礎》答案_第5頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

程序設計基礎習題一答案一、單項選擇題(本大題共 20 小題,每小題 2 分,共 40 分)1.int a10;合法的數組元素的最小下標值為() 。A:10B:9C:1D:0答案:D2.以下運算符中優(yōu)先級最低的是() 。A:&B:&C:|D:|答案:C3.若使用一維數組名作函數實參,則以下正確的說法是() 。A:必須在主調函數中說明此數組的大小B:實參數組類型與形參數組類型可以不匹配C:在被調用函數中,不需要考慮形參數組的大小D:實參數組名與形參數組名必須一致答案:A4.已知函數的調用形式:fread(buffer,size,count,fp); 其中 buffer代表的是() 。A:一個整數,代表要讀入的數據項總數B:一個文件指針,指向要讀的文件C:一個指針,指向要讀入數據的存放地址D:一個存儲區(qū),存放要讀的數據項答案:C5.對以下說明語句 int a10=6,7,8,9,10; 的正確理解是() 。A:將 5 個初值依次賦給 a1至 a5B:將 5 個初值依次賦給 a0至 a4C:將 5 個初值依次賦給 a6至 a10D:因為數組長度與初值的個數不相同,所以此語句不正確答案:B6.下列程序的輸出結果是() 。main() int x=1,y=0,a=0,b=0;switch(x)case 1:switch(y)case 0:a+;break;case 1:b+;break;case 2:a+;b+;break; case 3:a+;b+;break; printf(a=%d,b=%dn,a,b);A:a=1,b=0B:a=2,b=1C:a=1,b=1D:a=2,b=2答案:B7.下列程序的輸出結果為() 。main()int m=7,n=4;float a=38.4,b=6.4,x;x=m/2+n*a/b+1/2;printf(%fn,x);A:27.000000B:27.500000C:28.000000D:28.500000答案:A8.若 k 為 int 型變量,則以下程序段的執(zhí)行結果是() 。k=-8567; printf(|%06D|n,k);A:格式描述符不合法,輸出無定值B:輸出為|%06D|C:輸出為|0-8567|D:輸出為|-8567|答案:B9.下列程序段的輸出結果為() 。int x=3,y=2;printf(%d,(x-=y,x*=y+8/5);A:1B:7C:3D:5答案:C10.char a=This is a program.;輸出前 5 個字符的語句是() 。A:printf(%.5s,a);B:puts(a);C:printf(%s,a);D:a5*2=0;puts(a);答案:A11.下列程序的輸出結果是() 。main()char c1=97,c2=98;printf(%d %c,c1,c2);A:97 98B:97 bC:a 98D:a b答案:B12.以下選項中合法的實型常數是() 。A:5E2.0B:E-3C:.2E0D:1.3E答案:C13.C 語言中的文件類型只有() 。A:索引文件和文本文件兩種B:ASCII 文件和二進制文件兩種C:文本文件一種D:二進制文件一種答案:B14.以下敘述不正確的是() 。A:一個 C 源程序可由一個或多個函數組成B:一個 C 源程序必須包含一個 main 函數C:C 程序的基本組成單位是函數D:在 C 程序中,注釋說明只能位于一條語句的后面答案:D15.以下運算符中,優(yōu)先級最高的運算符是() 。A:|B:%C:!D:=答案:C16.執(zhí)行以下程序段后,輸出結果和 a 的值是() 。int a=10;printf(%d,a+);A:10 和 10B:10 和 11C:11 和 10D:11 和 11答案:B17.能正確表示邏輯關系:a10 或 a0 的 C 語言表達式是() 。A:a=10 or a=0|a=10&a=10a答案:B42.以下不能正確定義二維數組的選項是() 。A:int a22=1,2;B:int a2=1,2,3,4;C:int a22=1,2,3;D:int a2=1,2,3,4;答案:D43.設 int x=1, y=1; 表達式(!x|y-)的值是() 。A:0B:1C:2D:-1答案:B44.下列選項中正確的語句組是() 。A:char s8; s=Beijing;B:char *s; s=Beijing;C:char s8; s=Beijing;D:char *s; s=Beijing;答案:D45.若有 int a10=0,1,2,3,4,5,6,7,8,9,*p=a;則輸出結果不為 5的語句為() 。A:printf(%d,*(a+5);B:printf(%d,p5);C:printf(%d,*(p+5);D:printf(%d,*p5);答案:D46.設變量 a 是整型, f 是實型, i 是雙精度型,則表達式 10+a+i*f 值的數據類型為() 。A:intB:floatC:doubleD:不確定答案:C47.以下敘述正確的是() 。A:在 C 程序中,main 函數必須位于程序的最前面B:C 程序的每行中只能寫一條語句C:C 語言本身沒有輸入輸出語句D:在對一個 C 程序進行編譯的過程中,可發(fā)現注釋中的拼寫錯誤答案:C48.int a=1,b=2,c=3;if(ab)a=b;if(ac)a=c;則 a 的值為() 。A:1B:2C:3D:不一定答案:A49.C 語言中,定義結構體的保留字是() 。A:unionB:structC:enumD:typedef答案:B50.邏輯運算符兩側運算對象的數據類型() 。A:只能是 0 或 1B:只能是 0 或非 0 正數C:只能是整型或字符型數據D:可以是任何類型的數據答案:D51.以下敘述中正確的是() 。A:C 語言的源程序不必通過編譯就可以直接運行B:C 語言中的每條可執(zhí)行語句最終都將被轉換成二進制的機器指令C:C 源程序經編譯形成的二進制代碼可以直接運行D:C 語言中的函數不可以單獨進行編譯52.下列程序的輸出結果是() 。main() int x=1,y=0,a=0,b=0;switch(x)case 1:switch(y)case 0:a+;break;case 1:b+;break;case 2:a+;b+;break; case 3:a+;b+;break; printf(a=%d,b=%dn,a,b);A:a=1,b=0B:a=2,b=1C:a=1,b=1D:a=2,b=2答案:B53.若二維數組 a 有 m 列,則在 aij前的元素個數為() 。A:j*m+iB:i*m+jC:i*m+j-1D:i*m+j+1答案:B54.用下列語句定義 a,b, c,然后執(zhí)行 b=a、c=b+b,則 b,c 的值是() 。 long a=0xffffff; int b; char c;A:0ffffff 和 0x61B:-1 和 98C:-1 和 97D:指向同一地址答案:C55.在調用函數時,如果實參是簡單變量,它與對應形參之間的數據傳遞方式是() 。A:地址傳遞B:單向值傳遞C:由實參傳給形參,再由形參傳回實參D:傳遞方式由用戶指定答案:B56.以下數值中,不正確的八進制數或十六進制數是() 。A:0x16B:16C:-16D:0xaaaa答案:C57.以下運算符中,優(yōu)先級最高的運算符是() 。A:*=B:=C:(類型)D:+答案:C58.以下選項中,與 k=n+完全等價的表達式是() 。A:k=n,n=n+1B:n=n+1,k=nC:k=+nD:k+=n+1答案:A59.結構體類型的定義允許嵌套是指() 。A:成員是已經或正在定義的結構體型B:成員可以重名C:結構體型可以派生D:定義多個結構體型答案:A60.用戶定義的函數不可以調用的函數是() 。A:非整型返回值的B:本文件外的C:main 函數D:本函數下面定義的答案:C二. 多選題 (本大題共 20 小題,每小題 2 分,共 40 分)1.以下對C語言中的函數描述不正確的有()。A:可以嵌套定義,不可以嵌套調用B:不可以嵌套定義,可以嵌套調用C:可以嵌套定義,也可以嵌套調用D:嵌套定義和嵌套調用都不允許答案:ACD2.以下敘述正確的是()。A:預處理命令行都必須以#開始B:在程序中凡是以#開始的語句行都是預處理命令行C:C程序在執(zhí)行過程中對預處理命令行進行處理D:#define ABCD是正確的宏定義答案:ABD3.以下描述錯誤的是()。A:continue語句的作用是重新開始一次循環(huán)體的執(zhí)行B:只能在循環(huán)體內和switch語句體內使用break語句C:在循環(huán)體內使用break語句和continue語句的作用相同D:從多重循環(huán)嵌套中退出是,只能使用goto語句答案:CD4.有定義語句:int x,y;若要通過scanf(%d,%d,&x,&y);語句使變量x得到數值11,變量y得到數值12,下面四組輸入形式中,正確的有()。A:11 12B:11,12C:11,12D:11, 12答案:BCD5.以下合法的十六進制數是()。A:oxffB:0XabcC:0x01D:0X9X答案:BC6.以下描述正確的是()。A:調用函數時,實參可以是表達式B:調用函數時,實參與形參可以共用內存單元C:調用函數時,將為形參分配內存單元D:調用函數時,實參與形參的類型必須一致答案:ACD7.以下選項中合法的表達式是()。A:0y & x!=y);B:if (x=y) x+=y;C:if (x!=y) scanf(%d,&x) else scanf(%d,&y);D:if (x0);D:if(b=0) m=1;n=2;答案:ABC22.以下選項中,合法的字符常量是()。A:tB:17C:nD:xaa答案:ABD23.以下描述正確的是()。A:使用while和do-while循環(huán)時,循環(huán)變量初始話的操作應在循環(huán)體語句之前完成B:while循環(huán)是先判斷表達式,后執(zhí)行循環(huán)語句C:do-while和for循環(huán)均是先執(zhí)行循環(huán)語句,后判斷表達式D:for,while和do-while循環(huán)中的循環(huán)體均可以由空語句構成答案:ABD24.以下關于數組描述錯誤的是()。A:數組的大小是固定的,但可以有不同的類型的數組元素B:數組的大小是可變的,但所有數組元素的類型必須相同C:數組的大小是固定的,所有數組元素的類型必須相同D:數組的大小是可變的,可以有不同的類型的數組元素答案:ABD25.以下選項中不是C語言合法整數的是()。A:10110B:0386C:0XffaD:x2a2答案:BD26.若以下選項中的變量已正確定義,則不正確的賦值語句是()。A:x1=26.8%3B:x=3*x+xC:x3=0x12D:x4=1+2=3;答案:AD27.下列對邏輯運算符兩側的運算對象的數據類型描述不正確的是()。A:只能是0或1B:只能是0或非0正數C:可以是整型或字符型數據D:可以是任何類型的數據答案:ABD28.下列選項中是C語言合法標志符的有()。A:good_morningB:mainC:stdio.hD:8abc答案:AB29.以下對switch語句和break語句中描述錯誤的有()。A:在switch語句中必須使用break語句B:break語句只能用于switch語句C:在switch語句中,可以根據需要使用或不使用break語句D:break語句是switch語句的一部分答案:ABD30.以下敘述中正確的是()。A:一個C源程序可由一個或多個函數組成B:一個C源程序必須包含一個main()函數C:C源程序的基本組成單位是函數D:在C源程序中,注釋說明只能位于一條語句的最后答案:ABC31.下對C語言中的函數描述不正確的有()。A:可以嵌套定義,不可以嵌套調用B:不可以嵌套定義,可以嵌套調用C:可以嵌套定義,也可以嵌套調用D:嵌套定義和嵌套調用都不允許答案:ACD32.設有以下定義int a=0;double b=1.25;char c=A;#define d 2則下面語句中正確的是()。A:a+;B:b+;C:c+;D:d+;答案:ABC33.對do-while語句描述正確的是()。A:do-while語句構成的循環(huán)可以使用break語句退出循環(huán)B:do-while語句構成的循環(huán)必須使用break語句退出循環(huán)C:do-while語句構成的循環(huán),當while中的表達式值為非零時結束循環(huán)D:do-while語句構成的循環(huán),當while中的表達式值為零時結束循環(huán)答案:AD34.以下可以定義為用戶標識符的有()。A:scanfB:shortC:_3com_D:int答案:AC35.以下選項中不是C語言合法整數的是()。A:10110B:0386C:0XffaD:x2a2答案:BD36.以下敘述中正確的是()。A:一個C源程序可由一個或多個函數組成B:一個C源程序必須包含一個main()函數C:C源程序的基本組成單位是函數D:在C源程序中,注釋說明只能位于一條語句的最后答案:ABC37.以下正確的if語句形式是()。A:if (xy & x!=y);B:if (x=y) x+=y;C:if (x!=y) scanf(%d,&x) else scanf(%d,&y);D:if (x2!1D:a20答案:AC43.以下用戶標識符,其中合法的是()。A:returnB:f2_G3C:A3-3D:abc答案:BD44.以下選項中不合法的字符常量是()。A:BB:010C:68D:D答案:ACD45.正確的if語句形式是()。A:if (xy & x!=y);B:if (x=y) x+=y;C:if (x!=y) scanf(%d,&x) else scanf(%d,&y);D:if (x0);D:if(b=0) m=1;n=2;答案:ABC51.以下敘述正確的是()。A:預處理命令行都必須以#開始B:在程序中凡是以#開始的語句行都是預處理命令行C:C程序在執(zhí)行過程中對預處理命令行進行處理D:#define ABCD是正確的宏定義答案:ABD52.以下選項中不合法的字符常量是()。A:BB:010C:68D:D答案:ACD53.以下用戶標識符,其中合法的是()。A:returnB:f2_G3C:A3-3D:abc答案:BD54.以下選項中,合法的字符常量是()。A:tB:17C:nD:xaa答案:ABD55.以下選項中合法的表達式是()。A:00);D:if(b=0) m=1;n=2;答案:ABC57.設有以下定義int a=0;double b=1.25;char c=A;#define d 2則下面語句中正確的是()。A:a+;B:b+;C:c+;D:d+;答案:ABC58.若a,b,c,d都是int型變量且初值為0,以下選項中正確的賦值語句是()。A:a=b=c=d=100;B:d+;C:c+b;D:d=(c=22)-(b+);答案:ABD59.以下敘述正確的是()。A:C語言嚴格區(qū)分大小寫英文字母B:C語言用;作為語句分隔符C:C程序書寫格式自由,一行內可以寫幾個語句,一個語句也可以寫在幾行上.D:可以使用/*/對C程序中的任何部分作注釋答案:ABCD60.定義語句:int x,y;若要通過scanf(%d,%d,&x,&y);語句使變量x得到數值11,變量y得到數值12,下面四組輸入形式中,正確的有()。A:11 12B:11,12C:11,12D:11, 12答案:BCD三、判斷題(本大題共 10 小題,每小題 2 分,共 20 分)1.C 語言可以直接訪問物理位元元址。(T)2.C 語言既可以用來寫系統(tǒng)軟件,也可以用來寫應用軟件。(T)3.用戶標識符中可以出現下劃線和中劃線(減號)。(F)4.在 C 中 變量不定義也可以使用。(F)5.若 a=7,b=5; 則執(zhí)行 a&b+ 后,b 為 6。 (T)6.在 C 中能代表邏輯值“假”的是 0。 (T)7.若有 static int a10; 則 a 數組的 10 個元素的值都是 0。 (T)8.全局變量的作用域一定比局部變量的作用域范圍大。(F)9.結構類型變量所占內存長度等于成員的長度;而共享體類型變量所占用的內存長度是各成員的內存長度之和,每個成員分別占用其自己的內存單元。(F)10.有 unsigned int a=16;a=a2;則 a 的值是 4。(T)11

溫馨提示

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

評論

0/150

提交評論