C語言程序設計試題A_第1頁
C語言程序設計試題A_第2頁
C語言程序設計試題A_第3頁
C語言程序設計試題A_第4頁
C語言程序設計試題A_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、四川職業(yè)技術學院2005 2006學年第1學期期末考試題號-一一二二二總 分總分人分數(shù)考試時間:120分鐘命題人:陳科C語言程序設計(供04電氣、04機電班使用)滿分:100分順序結(jié)構、選擇結(jié)構、轉(zhuǎn)移結(jié)構 分支結(jié)構、等價結(jié)構、循環(huán)結(jié)構 多分支結(jié)構、賦值結(jié)構、等價結(jié)構 順序結(jié)構、選擇結(jié)構、循環(huán)結(jié)構2、以下敘述中正確的是A)B)C)D)B)整型、實型、字符型D)字符型、實型、邏輯型以下符合C語言語法的表達式是B ) a=b=c+2 C ) int 18.5%3 D )B)+i;D)a=i nt ( i);10.0,22.0,33.0< 回車1022回車33回車B)a=1,b=1C)a=1,b

2、=0B)2,2,1C)2,2,2一、單項選擇題,答案不寫入答題欄的一律不得分!(每題 1.5分, 共52.5分)1、結(jié)構化程序設計的3種結(jié)構是A)B)C)D)C語言比其他語言咼級C語言可以不用編譯就能被計算機識別執(zhí)行C語言以接近英語國家的自然語言和數(shù)學語言作為語言的表達 形式C語言出現(xiàn)的最晚,具有其他語言的一切優(yōu)點3、 C語言中最簡單的數(shù)據(jù)類型包括 。A)整型、實型、邏輯型C)整型、字符型、邏輯型4、若變量已正確定義并賦值,A) a:=b+1 a=a+7=c+b5、 若變量a,i已正確定義,且i已正確賦值,合法的語句 是 。A) a= =1 a=a+=5;6、已知:int t=0;while

3、(t=1 ) .則以下敘述正確的是。A)循環(huán)控制表達式的值為0 B )循環(huán)控制表達式的值為1 C)循環(huán)控制表達式不合法D )以上說法都不對7、若變量已正確說明為float 型,要通過語句seanf (" %f%f%P ,&a,&b,&c ); 給a賦予10.0,b賦予22.0,c賦予33.0,下列不正確的輸入形式是。A) 10<回 車 >22<回 車 >33<回 車 >C 10.0< 回車>22.033.0< 回車 >8有如下程序:main ()int x=1,a=0,b=0;switch (x)ca

4、se 0: b+;case 1: a+;case 2: a+;b+;printf ("a=%d,b=%dn",a,b ) ;該程序的輸出結(jié)果是A) a=2,b=1a=2,b=29、有以下程序main ()int i=1,j=1,k=2;if (j+|k+ ) &&i+)printf ("%d,%d,%dn",i,j,k);執(zhí)行后輸出結(jié)果是.A) 1,1,22,2,310、有如下程序main ()float x=2.0,y;if (x<0.0) y=0.0;else if(x<10.0) y=1.0/x;else y=1.0;p

5、rintf ("%fn",y ) ;0該程序的輸出結(jié)果是A) 0.000000 0.50000011、有如下程序: main () int n=9;while (n>6)B) 0.250000D) 1.000000n-; printf ("%d", n) ;該程序的輸出結(jié)果是 。A) 987B) 876C) 876512、在下列選項中,沒有構成死循環(huán)的是 A) int i=100; while (1) i=i%100+1;(i>100) break;if B)C)for (;);int k=10000; dok+;while D) int s

6、=36 ; while (s) - -s;13、設 int x=1,y=1;A) 014、有以下程序(k>10000);表達式(!x|y-B) 1)的值是C) 2D) 98760D) -116、若有以下調(diào)用語句,則不正確的fun main ()int a 50fun (n, &a,n;9);A) void fun C) void fun解析把數(shù)組a中9號元素的地址傳遞給(int m, int x (intp, int *s)函數(shù)的首部是41)做函數(shù)的形參。A選項用不定長度的數(shù)組 作形參;C用指針變量*s作形參;顯然D中形參變量a只是普 接收來自于實參9號元素的地址。B) void

7、 fun (int s, int hD) void fun (int n, int afun的函數(shù)參數(shù),本題的考點是用什么來 x作形參;B選項用長度小于50的數(shù)組h 通的整形變量,不能17、fseek函數(shù)的正確調(diào)用形式是 。A) fseek (文件指針,起始點,位移量)B) fseek (文件指針,位移量,起始點) C) fseek (位移量,起始點,文件指針)D) fseek (起始點,位移量,文件指針)18、若fp是指向某文件的指針,且已讀到文件末尾,則函數(shù) 是。A) EOFB) -1feof (fp )的返回值D) NULLfloat fun(int x,i nt yreturn (x+

8、y ) ; main () int a=2,b=5,c=8; printf("%3.0f n",fu n 程序運行后的輸出結(jié)果是. A)編譯出錯B) 9(int ) fun (a+c,b) ,a-c ); oC) 21 D) 9.015、若已定義的函數(shù)有返回值,貝U以下關于該函數(shù)調(diào)用的敘述中錯誤的 是.A)B)C)D)0函數(shù)調(diào)用可以作為獨立的語句存在 函數(shù)調(diào)用可以作為一個函數(shù)的實參 函數(shù)調(diào)用可以出現(xiàn)在表達式中 函數(shù)調(diào)用可以作為一個函數(shù)的形參19、若有說明語句:char c=' 72'則變量cA)包含字符1個字符B)包含2個字符D)說明不合法,c的值不確定20

