中國礦業(yè)大學(xué)C語言程序設(shè)計期末考試上機題庫.pdf

上傳人:小** 文檔編號:13302653 上傳時間:2020-06-13 格式:PDF 頁數(shù):91 大?。?04.72KB
收藏 版權(quán)申訴 舉報 下載
中國礦業(yè)大學(xué)C語言程序設(shè)計期末考試上機題庫.pdf_第1頁
第1頁 / 共91頁
中國礦業(yè)大學(xué)C語言程序設(shè)計期末考試上機題庫.pdf_第2頁
第2頁 / 共91頁
中國礦業(yè)大學(xué)C語言程序設(shè)計期末考試上機題庫.pdf_第3頁
第3頁 / 共91頁

下載文檔到電腦,查找使用更方便

5 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《中國礦業(yè)大學(xué)C語言程序設(shè)計期末考試上機題庫.pdf》由會員分享,可在線閱讀,更多相關(guān)《中國礦業(yè)大學(xué)C語言程序設(shè)計期末考試上機題庫.pdf(91頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、1、 函 數(shù) fun的 功 能 是 計 算 x^n。double fun(double x,int n){int i; double y=1;for(i=1;i<=n;i++) y=y*x;return y;}主 函 數(shù) 中 已 經(jīng) 正 確 定 義 m、 a、 b變 量 并 賦 值 , 并 調(diào) 用 fun函 數(shù) 計 算 : m=a^4+b^4-(a+b)^3。 實 現(xiàn) 這一 計 算 的 函 數(shù) 調(diào) 用 語 句 為 ______。答 案 : 1: fun(a,4)+fun(b,4)-fun((a+b),3)評 析 : 函 數(shù) fun的 功 能 是 計 算 x的 n次 方 , 所 以 a的 4次

2、方 的 調(diào) 用 函 數(shù) 應(yīng) 當 為 fun(a,4), b的 4次 方 的調(diào) 用 函 數(shù) 應(yīng) 當 為 fun(b,4), (a+b)的 3次 方 的 調(diào) 用 函 數(shù) 應(yīng) 當 為 fun((a+b),3), 所 以 , 實 現(xiàn)m=a^4+b^4-(a+b)^3這 一 計 算 的 函 數(shù) 458調(diào) 用 語 句 為 : fun(a,4)+fun(b,4)-fun((a+b),3);。 知 識 點 : 知 識 點 /函 數(shù) /破 函 數(shù) 的 正 確 調(diào) 用 , 嵌 套 調(diào) 用 , 遞 歸 調(diào) 用2、 以 下 sstrcpy()函 數(shù) 實 現(xiàn) 字 符 串 復(fù) 制 , 即 將 t所 指 字 符 串 復(fù) 制

3、 到 s所 指 內(nèi) 存 空 間 中 , 形 成 一 個新 字 符 串 s。 請 填 空 。void sstrcpy(char *s,char *t){ while(*s++=______);}main(){ char str1[100],str2[]="abcdefgh";sstrcpy(str1,str2);printf("%s\n",str1);} 答 案 : 1: *t++評 析 : 要 使 sstrcpy()函 數(shù) 實 現(xiàn) 字 符 串 復(fù) 制 , 必 須 將 t字 符 串 中 的 每 個 字 符 逐 個 拷 到 s字 符 串 中 , 所 以 可 以 使 用 *s=*t;s++;t++。

4、 或 者 可 以 寫 成 *s++=*t++, 本 題 只 有 一 個 空 , 可 以 填 入 *t++。知 識 點 : 知 識 點 /指 針 /用 指 針 作 函 數(shù) 參 數(shù)3、 以 下 程 序 給 指 針 p分 配 三 個 double型 動 態(tài) 內(nèi) 存 單 元 , 請 填 空 。#include main(){ double *p;p=(double*)malloc(______);p[0]=1.5; p[1]=2.5;p[2]=3.5;printf("%f%f%f\n",p[0],p[1],p[2]);} 答 案 : 1: 3*sizeof(double)評 析 : malloc(si

5、ze)在 內(nèi) 存 的 動 態(tài) 存 儲 區(qū) 中 分 配 一 個 長 度 為 size的 連 續(xù) 空 間 。 此 函 數(shù) 的 值 ( 即 "返 回 值 ") 是 一 個 指 針 , 它 的 值 是 該 分 配 域 的 起 始 地 址 。 如 果 此 函 數(shù) 未 能 成 功 地 執(zhí) 行 , 則 返 回值 為 0。本 題 中 要 求 分 配 三 個 double型 動 態(tài) 內(nèi) 存 單 元 , 所 以 size處 應(yīng) 當 為 3*sizeof(double)。知 識 點 : 知 識 點 /指 針 /各 類 型 的 指 針 及 指 針 變 量 , 通 過 指 針 引 用 各 類 型 數(shù) 據(jù) 4、 以 下

6、程 序 運 行 后 的 輸 出 結(jié) 果 是 ______。main(){ int a,b,c;a=25;b=025;c=0 x25;printf("%d %d %d\n",a,b,c);} 答 案 : 25 21 37評 析 : 本 題 考 查 的 是 格 式 字 符 的 輸 出 。變 量 a、 b、 c分 別 為 十 進 制 、 八 進 制 、 十 六 進 制 的 25, 格 式 字 符 d所 代 表 的 含 義 是 , 以 帶 符號 的 十 進 制 形 式 輸 出 整 數(shù) ( 正 數(shù) 不 輸 出 符 號 ) , 所 以 本 題 a=25則 輸 出 值 為 25; b=025轉(zhuǎn) 換 為 10

