課程代碼:00342 一、單項選擇題(本大題共20小題,每小題1分,共20分) 在每小題列出的四個備選項中只有一個是符合題目要求的,請將其代碼填寫在題后的括號內。錯選、多選或未選均無分。 1. 下列不屬于C語言保留字的是( ) A. char B. while C. typedef D. look 2. 下列關于C語言的敘述錯誤的是( ) A. 英文字母大小寫不加以區(qū)分 B. 不同類型的變量可以出現(xiàn)在同一個表達式中 C. 在賦值表達式中賦值號兩邊的類型可以不同 D. 某些運算符在不同的場合可以有不同的含義 3. 下列轉義字符中錯誤的是( ) A. ′\000′ B. ′\14′ C. ′\x111′ D. ′\2′ 4. 執(zhí)行語句printf(″%x″, -1);后輸出結果是( ) A. -1 B. -ffff C. 1 D. ffff 5. 設float a=2, b=4, c=3;,以下C語言表達式與代數(shù)式 ![]() A. (a+b)*c/2 B. (1/2)*(a+b)*c C. (a+b)*c*1/2 D. c/2*(a+b) 6. 設int a=10, b=20, c=30;條件表達式aA. 5 B. 10 C. 20 D. 30 7. 設int a=9, b=6, c;,執(zhí)行語句c=a/b+0. 8;后c的值是( ) A. 1 B. 1. 8 C. 2 D. 2. 3 8. 執(zhí)行語句for(i=1;i++<4);后i的值是( ) A. 3 B. 4 C. 5 D. 不確定 9. 在位運算中,操作數(shù)左移一位,其結果相當于操作數(shù)( ) A. 乘以2 B. 除以2 C. 乘以4 D. 除以4 10. 使用語句scanf(″a=%f, b=%f″, &a, &b);輸入變量a、b的值(□代表空格),正確的是 ( ) A. 1.25,2.4 B. 1.25□2.4 C. a=1.25, b=2.4 D. a=1.25□b=2.4 11. 下列說法中錯誤的是( ) A. C語言中循環(huán)嵌套的層數(shù)沒有限定 B. C語言中的內部函數(shù)只能在本文件中被調用 C. 用typedef語句定義的數(shù)據(jù)類型名稱必須是大寫字母 D. C語言中的continue語句,可以通過改變程序的結構而省略 12. 設char s[10], *p=s;, 下列語句中錯誤的是( ) A. p=s+5; B. s=P+s; C. s[2]=p[4]; D. *p=s[0]; 13. 設enum week {sun, mon, tue, wed, thu, fri, sat}day;,正確的賦值語句是( ) A. sun=0; B. sun=day; C. mon=sun+1; D. day=sun; 14. 若用數(shù)組名作為函數(shù)調用時的實參,則實際上傳遞給形參的是( ) A. 數(shù)組的第一個元素值 B. 數(shù)組元素的個數(shù) C. 數(shù)組中全部元素的值 D. 數(shù)組首地址 15. 下列錯誤的是( ) A. char s[]=″China″; B. char s[10]={″China″}; C. char s[10]; s=″China″; D. char s[10]={′C′, ′h′, ′i′,;′n′, ′a′}; 16. 在C語言中,有值函數(shù)的數(shù)據(jù)類型是指( ) A. 函數(shù)形式參數(shù)的數(shù)據(jù)類型 B. 函數(shù)返回值的數(shù)據(jù)類型 C. 調用該函數(shù)時的實參的數(shù)據(jù)類型 D. 任意指定的數(shù)據(jù)類型 17. 設 struct { short a; char b; float c; }cs; 則sizeof(cs)的值是( ) A. 4 B. 5 C. 6 D. 7 18. 設 int x[]={1, 2, 3, 4, 5, 6, 7, 8, 9, 0}, *p=x, k; 且0≤k<10, 則對數(shù)組元素x[k]的錯誤引用是( ) A. p+k B. *(x+k) C. x[p-x+k] D. *(&x[k]) 19. 設 #define N 3 #define Y(n) ((N+1)*n) 則表達式2*(N+Y(5+1))的值是( ) A. 42 B. 48 C. 54 D. 出錯 20. 關于主函數(shù)的形式參數(shù),下列說法正確的是( ) A. 可以有兩個 B. 類型可以是實型 C. 不可以由用戶自己定義名字 D. 是在程序編譯時獲得實際值 二、填空題(本大題共10小題,每小題2分,共20分) 21. 可以將被調函數(shù)中獲得的值返回給主調函數(shù)的語句是__________。 22. 設int x=2, y=1;則表達式x+++y的值是__________。 23. 若未指定局部變量的存儲類型,則其隱含的存儲類型是__________。 24. 在執(zhí)行循環(huán)結構或switch結構時,能夠立即退出該結構的語句是__________。 25. 設int a=-3, b=7, c=-1;則執(zhí)行(a==0)&&(a=a%b26. 設int a, b, c;則執(zhí)行a=(b=3, c=5, b=10);后變量a的值是__________。 27. 設int a=100, *pl=&a, **p2=&p1;, 則表達式**p2的值是__________。 28. 靜態(tài)型外部變量的作用域是__________。 29. 設 int a[2][3]={1, 2, 3, 4, 5, 6}; 則數(shù)組元素a[1][0]的值是__________。 30. 函數(shù)調用時,若形參是一個變量,而對應的實參是一個有確定值的表達式,則函數(shù)參數(shù)的傳遞方式是__________傳遞。三、程序分析題(本大題共5小題,每小題5分,共25分) 閱讀下列程序,將輸出結果寫到各題右側的空白處。 31. mian( ) { int i; for(i=1;i<3;i++)f(i); } f(int j) { static int a=100; int k=1; ++k; printf(″%d\n″, j+a+k); a-=2; } 32. #include long fun(int n) { long s; if(n<=2)s=2; else s=n+fun(n-1); printf(″%d\t″, s); return s; } main( ) { fun(5); printf(″\n″); } 33. struct porb { char *name; int age; } s[]={″LiHua″, 18, ″WangXin″, 25, ″LiuGuo″, 21}; #define N (sizeof(s)/sizeof (s[0])) void f (struct porb a[], int n); main( ) { f (s, N); } void f (struct porb a[], int n) { int i; for (i=0;i } 34. void LE(int*a, int b) { int x=*a; printf(″%d\t%d\n″, *a, b); *a=b;b=x; } main( ) { int x=10, y=25; LE(&x, y); printf(″%d\t%d\n″, x, y); } 35. /*設從鍵盤輸入:420<回車> */ #include main( ) { char c; while ((c=getchar( ) )!=′\n′) switch(c-′0′) { case 0: case 1:putchar(c+2); case 2:putchar(c+3);break; case 3:putchar(c+4); default:putchar(c+1);break; } printf(″\n″); } 四、程序填充題(本大題共3小題,每小題6分,共18分) 給出下列程序,將橫線處缺少的部分補上,使其能正確運行。 36. 一個三位整數(shù)(100~999),若各位數(shù)的立方和等于該數(shù)自身,則稱其為“水仙花數(shù)”(如:153=13+53+33), 找出所有的這種數(shù)。 main( ) { int n, a, b, c;/*n、a、b和c分別為三位數(shù)自身及其個位、十位和百位 */ for(c=1;c<=9;c++) for (b=0; b<=9;b++) for(______;a++) /*第一空*/ { n=_________; /*第二空*/ if(a*a*a+b*b*b+c*c*c==_________) /*第三空*/ printf(″%d\n″, n); } } 37. 輸入一個數(shù)字(范圍在0~9之間,若不在此范圍內顯示輸入錯),輸出對應的英文單詞(Zero, One, Two, ……,Nine)。 main( ) { int i; char *digit[10]={″Zero″, ″One″, ″Two″, ″Three″, ″Four″, ″Five″, ″Six″, ″Seven″, ″Eight″, ″Nine″}; scanf(″%d″, _________); /*第一空 */ printf(″%d→″, i); if(____________) /*第二空 */ printf(″%s\n″, digit[_________]); /*第三空 */ else printf(″Input error! \n″); } 38. 將一個文本文件(ma. dat)拷貝到另一個文本文件(niu. dat)中。 #include main( ) { FILE *ma, *niu; ma=fopen(″ma. dat″, ______); /*第一空 */ miu=fopen(″niu. dat″, ″w″); while(! feof(ma)) fputc(fgetc(ma), ________); /*第二空 */ fclose(niu);__________; /*第三空 */ } ![]() |
熱門資料下載: |
< |
自考最新熱貼: |
【責任編輯:育路編輯 糾錯】 |
|
|
【育路網(wǎng)版權與免責聲明】 | |
① 凡本網(wǎng)注明稿件來源為"原創(chuàng)"的所有文字、圖片和音視頻稿件,版權均屬本網(wǎng)所有。任何媒體、網(wǎng)站或個人轉載、鏈接、轉貼或以其他方式復制發(fā)表時必須注明"稿件來源:育路網(wǎng)",違者本網(wǎng)將依法追究責任; | |
② 本網(wǎng)部分稿件來源于網(wǎng)絡,任何單位或個人認為育路網(wǎng)發(fā)布的內容可能涉嫌侵犯其合法權益,應該及時向育路網(wǎng)書面反饋,并提供身份證明、權屬證明及詳細侵權情況證明,育路網(wǎng)在收到上述法律文件后,將會盡快移除被控侵權內容。 |
熱點專題 |