c語言期末測試題(附答案)_第1頁
c語言期末測試題(附答案)_第2頁
c語言期末測試題(附答案)_第3頁
c語言期末測試題(附答案)_第4頁
c語言期末測試題(附答案)_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、課程代碼:A100002座位號:5、已知:int a23;則對數組元素的非法引用是計算機技術基礎(C語言)試卷A姓名:學號:專業(yè): 學院:班級:20年 月曰題號一一 0 _ 四五八七總分得分得分評卷人第一部分一、單項選擇對一題得2選擇題(共30分)題(本大題共15小題,每題只有一個正確答案,答分,共30分)1、以下關于C語言標識符的描述中,正確的是【】。A)標識符可以由漢字組成B )標識符只能以字母開頭C)關鍵字可以作為用戶標識符D ) Area與area是不同的標識符2、使下列程序段輸出“ 123, 456, 78”,鍵盤輸入數據,正確的輸入是【】int ij,k;scanf( "

2、d,%3d%'d, &i,&j,&k);printf( "d,%d,%dn” ,i,j,k);A) 12345678 B ) 123,456,78 C ) 123,45678 D ) 123,*456783、判斷char類型的變量c1是否為數字字符的正確表達式為【】。A) (c1>=0)&&(c1<=9) B) (c1>= ' O' )&&(c1<=' 9')C) ' O1 <=c1<= 9(D) (c1>=' O1 )|(c1&l

3、t;= 1 91)4、若有語句int a=1 ,b=2,c=3測以下值為0的表達式是【】。課程代碼:A100002座位號:5、已知:int a23;則對數組元素的非法引用是【1A)' a* && b'B ) a<=b C ) (a>b)|(b<c)D)(!(a+b)=c&&a)A. *(a0+2) B. a13 C . a10 D. *(*(a+1)+2)6、在循環(huán)語句的循環(huán)體中執(zhí)行break語句,其作用是【】。A)跳出該循環(huán)體,提前結束循環(huán)B)繼續(xù)執(zhí)行break語句之后的循環(huán)體各語句C)結束本次循環(huán),進行下次循環(huán)D)終止程序運

4、行7、執(zhí)行語句for(i=10;i>0;i-);后,變量i的值為 。A) 10 B ) 9C ) 0 D ) 18、若有int *p1, *p2,k;不正確的語句是A. p1=&k B. p2=p1C. *p1=k+12 D. k=p1+p29、在函數中未指定存儲類別的局部變量,其隱含的存儲類別是A.靜態(tài)(static )B.外部(extern )C.自動(auto)D .寄存器(register)10、如下程序的輸出結果是main()int x=2,a=0,b=0;switch(x) case 2: a+; b+;case 1: +a; b-; break;case 0: b+

5、; printf("a=%d, b=%dnn, a, b);A. a=2, b=0 B. a=2, b=1 C. a=1, b=1 D. a=1, b=011、表示關系a<b<=c的C語言表達式為B. (a<b)AND(b<=c)D. (a<b)&(b<=c)"dn” ,x);A. (a<b)&&(b<=c)C. (a<b<=c)12、有以下程序#include <stdio.h> main()int x;scanf( "d” ,&x);if(x<=3);

