C語(yǔ)言程序設(shè)計(jì)各章練習(xí)題_第1頁(yè)
C語(yǔ)言程序設(shè)計(jì)各章練習(xí)題_第2頁(yè)
C語(yǔ)言程序設(shè)計(jì)各章練習(xí)題_第3頁(yè)
C語(yǔ)言程序設(shè)計(jì)各章練習(xí)題_第4頁(yè)
C語(yǔ)言程序設(shè)計(jì)各章練習(xí)題_第5頁(yè)
已閱讀5頁(yè),還剩34頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

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

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

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

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

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

6、數(shù)組、地址傳遞)編程題16:用遞歸函數(shù)計(jì)算n!。編程題17:編寫(xiě)一個(gè)子函數(shù)intfact(intn),計(jì)算n的階乘。調(diào)用該函數(shù)計(jì)算1! +2! +3!+ +n!,要求n從鍵盤(pán)輸入,如輸入n小于0,不予計(jì)算。(循環(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:編程實(shí)現(xiàn)八進(jìn)制數(shù)轉(zhuǎn)換為十進(jìn)制數(shù) (注:用字符數(shù)組n100接收輸入,輸入的八進(jìn)制數(shù)肯定正確,無(wú)須檢測(cè);八進(jìn)制數(shù)轉(zhuǎn)換為十進(jìn)制數(shù)的子函數(shù)為inthtoi(charhnum);編程題18:編寫(xiě)一個(gè)子函數(shù),將16進(jìn)制數(shù)轉(zhuǎn)換為10

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

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

9、點(diǎn)包括:學(xué)號(hào)、姓名、性別、年齡,輸入一個(gè)年齡,如果 鏈表中的結(jié)點(diǎn)所包含的年齡等于此年齡,則將此結(jié)點(diǎn)刪去。編程題28: 13個(gè)人圍成一圈,從第一個(gè)人開(kāi)始順序報(bào)號(hào),凡報(bào)到 3者退出圈子,找出最后留 在圈子中的人原來(lái)的序號(hào)。要求用鏈表實(shí)現(xiàn)。編程題29:閱讀鏈表操作相關(guān)函數(shù),完成指定的操作函數(shù)。鏈表內(nèi)容僅限表頭表尾添 加、刪除、查詢、顯示、保 存,不考排序、中間節(jié)點(diǎn)的 插入和刪除#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)浙詢?cè)豷tructStudent*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(" 請(qǐng)輸入功能選擇:");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é)號(hào):");scanf("%d",&temp->num);printf(" 成績(jī):");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("非法輸入,請(qǐng)輸入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é)號(hào):"); scanf("%d",&pS->num);printf(" 成績(jī):"); 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é)號(hào)成績(jī):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(" 無(wú)法創(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、請(qǐng)輸入學(xué)號(hào):");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é)號(hào)查找intxnum,flag=0;printf(" 請(qǐng)輸入學(xué)號(hào):");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:編程實(shí)現(xiàn):有一個(gè)文本文件“a.txt,”里面有大小寫(xiě)英文字母、數(shù)字和其它符號(hào)。要求分別統(tǒng)計(jì)其中

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

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

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

28、xD.pointx_211 下列四個(gè)選項(xiàng)中,是不合法的用戶標(biāo)識(shí)符的選項(xiàng)是(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 .輸入語(yǔ)句為:scanf("%f,%fn&q

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

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

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

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

33、十六進(jìn)制表示的 a ()是正確的。A. -ffffffff ; B. ; C. ffffffff ; D. -1; *27 .設(shè)有下列變量說(shuō)明:chara;intx;floaty;doublez;則表達(dá)式a*x-z+y的值的數(shù)據(jù)類(lèi)型為()。*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是字符型變量,下列不正確的賦值語(yǔ)句是()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語(yǔ)言表達(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變量,則計(jì)算表達(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;則計(jì)算表達(dá)式y(tǒng)+=y- =x*=y后,y的值為()A. 16B . - 16C, 7D. 1037 .若a是int型變量,且其初值為6,則計(jì)算表達(dá)式a+=a=a*a后,a的值為()A. -30B , -60C, -24D. 638 .若x的初

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

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

38、x=(a=4, 6*2)后的x值為,計(jì)算表達(dá)式 x=a=4, 6*2后的x值為。3 .若x和n均是int型變量,且x和n的初值均為5,則計(jì)算表達(dá)式x+=n+后x的值, n 的值為 0三、閱讀下列程序,在下劃線上寫(xiě)出輸出結(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);/知識(shí)點(diǎn):宏定義是編譯時(shí)先替換,運(yùn)行時(shí)才計(jì)算第4章選擇結(jié)構(gòu)程序設(shè)計(jì)一、選擇題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,則邏輯運(yùn)算表達(dá)式a|b|c的值是()A. 0 B . 1 C . trueD.不確定6 .若a=5,b=4,c=2時(shí),表達(dá)式a>b!=c的值是()A. 1 B . 0 C .非1D .不確定7 .設(shè)邏輯型變量a, b, c,其中a的值為0,則邏輯運(yùn)算表達(dá)式a&&b&&c的值是()A. 0 B . 1 C .非1 D .不確定8 .若當(dāng)a的值為奇數(shù)時(shí),表達(dá)式的值為“真”,當(dāng)a的值為偶數(shù)時(shí),表達(dá)式的值為

41、“假”,則以下不能滿足要求的表達(dá)式是()A. a%2=1 B. ! (a%2=。C.! (a%2)D. a%29 .判斷字符型變量x是否為大寫(xiě)字母的正確表達(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 語(yǔ)句形式是()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語(yǔ)言中,若x, y, z均為int型變量,則“x或y中有一個(gè)小于z”的表達(dá)式描述形式 為 0三、閱讀下列程序,在下劃線上寫(xiě)出輸出結(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 .以下程序的運(yùn)行結(jié)果是。#include<stdio.h>voidmain()if(x+>5)printf("% d,x)elseprintf("% d-x);四、程序填空1 .下列程序的功能是實(shí)現(xiàn)輸出a, b, c三個(gè)數(shù)中的最大值。請(qǐng)為程序填空。#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的值,計(jì)算y的值。請(qǐng)為程序填空#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è)計(jì)一、選擇題1 .執(zhí)行語(yǔ)句for(i=1;i+<3;);后變量i的值的是()。A. 3 B . 4 C.

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

46、;while(k=0)k-;則下列描述中正確的是()A. while循環(huán)執(zhí)行10次B. while循環(huán)執(zhí)行無(wú)限次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.與語(yǔ)句while(!E)中表達(dá)式! E等價(jià)的是()A, E=0 B. E! =1C.E!=0D. E=19以下不是死循環(huán)的語(yǔ)句是()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í)行語(yǔ)句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.無(wú)限次 B.次數(shù)不定C執(zhí)彳亍3次D.執(zhí)行4次13 .程序段x=2;doprintf(;*-); while(!x=0)的運(yùn)行結(jié)果為()A.*C.*14 .執(zhí)行語(yǔ)句for(i=4;i->0 ;);后變量i的值的是()A. 0 B . 1C

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

49、上寫(xiě)出輸出結(jié)果。#include<stdio.h>main()inty=-10;doy+;while(+y);printf(“ %+,+);/1V 輸出結(jié)果:*/4 .以下程序的運(yùn)行結(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。請(qǐng)為程序填空四、程序填空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語(yǔ)言中引用數(shù)組元素時(shí),其數(shù)組下標(biāo)的數(shù)據(jù)類(lèi)型可以是()。A.整型常量B.整型表達(dá)式C.整型常量或整型表達(dá)式D.任何類(lèi)型的表達(dá)式2 .以下能對(duì)一維數(shù)組a進(jìn)行正確

51、初始化的語(yǔ)句是()。A. inta10=(0,0)B . inta10=;C. inta=0; D. inta10=10*1;3 .若有說(shuō)明:inta10;則對(duì)a數(shù)組元素的正確引用是()A. a10 B. A3. 5C.a (5)D. A10-104 .若有說(shuō)明:inta34;則對(duì)a數(shù)組元素的正確引用是()A. a24 B. A2,4C.a1+10D. A(2) (1)5 .若有以下說(shuō)明:inta3=1,2,3,4,5,6,7;則數(shù)組a的第一維的大小是()A. 4 B . 3C.2D.不確定6 .二維數(shù)組x有m歹I,若元素x是第一個(gè)元素,則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個(gè)字節(jié)B.5個(gè)字節(jié)C.6個(gè)字節(jié)D.7個(gè)字節(jié)11 .下面各行語(yǔ)句中正確的是()。A.chars5= ” ABCD”E ;B.chars6;s= ” ABCD”;EC.char*s= ” ABCD”E D.char*s;scanf( “ %s” ,s)12以下正確的定義語(yǔ)句是()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、.若有以下說(shuō)明:inta34=0;則下列正確的敘述是()A.只有元素a0可得到初值0B.此說(shuō)明語(yǔ)句不正確C.數(shù)組a中各元素都可得到初值,但其值不一定為0D .數(shù)組a中各元素都可得到初值014兩個(gè)數(shù)組a 和 b 進(jìn)行如下初始化chara= ” abcdef ”;charb= , a b, ,c ,d ,e f15.則下列敘述正確的是()A. a和b數(shù)組完全相同 B. a和b長(zhǎng)度相同C.a和b中都存放字符串D. a數(shù)組比b數(shù)組長(zhǎng)度長(zhǎng)16以下不能對(duì)二維數(shù)組a 進(jìn)行正確初始化的語(yǔ)句是()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下述對(duì)C 語(yǔ)言中字符數(shù)組的描述錯(cuò)誤的是()A.字符數(shù)組可以存放字符串B.字符數(shù)組的字符串可以整體輸入和輸出C,可以在賦值語(yǔ)句中通過(guò)賦值運(yùn)算符“=”對(duì)字符數(shù)組整體賦值D.不可以用關(guān)系運(yùn)算符對(duì)字符數(shù)組中的字符串進(jìn)行比較18 .以下能對(duì)二維數(shù)組a進(jìn)行正確初始化的語(yǔ)句是()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 .對(duì)數(shù)組說(shuō)明語(yǔ)句:inta10=1,2,3,4,5;的正確理解是()A.將5個(gè)初值依次賦給a1到a5元素B.將5個(gè)

56、初值依次賦給a6到a10元素C.將5個(gè)初值依次賦給a0到a4元素D .該語(yǔ)句出錯(cuò)20.對(duì)數(shù)組說(shuō)明語(yǔ)句:inta10=1,2,3,4,5;的正確理解是()A.將5個(gè)初值依次賦給a1到a5元素B.將5個(gè)初值依次賦給a6到a10元素C.將5個(gè)初值依次賦給a0到a4元素D .該語(yǔ)句出錯(cuò)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語(yǔ)言中,數(shù)組名是一個(gè)不可改變的 ,不能對(duì)它進(jìn)行賦值運(yùn)算。數(shù)組在內(nèi)存 中占用一段連續(xù)的存儲(chǔ)空間,它的首地址由 表示。三、閱讀下列程序,在下劃線上寫(xiě)

溫馨提示

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

評(píng)論

0/150

提交評(píng)論