7、進 制 : b=2*8+5=16+5=21, 則 輸 出 的 值 為 21; c=0 x25轉(zhuǎn) 換 為 10進 制 : c=2*16+5=32+5=37, 則 輸 出 的 值 為 37, 而 且 printf中 三 個 %d之 用 的 是 空 格 , 所 以 輸 出 的 幾 個 數(shù) 字 之 間 也 必 須 是 空 格 。知 識 點 : 知 識 點 /函 數(shù) /變 量 的 存 儲 類 別 , 變 量 的 作 用 域 和 生 存 期5、 以 下 程 序 運 行 后 的 輸 出 結(jié) 果 是 ______。main (){ char a[]="Language",b[]="Programe";char

8、 *p1,*p2; int k;p1=a; p2=b;for(k=0;k<=7;k++)if(*(p1+k)==*(p2+k)) printf("%c",*(p1+k));} 答 案 : gae評 析 : 本 題 考 查 的 是 字 符 指 針 變 量 與 字 符 數(shù) 組 。 解 題 過 程 :( 1) 當 k=0時 , *(p1+0)=L, *(p2+0)=P, L!=P, 所 以 沒 有 輸 出( 2) 當 k=1時 , *(p1+1)=a, *(p2+1)=r, a!=r, 所 以 沒 有 輸 出( 3) 當 k=2時 , *(p1+2)=n, *(p2+2)=o, n!=o, 所 以

9、沒 有 輸 出( 4) 當 k=3時 , *(p1+3)=g, *(p2+3)=g, g==g, 所 以 輸 出 g( 5) 當 k=4時 , *(p1+4)=u, *(p2+4)=r, u!=r, 所 以 沒 有 輸 出( 6) 當 k=5時 , *(p1+5)=a, *(p2+5)=a, a==a, 所 以 輸 出 a( 7) 當 k=6時 , *(p1+6)=g, *(p2+6)=m, g!=m, 所 以 沒 有 輸 出( 8) 當 k=7時 , *(p1+7)=e, *(p2+7)=e, e==e, 所 以 輸 出 e( 9) 當 k=8時 結(jié) 束 循 環(huán)( 10) 輸 出 結(jié) 果 為

10、 : gae。知 識 點 : 知 識 點 /數(shù) 組 的 定 義 和 引 用 /字 符 串 與 字 符 數(shù) 組 6、 以 下 程 序 通 過 函 數(shù) SunFun和 f(x), x=0到 10, 這 里 f(x)=x^2+1, 由 F函 數(shù) 實 現(xiàn) , 請 填 空 。main(){ printf("The sun=%d\n",SunFun(10));} SunFun(int n){ int x,s=0;for(x=0;x<=n;x++)s+F(______);return s;}F(int x){ return (______);}答 案 : 1: x2: x*x+1評 析 : 本 題 考 查

11、的 是 函 數(shù) 的 調(diào) 用 。解 題 過 程 :( 1) f(x)的 含 義 為 x的 平 方 加 上 1 ( 2) 所 以 F(int x)的 返 回 值 應(yīng) 該 為 x*x+1( 3) SunFun(10)的 作 用 是 將 0到 10之 間 所 有 的 整 數(shù) 相 加 求 和( 4) 所 以 F()的 形 式 參 數(shù) 為 x。知 識 點 : 知 識 點 /函 數(shù) /函 數(shù) 的 正 確 調(diào) 用 , 嵌 套 調(diào) 用 , 遞 歸 調(diào) 用7、 以 下 程 序 中 , 函 數(shù) SumColumMin的 功 能 是 : 求 出 M行 N列 二 維 數(shù) 組 每 列 元 素 中 的 最 小 值 , 并

12、計算 它 們 的 和 值 。 和 值 通 過 形 參 傳 回 主 函 數(shù) 輸 出 。 請 填 空 。#define M 2#define N 4void SumColumMin(int a[M][N],int *sum){ int i,j,k,s=0;for(i=0;i

13、a+=(a=8);printf("%d\n",a);} 答 案 : 16評 析 : 本 題 的 考 查 點 是 表 達 式 。表 達 式 a+=8相 當 于 a=a+8, 對 表 達 式 逐 步 求 解 過 程 如 下 : a+=(a+8)此 時 , a的 值 賦 值 為 8, 而 不 再 是 0;a+=8a=a+8a=16故 本 題 答 案 為 16。知 識 點 : 知 識 點 /函 數(shù) /形 式 參 數(shù) 與 實 在 參 數(shù) , 參 數(shù) 值 的 傳 遞9、 以 下 程 序 的 輸 出 結(jié) 果 是 ______。#define MAX(x,y) (x)>(y)?(x):(y)main(){ i

14、nt a = 5, b = 2,c = 3, d = 3, t; t = MAX(a + b, c + d)*10;printf("%d\n", t);} 答 案 : 7評 析 : 本 題 的 考 查 點 是 宏 定 義 。 宏 替 換 后 , 表 達 式 t = MAX(a + b, c + d)*10即 變 為 : t = (a+b)>(c+d) ? (a+b) : (c + d)*10;由 于 (a+b)>(c+d)為 真 , 所 以 t = (a+b), 即 為 7。故 本 題 答 案 為 : 7。知 識 點 : 知 識 點 /編 譯 預(yù) 處 理 /宏 定 義 : 不 帶 參 數(shù) 的

15、宏 定 義 ; 帶 參 數(shù) 的 宏 定 義10、 函 數(shù) mycmp(char *s,char *t)的 功 能 是 比 較 字 符 串 s和 t的 大 小 , 當 s等 于 t時 返 回 0, 當 s>t返 回 正 值 , 當 s

