2023年第2次C語言等級考試_第1頁
2023年第2次C語言等級考試_第2頁
2023年第2次C語言等級考試_第3頁
2023年第2次C語言等級考試_第4頁
2023年第2次C語言等級考試_第5頁
已閱讀5頁,還剩4頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、200702二級C語言筆試試題A 第9頁,共9頁全國高等學校非計算機專業計算機等級考試二級C語言筆試試題A卷考試時間:200 上午9:0011:00考生必讀: 1. 考生應嚴格遵守考場規那么。考生拿到試卷后應首先將自己的所在學校名稱、考場地點、性命、準考證號填涂在答題紙和答題卡規定的位置上。2. 考生得到監考人員指令前方可作答。3. 考生在答題前務必認真閱讀題目要求,按要求作答??陀^題的答案選擇題和判斷題必須用2B鉛筆填涂在答題卡的相應位置上;主觀題的答案必須用藍、黑色鋼筆或圓珠筆填寫在答題紙的相應位置上;且必須注明試卷類型A卷或B卷。否那么答案無效。4. 注意字跡清楚,保持卷面整潔。5.考試

2、時間為120分鐘。考試結束時,把試題冊、答題卡、答題紙放在桌上,不得帶走。等監考人員收齊點清后,考生才可離開考場。本試卷版權所有,任何單位或個人不得復制、出版和存留,違者必究重慶市教育委員會 2007年11月二級C語言筆試試卷(A)共100分本卷須知:1.一題為客觀題,請將答案涂在機讀答題卡上 2.請將二、三、四、五題的答案做在答題紙上一.單項選擇題。每題1分,共20分1. 一個C程序的執行是從 。 A本程序的main函數開始 B本程序文件的第一個函數開始,到本程序文件的最后一個函數結束C本程序的main函數開始,到本程序文件的最后一個函數結束 D本程序文件的第一個函數開始,到本程序main函

3、數結束2. 設有C語句:int x=3, y=4,z=5;,那么下面表達式中值為0的是 。Ax&y (B)x=y(C) x|y+z&y-z (D)!(xy )& !z|1)3. 以下有關宏替換的表達不正確的是 。A宏替換不占用運行時間 B宏名無類型C宏替換只是字符串替換; D宏替換是在運行時進行的4. 在標準庫函數的調用形式“fread(buffer,size,count,fp);中,參數buffer代表的是 。 A一個整型變量,代表要讀入的數據總數 B一個文件指針,指向要讀的文件C一個指針,指向讀入數據存放的首地址 D一個存儲區,存放要讀的數據項5. 位運算中,操作數每左移一位,在沒有溢出的

4、情況下其結果相當于 。A操作數乘以2 (B) 操作數除以2(C) 操作數除以4 (D) 操作數乘以4 6. 下面程序運行后,變量m的值為 。 #include void main() int m, n, k;m=(n=4)+(k=10-7); printf(m=%dn,m);A4 (B) 3 (C) 7 (D)147. 下面程序運行結果或出現的情況是 。 #include void main() int x=3,y=0,z=0;if (x=y+z)printf(*); elseprintf(#n);A有語法錯誤不能通過編譯 B輸出:* C可以通過編譯,但不能通過連接,因而不能運行 D輸出:#

5、8. 已有定義int k=2; int *ptrl, *ptr2,且ptr1和ptr2 均已指向變量k,下面不能正確執行的賦值語句是 。 Ak =*ptr1+*ptr2; (B) ptr2 = k;(C) ptr1=ptr2; (D) k = *ptr1*(*ptr2); 9. 假設有已經建好的鏈表結構如下,指針平p、q分別指向圖示節點b節點為插入c節點前的鏈表末尾; a b c p q不能實現將q所指節點插入到鏈表末尾的一組語句是 。Aqnext = NULL; p=pnext; pnext=q; Bp=pnext;qnext=pnext; pnext=q;Cp= pnext;qnext=p

6、; pnext=q; Dp= (*p).next; (*q).next = (*p).next; (*p).next = q;10. 有定義int a=3,b=4,c=5;執行完表達式a+-b&b+c-&+c后,a,b,c的值分別為 A3 4 5 (B) 4 3 5 (C) 4 4 4 (D) 4 4 511. 以下程序的執行結果是 。#includeunion ss short int i;char c2; ;void main () union ss x ; x.c0=10; x.c1=1; printf(%d,x.i);A11 (B) 266 (C) 265 (D) 138 12. 假設

