




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、一、單項選擇題:(10分,每題2分)1char *p10;該語句聲明了一個: 。A) 指向含有10個元素的一維字符型數組的指針變量pB) 指向長度不超過10的字符串的指針變量pC) 有10個元素的指針數組p,每個元素可以指向一個字符串D) 有10個元素的指針數組p,每個元素存放一個字符串2若int x;且有下面的程序片斷,則輸出結果為: 。for (x=3; x<6; x+) printf(x%2) ? "#%d" : "*%dn", x);A) #3 B) *3 C) *3 D) #3*4*4 #4 #4*5 #5#5 *5 3在while(!x
2、)語句中的!x與下面條件表達式等價的是: 。A) x!=0 B) x=1 C) x!=1 D) x=04已知struct pointint x;int y;struct rectstruct point pt1;struct point pt2;struct rect rt;struct rect *rp = &rt;則下面哪一種引用是不正確的_。A)rt.pt1.x B)(*rp).pt1.x C)rp->pt1.x D)rt->pt1.x5若二維數組a有m行n列,則下面能夠正確引用元素aij的為: 。A) *(a+j*n+i) B) *(a+i*n+j) C) *(*(
3、a+i)+j) D) *(*a+i)+jCDDDC二、分析程序并寫出運行結果。(25分,每題5分)1#include <stdio.h>main()int n;static char *monthName="Illegal month", "January", "February","March", "April", "May", "June", "July", "August", "Septe
4、mber", "October", "November", "December"for (n=1; n<=12; n+)printf("%sn", monthNamen); 運行結果是:JanuaryFebruaryMarchAprilMayJuneJulyAugustSeptemberOctoberNovemberDecember2#include<stdio.h>#define ARR_SIZE 7void YH(int aARR_SIZE, int n);void PrintYH(
5、int aARR_SIZE, int n);main()int aARR_SIZEARR_SIZE; YH(a, ARR_SIZE-1);PrintYH(a, ARR_SIZE-1);void YH(int aARR_SIZE, int n)int i, j;for (i=1; i<=n; i+) for (j=1; j<=i; j+) if (j=1 | i=j)aij = 1; else aij = ai-1j-1 + ai-1j; void PrintYH(int aARR_SIZE, int n)int i , j ; for (i=1; i<=n; i+)for (
6、j=1; j<=i; j+) printf("%4d", aij); printf("n"); 運行結果是:11 11 2 11 3 3 11 4 6 4 11 5 10 10 5 13#include <stdio.h>main()int i, n;for (i=1; i<=5; i+)printf("Please enter n:");scanf("%d", &n);if (n <= 0) continue;printf("n = %dn", n);pr
7、intf("Program is over!n");程序運行時輸入:1 -2 3 -4 5運行結果是:n = 1Please enter n: Please enter n:n = 3Please enter n: Please enter n:n = 5Program is over!4#include <stdio.h>void Func(int n);main()int i;for (i = 0; i < 2; i+)Func(i);void Func(int n)static int t = 1;printf("t=%dn",
8、t+); 運行結果是:t=1t=25#include <stdio.h>int Func(int i);main()int i;for (i=3; i<5; i+)printf(" %d", Func(i);printf("n");int Func(int i)static int k = 10;for (; i>0; i-)k+;return (k);運行結果是: 13 17三、閱讀并完成程序,在標有下劃線的空白處填入適當的表達式或語句,使程序完整并符合題目要求。(20分,每空2分)1. 下面程序用于讀入10個字符串,然后找出最
9、大的字符串并打印。#include <stdio.h>#include <string.h>main() char str1080,maxstring80; int i;printf("Enter ten strings:n");for (i=0; i<10; i+) scanf("%s", stri );strcpy(maxstring, str0); for (i=1; i<10; i+) if (strcmp(maxstring, stri)<0)或strcmp(stri, maxstring)>0s
10、trcpy(maxstring, stri);printf("The max string is:%sn",maxstring);2. 下面這個程序用于交換兩個數組的對應元素的值。#include <stdio.h>#define ARRAY_SIZE 10void Swap(int *x, int *y);void Exchange(int a, int b, int n);void InputArray(int a,int n);void PrintArray(int a,int n);main()int aARRAY_SIZE, bARRAY_SIZE,
11、n;printf("Input array lenth n<=10: ");scanf("%d", &n);printf("Input array a:n");InputArray(a, n);printf("Input array b:n");InputArray(b, n); Exchange(a,b,n); printf("After swap:n");printf("Array a:n");PrintArray(a, n);printf("Ar
12、ray b:n");PrintArray(b, n);void Swap(int *x, int *y) int temp; temp=*x ; *x=*y ; *y=temp ;void Exchange(int a, int b, int n) int i;for (i = 0; i < n; i+)Swap( &ai,&bi ); void InputArray(int a, int n)int i;for (i = 0; i < n; i+) scanf("%d ", &ai) ;void PrintArray(int
13、a, int n)int i;for (i = 0;i < n;i+)printf("%d ", ai);printf("n");3. 從鍵盤任意輸入一個年號,判斷它是否是閏年。若是閏年,輸出"Yes",否則輸出"No"。已知符合下列條件之一者是閏年:能被4整除,但不能被100整除。能被400整除。#include <stdio.h>main() int year, flag;printf("Enter year:");scanf("%d",&yea
14、r );if ( year%4=0&&year%100!=0|year%400=0 ) flag = 1; else flag = 0; if ( flag ) printf("Yes!n"); else printf("No!n"); 四、在下面給出的4個程序中,共有15處錯誤(包括語法錯誤和邏輯錯誤),請找出其中的錯誤,并改正之。(在錯誤的代碼下邊畫一根橫線,把正確的代碼寫在旁邊;漏掉的代碼正確插入合適的位置。30分,每找對1個錯誤,加1分,每修改正確1個錯誤,再加1分。)1編程計算矩陣相乘之積。 #include<stdio.
15、h>#define ROW 2#define COL 3/ void MultiplyMatrix(int aROWCOL,int bCOLROW, int cROWROW) ;main()int aROWCOL, bCOLROW, cROWROW, i, j; printf("Input array a:n");for (i=0; i<ROW; i+)for (j=0; j<COL; j+)scanf("d", &aij); / %dprintf("Input array b:n");for (i=0; i
16、<COL; i+)for (j=0; j<ROW; j+) scanf("d", &bij);MultiplyMatrix(a, b, c);printf("Results:n");for (i=0; i<ROW; i+)for (j=0; j<ROW; j+) printf("%6d", &cij);/ cijprintf("n");void MultiplyMatrix(int aROWCOL,int bCOLROW, int cROWROW) int i, j, k;f
17、or (i=0; i<ROW; i+)for (j=0; j<ROW; j+)for (k=0; k<COL; k+)/ cij = 0;cij = cij + aik * bjk;/ bkj 2編程輸入10個數,找出其中的最大值及其所在的數組下標位置。 #include <stdio.h>int FindMax(int num, int n, int *pMaxPos);main()int num10, maxValue, maxPos, minValue, minPos, i/;printf("Input 10 numbers:n ");f
18、or (i=0; i<10; i+)scanf("%d", numi); /& numi maxValue = FindMax(num, 10, *maxPos); / &maxPosprintf("Max=%d, Position=%dn",maxValue, maxPos);int FindMax(int num, int n, int *pMaxPos) int i, max;max = num0;for (i = 1, i < n, i+)/ i = 1; i < n;if (numi > max)max
19、= numi;*pMaxPos = i;return max;3韓信點兵。韓信有一隊兵,他想知道有多少人,便讓士兵排隊報數:按從1至5報數,最末一個士兵報的數為1;按從1至6報數,最末一個士兵報的數為5;按從1至7報數,最末一個士兵報的數為4;最后再按從1至11報數,最末一個士兵報的數為10。你知道韓信至少有多少兵嗎?#include <stdio.h>main()int x;/x=0while (1)if (x%5=1 && x%6=5 && x%7=4 && x%11=10)/ x%5=1 && x%6=5 &am
20、p;& x%7=4 && x%11=10break;x+/x+;printf(" x = %dn", x);4下面函數Squeez()的功能是刪除字符串s中所出現的與變量c相同的字符。void Squeeze(char s, char c);/ void Squeeze(char s, char c)int i,j;/j=0;for (i=0; si!='0' i+) if (si != 'c') /c sj = si; j+; si='0'/ sj='0'或/ sj='0
21、9;五、編程(15分)從鍵盤任意輸入某班10個學生的成績,調用save函數把數據存入到以你的學號命名的磁盤文件中,然后打開該文件讀出數據,對成績進行由高到低的排序,并打印成績不及格的學生人數。最后再次調用save函數把數據存入到原磁盤文件中。要求按照如下給出的函數原型進行編程:void save(float score,int n);void Sort(float score,int n); int Fail(float score,int n);要求用一維數組做函數參數編程實現成績排序和統計成績不及格的學生人數,然后在主函數中打印這些結果,不能使用全局變量編程。參考程序如下:void load(float score,int n) /3分 FILE *fp; int i; if(fp=fopen(02406101","rb")=NULL) printf("cannot open infilen"); return; for(i=0;i<n;i+) if(fread(&scorei,sizeof(float),1,fp)!=1) if(feof(fp) fclose(fp); return; printf("file read errorn"); fclose (fp); void save(f
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 多相交流電動機企業ESG實踐與創新戰略研究報告
- 農用自卸車企業ESG實踐與創新戰略研究報告
- 聲級計和噪聲測量儀企業縣域市場拓展與下沉戰略研究報告
- 盥洗設施企業ESG實踐與創新戰略研究報告
- 磷酸鹽燃料電池企業縣域市場拓展與下沉戰略研究報告
- 2025年亞硝酸鹽中毒解毒藥合作協議書
- 金剛石觸媒材料競爭策略分析報告
- 2024年中國石化寧夏能化公司招聘考試真題
- 棗莊市精神衛生中心招聘備案制工作人員筆試真題2024
- 2024年南平市委黨校專業教師招聘考試真題
- 品牌管理塑造、傳播與維護案例教學課件 品牌定位:元氣森林
- 福建省泉州市2023年第29屆WMO競賽六年級數學下學期競賽試卷
- 各國貨幣知識
- 上海楊浦區社區工作者考試真題2024
- 2024桂林臨桂區中小學教師招聘考試試題及答案
- 2025年入團相關考試題型及答案
- T-CAS 947-2024 類器官在化學品毒性測試中的應用規范
- 2023-2024學年北京市西城區德勝中學七年級(下)期中數學試卷
- 清理泥石流堆積體施工方案
- 皮膚病靶向治療專家共識(2025版)解讀課件
- DB37-T 3274.3-2023 日光溫室建造技術規范 第3部分:山東VI型
評論
0/150
提交評論