C語言程序設(shè)計各章練習(xí)題_第1頁
C語言程序設(shè)計各章練習(xí)題_第2頁
C語言程序設(shè)計各章練習(xí)題_第3頁
C語言程序設(shè)計各章練習(xí)題_第4頁
C語言程序設(shè)計各章練習(xí)題_第5頁
免費預(yù)覽已結(jié)束,剩余34頁可下載查看

下載本文檔

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

文檔簡介

1、«C語言程序設(shè)計各章練習(xí)題2016年12月匯編第1-3章C語言基礎(chǔ)、編程規(guī)范、順序結(jié)構(gòu)程序設(shè)計編程題1:設(shè)a和b均為int型變量,編寫一個程序,通過鍵盤讀入 a,b的值,然后交換a,b 的值。要求屏幕顯示“輸入2個整數(shù),用空格隔開”的提示語句,并且輸出交換前 a,b的值, 交換后a,b的值。附加要求:(1)允許定義第3個變量,實現(xiàn)交換;(2)不允許定義第3個變量,實現(xiàn)交換。第4章選擇結(jié)構(gòu)程序設(shè)計編程題2:根據(jù)下列函數(shù)關(guān)系寫程序,要求提示輸入 x的值,輸出y的值。編程題2:根據(jù)下列函數(shù)關(guān)系寫程序,要求提示輸入 x的值,輸出y的值。編程題3:求ax2+bx+c=0方程的解。(只輸出b2-

2、4ac>=0的求解結(jié)果,小于0,輸出“不予求 解!”)第5章循環(huán)結(jié)構(gòu)程序設(shè)計編程題4:編程計算£ io要求提示鍵盤輸入n,如n為負(fù)數(shù),不予計算,直接返回。 i 1編程題5:編程序計算n!,要求n從鍵盤輸入,如n小于0,不予計算。編程題6:從鍵盤輸入一個數(shù)n,判斷n是否是素數(shù)。編程題6:編寫程序輸出1100之間的偶數(shù),要求屏幕顯示時5個偶數(shù)一行,每個數(shù)占5位, 右對齊。編程題7:編程計算100到1000之間有多少個數(shù)其各位數(shù)字之和是 5,并將其輸出。編程題8:求滿足下列條件的三位數(shù) n,它除以11 (整數(shù)相除)所得到的商等于 n的各位數(shù)字 的平方和,且其中至少有二位數(shù)字相同的數(shù)。

3、編程題9:有一些十進(jìn)制整數(shù)對 ab和cd具有如下特性:abxcd=baXdcM中awb且cwd如: 12X42=21X24青編程找出3050之間滿足上述等式所有 m, n值,并按上述等式的格式輸出。(X用*表示)編程題10:從鍵盤上輸入一個整數(shù),然后把這個整數(shù)的各位逆序輸出。例如,輸入123456,輸出 654321。第 6 章數(shù)組編程題11:有一個已排好序的數(shù)組inta11=-5,-3,0,6,8,12,16,28,66,88;要求輸入一個數(shù)后,按原來排序的規(guī)律將它插入數(shù)組中。編程題12:輸入一個字符串(字符個數(shù)為小于100),統(tǒng)計其中字母、數(shù)字、空格以及其它符號的個數(shù),并將大寫字母改為小寫