9、、若有說明A) a 02*1a 04oC)包含3個int a 3 4;則a數(shù)組元素的非法引用是 B) a 13C) a 4-2 021、設有以下說明語句struct stuint a;float b; stut ype;則下面的敘述不正確的是A) struct是結(jié)構體類型的關鍵字 戶定義的結(jié)構體類型C) stutype是用戶定義的結(jié)構體類型名 結(jié)構體成員名struct stu 是用D) a 和 b 都是22、在C語言中,引用數(shù)組元素時,其數(shù)組下標的數(shù)據(jù)類型允許 是。A)整型常量B)整型表達式C)整型常量或整型表達式 的表達式D)任何類型27、下列程序執(zhí)行后的輸出結(jié)果是void func (in

10、t *a,i nt b b 0 =*a+6; main ()int a,b5;a=0; b 0 =3; func (&a,b) ; printf A) 68)("%cln",b 0);23、若運行時給變量x輸入12,則以下程序的運行結(jié)果是 main ()int x,y;seanf ("%d",&x); y=x>12?x+10:x-12;printf("%d n",y );A) 0B) 22C) 1224、以下說法正確的是。C語言程序總是從第一個的函數(shù)開始執(zhí)行在C語言程序中,要調(diào)用函數(shù)必須在 main ()函數(shù)中定

11、義C語言程序總是從main ()函數(shù)開始執(zhí)行C語言程序中的main ()函數(shù)必須放在程序的開始部分A)B)C)D)D) 10解析func (&a,b)中兩個參數(shù)分別把整形變量a的地址傳遞給指針變量*a、把數(shù) 組b (即數(shù)組名作實參)首元素的地址傳遞給形參數(shù)組 b 。因此在func ()函 數(shù)中,b 0二*a+6=0+6=6。28、若有下面的程序段:char s ="ehi na"char *p; p=s;則下列敘述正確的是。A) s和p完全相同B)數(shù)組s中的內(nèi)容和指針變量P中的內(nèi)容相等C) s數(shù)組長度和P所指向的字符串長度相等D) *p與s 0相等29、有以下程序v

12、oid sort (int aint i,j,t;for (i=0;i<n-1;i+for (j=i+1;jvn;j+ ,int n )C) 0xE8D) 0x1725、表達式0x139x17的值是_A) 0x04B) 0x13 26、有以下程序#define F (X,Y)( X) * (Y)main ()int a=3, b=4;printf("%d n", F (a+, b+ );程序運行后的輸出結(jié)果是 A) 12B) 1516D) 20if (a i va j ) t=a i ;a i =a j ;a j =t;main ()int aa 10 =1,2,3,

13、4,5,6,7,8,9,10,i;sort (&aa 3 ,5 );for (i=0;iv10;i+) printf ("%d,",aa i );printf (" n");程序運行后的輸出結(jié)果是 。A) 1,2,3,4,5,6,7,8,9,10,B) 10,9,8,7,6,5,4,3,2,1,C) 1,2,3,8,7,6,5,4,9,10,D) 1,2,10,9,8,7,6,5,4,3,解析sort (&aa3 ,5 )的作用是把數(shù)組aa的第3號元素及其后續(xù)4個元素( 共5個元素)由大到小排列,其他元素原樣輸出。30、以下程序的運行結(jié)果

14、是_#i nclude "stdio.h"main ()struct dateint year,m on th,day;today; printf("%d n",sizeofA) 61031、若有語句 int *point, a=4; 是。A) a,point,*&aB)&a,&*poin t, point(struct date );8D) 12和point=&a;下面均代表地址的一組選項&*a,&a,*pointC) *&point,*point,&aA) 3648B) 64C)D)以上

15、都不對34、下列關于C語言數(shù)據(jù)文件的敘述中正確的是A)B)C)D)文件由ASCII碼字符序列組成,C語言只能讀寫文本文件 文件由二進制數(shù)據(jù)序列組成,C語言只能讀寫二進制文件 文件由記錄序列組成,可按數(shù)據(jù)的存放形式分為二進制文件和文本文件 文件由數(shù)據(jù)流形式組成,可按數(shù)據(jù)的存放形式分為二進制文件和文本文件32、已定義以下函數(shù)fun (char *p2, char *p1while ( *p2=*p1 ) !=' 0' ) p 1+;p2+;函數(shù)的功能是。A)將p1所指字符串復制到p2所指內(nèi)存空間 賦給指針p2C)對p1和p2兩個指針所指字符串進行比較 字符串中是否有0'B