16、 變 量 , 字 符 串 的 首 地 址 是 指 針 變 量 的 值 , *s和 *t表 示 字 符串 數(shù) 組 s和 t的 第 一 個 字 符 , 在 while循 環(huán) 中 , 是 通 過 s和 t值 的 不 斷 變 化 改 變 兩 個 串 的 第 一 個 字 符 ,要 返 回 s和 t的 第 一 個 不 同 字 符 的 ASCII碼 的 差 值 , 必 須 使 用 "*s-*t"得 出 。故 本 題 答 案 為 : *s-*t。知 識 點 : 知 識 點 /函 數(shù) /庫 函 數(shù) 的 正 確 調(diào) 用11、 若 給 fun函 數(shù) 的 形 參 s傳 送 字 符 串 : " 6354abc",則 函

17、 數(shù) 的 返 回 值 是 ______。 ( 字 符串 中 包 括 空 格 )long fun(char s[ ]) { long n; int sign;for (; isspace(*s);s++);sign=(*s==-)?-1:1;if (*s==+ || *s==-) s++;for (n=0;isdigit(*s);s++)n=10*n+(*s-0);return sign*n;} 答 案 : 6354評 析 : 本 題 的 考 查 點 是 函 數(shù) 的 返 回 值 。這 個 函 數(shù) 的 目 的 是 提 取 出 由 函 數(shù) 的 形 參 傳 送 來 的 字 符 串 中 的 數(shù) 字 字

18、符 , 并 通 過 相 應(yīng) 各 個 字符 位 置 計 算 出 它 們 數(shù) 值 形 式 的 冪 , 最 后 返 回 字 符 串 中 的 數(shù) 字 字 符 的 數(shù) 值 形 式 , 所 以 函 數(shù) 的 返 回值 應(yīng) 當 是 "6354"。 故 本 題 答 案 為 : 6354。知 識 點 : 知 識 點 /函 數(shù) /函 數(shù) 的 正 確 調(diào) 用 , 嵌 套 調(diào) 用 , 遞 歸 調(diào) 用12、 以 下 程 序 段 的 輸 出 結(jié) 果 為 ______。char *p;int i,d; p="PDP1-0";for(i=0;i<7;i++){ d=isdigit(*(p+i) );if(d!=0)printf

19、("%c\n",*(p+i) );} 答 案 : 1評 析 : 本 題 的 考 查 點 是 函 數(shù) isdigit()。這 段 程 序 的 目 的 是 按 從 左 至 右 的 順 序 從 字 符 串 p中 找 出 阿 拉 伯 數(shù) 字 字 符 , 如 果 找 到 , 將 其 打印 出 來 。 最 后 的 輸 出 應(yīng) 當 是 :10 知 識 點 : 知 識 點 /函 數(shù) /庫 函 數(shù) 的 正 確 調(diào) 用13、 下 列 程 序 中 字 符 串 中 各 單 詞 之 間 有 一 個 空 格 , 則 程 序 的 輸 出 結(jié) 果 是 ______。# includemain( ){ char str1[ ]

20、="How do you do", *p1=str1;strcpy(str1+strlen(str1)/2,"es she");printf("%s\n",p1);}答 案 : How does she評 析 : 本 題 的 考 查 點 是 字 符 串 拷 貝 函 數(shù) strcpy()。strlen(str1)是 求 str1字 符 串 的 長 度 , 為 13, 然 后 , 進 行 除 2運 算 , 結(jié) 果 為 6。 strcpy()函數(shù) 是 把 字 符 串 "es she"拷 貝 到 str1后 的 第 6個 字 符 后 面 , 也 就 是 說 , 拷 貝 后 的 結(jié) 果 是 "How d

21、oes she"。故 本 題 答 案 為 : How does she。知 識 點 : 知 識 點 /函 數(shù) /庫 函 數(shù) 的 正 確 調(diào) 用14、 下 面 的 函 數(shù) strcat(str1,str2)實 現(xiàn) 將 字 符 串 str2拼 接 到 字 符 串 str1后 面 的 功 能 。 請 填 空 使之 完 整 。char *strcat(str1,str2)char *str1,*str2;{ char *t=str1;while(______)str1++;while(______);return(t);} 答 案 : 1: *str1!=\02: *str1++=*str2++評 析

22、 : 本 題 的 考 查 點 是 字 符 串 連 接 函 數(shù) strcat()。函 數(shù) strcat(str1,str2)實 現(xiàn) 將 字 符 串 str2連 接 到 字 符 串 str1后 面 , 所 以 首 先 要 找 到 字 符 串 str1的 串 尾 , 根 據(jù) C語 言 的 語 法 規(guī) 定 , 一 個 串 的 串 尾 一 定 是 一 個 隱 含 字 符 "\0", 而 在 程 序 中 , 對字 符 串 中 字 符 的 訪 問 是 通 過 兩 個 指 針 變 量 來 完 成 的 , 因 此 要 找 到 字 符 串 str1的 串 尾 , 要 判 斷*str1是 否 為 "\0", 要 找