6、 elseif(x !=10)printf(程序運行時,輸入的值在哪個范圍才會有輸出結果。計算機技術基礎試題第3頁(共10頁)A.不等于10的整數B. 大于3且不等于10的整數C.大于3或不等于10的整數D.小于3的整數13、break語句的正確用法是【】A.無論在任何情況下,都中斷程序的執(zhí)行,退出到系統(tǒng)下一層。B.在多重循環(huán)中,只能退出最靠近的那一層循環(huán)語句。C.跳出多重循環(huán)。D.只能修改控制變量。14、若a, b, c, d均為整型變量,執(zhí)行以下程序段后的t的值為【#define MAX(A,B) (A)v(B)?(A):(B) a=5; b=3; c=3; d=4; t=MAX(a+b,

7、c+d) *10;A. 70 B. 7 C. 8D. 8015、執(zhí)行以下程序段后,m的值為int a6=1,2,3,4,5,6, m, *p;P=&a0;m=(*p)*(*(p+2)*(*(p+4);A) 15 B) 14C) 13 D) 12第二部分非選擇題(共70分)得分評卷人二、判斷題法 正確.答F(本大題共10小題,每題1分,共10分,答T表示說表示 說法不正確,本題只需指出正確與錯誤,不需要修16 .字符型數據不可以進行加減運算。17 .函數定義與函數的聲明是一回事。18.在C語言中函數能嵌套調用,也能嵌套定義。19. 在C語言中switch語句必須使用break語句?!尽?

8、0. for循環(huán)中的三個表達式都可以省略?!尽?1. do-while循環(huán)是先進行循環(huán)體語句,后判斷表達式。22. 只能在main()函數中定義靜態(tài)變量。23. char *s1 ul love china M ;定義了一個指針變量s1,它的初值為字符串"I love china的首地址。【】24. int *p4;與int (*p)4:的作用相同,都是定義了一個指向數組的指針?!尽?5. 預處理命令行最后也是以分號(;)結尾的?!尽康梅?評卷人、填空題(本大題共6小題,每題3分,共18分。)26、在C語言中*作為單目運算符時表示 作為雙目運算符時表示而作為一種標記時表示。27、表達

9、式(a=3*5,a*4),a+5中a的值是整個表達裝的值是28、設有如下的類型說明:int a10=123,4,5,6,7,8,9,10,*p=a;若數組所占內存單元的起始地址為446且整型數據占2個字節(jié),則p+5=,*(p+5)=。29、若定義了如下的共用體類型變量x和結構類型變量y,則x和y所占用的內存字 節(jié)數分別為 和。union stu1int num;char n ame5;char s; x;struct stu2int num;char name5; char30、在TC中CTRL+F9勺功能是、和31、有以下程序#i nclude <stdio.h>mai n()c

10、har c1 ,c2;scanf( " %c , &c1);while(c1<65|c1>96) scanf( "c , &c1);c2=c1+32;printf( "c,%c ,c1 ,c2);程序運行輸入65回車后,能否輸出結果。(請回答能或不能)。得分 評卷人四、簡答題(本大題共2小題,每題3分,共6分。)32、C語言中變量的存儲類別有幾種?局部變量的缺省存儲類別是 哪種。33、請解釋以下與一個C程序有關的3種文件(需要說明這些文件是什么文件、如何形成的): file.c (2) file.obj (3) file.exe五、閱讀

11、程得分 評卷人序回答問題(本大題共4小題,每題5分,共20分)計算機技術基礎試題第4頁(共10頁)34、#in elude <stdio.h>void mai n() int a=10,b=18;fun 1(a,b); int fun 1(i nt x,i nt y) if(x>y) prin tf(,a>bnn);else if(x<y) pri ntf(,'a<bnH); else prin tf(na=bnn);問題:(1 )寫出程序的運行結果;(2)分別列出形參和實參;(3)解釋#include<stdio.h>。35、int f

12、un(int a) int b=0; static int c=3;b=b+1;c=c+1;return(a+b+c);main()int a=2, i;for(i=0; i<3; i+)語句改寫printf( "d”,fun(a);問題:(1)寫出該程序的運行結果;(2)如果將static int c=3;成 int c=3;,則運行結果如何變化?為什么?36、main()int a23=1,2,3,4,5,6, b32, i, j; printf( "array a: n");for(i=0;i<=1 ;i+) for(j=0;jv=2;j+)pr

13、intf( "%5d”皿i=aij;/第七行*/ printf( " n" ); printf( "array b: n" ); for(i=0;i<=2;i+) for(j=0;j<=1 ;j+)printf( (%5d" , bij); printf( “ n );問題:(1)寫出程序的運行結果;(2)如果將第七行中的bji=aij;biD=aij;,則結果如何變化。語句改寫成37、#include<stdio.h>void fun(int *p1, int *p2)int t;t=*p1; *p1=*p2

14、; *p2=t; void main()int x5y;int *p1 ,*p2;sea nf("%d %cT,&x,& y);P 仁&x;p2=&y;if(x>y) fun (p1,p2);prin tf("x=%d5y=%d,', x, y);得分評卷人六、編寫程38、輸入兩 個問題:(1)該程序的功能是什么;(2)程序中的和&分別代表什么運算符?(3)若輸入5 3,則運 行結果如何?序(本大題共1小題,共1。分。正整數m和n,求其最大公約數和最小公倍數再(先畫編寫程序代碼)計算機技術基礎試題第8頁(共10頁)得分七

15、、程序填空(本大題共1小題,共6分。7 39、invert ()函數的功能是將一個字符串str的內容倒序存放。例如:字 符串str原內容為:abode,函數調用后變?yōu)椋篹dcba。 void inv ert (char str) int ij,k; .J=for (i=0;i<strle n(str)/2;i+,j-)k=stri;stri=strO;strj= mai n() char test="abcde"inv ert(test);prin tf("%sn",test);課程代碼:A100002座位號:計算機技術基礎(C語言)試卷A標準答案

16、學院:班級:20年 月曰第一部分選擇題(共30分)-、單項選擇題(本大題共15小題,每題只有一個正確答案,答對一題得2分,共30分)1、D 2 、C 3 、B4、 D5、B6、A 7 、C 8 、D9、C1O、A11、A 12 、B 13、B 14、A 15、A第二部分 非選擇題(共70分)二、判斷題(本大題共10小題,每題1分,共10分,答T表示說法正確.答F表示說法不正 確,本題只需指出正確與錯誤,不需要修改)16、F17、F18、F19、F20、T21、T22、F23、T24、F25、F三、填空題(本大題共6小題,每題3分,共18分。)26、指向(1份),乘(1分);定義的變量是指針變量

17、(1分)27、15 ( 2 分),20 ( 1 分)28、456 ( 2 分),6 ( 1 分)29、5 ( 2 分)、8 ( 1 分)30、編譯(1分)、連接(1分)、運行(1分)31、不能(3分)四、簡答題(本大題共2小題,每題3分,共6分。)32 ( 3分)、32、C語言中變量的存儲類別有幾種?局部變量的缺省存儲類別是哪種。變量的存儲類別分為兩大類:靜態(tài)存儲類和動態(tài)存儲類。具體包含四種:自動的(auto)、靜態(tài)的(static)、寄存器的(register)、外部的(extern)。局部變量 的缺省存儲類別是auto變量。33 ( 3分)、請簡單說明C程序的執(zhí)行過程。答:(1) file

18、.c是源文件,通過編輯得到;file.。切是目標文件,即計算機能夠處理的由 二進制指令組成的文件,通過對源文件進行編譯得到;(3) file.exe是可執(zhí)行文件,通過將目標文件與其他目標文件或庫函數連接得到。五、閱讀程序回答問題(本大題共4小題,每題5分,共20分)34、 ( 1 ) ( 2分)程序的運行結果:a<b(2) ( 1分)形參:x,y ;實參:a,b(3) ( 2分)#include<stdio.h>是文件包含預處理命令,是將標準輸入輸出頭文件stdio.h包含到該程序中。35、 ( 1) ( 2分)運行結果789( 2) ( 3分)運行結果變成7 7 7因為在原來的程序中用static定義的變量c是局部靜態(tài)變計算機技術基礎試題第

溫馨提示

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

評論

0/150

提交評論