




下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、注意:所有答案都要寫在答題卡上一、單項選擇題(20分,每題2分) 1執行下列程序段后,正確的結果是(B) int k, a33 = 1,2,3,4,5,6,7,8,9; for(k=0; k<3; k+) printf(“%2d”, akk); A) 1 2 3 B) 1 5 9 C) 1 4 7 D) 3 6 9 2若a是int類型變量,則計算表達式a=25/3%3的值是:(B) A)3 B)2 C)1 D)0 3下面正確的字符常量是:(C) A)“c” B) C)W D) 4 C語言中,運算對象必須是整型的運算符是:(B) A)% B)/ C)* D)+ 5數字字符0的ASCII值為
2、48,若有以下程序 main() char a='1', b='2' printf("%c,",b+); printf("%dn",b-a); 程序運行后的輸出結果是。(B) A) 3,2 B)50,2 C)2,2 D)2,50 6以下語句或語句組中,能正確進行字符串賦值的是。(D) A)char *sp;*sp="right!" B)char s10;s="right!" C)char s10;*s="right!" D)char *sp="right
3、!" 7for(i=0;i<10;i+) if(i=5 break; 則循環結束后i的值為(B) A)0 B)1 C)5 D)10 8執行下列程序段后,正確的結果是(C) char x8 = 8,7,6,5,0,0, *s; s = x+1; printf(“%dn”, s2); A) n B) 0 C) 5 D) 6 9C語言規定,簡單變量作為實參時,他和對應形參之間的數據傳遞方式是:A A)單向值傳遞 B) 地址傳遞 C) 相互傳遞 D) 由用戶指定方式 10設有數組定義:char str=”China”;則下面的輸出為(C) printf(“%d”,strlen(str)
4、; A)4 B)5 C)6 D)7 二、填空題(30分,每空2分) 1下列程序段的輸出結果是 3 。 int i=19, j; j=i%4; printf(“% d”, j); 2已知fun1函數的功能是將三個數按由大到小的順序調整后依次放入a,b,c三個變量中,其中a存放最大的數,利用fun2函數填空完成此功能。 void fun2(int *x,int *y) int t; t=*x; *x=*y; *y=t; void fun1() int a=20, b=30, c=25; if(c>b) fun2(_&c,&b_); if(a<c) fun2(_&
5、a,&c_); if(a<b) fun2(_&a,&b_); 3已知字符A的ASCII代碼值為65,以下程序運行時若從鍵盤輸入:B33<回車>,則輸出結果是 1 B 。 #include <> main() char a,b; a=getchar(); scanf("%d",&b); a=a-'A'+'0' b=b*2; printf("%c %cn",a,b); 4以下程序運行后的輸出結果是 4 3 5 。 main() int a=3,b=4,c=5,t=9
6、9; if(b<a && a<c) t=a;a=c;c=t; if(a<c && b<c) t=b;b=a;a=t; printf("%d %d %dn",a,b,c); 5若已知a=10,b=20,則表達式!a<b的值是_0_ 6若s是unsigned int型變量,則下面表達式的值是_1_。 s%2+(s+1)%2 7.下面程序將字符數組a復制到字符數組b中。 main() char a="I am a boy.",b20; int i; for(i=_0_;ai!='0'
7、i+) _bi=ai_; _bi=0_; 8若有int a32 = 1,3,2,4,5;,則a11的值是 2 。 9有以下程序,執行后輸出結果是 0 。 main( ) int t=1,i=5; for(;i>=0;i-) t*=i; printf("%dn",t); 10在循環語句中,break語句的作用是 是用來跳出當前一層循環的 ,continue語句的作用是 終止本次循環。 三、寫出程序的運行結果(30分,每題10分) 1寫出程序運行后的輸出結果 main() int a=1,b; for(b=1;b<=10;b+) if(a>=8) break;
8、 if(a%2=1) a+=5; continue; a-=3; printf("%dn",b); 輸出結果:b=4 2寫出程序運行后的輸出結果 #include <> char *ss(char *s) return s+strlen(s)/2; main( ) char *p,*str="abcdefgh" p=ss(str); printf("%sn",p); 輸出結果:efgh 3寫出程序運行后的輸出結果 int f1(int x,int y)return x>yx:y; int f2(int x,int y
9、)return x>yy:x; main() int a=4,b=3,c=5,d=2,e,f,g; e=f2(f1(a,b),f1(c,d); f=f1(f2(a,b),f2(c,d); g=a+b+c+d-e-f; printf("%d,%d,%dn",e,f,g); 4,3,7 四、編程(完形填空)(20分,每題10分) 1以下程序中函數huiwen的功能是檢查一個字符串是否是回文,當字符串是回文時,函數返回字符串:yes!,否則函數返回字符串:no!,并在主函數中輸出,所謂回文即正向與反向的拼寫都一樣,例如:adgda。請填空。 #include <>
10、; #include <> char *huiwen(char *str) char *p1,*p2; int i,t=0; p1=str; p2=_ str+strlen(str)-1_; str+strlen(str) for(i=0;i<=strlen(str)/2;i+) if(*p1+!=*p2-) t=1; break; if(_t=0或!t_ ) t=0 return("yes!"); else return("no!"); main() char str50; printf("Input:"); sc
11、anf("%s",str); printf("%sn",_ huiwen(str) _ ); huiwen(srt) 2下面程序完成以下功能: (1)trans()函數將二維數組a進行轉置,即行列互換,如下圖所示; 1 2 3 4 1 2 5 7 2 4 6 9 2 4 8 1 5 8 9 7 3 6 9 6 7 1 6 21 4 9 7 21 轉置前 轉置后 (2)findmin()函數求新數組中對角線(左上到右下)上的最小元素的值;請將程序填寫完整。 void trans(int b44) /*轉置函數*/ int i,j,temp; for(i=0
12、;i<4;i+) for(j=_0_;j<4;j+) temp=bij; bij=bji; bji=temp; int findmin(int b44) /*求對角線上最小的元素*/ int min,i,j; min=_; for(i=0;i<4;i+) if(_bii<min_) min=_ bii_ _; return min; main() int i,j; int a44,min; for(i=0;i<4;i+) for(j=0;j<4;j+) scanf("%d",&aij); trans(a); printf(“the
13、 result is:”); for(i=0;i<4;i+) for(j=0;j<4;j+) printf("%5d",aij); printf("n"); min=_findmin(a)_; printf("the min is%5dn",min); 2份注意:所有答案都要寫在答題卡上一、單項選擇題(20分,每題2分)1下面那個變量是合法的。(A)A) _a_2 B) 12a C) D) _3-22不能用于實型數據的運算符是:(A)A) % B) / C) * D) +3下面正確的字符串常量是:(B)A) 1+2=3 B
14、) “1+2 = 10” C) abcde D) 12345674程序段int i, j;i=10;j = i-;printf("%d, %d", i, j);的輸出應為:(B)A) 9,9 B) 9,10 C) 10,9 D) 10,105程序段int i;for(i=0;i<=10;i+)if(i=20)break;printf("%d",i)的輸出應為:(D)A) 21 B) 20 C) 10 D) 116設有數組定義:char array=”Beijing”;則數組array所占的存儲空間為:(B)A) 7個字節 B) 8個字節 C) 9個
15、字節 D) 10個字節7以下說法正確的是(C)A) C程序總是從第一個定義的函數開始執行B) 在C程序中,要調用的函數必須在main()函數中定義C) C程序總是從main()函數開始執行D) C程序的main()函數必須放在程序的開始部分8程序段int *p, a=1;p=&a;*p=10;a的值為:(C)A) 1 B) 10 C) 不能確定 D) 119以下定義語句中,錯誤的是 (D)A) int a=1,2; B) char *a3; C) char s10="test" D) int n=5,an; 10假定int類型變量占用兩個字節,有定義:int x10
16、=0,2,4;,則數組x在內存中所占字節數是(D)A) 3 B) 6 C) 10 D) 20二、填空題(30分,每空2分)1for(表達式1;表達式2;表達式3)語句組的執行順序是先求解表達式1、再_計算表達式2_、如果成立則執行_一次for循環體_、然后_計算表達式3_2表達式:765%2=_1_,765/2=_382_。3將下列字符串表示成字符串常量D:officeword "D:officeword"_85% student "85% student passed."_4下面程序段將字符數組b連接到數組a的后面。main()char a20=.&q
17、uot;I am "char b=."a student."int i,j;i=strlen(a);for(j=_0_;bj!='0'j+)ai+j_=b_j_;a_i+j=_0_;5已知fun1函數的功能是將三個數按由大到小的順序調整后依次放入 a,b,c三個變量中,其中a存放最大的數,利用fun2函數填空完成此功能。void fun2(int *x,int *y)int t;t=*x; *x=*y; *y=t;void fun1()int a=20, b=30, c=25;if(c>b) fun2(_&c,&b_);if(
18、a<c) fun2(_&a,&c_);if(a<b) fun2(_&a,&b_);三、寫出程序的運行結果(30分,每題10分)1寫出程序運行結果(10分)#include <>main()int i=5;static char c6="abcd"doci=ci-1;i-;while(i>0);puts(c);運行結果是:aabcd2寫出程序運行后的輸出結果void f(int *x,int *y) int t; t=*x;*x=*y;*y=t; main() int a12=1,2,3,4,5,6,7,8,9,1
19、0,11,12,i,*p,*q; p=a;q=&a11; while(p<q)f(p,q);p+;q-;for(i=0;i<12;i+)printf("%d,",ai);運算結果是:12 11 10 9 8 7 6 5 4 3 2 1 3(1)函數sub()的功能是什么(2)寫出程序運行的輸出結果。long sub(int num)int i;long subsum=1;for(i=1;i<=num;i+)subsum*=i;return(subsum);main()int i;long sum=0;for(i=1;i<=4;i+)sum+=
20、sub(i);printf("sum%1d=%ldn",i,sum);運行結果是:i=1,sum=1i=2,sum=3i=3,sum=9i=4,sum=33四、編程(完形填空)(20分,每題10分)1寫一個函數,實現將一個長度80的字符串按逆序存放。解題要求:該函數的唯一形參是字符串的起始地址。void convert(char string)int length,mid,i;char temp;length=_strlen_ (string);mid=_length-1_;for(_i=0_;i<mid;i+)temp=_stringi_;stringi=strin
21、g_min-_;string(length-1)-i=temp;2找出100以內(包括100)滿足下列條件的正整數,并按每行4個數字的格式顯示在屏幕上。條件:能被7整除但不能被9整除,或者不能被7整除但可以被11整除。main()int i,count=_0_;printf("nthese numbers are:n");for(i=1;i_<=_100;i+)if((i%7=0&&i%9!=0)_|_(i%7!=0_&&_i%11=0)count+;printf("%10d",i);if(count%4=0)pri
22、ntf("_n_");3份一、單項選擇題(20分,每題2分)1C語言中,最基本的數據類型包括:(C)A)整型、實型、邏輯型 B)整型、字符型、數組C)整型、實型、字符型 D)整型、實型、結構體2下面正確的字符常量是:(C)A)“c” B) C)W D)3C語言中,運算對象必須是整型的運算符是:(B)A)% B)/ C)* D)+4for(i=0;i<10;i+)if(i>5) break;則循環結束后i的值為(A)A)6 B)7 C)9 D)105判斷字符串a和b是否相等,應當使用:(D)A)if(a=b) B)if(a=b)C)if(strcpy(a,b) D
23、)if(strcmp(a,b)0)6程序段int i,a;for(i=0;i<=10;i+)a=i;printf("%d",i)的輸出應為:(D)A)0 B)9 C)10 D)117C語言中的標示符只能有字母、數字和下劃線組成,且第一個字符_D_.A)必須為字母 B)必須為下劃線C)必須為字母或下劃線 D)可以是字母或數字8若有說明:char c=72;則變量c:(A)A)包含一個字符 B)包含2個字符C)包含3個字符 D)說明不合法,c的值不確定9以下說法正確的是(C)A)C程序總是從第一個定義的函數開始執行B)在C程序中,要調用的函數必須在main()函數中定義C
24、)C程序總是從main()函數開始執行D)C程序的main()函數必須放在程序的開始部分10int *p1,*p2,a10;(C)p1=a;p2=&a5;則p2-p1的值為:A)無法確定 B)10 C)5 D)12二、填空題(30分,每空2分)1C語言中實型數據分為兩種他們是_小數數形式_和_指數形式_。2在C語言中,邏輯真用_非零_表示,邏輯假用_零_表示。3若有定義:double x35;則x數組行下標的上限是_2_,列下標的下限是_0_。4表達式(a=b)&&(a>b)的值是_0_。5.已知a的ASCII碼為97,printf(“%5cn”,e)的輸出是_e
25、_;printf(“%5dn”,e)的輸出是_101_。6.下面程序將字符數組a復制到字符數組b中。main()char a="I am a boy.",b20;int i;for(i=_0_;ai!='0'i+)_bi=ai_;_bi=0_;7下面程序的功能是計算1-3+5-7+-99+101的值存在s中,請填空。#include <>#include <>main()int i,t=1,s=0;for(i=1;i<=101;_ i+=2_)s=s+i*t;t=_(-1)*t_;8若已知a=10,b=20,則表達式!a<
26、b的值是_0_三、寫出程序的運行結果(30分,每題10分)1(1)函數func()的功能是什么(2)寫出程序運行的輸出結果。int func(int x,int y)int z;z=x+y;return z;main()int c;int a=5;int b=7;c=func(a,b);printf(“A+B=%dn”,c);A+B=122寫出程序運行后的輸出結果main() int num44=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,i,j; for(i=0;i<4;i+) for(j=0;j<=i;j+) printf("%4c",' '); for(j=i;j<4;j+) printf("%4d",numi
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 關于一本書我的讀后感心得(10篇)
- 小學英語在線學習平臺方案
- 無聊的春節600字作文(8篇)
- 公共服務領域勞動力管理及保障措施
- 傷口護理外科標準化診療體系
- 智能土地規劃系統開發合同
- 高二人生希望作文400字(12篇)
- 制造業質量控制的關鍵工序措施
- 肺炎兒童恢復護理要點
- 商場銷售培訓
- 2025年山東省青島市即墨區九年級二模考試數學試卷
- 2025年中考時事政治100題(附答案解析)
- MOOC 創業管理-江蘇大學 中國大學慕課答案
- 建筑給水排水及采暖工程施工質量驗收規范-培訓課件
- GA/T 1132-2014車輛出入口電動欄桿機技術要求
- CB/T 465-1995法蘭鑄鐵閘閥
- DL∕T 2040-2019 220kV變電站負荷轉供裝置技術規范
- 譯林版高中英語必修三Uint1 Grammar and usage (I) 教案(名校)
- 乘法分配律(練習)
- 經營高危險性體育項目游泳審批條件和程序
- 9700162-1 ISO15004-2-2007 光危害防護 (中文翻譯稿)
評論
0/150
提交評論