23、 到 字 符 串 str2的 串 尾 , 要 判 斷 *str2是 否 為 "\0", 程 序 中 必 須 可 以 使 字符 串 中 字 符 逐 一 順 序 體 現(xiàn) , 所 以 在 題 中 我 們 應(yīng) 填 寫 "*str1"和 "*str1++=*str2++ "。知 識 點 : 知 識 點 /函 數(shù) /庫 函 數(shù) 的 正 確 調(diào) 用15、 以 下 程 序 的 輸 出 結(jié) 果 是 ______。void fun(){ static int a=0;a +=2; printf("%d",a);} main(){ int cc;for(cc=1;cc<4;cc++) fun();printf("\

24、n");}答 案 : 246評 析 : 循 環(huán) for(cc=1;cc<4;cc++)被 執(zhí) 行 了 3次 。 在 函 數(shù) fun中 , 由 于 a是 static型 變 量 , 所 以 函數(shù) 第 1次 調(diào) 用 后 , a= 2; 第 2次 調(diào) 用 后 , a = 4; 第 3次 調(diào) 用 后 , a = 6。知 識 點 : 知 識 點 /函 數(shù) /函 數(shù) 的 正 確 調(diào) 用 , 嵌 套 調(diào) 用 , 遞 歸 調(diào) 用16、 若 要 使 指 針 p指 向 一 個 double類 型 的 動 態(tài) 存 儲 單 元 , 請 填 空 。p=______malloc(sizeof (double));答 案

25、: (double*)評 析 : 函 數(shù) malloc返 回 的 是 void*而 不 是 double類 型 指 針 。 所 以 要 使 指 針 p指 向 一 個 double類 型 的 存 儲 單 元 就 必 須 進 行 強 制 類 型 轉(zhuǎn) 換 。知 識 點 : 知 識 點 /函 數(shù) /函 數(shù) 的 類 型 和 返 回 值17、 下 列 程 序 段 的 輸 出 結(jié) 果 是 ______。main(){ char b[]="Hello,you";b[5]=0;printf("%s\n",b);}答 案 : Hello評 析 : 字 符 串 中 , 數(shù) 值 0或 符 號 \0表 示 字 符 串

26、的 結(jié) 束 。 本 題 中 , b[5]被 賦 了 0值 , 表 明 字 符 串 b的 第 六 個 字 符 就 是 結(jié) 束 標 志 。 因 此 , 只 輸 出 前 五 個 字 符 , 即 Hello。知 識 點 : 知 識 點 /數(shù) 組 的 定 義 和 引 用 /一 維 數(shù) 組 和 多 維 數(shù) 組 的 定 義 、 初 始 化 和 引 用 18、 下 列 程 序 的 輸 出 結(jié) 果 是 ______。void fun(int *n){ while((*n)--); printf("%d",++(*n));}main(){ int a=100;fun(}答 案 : 0評 析 : 在 函 數(shù) fun

27、()中 , while((*n)--)是 先 引 用 *n的 值 , 再 做 (*n)-- 運 算 , 所 以 循 環(huán) 結(jié) 束 時*n的 值 為 0, 再 做 (*n)-- 運 算 后 , *n的 值 為 -1; 執(zhí) 行 ++(*n)后 , *n的 值 是 0。知 識 點 : 知 識 點 /函 數(shù) /函 數(shù) 的 正 確 調(diào) 用 , 嵌 套 調(diào) 用 , 遞 歸 調(diào) 用19、 以 下 程 序 中 , 主 函 數(shù) 調(diào) 用 了 LineMax函 數(shù) , 實 現(xiàn) 在 N行 M列 的 二 維 數(shù) 組 中 , 找 出 每 一 行 上 的 最大 值 。 請 填 空 : #define N 3#define M

28、 4void LineMax(int x[N][M]){ int i,j,p;for(i=0;i

29、 的 行 , 內(nèi) 循 環(huán) 控 制 列 , 在 尋 找 每 行最 大 的 元 素 時 , 先 把 每 行 的 第 一 個 元 素 列 下 標 即 0賦 給 p, 然 后 把 后 面 的 數(shù) 逐 一 與 之 比 較 , 如 果大 于 它 , 則 把 大 的 數(shù) 的 列 下 標 重 新 賦 給 p。所 以 (1)處 應(yīng) 該 填 p=j;內(nèi) 循 環(huán) 結(jié) 束 后 , 便 獲 得 了 本 行 中 最 大 的 數(shù) , 即 a[i][p], 這 也 就 是 (2)處 應(yīng) 該 填 寫 的 答 案 ;而 (3)處 , 很 顯 然 是 要 調(diào) 用 函 數(shù) , 關(guān) 鍵 就 在 于 參 數(shù) 怎 么 寫 , 函 數(shù) 中

30、需 要 的 是 整 個 數(shù) 組 , 所 以應(yīng) 該 把 數(shù) 組 名 做 為 實 參 , 傳 遞 過 去 , (3)處 的 答 案 應(yīng) 該 是 LineMax(x)。 注 意 大 小 寫 , C語 言 中 大 小 寫 是 不 等 價 的 。知 識 點 : 知 識 點 /函 數(shù) /函 數(shù) 的 正 確 調(diào) 用 , 嵌 套 調(diào) 用 , 遞 歸 調(diào) 用20、 若 有 如 下 結(jié) 構(gòu) 體 說 明 :struct STRU { int a,b;char c: double d;struct STRU *p1,*p2;};請 填 空 , 以 完 成 對 t數(shù) 組 的 定 義 , t數(shù) 組 的 每 個 元 素 為

31、 該 結(jié) 構(gòu) 體 類 型 。______t[20]答 案 : struct STRU評 析 : 本 題 主 要 考 查 考 生 對 C語 言 中 結(jié) 構(gòu) 體 的 掌 握 。結(jié) 構(gòu) 體 類 型 是 構(gòu) 造 數(shù) 據(jù) 類 型 , 是 用 戶 自 已 定 義 的 一 種 類 型 。結(jié) 構(gòu) 體 類 型 的 定 義 :struct 結(jié) 構(gòu) 體 類 型 名{ 成 員 項 表 ; };定 義 結(jié) 構(gòu) 體 變 量 的 的 形 式 為 :struct 結(jié) 構(gòu) 體 類 型 名 變 量 1,變 量 2,...其 中 變 量 包 括 : 一 般 變 量 、 指 針 變 量 、 數(shù) 組 變 量 等 。知 識 點 : 知

32、識 點 /數(shù) 組 的 定 義 和 引 用 /一 維 數(shù) 組 和 多 維 數(shù) 組 的 定 義 、 初 始 化 和 引 用21、 以 下 程 序 運 行 后 的 輸 出 結(jié) 果 是 ______。void fun(int x,int y){x=x+y;y=x-y;x=x-y;printf("%d,%d,",x,y);}main(){int x=2,y=3;fun(x,y); printf("%d,%d\n",x,y);} 答 案 : 3,2,2,3評 析 : 本 題 的 考 查 點 是 交 換 變 量 的 值 。被 調(diào) 函 數(shù) fun()實 現(xiàn) 的 功 能 是 交 換 變 量 x和 y的 值 并

33、打 印 , 由 于 該 函 數(shù) 無 返 回 值 , 所 以 在 主 函數(shù) 中 打 印 出 的 x和 y的 值 仍 然 為 2,3。故 本 題 答 案 為 : 3,2,2,3。知 識 點 : 知 識 點 /函 數(shù) /形 式 參 數(shù) 與 實 在 參 數(shù) , 參 數(shù) 值 的 傳 遞22、 下 面 程 序 的 運 行 結(jié) 果 是 : ______。#define N 10#define s(x) x*x#define f(x) (x*x)main() {int i1,i2;i1=1000/s(N);i2=1000/f(N);printf("%d %d\n",i1,i2);} 答 案 : 1000 10

34、 評 析 : 本 題 的 考 查 點 是 宏 定 義 。根 據(jù) 宏 定 義 , 變 量 i1的 值 為 1000/10*10=1000, 變 量 i2的 值 為 1000/(10*10)=10。故 本 題 答 案 為 : 1000和 10。知 識 點 : 知 識 點 /編 譯 預(yù) 處 理 /宏 定 義 : 不 帶 參 數(shù) 的 宏 定 義 ; 帶 參 數(shù) 的 宏 定 義23、 下 面 程 序 的 運 行 結(jié) 果 是 : ______。void swap(int *a,int *b){int *t;t=a;a=b;b=t;}main(){int x=3,y=5,*p=swap(p,q); prin

35、tf("%d%d\n",*p,*q);}答 案 : 35評 析 : 本 題 的 考 查 點 是 函 數(shù) 調(diào) 用 。觀 察 本 題 的 程 序 可 以 看 出 , 被 調(diào) 函 數(shù) swap()實 現(xiàn) 的 功 能 是 交 換 變 量 的 值 , 但 由 于 函 數(shù) 不 返回 任 何 值 , 所 以 在 main()函 數(shù) 中 打 印 出 的 變 量 的 值 并 沒 有 發(fā) 生 交 換 , 即 仍 為 3和 5。故 本 題 答 案 為 : 3和 5。知 識 點 : 知 識 點 /函 數(shù) /函 數(shù) 的 類 型 和 返 回 值24、 fun函 數(shù) 的 功 能 是 : 首 先 對 a所 指 的 N行 N列

36、 的 矩 陣 , 找 出 各 行 中 的 最 大 的 數(shù) , 再 求 這 N個 最 大值 中 的 最 小 的 那 個 數(shù) 作 為 函 數(shù) 值 返 回 。 請 填 空 。#include #define N 100int fun(int(*a)[N]) {int row,col,max,min;for(row=0;row

37、x

38、果 是 ______。 #define MCRA(m) 2*m#define MCRB(n,m) 2*MCRA(n)+mmain(){ int i=2,j=3;printf("%d\n",MCRB(j,MCRA(i)));} 答 案 : 16評 析 : 本 題 的 考 查 點 是 帶 參 數(shù) 的 宏 定 義 。帶 參 數(shù) 的 宏 定 義 是 這 樣 展 開 置 換 的 : 在 程 序 中 如 果 有 帶 實 參 的 宏 , 則 按 #define 命 令 行 中指 定 的 字 符 串 從 左 到 右 進 行 置 換 。 如 果 串 中 包 含 形 參 , 則 將 程 序 語 句 中 相 應(yīng) 的

39、 實 參 ( 可 以 是 常量 、 變 量 或 表 達 式 ) 代 替 形 參 , 如 果 宏 定 義 中 的 字 符 串 中 的 字 符 不 是 參 數(shù) 字 符 , 則 保 留 。 因 此對 MCRB(j,MCRA(i))進 行 宏 展 開 就 得 到 了 2*MCRA(j)+MCRA(i), 即 : 2*2*j+2*i=2*2*3+2*2=16。故 本 題 答 案 為 : 16。 知 識 點 : 知 識 點 /編 譯 預(yù) 處 理 /宏 定 義 : 不 帶 參 數(shù) 的 宏 定 義 ; 帶 參 數(shù) 的 宏 定 義26、 以 下 程 序 的 功 能 是 調(diào) 用 函 數(shù) fun計 算 : m=1-

40、2+3-4+… +9-10, 并 輸 出 結(jié) 果 。 請 填 空 。int fun ( int n){ int m=0,f=1,i;for(i=1; i<=n; i++){ m+=i*f;f=______;}return m;}main(){ printf("m=%d\n",______);} 答 案 : 1: -f2: fun(10)評 析 : 本 題 的 考 查 點 是 C程 序 設(shè) 計 。 根 據(jù) 程 序 寫 出 運 行 結(jié) 果 。考 察 的 知 識 點 主 要 是 函 數(shù) 的 調(diào) 用 。 本 題 利 用 一 個 fun函 數(shù) 來 完 成 題 目 要 求 的 計 算 。 程 序 中 f起

41、 的 作 用 是 控 制 i*f的 符 號 , 看 的 出 , 偶 數(shù) 位 都 為 負 值 , 所 以 f的 值 為 (-1)^(i+1), 最 后 要 求 輸出 m的 值 , 在 輸 出 中 調(diào) 用 fun函 數(shù) , 并 把 實 參 10傳 給 n。知 識 點 : 知 識 點 /函 數(shù) /函 數(shù) 的 正 確 調(diào) 用 , 嵌 套 調(diào) 用 , 遞 歸 調(diào) 用27、 以 下 程 序 運 行 后 的 輸 出 結(jié) 果 是 ______。main(){ int i,n[]={0,0,0,0,0};for(i=1;ib ? a:b);}答 案 : double max評 析 : 本 題 的 考 查 點 是

42、 C程 序 設(shè) 計 。 調(diào) 試 程 序 , 把 不 完 善 的 程 序 進 行 修 改 和 補 充 , 使 之 能 得到 正 確 的 結(jié) 果 。主 函 數(shù) 里 可 以 看 到 調(diào) 用 了 一 個 max函 數(shù) , 函 數(shù) 在 被 調(diào) 用 之 前 需 要 先 定 義 , 所 以 要 求 填 空 的 內(nèi)容 應(yīng) 該 是 對 函 數(shù) 進 行 定 義 的 語 句 。 由 題 目 內(nèi) 容 也 可 以 看 出 此 函 數(shù) 是 double型 的 。知 識 點 : 知 識 點 /函 數(shù) /函 數(shù) 的 正 確 調(diào) 用 , 嵌 套 調(diào) 用 , 遞 歸 調(diào) 用29、 有 以 下 程 序void f(int y,in

43、t *x){ y=y+*x; *x=*x+y;}main() { int x=2,y=4;f(y,printf("%d %d\n",x,y);}執(zhí) 行 后 輸 出 的 結(jié) 果 ______。 答 案 : 8 4評 析 : f函 數(shù) 中 變 量 x傳 遞 的 是 變 量 的 地 址 , 可 以 實 現(xiàn) 值 的 變 換 , 而 變 量 y是 傳 遞 的 值 , 執(zhí) 行完 f后 , y的 值 是 變 了 , 但 main函 數(shù) 中 的 y并 未 變 化 。 也 就 是 說 由 于 "單 向 傳 送 "的 "值 傳 遞 "方 式 ,形 參 值 的 改 變 無 法 傳 給 實 參 。知 識 點 : 知

44、識 點 /函 數(shù) /形 式 參 數(shù) 與 實 在 參 數(shù) , 參 數(shù) 值 的 傳 遞31、 C語 言 程 序 的 基 本 單 位 是 ______答 案 : 函 數(shù)32、 設(shè) 有 說 明 語 句 :char a= \72;則 變 量 a包 含 ______個 字 符 、 答 案 : 1 33、 c語 言 是 一 種 ______( 選 擇 面 向 對 象 或 面 向 過 程 ) 高 級 程 序 設(shè) 計 語 言 。答 案 : 面 向 過 程34、 C語 言 中 唯 一 的 三 目 運 算 符 是 ______答 案 : 條 件 運 算 符 #? : 35、 C語 言 中 結(jié) 束 一 次 循 環(huán) 的

45、 語 句 是 ______答 案 : continue36、 C語 言 中 結(jié) 束 整 個 循 環(huán) 的 語 句 是 ______ 答 案 : break37、 二 維 數(shù) 組 a中 元 素 a[2][2]的 值 是 ______ a[4][5]= {{1,2,3},{3,2,1,6},{1}}; 答 案 : 038、 寫 出 下 面 個 邏 輯 表 達 式 的 值 , 設(shè) a=3,b=4,則 c=5 a || b+c do{ j=j+i; i-;while(i>2);printf("%d\n",j);}答 案 : 5245、 設(shè) 有 以 下 程 序 :main() { int n1,n2;sc

46、anf("%d",while(n2!=0){ n1=n2%10;n2=n2/10;printf("%d",n1);}}程 序 運 行 后 ,如 果 從 鍵 盤 上 輸 入 1298;則 輸 出 結(jié) 果 為 ______答 案 : 892146、 以 下 程 序 輸 出 的 最 后 一 個 值 是 ______int ff(int n){ static int f=1; f=f*n;return f;}main() { int i;for(i=1;i<=5;i++) printf("%d\n",ff(i));} 答 案 : 12047、 設(shè) 有 以 下 程 序 :main(){ int a, b

47、, k=4, m=6, *p1=a=pl==b=(*p1)/(*p2)+7;printf("a=%d\n",a);printf("b=%d\n",b);}執(zhí) 行 該 程 序 后 ,a的 值 為 ______b的 值 為 ______ 答 案 : 0 @ 748、 函 數(shù) fun的 功 能 是 : 累 加 數(shù) 組 元 素 中 的 值 。 n為 數(shù) 組 中 元 素 的 個 數(shù) 。 累 加 的 和 值 放 入 x所 指的 存 儲 單 元 中 。fun(int b[], int n ,int *y){for(k=0;______;k++) r=r+b[k];*y=______;} 答 案 : k

48、@ r51、 以 下 程 序 運 行 后 的 輸 出 結(jié) 果 是 ______main(){ char m;m=B+32; printf("%c",m);} 答 案 : b 52、 以 下 程 序 運 行 后 的 輸 出 結(jié) 果 是 ______main(){ int a=1,b=3,c=5;if (c=a+b) printf("yes\n");else printf("no\n");} 答 案 : yes53、 以 下 程 序 運 行 后 的 輸 出 結(jié) 果 是 ______main(){ int i,m=0,n=0,k=0;for(i=9; i<=11;i++)switch(i/10){

49、case 0: m++;n++;break; case 10: n++; break;default: k++;n++;} printf("%d %d %d\n",m,n,k); } 答 案 : 1 3 254、 執(zhí) 行 以 下 程 序 后 ,輸 出 *號 的 個 數(shù) 是 ______#include main(){ int i,j;for(i=1; i<5; i++)for(j=2; j<=i; j++) putchar(*);} 答 案 : 655、 以 下 程 序 的 功 能 是 調(diào) 用 函 數(shù) fun計 算 :m=1-2+3-4+… +9-10,并 輸 出 結(jié) 果 ,請 填 空 .in

50、t fun( int n){ int m=0,f=1,i;for(i=1; i50) printf("%d",a);if(a>40) printf("%d",a);if(a>30) printf("%d",a);} 答 案 : 58585858、 以 下 程 序 的 輸 出 結(jié) 果 是 ______main(){ char *p="abcdefgh",*r;long *q; q=(long*)p;q++;r=(char*)q;printf("%s/n",r); } 答 案 : efgh59、 以 下 定 義 的 結(jié) 構(gòu) 體 類 型 擬 包 含 兩 個 成 員 ,其 中 成 員 變 量 info

51、用 來 存 入 整 形 數(shù) 據(jù) ;成 員 變 量link是 指 向 自 身 結(jié) 構(gòu) 體 的 指 針 .請 將 定 義 補 充 完 整 。struct node{int info;______ link;} 答 案 : struct node *60、 有 以 下 程 序main( ){ int n=0,m=1,x=2;if(!n) x-=1;if(m) x-=2; if(x) x-=3;printf("%d\n",x);}執(zhí) 行 后 輸 出 結(jié) 果 是 ______ 答 案 : -461、 #include main(){ char ch1,ch2; int n1,n2;ch1=getchar

52、(); ch2=getchar();n1=ch1-0; n2=n1*10+(ch2-0);printf("%d\n",n2);}程 序 運 行 時 輸 入 :12,執(zhí) 行 后 輸 出 結(jié) 果 是 ______ 答 案 : 1262、 有 以 下 程 序void f( int y,int *x){y=y+*x; *x=*x+y;}main( ){ int x=2,y=4;f(y,printf("%d %d\n",x,y);}執(zhí) 行 后 輸 出 的 結(jié) 果 是 ______ 答 案 : 8 463、 以 下 程 序 段 打 開 文 件 后 , 先 利 用 fseek函 數(shù) 將 文 件 位 置 指

53、針 定 位 在 文 件 末 尾 , 然 后 調(diào) 用 ftell函 數(shù) 返 回 當 前 文 件 位 置 指 針 的 具 體 位 置 , 從 而 確 定 文 件 長 度 , 請 天 空 。 FILE *fp;long f1;fp=fopen(“ test” ,” rb” );______F1=ftell(fp); fclose(fp);答 案 : fseek(fp,0,SEEK_END)#fseek(fp,0,-2)64、 以 下 程 序 功 能 是 將 數(shù) 組 里 面 的 元 素 寫 入 文 件 d2.dat中 (使 用 fprintf函 數(shù) ), 請 填 空 。#includemain(){F

54、ILE *fp; a[3]={1,2,3};fp=fopen("d2.dat","w");______fclose(fp);} 答 案 : fprintf(fp,"%d%d%d\n",a[0],a[1],a[2]);65、 以 下 程 序 功 能 是 從 文 件 d2.dat中 讀 入 讀 出 數(shù) 據(jù) 放 到 數(shù) 組 a中 (使 用 fscanf函 數(shù) ), 請 填 空 。#include main(){FILE *fp; a[2];fp=fopen("d2.dat","r");______fclose(fp);} 答 案 : fscanf(fp,"%d%d",66、 以 下 程 序 的 輸

55、出 結(jié) 果 是 ______main( ){char s[ ]= "abcdef ";s[3]= \0;printf("%s\n",s);} 答 案 : abc 67、 下 列 程 序 段 的 輸 出 結(jié) 果 是 ______main( ){ char b[]="Hello,you";b[5]=0;printf("%s", b );} 答 案 : Hello68、 以 下 程 序 的 輸 出 結(jié) 果 是 ______main(){ int a[]={30,25,20,15,10,5},*p=a;p++;printf("%d",*(p+3)); } 答 案 : 1069、 以 下 程 序 運 行

56、 后 的 輸 出 結(jié) 果 是 ______main( ) { char s[]="9876",*p;p=s;p++;++p;puts(p);} 答 案 : 7670、 mystrlen函 數(shù) 的 功 能 是 計 算 str所 指 字 符 串 的 長 度 ,并 作 為 函 數(shù) 值 返 回 ,請 填 空 :int mystrlen(char *str){int i;for(i=0; str[i] != \0;i++) ;return ______;} 答 案 : i-1 71、 以 下 程 序 用 來 統(tǒng) 計 文 件 中 字 符 個 數(shù) 、 請 填 空 :#include"stdio、 h"mai

57、n( ){FILE *fp; long num=0L;if((fp=fopen("fname、 dat","r")==NULL){printf("Open error\n"); exit(0);}while(______){fgetc(fp); num++;}printf("num=%ld\n",num-1);fclose(fp);} 答 案 : !feof(fp)72、 下 面 程 序 把 從 終 端 讀 入 的 文 本 (用 @作 為 文 本 結(jié) 束 標 志 )輸 出 到 一 個 名 為 bi.dat的 新 文 件 中 , 請 填 空 .#include "stdio.h"FILE *fp

58、;{ char ch;if( (fp=fopen (______) )= = NULL) exit(0);while( (ch=getchar( )) !=@) fputc (ch,fp);fclose(fp);} 答 案 : ” bi.dat” ,” r”73、 用 以 下 語 句 調(diào) 用 庫 函 數(shù) malloc,使 字 符 指 針 st指 向 具 有 11個 字 節(jié) 的 動 態(tài) 存 儲 空 間 ,請 填 空 。st=(char*) ______; 答 案 : malloc(11)74、 若 要 使 指 針 p指 向 一 個 double類 型 的 動 態(tài) 存 儲 單 元 ,請 填 空 .

59、p=______malloc(sizeof(double)); 答 案 : (double*)75、 以 下 程 序 通 過 函 數(shù) 指 針 p調(diào) 用 函 數(shù) fun,請 在 填 空 欄 內(nèi) ,寫 出 定 義 變 量 p的 語 句 、void fun(int *x,int *y){ … … } main( ){ int a=10,b=20;______; /定 義 變 量 p */p=fun; p(… …} 答 案 : void (*p)(int,int);76、 以 下 程 序 的 輸 出 結(jié) 果 是 ______main( ){ int arr[ ]={30,25,20,15,10,5},

60、 *p=arr;p++;printf("%d\n",*p++);} 答 案 : 30 77、 若 有 以 下 定 義 ,則 不 移 動 指 針 p,且 通 過 指 針 p引 用 值 為 98的 數(shù) 組 元 素 的 表 達 式 是 ______int w[10]={23,54,10,33,47,98,72,80,61}, *p=w;答 案 : *(p+5)#p[5]78、 以 下 定 義 的 結(jié) 構(gòu) 體 類 型 擬 包 含 兩 個 成 員 ,其 中 成 員 變 量 info用 來 存 入 整 型 數(shù) 據(jù) ;成 員 變 量link是 指 向 自 身 結(jié) 構(gòu) 體 的 指 針 ,請 將 定 義 補 充

61、 完 整 、struct node{int info;______ link;} 答 案 : struct node *79、 設(shè) 有 如 下 宏 定 義#define MYSWAP(z,x,y) {z=x;x=y;y=z}以 下 程 序 段 通 過 宏 調(diào) 用 實 現(xiàn) 變 量 a,b內(nèi) 容 交 換 ,請 填 空 : float a=5,b=16,c;MYSWAP(______,a,b); 答 案 : c80、 以 下 程 序 段 用 于 構(gòu) 成 一 個 簡 單 的 單 向 鏈 表 ,請 填 空 .struct STRU{ int x, y ;float rate;______p;} a, b

62、;a.x=0; a.y=0; a.rate=0; a.p=b.x=0; b.y=0; b.rate=0; b.p=NULL;答 案 : struct STRU *81、 設(shè) 有 以 下 結(jié) 構(gòu) 類 型 說 明 和 變 量 定 義 ,則 變 量 a在 內(nèi) 存 所 占 字 節(jié) 數(shù) 是 ______ Struct stud{ char num[6];int s[4];double ave; } a,*p; 答 案 : 1482、 下 列 程 序 段 的 輸 出 結(jié) 果 是 ______int n=c;switch(n++){ default: printf("error");break;case a

63、: case A: case b: case B: printf("good");break;case c: case C: printf("pass");case d: case D: printf("warn");}答 案 : passwarn83、 以 下 程 序 的 輸 出 結(jié) 果 是 ______main( ) {int s,i;for(s=0,i=1;i<3;i++,s+=i) ;printf("%d\n",s);} 答 案 : 584、 設(shè) 有 以 下 程 序 :main( ){ int n1,n2;scanf("%d",while(n2!=0){ n1=n2%10;n2=n2/

64、10;printf("%d",n1);} }程 序 運 行 后 ,如 果 從 鍵 盤 上 輸 入 1234;則 輸 出 結(jié) 果 為 ______ 答 案 : 432185、 要 使 以 下 程 序 段 輸 出 10個 整 數(shù) ,請 填 入 一 個 整 數(shù) 、for(i=0;ib>c);printf("%d\n",d);} 答 案 : 090、 以 下 程 序 的 輸 出 結(jié) 果 是 ______main( ){int x=0; sub(printf("%d\n",x);}sub(int *a,int n,int k){if(k<=n) sub(a,n/2,2*k);*a+=k;} 答 案 :

65、791、 以 下 程 序 輸 出 的 最 后 一 個 值 是 ______int ff(int n){ static int f=1;f=f*n;return f; }main( ){ int i;for(i=1;i<=5;i++ ) printf("%d\n",ff(i));} 答 案 : 12092、 已 知 某 程 序 中 有 預(yù) 處 理 命 令 #include,為 使 語 句 ” zx=fopen(“ c:\\n.txt” ,r” )能 正 常 執(zhí) 行 , 在 該 語 句 之 前 必 須 有 定 義 ______答 案 : FILE *zx93、 以 下 程 序 的 輸 出 結(jié) 果

66、為 ______main(){ int a=10; a=(3*5,a=4);printf(“ %d” ,a);} 答 案 : 1494、 變 量 a所 占 的 字 節(jié) 數(shù) 是 ______ union {char aa[10],long bb, int cc } a;答 案 : 1095、 以 下 函 數(shù) 的 功 能 是 刪 除 字 符 串 s中 的 所 有 空 格 。 請 填 空 。 ?viod?dele(char?*s)?{?int?n=0,i;?for(i=0;s[i];i++)??if(a[i]!=’ ’ )? s[n++]=s[i];?s[n]= ______;?}? 答 案 : ’ \0’96、 有 以 下 程 序main(){char ch[]=“ uvwxyz” ,*pc;pc=ch; printf(“ %c\n” ,*(pc+5)); } 程 序 運 行 后 的 輸 出 結(jié) 果 是 ______ 答 案 :

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

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!