版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、一、單項(xiàng)選擇題:(10分,每題2分)1char *p10;該語句聲明了一個(gè): 。A) 指向含有10個(gè)元素的一維字符型數(shù)組的指針變量pB) 指向長度不超過10的字符串的指針變量pC) 有10個(gè)元素的指針數(shù)組p,每個(gè)元素可以指向一個(gè)字符串D) 有10個(gè)元素的指針數(shù)組p,每個(gè)元素存放一個(gè)字符串2若int x;且有下面的程序片斷,則輸出結(jié)果為: 。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與下面條件表達(dá)式等價(jià)的是: 。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若二維數(shù)組a有m行n列,則下面能夠正確引用元素aij的為: 。A) *(a+j*n+i) B) *(a+i*n+j) C) *(*(
3、a+i)+j) D) *(*a+i)+jCDDDC二、分析程序并寫出運(yùn)行結(jié)果。(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); 運(yùn)行結(jié)果是: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"); 運(yùn)行結(jié)果是: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");程序運(yùn)行時(shí)輸入:1 -2 3 -4 5運(yùn)行結(jié)果是: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+); 運(yùn)行結(jié)果是: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);運(yùn)行結(jié)果是: 13 17三、閱讀并完成程序,在標(biāo)有下劃線的空白處填入適當(dāng)?shù)谋磉_(dá)式或語句,使程序完整并符合題目要求。(20分,每空2分)1. 下面程序用于讀入10個(gè)字符串,然后找出最
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. 下面這個(gè)程序用于交換兩個(gè)數(shù)組的對應(yīng)元素的值。#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. 從鍵盤任意輸入一個(gè)年號(hào),判斷它是否是閏年。若是閏年,輸出"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個(gè)程序中,共有15處錯(cuò)誤(包括語法錯(cuò)誤和邏輯錯(cuò)誤),請找出其中的錯(cuò)誤,并改正之。(在錯(cuò)誤的代碼下邊畫一根橫線,把正確的代碼寫在旁邊;漏掉的代碼正確插入合適的位置。30分,每找對1個(gè)錯(cuò)誤,加1分,每修改正確1個(gè)錯(cuò)誤,再加1分。)1編程計(jì)算矩陣相乘之積。 #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個(gè)數(shù),找出其中的最大值及其所在的數(shù)組下標(biāo)位置。 #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韓信點(diǎn)兵。韓信有一隊(duì)兵,他想知道有多少人,便讓士兵排隊(duì)報(bào)數(shù):按從1至5報(bào)數(shù),最末一個(gè)士兵報(bào)的數(shù)為1;按從1至6報(bào)數(shù),最末一個(gè)士兵報(bào)的數(shù)為5;按從1至7報(bào)數(shù),最末一個(gè)士兵報(bào)的數(shù)為4;最后再按從1至11報(bào)數(shù),最末一個(gè)士兵報(bào)的數(shù)為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下面函數(shù)Squeez()的功能是刪除字符串s中所出現(xiàn)的與變量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個(gè)學(xué)生的成績,調(diào)用save函數(shù)把數(shù)據(jù)存入到以你的學(xué)號(hào)命名的磁盤文件中,然后打開該文件讀出數(shù)據(jù),對成績進(jìn)行由高到低的排序,并打印成績不及格的學(xué)生人數(shù)。最后再次調(diào)用save函數(shù)把數(shù)據(jù)存入到原磁盤文件中。要求按照如下給出的函數(shù)原型進(jìn)行編程:void save(float score,int n);void Sort(float score,int n); int Fail(float score,int n);要求用一維數(shù)組做函數(shù)參數(shù)編程實(shí)現(xiàn)成績排序和統(tǒng)計(jì)成績不及格的學(xué)生人數(shù),然后在主函數(shù)中打印這些結(jié)果,不能使用全局變量編程。參考程序如下: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. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年輸液輸血類產(chǎn)品項(xiàng)目建議書
- 人教版九年級(jí)上冊化學(xué)期末考試試題帶答案
- 2024年模組檢測系統(tǒng)項(xiàng)目發(fā)展計(jì)劃
- 2024年ZA系列甲苯歧化催化劑合作協(xié)議書
- 2024年故障指示器項(xiàng)目發(fā)展計(jì)劃
- 2024年熱壓硫化鋅(ZNS)晶體項(xiàng)目建議書
- 2024年超臨界高溫、高壓汽輪發(fā)電機(jī)組合作協(xié)議書
- 云南省大理白族自治州祥華集團(tuán)聯(lián)考2024-2025學(xué)年高二上學(xué)期10月月考地理試題(無答案)
- 福建省漳州第一中學(xué)2024-2025學(xué)年高一上學(xué)期10月月考地理試題(無答案)
- 2023年心電遙測監(jiān)護(hù)儀項(xiàng)目分析評估報(bào)告
- 2024-2030年中國光伏跟蹤支架行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略分析報(bào)告
- 家電以舊換新補(bǔ)貼范實(shí)施方案
- 2024年東南亞集裝箱班輪運(yùn)輸市場深度研究及預(yù)測報(bào)告
- 集裝箱活動(dòng)房搭建安裝合同
- 智能裝備制造行業(yè)的發(fā)展機(jī)遇與挑戰(zhàn)分析
- 市婦幼保健院PCR實(shí)驗(yàn)室可行性報(bào)告及運(yùn)行預(yù)測分析
- 高考總復(fù)習(xí)優(yōu)化設(shè)計(jì)二輪用書語文(新高考)默寫強(qiáng)化練
- 2024-2030年智慧停車行業(yè)市場發(fā)展分析及前景趨勢與投資研究報(bào)告
- 北師大版八年級(jí)物理(上冊)期中試卷及參考答案
- 娛樂場所地震應(yīng)急預(yù)案范文
- 河南航空港發(fā)展投資集團(tuán)有限公司社會(huì)招聘筆試真題2022
評論
0/150
提交評論