7、有C語言int i = 10;,那么執行下面程序段后變量i 的值是 。switch (i) case 9: i+=1;case10: case 11: i-=1; default: i+=1; A10 (B) 11 (C) 12 (D) 9 13. 在以下選項中,不正確的賦值語句是 。At/=5; (B) n1=(n2=(n3=0); (C) k=i= = j; (D) a=b+c=1;14. 下面C程序運行后變量x的值是 。 #include void main() int a,b,c,x;a=b=c=0; x=35; if(!a) x-; else if(b) ;if (c) x=3; e

8、lse x=4; printf (%dn,x);A34 (B) 4 (C) 35 (D) 3 15. 設有以下宏定義:#define N 3#define Y(n) (N+1*n)那么執行語句: z=2 *(N*Y(5+1); 后,z的值為 。A30 (B) 72 (C) 48 (D) 5416. 在以下的四個運算符中,優先級最低的運算符是 。A= (B) / (C) != (D) &17. E的ASCII碼是69,那么執行下面語句的結果是。printf(%c,D-A66 (B) A (C) B (D) E 18. 設有以下語句:int a=3, b=6,c; c=ab2; 執行后c的低8位二

9、進制值是 。A00011011 B00010100 (C) 00011100(D)0001100019. 在C語言中,以下表達錯誤的是 。A函數被調用時,系統才為形參分配內存 B實參和對應形參的數據類型必須一致 C實參可以是變量、常量或表達式 D形參可以是變量、常量或表達式20. 字符串常量ab cnt012xa1*2在內存中所占的存儲空間節數是 。A11 B13 (C) 15 (D) 18 二根本概念選擇填空題本大題后面有假設干備選項,請選擇適宜的備選項,并講其號碼填入各小題的空白處。每空2分,共10分1. 函數首部int main(int argc, char *argv )中argc表示

10、的是 E2. C語言能處理的文件類型可以是文本文件和 M 。3. 下面語句定義了共用體(聯合體)變量a,那么a占用 G 個字節。union data short int i ;char c ; double d;a;4. 為了防止嵌套的if-else 語句的二義性,C語言規定else 總是與 H 組成配對關系。5. 宏定義中的宏名不能包含 L備選項:A空格B二進制文件C數字D在其之前未配對的ifE參數字符串F命令行參數的個數G11H在其之前最近的未配對的if(J)8K在定義該函數時所指定的數據類型L下劃線M程序文件三. 程序填空題每空2分,共20分1. 下面程序的功能是:從鍵盤上輸入假設干個學

11、生的成績用負數結束輸入過程,統計計算出平均成績;請填空完成程序。 #include void main() float sum=0.0,ave,a;int n=0; printf(nter markn); scanf(%,); while(a=0.0) sum=sum+a;n+ ;scanf(%,); ave=sum/n; printf(ave=%fn,ave); 2. 下面程序的功能是將一個字符串str的內容顛倒并輸出,請填空完成程序。 #include void main() char str=abcdefg;char *p1,*p2,ch; p1=str; p2=str; while(*

12、p2!=0) p2+ ;while(p1p2) ch=*p1,*p1=*p2,*p2=ch; ;p2-; puts(str); 3. 下面程序從終端輸入一行字符串存入字符數組,然后輸出;請填空完成程序。 #include void main() char str80,*sp;int n; for(n=0;n80;n+) strn=gets if(strn=n) break; strn=0; sp=str; while(*sp) putchar( str【80】 ); 4. 下面函數fun的功能是比較兩個字符串的大小,假設兩字符串相同那么返回0值,否那么返回兩個字符串中第一個不相同字符之差;請填

13、空完成函數。#include int fun(char*s,char*t) while(*t+=*s+&*t!=0&*s!=0) ; return(strcmpstr1,str2);void main() char str180,str280; gets(str1); gets(str2); printf(dn,fun(str1,str2);5. 下面程序的功能是統計字符串中大小寫字母的個數,請填空完成程序。 #include #define IA(x) void main() char str80,*s,ch; int count=0; gets(str); s=str; while(*s)

14、 ch=*s+; if(IA(ch) count+; printf(the sum is %dn,count);6. 下面函數在一維數組v中將x插入到下標為ii=0的元素前,如果i大于等于元素的個數,那么x添加到v數組原數據的末尾。V數組原有元素個數保存在指針n所指向的變量中,插入后元素個數加1;請填空完成程序。 #include void insline(double,int*n,double x,int ,i) int j; if() for(j=*n-1; ;j-) =vj; else i=*n; vi=x; (*n)+; void main() double s10=11,23,65,

15、78,x; int m=4,*p=&m,k; x=99; scanf(%d,&k); insline(s,p,x,k); for(k=0;km;k+)printf(%f,sk); putchar(n); 四閱讀程序題每題5分,共30分1. 寫出下面程序的運行結果。 #include int f(int num,int run) strtic int fact,i; if(run=0) fact=1; i=1; fact *=i; if(+i=num) f(num,1); return(fact); void main() int i=0; printf(f=%dn,f(3,0);2. 寫出下面

16、程序的運行結果。#include void main() int a,b; for(a=1,b=1;a=20) break; if(b%3=1) b+=3; continue; b-=5; printf(%d,%dn,a,b); 3. 寫出下面程序的運行結果。#include void main() char ch25=1234,5678,*p2; int j,k,s=0; for(k=0;k2;k+) pk=chk; for(k=0;k0&pkj=9;j+=2) s=10*s+pkj-0; printf(s=%dn,s);4. 寫出下面程序在輸入數據為:a4BZ!(表示按Enter鍵)時的運

17、行結果。#include void main() char ps80,*str; char c; gets(ps); str=ps; while(c=*str)!=0) if(c= a& c=A& cZ&cz) c=c-26; *str=c; str+; printf(%sn,ps); 5. 寫出下面程序的運行結果。#include void main() long fun(int n); printf(%ldn,fun(4);long fun(int n) long s; if(n=1n=2) s=2; else s=n+fun(n-1); return s;6. 寫出下面程序的運行結果。 #include void main() void fun(int *x,

溫馨提示

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

評論

0/150

提交評論