16、)將p1所指字符串的地址D)檢查p1和p2兩個指針所指33、若執(zhí)行下述程序時,若從鍵盤輸入 6和8時, main ()int a,b,s;scanf ("%d%d",&a,&b);s=aif (a<b)s=b;s*=s;printf ("%d",s );結(jié)果為35、有以下程序void ss (char *s,char t )while (*s)if (*s= =t ) *s=t - 'a'+ 'A's+;main ()char str1 100 ="abcddfefdbd",c=&

17、#39;d'ss (str1,c ) ; printf("%sn",str1 );程序運行后的輸出結(jié)果是 A) ABCDDEFEDBD B) abcDDfefDbDabcAAfefAbAD) Abcddfefdbd解析把字符串中的小寫字符 d'轉(zhuǎn)換為大寫字符 D'。字符指針*s是指向該 串的首字符(即字符 a'),隨著S+不斷向后續(xù)字符移動。t - 'a'+ 'A' 是英 文字符小寫轉(zhuǎn)大寫的公式,這里不再贅述。二、填空題,答案不寫入答題欄的一律不得分!(每空 2分,共30分) 36、以下程序段的輸出結(jié)果是 28

18、。main ()int a=2,b = 3,c=4;a*=16+(b+) -( +C);printf ("%d",a );373&若變量n中的值為24,則print ()函數(shù)共輸出_5_行,最后一行有 £個 數(shù)。void print (int n ,i nt aa )int i;for(i=1; ivn+1; i+printf("%6d", aaif (!(i%5) printfprintf(" n");)i );(" n");39、調(diào)用C語標準庫函數(shù)時要求用in elude 命令。40、stra

19、ct函數(shù)的作用是連接兩個字符數(shù)組中的字符串。main () int i, x 20 , max,index, n=10;randomize ();for (i=0;i<n;i+)x i : =rand () %50; printf ("%4d",x i );printf(" n");fun (x,n,&max,&index );printf("Max=%5d,l ndex=%4 n", max, i ndex );/* */)k=i+j;24641、C語言程序的注釋可以出現(xiàn)在程序中的任何地方,一個注釋以 為開始和

20、結(jié)束。42、設二進制數(shù)A是00101101,若想通過異或運算 AP使A的高4位取反,低4 位不變,則二進制數(shù) B應是1111 0000。43、若已知a=10, b=20,則表達式!avb的值為44、設i,j,k均為int型變量,則執(zhí)行完下面的for語句后,k的值 為 10。for (i=0, j=10; i<=j; i+, j-4546、下面函數(shù)的功能是:找出一維數(shù)組元素中最大的值和它所在的下標,最大 的值和它所在的下標通過形參傳回。數(shù)組元素中的值已在主函數(shù)中賦予。主函數(shù)中x是數(shù)組名,n是x中的數(shù)據(jù)個數(shù),max存放最大值,index存放最大值所在元素的 下標。randomize ()是初

21、始化隨機數(shù)生成器函數(shù),rand ()返回一個隨機數(shù)函數(shù)。 請?zhí)羁铡?i ncludevstdlib.h>#i ncludevstdio.h>void fun (int a ,int n, int *max, int *d int i;*max=a 0;*d=0;for (i=0; i<n ;i+)if (*max< ai) *max=a i ;*d=i;47、以下程序的輸出結(jié)果是 void fun () static int a=0;a+=2; printf ("%d",a );main () int cc;for (cc=1;cc<4;cc+

22、 ) fun ();printf (" n");解析第一次調(diào)用fun (),輸出a為2;第二次調(diào)用fun (),輸出a為4 (局部 靜態(tài)變量,不重新賦初值);則第三次調(diào)用輸出為6。48、以下程序的輸出結(jié)果是7。#define MAX (x,y )(x) > (y) ? (x) : (y) main () int a=5,b=2,c=3,d=3,t; t=MAX( a+b,c+d) *10; printf ("%dn",t );49、下列y的值是8。int y; y=sizeof (2.25*4 );50、mystrlen函數(shù)的功能是計算str所指字

23、符串的長度,并作為函數(shù)值返回。請?zhí)?空。int mystrle n(char *str ) int i;for (i=0; *(sM+i )或者寫成 stri !=0,;i+return (i );三、程序設計題。要求程序結(jié)構清晰,沒有邏輯錯誤,書寫工整,果。請寫在背面并標明題號(第 51題7.5分、第52題10分, 步驟評分)51、輸入一個3X3的整數(shù)矩陣,求其對角線元素之差。#in clude <stdio.h>void mai n()int a33,mi nus;int i,j;prin tf("e nter data:n");for (i=0;i<3;i+)for (j=0;j<3;j+)sca nf("%d",&aij);min us=a00;for (i=1;i<3;i+)mi nu s=mi nu s-aii; prin tf(" minu s=%6dn",m inu s);52、有10個學生,每個學生的數(shù)據(jù)包括學號(stu_num,6個字符,如s00101)、 姓名(name,8個字符) 實型,初始時不賦值,) 門課程的平均分,存回#in clude <stdio.h>#defi ne N 10struct stude ntchar stu_ nu m6;

溫馨提示

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

評論

0/150

提交評論