4、字母,輸出改變后的字符串。(提示: A 的 ASCII 值為65,a 的 ASCII 值為97)編程題12:輸入一行字符(字符數(shù)組的個數(shù)小于100),統(tǒng)計其中字母、數(shù)字以及其它符號的個數(shù)。(注:數(shù)組限定字符個數(shù)小于100)編程題12:輸入一行字符,分別統(tǒng)計出其中英文字母、數(shù)字、空格和其他字符的個數(shù)。(注:字符個數(shù)不受限制) 第 7 章函數(shù)編程題13:編寫一個子函數(shù)intfun(intn),其功能是判斷整數(shù)n是否為素數(shù),n是素數(shù),返回值 為1; n不是素數(shù),返回值為00調(diào)用該函數(shù),將100200之間的素數(shù)全部輸出,要求屏幕上每 個數(shù)占 4 位,每行顯示5 個素數(shù),左對齊。(循環(huán)、條件分支、子函數(shù)

5、、變量的值傳遞、屏幕顯示格式控制) 編程題14:主函數(shù)中定義兩個數(shù)組inta5=5,4,8,-1,2,b10=1,-124,8,4,0,9,3,7川子函數(shù)實現(xiàn) 從小到大而冒泡排停,子函數(shù)為 voidbubble(int口,int)H隸在主函畋中立示侏序前、后的數(shù)匆 a 和 b 的元素。(循環(huán)、條件分支、子函數(shù)、數(shù)組、地址傳遞)編程題15:主函數(shù)中定義兩個數(shù)組inta5=5,4,8,-1,2,b10=1,-124,8,4,0,9,3,7川子函數(shù)實現(xiàn) 從小到大的選擇法排序,子函數(shù)為 voidsort(int,int)刎求在主函數(shù)中顯示排停前、后的數(shù)組 a 和 b 的元素。(循環(huán)、條件分支、子函數(shù)、

6、數(shù)組、地址傳遞)編程題16:用遞歸函數(shù)計算n!。編程題17:編寫一個子函數(shù)intfact(intn),計算n的階乘。調(diào)用該函數(shù)計算1! +2! +3!+ +n!,要求n從鍵盤輸入,如輸入n小于0,不予計算。(循環(huán)、遞歸函數(shù))編程題18:將16進(jìn)制或 8進(jìn)制或 2進(jìn)制數(shù)轉(zhuǎn)換為十進(jìn)制數(shù)(字符數(shù)組、字符串函數(shù)、子函數(shù)、字符 ASCII 值與10進(jìn)制數(shù)的轉(zhuǎn)換,指數(shù)函數(shù)的調(diào)用)編程題18:編程實現(xiàn)八進(jìn)制數(shù)轉(zhuǎn)換為十進(jìn)制數(shù) (注:用字符數(shù)組n100接收輸入,輸入的八進(jìn)制數(shù)肯定正確,無須檢測;八進(jìn)制數(shù)轉(zhuǎn)換為十進(jìn)制數(shù)的子函數(shù)為inthtoi(charhnum);編程題18:編寫一個子函數(shù),將16進(jìn)制數(shù)轉(zhuǎn)換為10

7、進(jìn)制數(shù)。編程題19:編寫一個子函數(shù),主函數(shù)用字符數(shù)組作為實參,統(tǒng)計字符串中字母、數(shù)字、空格以及其他符號的個數(shù),要求主函數(shù)中顯示字符串與統(tǒng)計結(jié)果。編程題20:編寫一個子函數(shù),主函數(shù)輸入一行字符,子函數(shù)找出字符串中最長的單詞,并顯示結(jié)果。編程題21 :用遞歸法將一個整數(shù)n 轉(zhuǎn)換為字符串。例如:輸入483,輸出字符串“483”, n的位數(shù)不確定。編程題22:寫一個子函數(shù),將輸入的字符串按反序存放,在 main中輸入和輸出字符串。 第8章指針編程題23:編寫一個子函數(shù) mystrcmp(char*s1,char*s2)J現(xiàn)2個字符串的比較。編程題23:編程實現(xiàn)兩個字符串連接起來,不要用strcat函數(shù)

8、。編程題23:用函數(shù)調(diào)用實現(xiàn)字符串的復(fù)制。編程題23:寫一個函數(shù),求一個字符串的長度。在main函數(shù)中輸入字符串,并輸出其長度。編程題24:寫一個用矩形法求定積分的通用函氣端期榛sxdx、"dx編程題25:輸入一個字符串,內(nèi)有數(shù)字和非數(shù)字字符,如: A123x45617960?302tab5876將 其中連續(xù)的數(shù)字作為一個整數(shù),依次用數(shù)組存放這些數(shù),統(tǒng)計有多少個整數(shù),并輸出這些 數(shù)。編程題26:主函數(shù)輸入整數(shù)的個數(shù),用指針變量動態(tài)申請內(nèi)存,并用鍵盤按任意次序輸入n個整數(shù),用子函數(shù)voidbubble(int口,int)K現(xiàn)從小到大的冒泡排序。第9章結(jié)構(gòu)編程題27:建立一個鏈表,每個結(jié)

9、點包括:學(xué)號、姓名、性別、年齡,輸入一個年齡,如果 鏈表中的結(jié)點所包含的年齡等于此年齡,則將此結(jié)點刪去。編程題28: 13個人圍成一圈,從第一個人開始順序報號,凡報到 3者退出圈子,找出最后留 在圈子中的人原來的序號。要求用鏈表實現(xiàn)。編程題29:閱讀鏈表操作相關(guān)函數(shù),完成指定的操作函數(shù)。鏈表內(nèi)容僅限表頭表尾添 加、刪除、查詢、顯示、保 存,不考排序、中間節(jié)點的 插入和刪除#include"stdio.h"#include"malloc.h" #include"string.h" structStudent charname20; in

10、tnum; intmath; structStudent*next; ; structStudent*Create(structStudent*head);/ 生成數(shù)據(jù)鏈表 voidShowList(structStudent*head);/IL 示鏈表voidsaveList(structStudent*head);保存鏈表數(shù)據(jù)voidAddTail(structStudent*head,structStudent*temp)兼尾添力口元素 structStudent*AddHead(structStudent*head,structStudent*temp)表頭添力口元素 structSt

11、udent*DeleteSomeone(structStudent*head);刪除元素voidFindSomeone(structStudent*head)浙詢元素structStudent*DeleteHead(structStudent*head);刪除表頭voidDeleteTail(structStudent*head);刪除表尾voidmain()structStudent*head=NULL,*temp=NULL;intchoice;doprintf("1: 創(chuàng)建數(shù)據(jù)鏈表n");printf("2: 添加鏈表單元n");printf(&qu

12、ot;3: 刪除鏈表單元n");printf("4: 查詢鏈表單元n");printf("5: 刪除表頭n");printf("6: 刪除表尾n");printf("7: 退出 n");printf(" 請輸入功能選擇:");scanf("%d",&choice);/cin>>choice;if(choice=1) head=Create(temp);ShowList(head);saveList(head);elseif(choice=2)/表

13、頭添加元素temp=(structStudent*)malloc(sizeof(structStudent);printf(" 姓名:");scanf("%s",temp->name);printf(" 學(xué)號:");scanf("%d",&temp->num);printf(" 成績:");scanf("%d",&temp->math);AddTail(head,temp);/head=AddHead(head,temp);ShowList(

14、head);saveList(head);elseif(choice=3)刪除元素head=DeleteSomeone(head);ShowList(head);saveList(head);elseif(choice=4)查找元素FindSomeone(head);elseif(choice=5)刪除表頭head=DeleteHead(head);ShowList(head);saveList(head);elseif(choice=6)刪除表尾DeleteTail(head);ShowList(head);saveList(head);elseif(choice=7)printf(&quo

15、t; 謝謝使用!n");elseprintf("非法輸入,請輸入17之間的數(shù)!n");while(choice!=7);structStudent*Create(structStudent*head)/ 包含讀文件創(chuàng)建鏈表structStudent*pS,*pEnd;FILE*fp;fp=fopen("e:list.txt","r");if(fp!=NULL)/表明已有鏈表數(shù)據(jù),直接讀入intflag;while(1)pS=(structStudent*)malloc(sizeof(structStudent);flag=f

16、scanf(fp,"%s%d%d",pS->name,&pS->num,&pS->math);if(flag=EOF)break;if(head=NULL)head=pS;elsepEnd->next=pS;pEnd=pS;if(head!=NULL)pEnd->next=NULL;printf(" 已從文件中讀入數(shù)據(jù)創(chuàng)建鏈表!n");deletepS;fclose(fp);if(head=NULL)while(1)pS=(structStudent*)malloc(sizeof(structStudent)

17、;printf(" 姓名 :"); scanf("%s",pS->name);if(strcmp(pS->name,"000")printf(" 學(xué)號:"); scanf("%d",&pS->num);printf(" 成績:"); scanf("%d",&pS->math);elsebreak;if(head=NULL)head=pS;elsepEnd->next=pS;pEnd=pS;pEnd->ne

18、xt=NULL;deletepS;returnhead;voidShowList(structStudent*head)/ 顯示鏈表上的數(shù)據(jù)printf(" 學(xué)生姓名學(xué)號成績:n");while(head)printf("%20s",head->name);printf("%6d",head->num);printf("%5dn",head->math);head=head->next;voidsaveList(structStudent*head)/保存鏈表上的數(shù)據(jù)FILE*fp;fp=f

19、open("e:list.txt","w");if(fp=NULL)printf(" 無法創(chuàng)建文件e:list.txt!");return;while(head)fprintf(fp,"%s%d%dn",head->name,head->num,head->math);head=head->next;fclose(fp);voidAddTail(structStudent*head,structStudent*temp)/ 加在表尾structStudent*last;while(head)

20、last=head;head=head->next;last->next=temp;temp->next=NULL;structStudent*AddHead(structStudent*head,structStudent*temp)/ 加在表頭structStudent*first;first=head;head=temp;head->next=first;returnhead;structStudent*DeleteSomeone(structStudent*head)structStudent*temp;intxnum,flag=0;printf("

21、請輸入學(xué)號:");scanf("%d",&xnum);if(head=NULL)printf(" 表為空 !n");returnhead;if(head->num=xnum)temp=head;head=head->next;deletetemp;returnhead;Student*first=head;while(head)if(head->next=NULL)break;temp=head->next;head->next=temp->next;deletetemp;flag=1;break;h

22、ead=head->next;if(flag=0)printf(" 未發(fā)現(xiàn) !n");returnfirst;voidFindSomeone(Student*head)按學(xué)號查找intxnum,flag=0;printf(" 請輸入學(xué)號:");scanf("%d",&xnum);while(head)if(head->num=xnum)printf("%20s",head->name);printf("%6d",head->num);printf("%4

23、dn",head->math);flag=1;break;head=head->next;if(flag=0)printf(" 未發(fā)現(xiàn) !n");structStudent*DeleteHead(structStudent*head)if(head=NULL)printf(" 表為空 !n");returnhead;if(head->next=NULL)deletehead;head=NULL;returnhead;elsestructStudent*first=head;head=head->next;deletefi

24、rst;returnhead;voidDeleteTail(structStudent*head)if(head=NULL)printf(" 表為空 !n");if(head->next=NULL)deletehead;head=NULL;elsestructStudent*temp,*end;end=head;while(end->next!=NULL)temp=end;end=end->next;temp->next=NULL;第 10章文件編程題30:編程實現(xiàn):有一個文本文件“a.txt,”里面有大小寫英文字母、數(shù)字和其它符號。要求分別統(tǒng)計其中

25、大寫字母、小寫字母、數(shù)字以及其它字符的個數(shù)。編程題30:從鍵盤輸入一串字符,并以#結(jié)束,將其中的大寫字母全部轉(zhuǎn)換成小寫字母,并輸出到計算機D盤文件“test.txt ”中保存。(提示:一用字符并不意味著一行字符,另外一申字符的具體字符個數(shù)是不定的。)編程題31:從鍵盤輸入一個字符串,將其中的小寫字母全部轉(zhuǎn)換為大寫字母,然后輸出到C盤“ test ”文件中保存,輸入的字符串以“!”結(jié)束。編程題32:有兩個磁盤文件“ A和“B”,各存放一行字母,要求把這兩個文件中的信息合 并(按字母順序排列),輸出到一個新文件“ C”中去。編程題33:有5 個學(xué)生,每個學(xué)生有3 門課程的成績,從鍵盤輸入學(xué)號、姓名

26、、3 門課程成績,計算每個學(xué)生的平均成績,將原有數(shù)據(jù)和平時成績存放在磁盤文件“ stud”中。第 1-3 章 C 語言基礎(chǔ)、編程規(guī)范、順序結(jié)構(gòu)程序設(shè)計一、選擇題1 . C語百是一種(C)程序設(shè)計語百A.低級B.面向?qū)ο驝.高級D.智能2 .下列特性中,(D)不是C語言的特征。A.運行效率高B.結(jié)構(gòu)化程序設(shè)計C能直接訪問物理地址D.類型檢測嚴(yán)格3 .下列標(biāo)識符中,(D)不是C的關(guān)鍵字;A.intB.floatC.charD.scanf4 .下列標(biāo)識符中,(D)不是C的關(guān)鍵字;A.sizeofB.shortC.longD.define5 .下列標(biāo)識符中,(D)不是C的關(guān)鍵字;A.gotoB.bre

27、akC.autoD.printf6 .下列標(biāo)識符中,(D)不是C的關(guān)鍵字;A.static B.struct C.void D.include7 .下列自定義標(biāo)識符中,(C)是不符合規(guī)定。A.point1x B._point1x C.2pointx D.pointx_28 .下列自定義標(biāo)識符中,(C)是不符合規(guī)定。A.MAX B._MIN C.MAX$ D.MIN_29 .下列自定義標(biāo)識符中,(D)是不符合規(guī)定。A.point1_B._point1x C.pointxD.pointx_?#10 .下列自定義標(biāo)識符中,(A)是不符合規(guī)定。A.2_point1xB._point1x C.point

28、xD.pointx_211 下列四個選項中,是不合法的用戶標(biāo)識符的選項是(C)A. P_0B. _abcC. gotoD. temp12下面是不正確的字符串常量的是(A)A. ' abc'B. "12' 12"C.“0"D. ”13 .已知inta;floatf; scanf( "a=%d,f=%f",&的&0把10和3.14分別賦值給a和f,則正確的輸入為(C)A 10,3.14B.103.14C.a=10,f=3.14D.a=10f=3.1414 .輸入語句為:scanf("%f,%fn&q

29、uot;,&radius,&high);下列鍵盤輸入(D)是正確的。A. 12/; B. 1, 2n/; C. 1/2/; D. 1,2/;15 .輸入語句為:scanf("a=%f,b=%f",&radius,&high)從鍵盤卒U入(D)是正確的。A. 12/; B. 1, 2/; C. 1/2/; D. a=1,b=2/;16 .輸入語句為:scanf("a=%f,b=%fn",&radius,&high);從鍵盤輸入(D)是正確的。A.12/;B.1, 2/;C.1/2/; D. a=1,b=2n/

30、;17 .輸入語句為:scanf("a=%fb=%f",&radius,&high)從鍵盤輸入(D)是正確的。A.12/;B.1, 2/;C.1/2/; D. a=1b=2/;18 . doublePI=3.1415926輸出語句為:printf("%3.2lf",PI);下列輸出結(jié)果(D)是正確的。A3.1415926;B3.2; C3.1; D 3.14;19 . doublePI=3.1415926輸出語句為:printf("%5.4lf",PI);下列輸出結(jié)果(B)是正確的。A3.1415926;B3.1415

31、;C 3.1416; D5.4;20 . doublePI=3.1415926輸出語句為:printf("%3.4lf",PI);下列輸出結(jié)果()是正確的。A 3.1415926; B 3.141; C 3.1415; D 3.1416;21 .設(shè)x,y均為float型變量,則下列不合法的賦值語句是()A. +xB. y=(x%2)/10C. x*=y+8 D, x=y=022. doublePI=3.1415926輸出語句為:printf("%4.2lf",PI);下列輸出結(jié)果()是正確的。A 3.1415926; B 4.2; C 3.141; D

32、3.14;1 3.inta=-1; C語言整型數(shù)分配4個字節(jié),在計算機中下列十六進(jìn)制表示的(A)是正確的。A. ffffffff ; B. ; C. ; D. 00000001;24 . inta=1 ; C語言整型數(shù)分配4個字節(jié),在計算機中下列十六進(jìn)制表示的a ()是正確的。A. 00000001; B. ; C. ; D. ffffffff ;25 . ?inta=-1; C語言整型數(shù)分配4個字節(jié),在計算機中下列十六進(jìn)制表示的a ()是正確的A. ; B. -00000001; C. -1; D. ffffffff ; *26 . inta=-1; C語言整型數(shù)分配4個字節(jié),在計算機中下列

33、十六進(jìn)制表示的 a ()是正確的。A. -ffffffff ; B. ; C. ffffffff ; D. -1; *27 .設(shè)有下列變量說明:chara;intx;floaty;doublez;則表達(dá)式a*x-z+y的值的數(shù)據(jù)類型為()。*A. float B. char C. int D. double28 .已知字母a的ASCII碼為十進(jìn)制數(shù)97,且設(shè)ch為字符型變量,則表達(dá)式 ch=' a' -+'面植A. f ' B . ' a' C. 'Dd' 102C. ch=' a' +' bD. ch=5

34、+9s=25/3%3 的值為()C . 2D. 3s%2+(s-1)%2勺值為()C . -1D. 2s%2+(s+1)%2勺值為()C. 2D .不確定29 .已知ch是字符型變量,下列不正確的賦值語句是()A. ch=' a+b'B . ch='0'30 .若s是int型變量,則表達(dá)式A. 25B . 131 .若s是int型變量,則表達(dá)式A. 0B , 132 .若s是int型變量,則表達(dá)式A. 0B , 133 .下列表達(dá)式中,不能正確表達(dá)代數(shù)式繁含義的C語言表達(dá)式是()A. x/a/b*y*2 B . 2*x*y/a/bC. 2*x*y/a*bD. x

35、*y/b/a*234 .若x、i、j、k均為int變量,則計算表達(dá)式x=(i=4,j=16,k=32)=,x的值為()A.4B.16C.32D.5235 .已知 inta=6,b=6;執(zhí)行 b=(+b)+(a+)后,a 和 b 的值為()A.a=7,b=13B.a=7,b=14C.a=6,b=13D.a=6,b=1436 .若有定義:intx=5,y=2;則計算表達(dá)式y(tǒng)+=y- =x*=y后,y的值為()A. 16B . - 16C, 7D. 1037 .若a是int型變量,且其初值為6,則計算表達(dá)式a+=a=a*a后,a的值為()A. -30B , -60C, -24D. 638 .若x的初

36、值為7,執(zhí)行語句x+=*=x+x;后,x的值為()A. 21B . -14C. 14D. -2139 . C語言的編譯系統(tǒng)對宏命令的處理是()A.在程序運行時進(jìn)行的B.在程序連接時進(jìn)行的C.和C程序中的其他語句同時進(jìn)行編譯的D.在對源程序中其他成分正式編譯之前進(jìn)行的40以下正確的敘述是()A.C語言的預(yù)處理功能是指完成宏替換和包含文件的調(diào)用B.預(yù)處理指令只能位于C源程序文件的首部C.凡是C源程序中行首以“ #"標(biāo)識的控制行都是預(yù)處理命令D. C語言的編譯預(yù)處理就是對源程序進(jìn)行初步的語法檢查41以下在任何情況下計算平方數(shù)時都不會引起二義性的宏定義是()A. #definePOWER(x

37、)x*x B . #definePOWER(x)(x)*(x)C. #definePOWER(x)(x*x) D. #definePOWER(x)(x)*(x)42以下有關(guān)宏替換的敘述中錯誤的是()A.宏替換不占用運行時間B.宏替換只是字符替換C.宏替換在編譯之前進(jìn)行D.宏名必須用大寫字母表示43.下列程序段的運行結(jié)果為()。voidmain()charc1,c2;c1= A -+ 35 ;c2= -A 3;+ 6printf(%d%c ,c1,c2)A.C,DB.67,DC.B,C確定值二、填空題1 .在C語言中,實型變量可以分為兩種類型,它們是 和。2 .若x, a為整型變量,則計算表達(dá)式

38、x=(a=4, 6*2)后的x值為,計算表達(dá)式 x=a=4, 6*2后的x值為。3 .若x和n均是int型變量,且x和n的初值均為5,則計算表達(dá)式x+=n+后x的值, n 的值為 0三、閱讀下列程序,在下劃線上寫出輸出結(jié)果1 .程序段:#defineMUL(x)(x)*(x)*(x)main()printf("%MUL(1+2)+3); 的結(jié)果是。2 .程序段:#definey(t)(t)*(t)main()printf(",戒1+2)+3); 的結(jié)果是。3 .以下程序的輸出結(jié)果是(19)21。#include<stdio.h>#defineM(x,y,z)x*

39、y+zvoidmain()inta=2,b=3,c=4;printf("%dn",M(a+b,b+c,c+a);/知識點:宏定義是編譯時先替換,運行時才計算第4章選擇結(jié)構(gòu)程序設(shè)計一、選擇題1 .若x是int型變量,則表達(dá)式x%2+(x+1)%2的值為()。A. 0 B . 1 C . 2 D .不確定2 .設(shè)有定義inta=3, b=4, c=5,則表達(dá)式a|b+c&&b=c的值為()。A. 3B . 1 C . 0 D .不確定3判斷字符串a(chǎn) 和 b 是否相等,應(yīng)當(dāng)使用()A. if(a=b) B . if(a=b)C. if(strcpy(a, b) D

40、. if(strcmp(a, b)4表達(dá)式5!=4的值是()A. 0 B. 1 C. true D.任一非零數(shù)5 .設(shè)邏輯型變量a, b, c,其中a的值為1,則邏輯運算表達(dá)式a|b|c的值是()A. 0 B . 1 C . trueD.不確定6 .若a=5,b=4,c=2時,表達(dá)式a>b!=c的值是()A. 1 B . 0 C .非1D .不確定7 .設(shè)邏輯型變量a, b, c,其中a的值為0,則邏輯運算表達(dá)式a&&b&&c的值是()A. 0 B . 1 C .非1 D .不確定8 .若當(dāng)a的值為奇數(shù)時,表達(dá)式的值為“真”,當(dāng)a的值為偶數(shù)時,表達(dá)式的值為

41、“假”,則以下不能滿足要求的表達(dá)式是()A. a%2=1 B. ! (a%2=。C.! (a%2)D. a%29 .判斷字符型變量x是否為大寫字母的正確表達(dá)式是()A. ' A' <=x<= 'Z' B. (x>=A) & (x<=Z)C. (x>=' A'&& (x<=' Z' D. (x>=' A'and (x<=' Z'10 .若 x=5, y=2, z=1,則表達(dá)式 x-y<z|y=z 的值是()A. 0B , 1

42、C . 3D, 211 以下不正確的if 語句形式是()A if(x>y&&x!=y);B if(x=y)x+=y;C if( x!=y) x=1elsex=2;D if(x<y)x+;y+12 .設(shè)有定義 inta=1,b=2,c=3,d=4,m=2,n=2 執(zhí)行(m=a>b) &&(n=c>d)后 n 的值是()A. 1 B . 2C . 3D, 4二、填空題1.在C語言中,若x, y, z均為int型變量,則“x或y中有一個小于z”的表達(dá)式描述形式 為 0三、閱讀下列程序,在下劃線上寫出輸出結(jié)果1 .#include<stdi

43、o.h>voidmain()intx=1,y=0,a=0,b=0;switch(x)easel:switch(y)case0:a+;break;case1:b+;break;case2:a+;b+;break;printf( "d,%d ,a,b);/*輸出結(jié)果:*/2 .以下程序的運行結(jié)果是。#include<stdio.h>voidmain()if(x+>5)printf("% d,x)elseprintf("% d-x);四、程序填空1 .下列程序的功能是實現(xiàn)輸出a, b, c三個數(shù)中的最大值。請為程序填空。#include<s

44、tdio.h>voidmain()inta=5, b=4, c=8;;if()u=a;elseu=b;if()v=u;else;printf("v=% d,v);2 .下列程序的功能是根據(jù)下列函數(shù)關(guān)系,輸入 x的值,計算y的值。請為程序填空#include<stdio.h>voidmain()intx,y;scanf( %/od );if()y=x*(x+5);elseif()y=4*x;else;printf("/ d,y);第5章循環(huán)結(jié)構(gòu)程序設(shè)計一、選擇題1 .執(zhí)行語句for(i=1;i+<3;);后變量i的值的是()。A. 3 B . 4 C.

45、5 D.不確定2 .對于程序段intk=10;while(k)k=k-1;下面描述正確的是()。A.循環(huán)體執(zhí)行10次B.該循環(huán)為無窮循環(huán)3 .程序段:a=10; b=0;dob+=2;a- =2+b;while(a>=0);中循環(huán)體的執(zhí)行次數(shù)()A. 1 B . 2 C . 3D, 4C循環(huán)體執(zhí)行一次D.循環(huán)體一次也不執(zhí)行4 .設(shè)i為整型變量,則語句for(i=2;i=0; )a=3;中循環(huán)體的執(zhí)行次數(shù)為()D. 2次A.無限次5設(shè)有下列程序段:x=1;dox=x*x;while(!x)則該循環(huán)是()A.死循環(huán) B .循環(huán)執(zhí)行一次C.循環(huán)執(zhí)行二次 D.語句錯誤6設(shè)有程序段:intk=10

46、;while(k=0)k-;則下列描述中正確的是()A. while循環(huán)執(zhí)行10次B. while循環(huán)執(zhí)行無限次C. while循環(huán)執(zhí)行0次 D . while循環(huán)執(zhí)行1次7程序段:x=y=0;while(x<15)y+, x+=+y;執(zhí)行后 x 值是()A. 7 B , 12C, 8D. 208.與語句while(!E)中表達(dá)式! E等價的是()A, E=0 B. E! =1C.E!=0D. E=19以下不是死循環(huán)的語句是()A for(y=0,x=1;x>+y;x=i+)i=x;B for (;x+=);iC for(i=10;i- )a+=i;D. while(1)a+; ;

47、10 .程序段i=11;doi+;while(i<=10);執(zhí)行后i的值為()A. 11 B . 12C.10 D.不確定11 .執(zhí)行語句for(i=1;i+<3;);后變量i的值的是()A. 3 B . 4C.5D.不確定12 . for(x=0,y=0; (y=123)&&(x<4); x+);的循環(huán)執(zhí)行次數(shù)為()A.無限次 B.次數(shù)不定C執(zhí)彳亍3次D.執(zhí)行4次13 .程序段x=2;doprintf(;*-); while(!x=0)的運行結(jié)果為()A.*C.*14 .執(zhí)行語句for(i=4;i->0 ;);后變量i的值的是()A. 0 B . 1C

48、.2D.不確定二、填空題1.若for循環(huán)語句用以下形式表示:for(表達(dá)式1;表達(dá)式2;表達(dá)式3)循環(huán)體語句則執(zhí)行語句:for(i=0; i<4; i+)printf( 時;宸達(dá)式1執(zhí)行 次,表達(dá)式3執(zhí)行了 次。三、閱讀下列程序,在下劃線上寫出輸出結(jié)果1 .設(shè)有程序段k=1; n=263;dok*=n%10;n/=10;while(n);其運行結(jié)束后k的值為循環(huán)結(jié)束后n的值是2 .寫出以下程序的運行結(jié)果。#include<stdio.h>main()inty=10;doy-;while(- y);printf("%d,'); ,y3 .閱讀下列程序,在下劃線

49、上寫出輸出結(jié)果。#include<stdio.h>main()inty=-10;doy+;while(+y);printf(“ %+,+);/1V 輸出結(jié)果:*/4 .以下程序的運行結(jié)果是。#include<stdio.h>voidmain() inti;for(i=1;i<=5;i+)switch(i%5)case0:printf( “*");break;case1:printf(“#");break;default:printf( , " );case2:printf("&” );x。請為程序填空四、程序填空1.

50、下列程序的功能是采用“順序查找法”查找數(shù)組中是否存在元素#include<stdio.h>voidmain()inta8=9,1,3,2,6,4,7,8;inti,x;scanf( "d .);for(i=0;i<=8;i+)if(x=ai)printf("Found!TheIndexisn"-i );if()printf( "notfound! ” ;第6章數(shù)組一、選擇題1 .在C語言中引用數(shù)組元素時,其數(shù)組下標(biāo)的數(shù)據(jù)類型可以是()。A.整型常量B.整型表達(dá)式C.整型常量或整型表達(dá)式D.任何類型的表達(dá)式2 .以下能對一維數(shù)組a進(jìn)行正確

51、初始化的語句是()。A. inta10=(0,0)B . inta10=;C. inta=0; D. inta10=10*1;3 .若有說明:inta10;則對a數(shù)組元素的正確引用是()A. a10 B. A3. 5C.a (5)D. A10-104 .若有說明:inta34;則對a數(shù)組元素的正確引用是()A. a24 B. A2,4C.a1+10D. A(2) (1)5 .若有以下說明:inta3=1,2,3,4,5,6,7;則數(shù)組a的第一維的大小是()A. 4 B . 3C.2D.不確定6 .二維數(shù)組x有m歹I,若元素x是第一個元素,則xi加在數(shù)組中的位置是()A. i*m+j B , j

52、*m+i C.i*m+j-1D. i*m+j+17 .下面能正確進(jìn)行字符串賦值操作的是()A. chara5= "ABC DEB chara5= 'A' , ' B' ; ' C' , ' D' , ' E' C. char*a; a= "ABCDE D char*a; scanf( "S'; ,a)8 .若有定義:inta5;則數(shù)組a中首元素的地址可以表示為()A. &a B. a+1 C.aD. &a19 .若已定義chars10;則在下列表達(dá)式中不表示s1

53、的地址的是()A. s+1 B. s+ C. &s0+1 D. &s110 .設(shè)有數(shù)組定義:chararray=” Ch則數(shù)組所占的空間是:()A. 4個字節(jié)B.5個字節(jié)C.6個字節(jié)D.7個字節(jié)11 .下面各行語句中正確的是()。A.chars5= ” ABCD”E ;B.chars6;s= ” ABCD”;EC.char*s= ” ABCD”E D.char*s;scanf( “ %s” ,s)12以下正確的定義語句是()A. inta14=1,2,3,4,5; B. floatx3=1,2,3;C. longb23=1,1,2,1,2,3; D. doubley3=0;13

54、.若有以下說明:inta34=0;則下列正確的敘述是()A.只有元素a0可得到初值0B.此說明語句不正確C.數(shù)組a中各元素都可得到初值,但其值不一定為0D .數(shù)組a中各元素都可得到初值014兩個數(shù)組a 和 b 進(jìn)行如下初始化chara= ” abcdef ”;charb= , a b, ,c ,d ,e f15.則下列敘述正確的是()A. a和b數(shù)組完全相同 B. a和b長度相同C.a和b中都存放字符串D. a數(shù)組比b數(shù)組長度長16以下不能對二維數(shù)組a 進(jìn)行正確初始化的語句是()A. inta23=0; B . inta3=1 , 2, 0;C. inta23=1,2,3,4,5,6; D.

55、inta3=1,2,3,4,5,6;17下述對C 語言中字符數(shù)組的描述錯誤的是()A.字符數(shù)組可以存放字符串B.字符數(shù)組的字符串可以整體輸入和輸出C,可以在賦值語句中通過賦值運算符“=”對字符數(shù)組整體賦值D.不可以用關(guān)系運算符對字符數(shù)組中的字符串進(jìn)行比較18 .以下能對二維數(shù)組a進(jìn)行正確初始化的語句是()A. inta2=1,0,1,5,2,3; B . inta3=1,2,3, 4,5,6;C. inta24=1,2,3,3,4,6; D. inta3=1,2,3,4,5;19 .對數(shù)組說明語句:inta10=1,2,3,4,5;的正確理解是()A.將5個初值依次賦給a1到a5元素B.將5個

56、初值依次賦給a6到a10元素C.將5個初值依次賦給a0到a4元素D .該語句出錯20.對數(shù)組說明語句:inta10=1,2,3,4,5;的正確理解是()A.將5個初值依次賦給a1到a5元素B.將5個初值依次賦給a6到a10元素C.將5個初值依次賦給a0到a4元素D .該語句出錯21.若有定義:inta5;則數(shù)組a中首元素的地址可以表示為()A. &a B. a+1 C.aD. &a1二、填空題1 .若有如下定義:inta35,則a數(shù)組中行下標(biāo)的下限是 ,列下標(biāo)的的上限是 02 .若有定義:inta34=1,2,0,4,6,8,10;則初始化后,a12得到的初值是, a21 得到的初值是。3 .在C語言中,數(shù)組名是一個不可改變的 ,不能對它進(jìn)行賦值運算。數(shù)組在內(nèi)存 中占用一段連續(xù)的存儲空間,它的首地址由 表示。三、閱讀下列程序,在下劃線上寫

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論