c語言各章習(xí)題2_第1頁
c語言各章習(xí)題2_第2頁
c語言各章習(xí)題2_第3頁
c語言各章習(xí)題2_第4頁
免費(fèi)預(yù)覽已結(jié)束,剩余83頁可下載查看

下載本文檔

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

文檔簡介

第一章C語言概述ー、選擇題c語言規(guī)定,必須用作為主函數(shù)名。A)FunctionB)includeC)main D)stdio一個C程序可以包含任意多個不同名的函數(shù),但有且僅有一個,ー個C程序總是從開始執(zhí)行。A)過程 B)主函數(shù)C)函數(shù)D)include是C程序的基本構(gòu)成單位。A)函數(shù)B)函數(shù)和過程 〇超文本過程 D)子程序下列說法正確的是。A)ー個函數(shù)的函數(shù)體必須要有變量定義和執(zhí)行部分,二者缺一不可B)ー個函數(shù)的函數(shù)體必須要有執(zhí)行部分,可以沒有變量定義C)ー個函數(shù)的函數(shù)體可以沒有變量定義和執(zhí)行部分,函數(shù)可以是空函數(shù)D)以上都不對.下列說法正確的是。main函數(shù)必須放在C程序的開頭main函數(shù)必須放在C程序的最后main函數(shù)可以放在C程序的中間部分,但在執(zhí)行C程序時是從程序開頭執(zhí)行的main函數(shù)可以放在C程序的中間部分,但在執(zhí)行C程序時是從main函數(shù)開始的.下列說法正確的是。A)在執(zhí)行C程序時不是從mian函數(shù)開始的C程序書寫格式嚴(yán)格限制,一行內(nèi)必須寫一個語句C程序書寫格式自由,一個語句可以分寫在多行上C程序書寫格式嚴(yán)格限制,一行內(nèi)必須寫ー個語句,并要有行號.在C語言中,每個語句和數(shù)據(jù)定義是用結(jié)束。A)句號B)逗號 C)分號 D)括號.下列字符串是標(biāo)識符的是。A)_HJ B)9_studentC)longD)LINE1.以下說法正確的是。C語言程序總是從第一個定義的函數(shù)開始執(zhí)行B)在C語言程序中,要調(diào)用的函數(shù)必須在main〇函數(shù)中定義C語言程序總是從main。函數(shù)開始執(zhí)行C語言程序中的main。函數(shù)必須放在程序的開始部分.不是C語言提供的合法關(guān)鍵字。A)switch B)printC)case D)default二、填空題ー個C程序至少包含一個,即.一個函數(shù)由兩部分組成,它們是和〇函數(shù)體的范圍是〇函數(shù)體一般包括和。C語言是通過來進(jìn)行輸入輸出的。第二章順序結(jié)構(gòu)程序設(shè)計(jì)ー、選擇題.C語言中調(diào)用printf進(jìn)行輸出時需要注意,在格式控制串中,格式說明與輸出項(xiàng)的個數(shù)必須相同。如果格式說明的個數(shù)小于輸出項(xiàng)的個數(shù),多余的輸出項(xiàng)將;如果格式說明的個數(shù)多于輸出項(xiàng)的個數(shù),則對于多余的格式將輸出不定值(或。)。A)不予輸出 B)輸出空格〇照樣輸出 D)輸出不定值或〇.在scanf函數(shù)的格式控制中,格式說明的類型與輸入的類型應(yīng)該ーー對應(yīng)匹配。如果類型不匹配,系統(tǒng)。A)不予接收B)并不給出出錯信息,但不可能得出正確信息數(shù)據(jù)C)能接受正確輸入D)給出出錯信息,不予接收輸入.下列說法正確的是。A)輸入項(xiàng)可以是ー個實(shí)型常量,如scanf("%f',4.8);B)只有格式控制,沒有輸入項(xiàng)也能進(jìn)行正確輸入,如scanf("a=%d,b=%d");〇當(dāng)輸入ー個實(shí)型數(shù)據(jù)時,格式控制部分應(yīng)規(guī)定小數(shù)點(diǎn)后的位數(shù),如scanf("%5.3f',&f);D)當(dāng)輸入數(shù)據(jù)時,必須指明變量的地址,如scanf("%F,&f);.根據(jù)題目中已給出的數(shù)據(jù)的輸入和輸出形式,程序中輸入/輸出語句的正確是ーmain()inta;floatx;printf(11inputa,x:");輸入語句輸出語句)輸入形式inputa,x:32.1輸出形式a+x=5.10scanf(,,%d,%f,,&a,&x);printf("\na+x=%4.2f',a+x);scanf("%d%口&a.&x);printf("\na+x=%4.2f\a+x);scanf("%d%f',&a,&x);printf(H\na+x=%6.If\a+x);scanf(M%d%3.1f;&a,&x);printf(n\na+x=%4.2f',a+x);.以下程序的輸出結(jié)果是〇main()(inti=010,j=l0,k=0x10;printf(”%d,%d,%d\n,i,j,k);A)8,10,16 B)8,10,10 010,10,10 D)10,10,16.以下程序的輸出結(jié)果是0main(){inti=01l,j=ll,k=Oxl1;printf(u%d,%d,%d\nM,i,j,k);)A)9,ll,17 011,11,11D)ll,11,16.以下程序的輸出結(jié)果是。#include<stdio.h>main(){printf(n%d\nn,NULL);)A)不確定的值(因變量無定義) B)00-1 D)1.以下程序的輸出結(jié)果是Qmain(){chare1=6',c2=,0,;printf(,,%c,%c,%d,%d\n,',cl,c2,cl-c2,c1+c2);A)因輸出格式不合法,輸出出錯信息B)606,102C)6,0,7,6 D)6,0,5,7.設(shè)有如下定義intx=10,y=3,z;則語句pnntf(u%d\n'\z=(x%y,x/y));的輸出結(jié)果是〇A)3 B)0 C)4 D)1.設(shè)有如下定義intx=10,y=5,z;則語句printf("%d\n,,,z=(x+=y,x/y));的輸出結(jié)果是〇A)1 B)0 C)4 D)3二.填空題.C語言中的語句可分為5類,即ーヽーヽーヽーヽ.由一次函數(shù)調(diào)用加一個分號構(gòu)成一個語句。.putchar函數(shù)的作用是。.printf是C語言提供的標(biāo)準(zhǔn)輸出函數(shù),它的作用是。.printf函數(shù)的“格式控制”包括兩部分,他們是和三、編程題.從鍵盤上輸入一個大寫字母,要求改用小寫字母輸出。.編寫程序,求方程ax?+bx+c=O的解X。.請編寫ー個程序,能顯示出以下兩行文字。Iamastudent.IloveChina.第三章選擇結(jié)構(gòu)程序設(shè)計(jì)ー、選擇題.下列運(yùn)算符中優(yōu)先級最高的是。A)> B)+C)&&D);=.以下關(guān)于運(yùn)算符優(yōu)先級的描述中,正確的是。!(邏輯非)>算術(shù)運(yùn)算,關(guān)系運(yùn)算〉&&(邏輯與)洌(邏輯或)>賦值運(yùn)算&&(邏輯與)〉算術(shù)運(yùn)算〉關(guān)系運(yùn)算〉賦值運(yùn)算〇關(guān)系運(yùn)算〉算術(shù)運(yùn)算〉&&(邏輯與)刃(邏輯或)〉賦值運(yùn)算D)賦值運(yùn)算〉算術(shù)運(yùn)算〉關(guān)系運(yùn)算〉&&(邏輯與)刃(邏輯或).邏輯運(yùn)算符的運(yùn)算對象的數(shù)據(jù)類型 。A)只能是。或1 B)只能是.T.或.F.〇只能是整型或字符型 D)任何類型的數(shù)據(jù).能正確表示x的取值范圍在[0,100]和g0,-5]內(nèi)的表達(dá)式是A)(x<=-10)II(x>=-5)&&(x<=0)II(x>=100)(x>=-10)&&(x<=-5)II(x>=0)&&(x<=100)(x>=-10)&&(x<=-5)&&(x>=0)&&(x<=100)D)(x<=-10)II(x>=-5)&&(x<=0)II(x>=100).以下程序的運(yùn)行結(jié)果是〇main()(intc,x,y;x=l;y=2;c=0;c=x++lly++;printf(t<\n%d%d%d\n,\x,y,c);)A)110 B)211C)011D)001.以下程序的運(yùn)行結(jié)果是。main()(intc,x,y;x=0;y=0;c=0;c=x++&&y++;printf(M\n%d%d%d\n,\x,y,c);A)100 B)211C)011D)001.判斷字符型變量ch為大寫字母的表達(dá)式是〇A),AV=chv=,Z,B)(ch>='A')&(ch<='Z')C)(ch>='A')&&(ch<='Z')D)(ch>='A')AND(ch<='Z').判斷字符型變量ch為小寫字母的表達(dá)式是。A)匕,<=ch<="B)(ch>=a)&&(ch<=z)9.以下if語句書寫正確的是ー 〇A)if(x=0;)B)if(x>0)printf(''%「,x);{x=x+1;printf("%F',x);}elseprintf("%F',-x);elseprintf(,,%f\-x);C)if(x>0);D)if(x>0){x=x+l;printグ%F',x);}{x=x+l;printf("%F',x)}elseprintf(,,%f\-x);elseprintf("%F',?x);10.分析以下程序:main()C)(ch>='a')II(chv='z')D)(ch>='a')&&(ch<=,z,){intx=5,a=0,b=0;if(x=a+b) printfC*****\n");else printf("####\n");以上程序〇A)有語法錯,不能通過編譯 B)通過編譯,但不能連接C)輸出?*** D)輸出####二、填空題1?在C語言中,對于if語句,else子句與if子句的配對約定是.閱讀下面程序,寫出它的功能。#include<stdio.h>main(){intlabel;charc;printf(n\nPleaseenterInumber:*');c=getchar();while(c!='\n'){if(c=label=l;c=getchar();}if(label==l)printfC^nfloaf);elseprintf(',\nint,');).以下兩條if語句可合并成一條if語句為,if(a<=b)x=1;elsey=2;if(a>b)printf("****y=%d\n",y);elseprintf("####x=%d\n",x);三、編程題.編寫ー個程序,要求有鍵盤輸入三個數(shù),計(jì)算以這三個數(shù)為邊長的三角形的面積。.輸入圓的的半徑r和一個整型數(shù)k,當(dāng)k=l時,計(jì)算圓的面積;但k=2時,計(jì)算圓的周長,當(dāng)k=3時,既要求求圓的周長也要求出圓的面積。編程實(shí)現(xiàn)以上功能。3.編寫程序,判斷某一年是否是閏年。4.有一函數(shù),其函數(shù)關(guān)系如下,試編程求對應(yīng)于每ー自變量的函數(shù)值。べx2 (x<0)y=y-05x+10 (0<x<10)一x-Vx(x>10)5.編ー程序,對于給定的ー個百分制成績,輸出相應(yīng)的五分制成績。設(shè):90分以上為80~89分為E;70~79分為く';60~69分為,D';60分以下為第四章循環(huán)結(jié)構(gòu)程序設(shè)計(jì)ー、選擇題while循環(huán)語句中,while后ー對圓括號中表達(dá)式的值決定了循環(huán)體是否進(jìn)行,因此,進(jìn)入while循環(huán)后,一定有能使此表達(dá)式的值變?yōu)榈牟僮鳎駝t,循環(huán)將會無限制地進(jìn)行下去。TOC\o"1-5"\h\zA)0 B)1 C)成立 D)22.在do-while循環(huán)中,循環(huán)由do開始,用while結(jié)束;必須注意的是:在while表達(dá)式后面的不能丟,它表示do-while語句的結(jié)束。A)0 B)1 C); D),for語句中的表達(dá)式可以部分或全部省略,但兩個不可省略。但當(dāng)三個表達(dá)式均省略后,因缺少條件判斷,循環(huán)會無限制地執(zhí)行下去,形成死循環(huán)。A)0 B)1 C); D),

.程序段如下intk=-20;while(k=O)k=k+l;則以下說法中正確的是〇A)while循環(huán)執(zhí)行20次C)循環(huán)體語句ー次也不執(zhí)行.程序段如下intk=l;while(!k==O){k=k+1;printf("%d\n",k);}說法正確的是〇A)while循環(huán)執(zhí)行2次C)循環(huán)體語句ー次也不執(zhí)行.以下for循環(huán)是〇for(a=0,b=0;(b!=123)&&(a<=4);a++)A)無限循環(huán) B)循環(huán)次數(shù)不定.在下列程序中,while循環(huán)的循環(huán)次數(shù)是ー{inti=0;while(i<10){if(i<l)continue;if(i==5)break;i++;B)循環(huán)是無限循環(huán)D)循環(huán)體語句執(zhí)行ー次B)循環(huán)是無限循環(huán)D)循環(huán)體語句執(zhí)行ー次C)執(zhí)行B)循環(huán)是無限循環(huán)D)循環(huán)體語句執(zhí)行ー次B)循環(huán)是無限循環(huán)D)循環(huán)體語句執(zhí)行ー次C)執(zhí)行4次D)執(zhí)行5次

〇main()A)1B).程序段如下intk=0;while(k++<=2)則執(zhí)行結(jié)果是A)123.程序段如下intk=0;while(k++<=2);則執(zhí)行結(jié)果是!ast=A)2.執(zhí)行下面的程序后,10C)6printf(M%d\nM,k);B)2 C)03 14 2printf(,,last=%d\n,',k);B)3 C)4的值為 D)死循環(huán)、不能確定次數(shù)D)無結(jié)果D)無結(jié)果main(){inta,b;for(a=l,b=1;a<=l0〇;a++){if(b>=2O)break;if(b%3==l)

{b+=3;continue;)b-=5;A)7 B)8 C)9 D)10二、填空題while語句的特點(diǎn)是 (1) ,do-while語句的特點(diǎn)是 (2) 0將for(表達(dá)式1;表達(dá)式2;表達(dá)式3)語句改寫為while語句是〇break語句的功能是0break語句只能用于 (1)語句和(2)語句中。continue語句的作用是,即跳過循環(huán)體中下面尚未執(zhí)行的語句,接著進(jìn)行下一次是否執(zhí)行循環(huán)的判定。三、編程題.編寫程序,求兩個整數(shù)的最大公約數(shù)。.把輸入的整數(shù)(最多不超過5位)按輸入順序的反方向輸出,例如,輸入數(shù)是12345,要求輸出結(jié)果是54321,編程實(shí)現(xiàn)此功能。.中國古代數(shù)學(xué)家張丘建提出的“百雞問題”:一只大公雞值五個錢,ー只母雞值三個錢,三個小雞值ー個錢。現(xiàn)在有100個錢,要買100只雞,是否可以?若可以,給出ー個解,要求三種雞都有。請寫出求解該問題的程序。.求100-200間的全部素?cái)?shù)。.整元換零錢問題。把1元兌換成1分,2分,5分的硬幣,共有多少種不同換法,請編寫求解此問題的程序。.有一分?jǐn)?shù)序列:2/1,3/2,5/3,8/5,13/8,21/13, 編寫程序求這個數(shù)列的前20項(xiàng)之和。.編寫程序,利用公式e=l+l/l!+l/2!+l/3!+....+l/n!求出e的近似值,其中n的值由用戶輸入(用于控制精確度)。8..ー個數(shù)如果恰好等于它的因子之和(除自身外),則稱該數(shù)為完全數(shù),例如:6=1+2+3,6就是完全數(shù),請編寫ー程序,求出100以內(nèi)的整數(shù)中的所有完全數(shù)。其中100由用戶輸入。9.編一程序,將2000年到3000年中的所有閏年年份輸出并統(tǒng)計(jì)出閏年的總年數(shù),要求每10個閏年放在一行輸出。10.請編寫ー程序,打印出九九乘法口訣表(例:1*1=1)。第五章數(shù)組ー、選擇題.在C語言中,引用數(shù)組元素時,其數(shù)組下標(biāo)的數(shù)據(jù)類型允許是A)整型常量 B)整型常量或整型表達(dá)式C)整型表達(dá)式 D)任何類型的表達(dá)式.以下對ー維整型數(shù)組a的正確說明是。A)inta(10); B)intn=10,a[n];C)intn;scanf("%d”,&n);inta[n];D)#defineSIZE10inta[SIZE];.以下能對ー維數(shù)組a進(jìn)行正確初始化的語句是。A)B)C)D)inta[10]=(0,0,0A0);inta[10]={};inta[]={0};intall0J={10*l);.不是給數(shù)組的第個元素賦值的語句是.A)inta[2]={l};C)inta[2];scanfr%(T;a);.下面程序的運(yùn)行結(jié)果是。main(){inta[6],i;for(i=l;i<6;i++){a[i]=9*(i-2+4*(i>3))%5;printf(',%2d,;a[i]);)B)inta[2]={l*2};D)a[l]=l;A)-40404 B)-404036.下列定義正確的是〇A)staticinta[J={1,2,34,5}C)inta(10)O-40443 D)-40440B)intblJ={2,5)D)int4e[4]7.若有說明intaU[4]={0,0};則下列敘述不正確的是〇A)數(shù)組a的每個元素都可以得到初值〇B)二維數(shù)組a的第一維的大小為1〇因?yàn)閷ΧS數(shù)組a的第二維大小的值除以初值個數(shù)的商為1J故數(shù)組a的行數(shù)為1D)只有元素a[OHO]和a[OHリ可得到初值〇,其余元素均得不到初值8.設(shè)有charstr[10],下列語句正確的是?A)scanf("%s",&str); B)printf("%c",str);C)printf("%s",str[O]); D)printf("%s",str);9.下列說法正確的是〇 A)在C語言中,可以使用動態(tài)內(nèi)存分配技術(shù)定義元素個數(shù)可變的數(shù)組B)在C語言中,數(shù)組元素的個數(shù)可以不確定,允許隨機(jī)變動C)在C語言中,數(shù)組元素的數(shù)據(jù)類型可以不一致D)在C語言中,定義了一個數(shù)組后,就確定了它所容納的具有相同數(shù)據(jù)類型元素的個數(shù)10.假設(shè)array是ー個有10個元素的整型數(shù)組,則下列寫法中正確的是0A)array[0]=10 B)array=OC)array[10]=0 D)array[-l]=O二、填空題.數(shù)組名定名規(guī)則和變量名相同,遵循定名規(guī)則。.對于ー維數(shù)組的定義’‘類型說明符數(shù)組名[常量表達(dá)式]”,其中常量表達(dá)式可以包括和,不能包含〇.在C語言中,引用數(shù)組只能通過數(shù)組元素來實(shí)現(xiàn),而不能通過整體引用來實(shí)現(xiàn)。4,在定義數(shù)組時對數(shù)組元素賦以初值,需要在數(shù)組的類型說明符前加關(guān)鍵字。5.如果要使一個內(nèi)部數(shù)組在定義時每個元素初始化值為〇,但不進(jìn)行逐個賦值,將其說明成存儲類型即可。三、編程題.用起泡法對10個數(shù)排序。.編-程序,從鍵盤輸入10個整數(shù)并保存到數(shù)組,求出該10個整數(shù)的最大值、最小值及平均值。.將一個n*m二維數(shù)組的行和列元素互換,存到另ー個m*n的二維數(shù)組中,并輸出其結(jié)果。例如:staticinta⑵[3]={{1,2,3},{4,5,6}}.編ー程序,從鍵盤輸入10個整數(shù)并保存到數(shù)組,要求找出最小的數(shù)和它的下標(biāo),然后把它和數(shù)組中最前面的元素對換位置。.編寫程序,從鍵盤輸入n個由小到大的順序排好的數(shù)列和一個數(shù)insert-value,把insert-value插入到由這n個數(shù)組成的數(shù)列中,而且仍然保持由小到大的順序,若insert_value比原有所有的數(shù)都大時放在最后,比原有的數(shù)都小時放在最前面。.編程完成下述功能:從鍵盤輸入ー個n*n(最大為20*20)矩陣的各元素的值,求出該矩陣兩條對角線上各元素值之和并打印出結(jié)果。

第六章函數(shù)ー、選擇題.以下函數(shù)定義正確的是:A)doublefun(intx,inty)B)doublefun(intx;inty)C)doublefun(intx,inty);D)doublefun(intx,y).C語言規(guī)定,簡単變量作實(shí)參,它與對應(yīng)形參之間的數(shù)據(jù)傳遞方式是:。A)地址傳遞; B)單向值傳遞;〇雙向值傳遞; D)由用戶指定傳遞方式.以下關(guān)于C語言程序中函數(shù)的說法正確的是:。A)函數(shù)的定義可以嵌套,但函數(shù)的調(diào)用不可以嵌套;B)函數(shù)的定義不可以嵌套,但函數(shù)的調(diào)用可以嵌套;C)函數(shù)的定義和調(diào)用均不可以嵌套;D)函數(shù)的定義和點(diǎn)用都可以嵌套。.以下正確的函數(shù)形式是;〇B)fun(intx,y){intz;retumz;}D)doublefun(intx,inty){doublez;z=x+y;returnz;}B)fun(intx,y){intz;retumz;}D)doublefun(intx,inty){doublez;z=x+y;returnz;}{z=x+y;retumz;}C)fun(x,y){intx,y;doublez;z=x+y;returnz;}.以下說法不正確的是: 。C語言規(guī)定A)實(shí)參可以是常量、變量或表達(dá)式B)形參可以是常量、變量或表達(dá)式〇實(shí)參可以是任意類型D)形參應(yīng)與其對應(yīng)的實(shí)參類型一致.C語言允許函數(shù)值類型缺省定義,此時該函數(shù)值隱含的類型是A)float型B)int型C)long型D)double型.以下錯誤的描述是0函數(shù)調(diào)用可以A)出現(xiàn)在執(zhí)行語句中B)出現(xiàn)在ー個表達(dá)式中C)做為一個函數(shù)的實(shí)參D)做為一個函數(shù)的形參.若用數(shù)組名作為函數(shù)調(diào)用的實(shí)參,傳遞給形參的是。A)數(shù)組的首地址 B)數(shù)組第一個元素的值〇數(shù)組中全部元素的值 D)數(shù)組元素的個數(shù).以下正確的說法是 。如果在一個函數(shù)中的復(fù)合語句中定義了一個變量,則該變量A)只在該復(fù)合語句中有效 B)在該函數(shù)中有效〇在本程序范圍內(nèi)有效D)為非法變量.以下不正確的說法為ー0A)在不同函數(shù)中可以使用相同名字的變量B)形式參數(shù)是局部變量〇在函數(shù)內(nèi)定義的變量只在本函數(shù)范圍內(nèi)有效D)在函數(shù)內(nèi)的復(fù)合語句中定義的變量在本函數(shù)范圍內(nèi)有效二、填空題.C語言規(guī)定,可執(zhí)行程序的開始執(zhí)行點(diǎn)是〇.在C語言中,ー個函數(shù)一般由兩個部分組成,它們是和一〇.函數(shù)swap(intx,inty)可完成對x和y值的交換。在運(yùn)行調(diào)用函數(shù)中的如下語句后間〇]和a[l]的值分別為,原因〇.函數(shù)swap(arrm)可完成對arr數(shù)組從第1個元素到第n個元素兩兩交換。在運(yùn)行調(diào)用函數(shù)中的如下語句后,a[0]和a[l]的值分別為,原因〇.設(shè)在主函數(shù)中有以下定義和函數(shù)調(diào)用語句,且fun函數(shù)為void類型;請寫出fun函數(shù)的首部〇要求形參名為b。main(){doubles[10][22];intn;\fun(s);).返回語句的功能是從返回。三、編程題1.有一個數(shù)組,內(nèi)放10個學(xué)生的英語成績,寫ー個函數(shù),求出平均分,并且打印出高于平均分的英語成績。2,編寫ー個函數(shù)計(jì)算任一輸入的整數(shù)的各位數(shù)字之和。主函數(shù)包括輸入輸出和調(diào)用該函數(shù)。.已有函數(shù)調(diào)用語句c=add(a,b):請編寫add函數(shù),計(jì)算兩個實(shí)數(shù)a和b的和,并返回和值。doubleadd(doublex,doubley){).已有變量定義語句doublea=5.0;intn=5;和函數(shù)調(diào)用語句mypow(a,n);用以求a的n次方。請編寫doublemypow(doublex,inty)函數(shù)。doublemypow(doublex,inty)( } n.已有變量定義和函數(shù)調(diào)用語句inta,b:b=sum(a):函數(shù)sum()用以求,二k,k=l和數(shù)作為函數(shù)值返回。若a的值為10,經(jīng)函數(shù)sum的計(jì)算后,b的值是55。請編寫sum函數(shù)。sum(intn){}.已有變量定義和函數(shù)調(diào)用語句:inta=l,b=-5,c:c=fun(a,b);fun函數(shù)的作用是計(jì)算兩個數(shù)之差的絕對值,并將差值返回調(diào)用函數(shù),請編寫fun函數(shù)。fun(intx,inty)().已有變量定義和函數(shù)調(diào)用語句:intx=57:isprime(x):函數(shù)isprime()用來判斷ー個整型數(shù)a是否為素?cái)?shù),若是素?cái)?shù),函數(shù)返回!,否則返回。。請編寫isprime函數(shù)。isprime(inta)(}.利用遞歸函數(shù)調(diào)用方式,將所輸入的5個字符,以相反順序打印出來。.函數(shù)的遞歸調(diào)用計(jì)算階乘。.輸入10個學(xué)生的成績,分別用函數(shù)實(shí)現(xiàn):(1)求平均成績:(2)按分?jǐn)?shù)高低進(jìn)行排序并輸出。第七章編譯預(yù)處理ー、選擇題.C語言中,宏定義有效范圍從定義處開始,到源文件結(jié)束處結(jié)束,但可以用來提前解除宏定義的作用。A)#ifdefB)endifC)#undefineD)#undef.以下不正確的敘述是。A)預(yù)處理命令都必須以“オ號開始B)在程序中凡是以“#”號開始的語句行都是預(yù)處理命令行〇C語言在執(zhí)行過程中對預(yù)處理命令行進(jìn)行處理D)#defineABCD是正確的宏定義A)3.以下正確的敘述是〇在程序的一行中可以出現(xiàn)多個有效的預(yù)處理命令行B)使用帶參宏時,參數(shù)的類型應(yīng)與宏定義時的一致C)宏替換不占用運(yùn)行時間,只占編譯時間D)宏定義不能出現(xiàn)在函數(shù)內(nèi)部A)4.以下不正確的敘述是。宏替換不占用運(yùn)行時間B)宏名無類型C)宏替換只是字符替換D)宏名必須用大寫字母表示A)5.以下正確的敘述是。C語言的預(yù)處理功能是指完成宏替換和包含文件的調(diào)用B)預(yù)處理命令只能位于C源程序文件的首部C)凡是C源程序中行首以“鏟’標(biāo)識的控制行都是預(yù)處理命令D)C語言的編譯預(yù)處理就是對源程序進(jìn)行初步的語法檢查A) 6.在文件包含預(yù)處理語句(#include)的使用形式中,當(dāng)之后的文件名用“”(雙引號)括起時,尋找被包含文件的方式是。直接按系統(tǒng)設(shè)定的標(biāo)準(zhǔn)方式搜索目錄B)先在源程序所在目錄搜索,再按系統(tǒng)設(shè)定的標(biāo)準(zhǔn)方式搜索C)僅僅搜索源程序所在目錄D)僅僅搜索當(dāng)前目錄A)7.在文件包含預(yù)處理語句(#include)的使用形式屮,當(dāng)之后的文件名用0(尖引號)括起時,尋找被包含文件的方式是。直接按系統(tǒng)設(shè)定的標(biāo)準(zhǔn)方式搜索目錄B)先在源程序所在目錄搜索,再按系統(tǒng)設(shè)定的標(biāo)準(zhǔn)方式搜索C)僅僅搜索源程序所在目錄D)僅僅搜索當(dāng)前目錄A)8.C語言的編譯系統(tǒng)對宏命令的處理。在程序運(yùn)行時進(jìn)行的B)在程序連接時進(jìn)行的〇和C程序中的其它語句同時進(jìn)行編譯的D)在對源程序中其它語句正式編譯之前進(jìn)行的.以下程序的輸出結(jié)果是?#defineMIN(x,y)(x)<(y)?(x):(y)main(){inti,j,k;i=10;j=15;k=IO*MIN(ij);printf(“%ザ,k); }A)15 B)100 C)10 D)150.以下程序的輸出結(jié)果是〇include<stdio.h>defineADD(y)3.54+ydefinePR(a)printf(**%d,?,(int)(a))definePR1(a)PR(a);putchar('\n')main(){inti=4;PRl(ADD(5)*i);}A)20 B)23 C)10 D)0二、填空題.C提供的預(yù)處理功能主要有三種,分別是ヽ和。.設(shè)有以下宏定義:#defineWIDTH80defineLENGTHWIDTH+40則執(zhí)行賦值語句:v=LENGTH*20;(v為int型變量)后,v的值是。3.設(shè)有以下宏定義:#defineWIDTH80defineLENGTH(WIDTH+40)則執(zhí)行賦值語句:k=LENGTH*20;(k為int型變量)后,k的值是〇四、編程題1.編寫一個宏定義MYALPHA(c),用以判定c是否是字母字符,若是,得1;否則得〇。2.編寫ー個宏定義AREA(a/,c),用于求一個邊長為a、b和c的三角形的面積。其公式為:s=(a+b+c)/2area=s(s-a)(s-b)(s-c)3.編寫ー個程序求三個數(shù)中最大者,要求

用帶參宏實(shí)現(xiàn)。第八章指針ー、選擇題.變量的指針,其含義是指該變量的。A)值B)地址 C)名D)ー個標(biāo)志.設(shè)有說明int(*ptr)[M];其中ptr是。A)M個指向整型變量的指針B)指向M個整型變量的函數(shù)指針C)ー個指向具有M個整型元素的一維數(shù)組的指針D)具有M個指針元素的一維指針數(shù)組,每個元素都只能指向整型量.選擇出i的正確結(jié)果〇inti;char*s="a\045+045\'b";for(i=0;s++;i++);A)5 B)8C)llD)12.如下程序的執(zhí)行結(jié)果是。#include<stdio.h>main(){inti;char*s="a\\\\\n〃;for(i=0;s[i]!=,\0,;i++)printf(w%c",*(s+i));}A)aB)a\C)a\\ D)a\\\\.如下程序的執(zhí)行結(jié)果是。#include<stdio.h>main(){staticintaロ={1,2,3,4,5,6}; int*p;p=a;*(p+3)+=2;printf(w%d,%d\n”,*p,*(p+3));}A)1,3B)1,6C)3,6 D)1,4.如下程序的執(zhí)行結(jié)果是〇#include<stdio.h>main(){staticinta[][4]={1,3,5,7,9,11,13,15/7,19,21,23};int(*p)[4],i=lj=2;p=a;printf(w%d\n",*(*(p+i)+j));}A)9B)11C)13D)17.若有以下定義,則對a數(shù)組元素的正確引用是。inta[5],*p=a;A)*&a[5]B)a+2C)*(p+5)D)*(a+2).若有以下定義,則對a數(shù)組元素地址的正確引用是〇inta[5],*p=a;A)p+5B)*a+1C)&a+lD)&a[0].若有定義:inta[2][3]:則對a數(shù)組的第i行第j列(假設(shè)i,j已正確說明并賦值)元素值的正確引用為〇A)*(*(a+i)+j)B)(a+i)[j!〇?(a+i+j)D)*(a+i)+j.若有定義:inta⑵⑶;則對a數(shù)組的第i行第j列(假設(shè)i,j已正確說明并賦值)元素地址的正確引用為〇A)*(a[ij+j)B)(a+i)C)*(a+j)D)a[ij+j二、填空題1.若有定義:inta[2][3]={2,4,6,8,10,12);則?(&a⑼⑼+2*2+1)的值是 ,*(a[l]+2)的值是。.完成以下有關(guān)數(shù)組描述的填空。C語言中,數(shù)組名是ー個不可改變的,不能對它進(jìn)行賦值運(yùn)算。(2)數(shù)組在內(nèi)存中占用一段連續(xù)的存儲空間,它的首地址由表zT>o.定義語句int*f()!和int(*f)():的含義分別為和。.在C程序中,指針變量能夠賦 值或 值。.若定義char*p="abcd”;則printf("%d”,*(p+4));的結(jié)果為。6.以下函數(shù)用來求出兩整數(shù)之和,并通過形參將結(jié)果傳回,請?zhí)羁铡oidfunc(intx,inty,){*z=x+y;}三、編程題1,編寫ー個程序計(jì)算ー個字符串的長度。2.編寫ー個程序,用12個月份的英文名稱初始化一個字符指針數(shù)組,當(dāng)鍵盤輸入整數(shù)為1到12時,顯示相應(yīng)的月份名,鍵入其它整數(shù)時顯示錯誤信息。3.編一程序,將字符串computer賦給ー個字符數(shù)組,然后從第一個字母開始間隔地輸出該串。請用指針完成。.編ー程序,將字符串中的第m個字符開始的全部字符復(fù)制成另ー個字符串。要求在主函數(shù)中輸入字符串及m的值并輸出復(fù)制結(jié)果,在被調(diào)函數(shù)中完成復(fù)制。.設(shè)有一數(shù)列,包含1。個數(shù),已按升序排好。現(xiàn)要求編ー程序,它能夠把從指定位置開始的n個數(shù)按逆序重新排列并輸出新的完整數(shù)列。進(jìn)行逆序處理時要求使用指針方法。試編程。(例如:原數(shù)列為2,4,6,8,10,12,14,16,18,20,若要求把從第4個數(shù)開始的5個數(shù)按逆序重新排列,則得到新數(shù)列為2,4,6,16,14,12,10,8,18,20。).通過指針數(shù)組p和一維數(shù)組a構(gòu)成一個3X2的二維數(shù)組,并為a數(shù)組賦初值2、4、6、8、…。要求先按行的順序輸出此“ニ維數(shù)組”,然后再按列的順序輸出它。試編程。.編寫ー個函數(shù),輸入n為偶數(shù)時,調(diào)用函數(shù)求l/2+1/4+...+l/n,當(dāng)輸入n為奇數(shù)時,調(diào)用函數(shù)l/l+l/3+...+l/n(利用指針函數(shù)).編寫ー程序,從鍵盤輸入10個數(shù)存入數(shù)組data[10]中,同時設(shè)置ー個指針變量p指向數(shù)data,然后通過指針變量p對數(shù)組按照從小到大的順序排序,最后輸出其排序結(jié)果。9.編ー程序,從ー個3行4列的二維數(shù)組中找出最大數(shù)所在的行和列,并將最大值及所在行列值打印出來。要求將查找和打印的功能編一個函數(shù),二維數(shù)組的輸入在主函數(shù)中進(jìn)行,并將二維數(shù)組通過指針參數(shù)傳遞的方式由主函數(shù)傳遞到子函數(shù)中。10.編ー程序,首先將一個包含10個數(shù)的數(shù)組按照升序排列,然后將從一指定位置m開始的n個數(shù)按照逆序重新排列,并將新生成的相互組輸出。要求使用指針控制方法實(shí)現(xiàn)上述功能。 第九章結(jié)構(gòu)體與共用體ー、選擇題.在說明一個結(jié)構(gòu)體變量時系統(tǒng)分配給它的存儲空間是〇A)該結(jié)構(gòu)體中第一個成員所需存儲空間B)該結(jié)構(gòu)體中最后一個成員所需存儲空間C)該結(jié)構(gòu)體中占用最大存儲空間的成員所需存儲空間D)該結(jié)構(gòu)體中所有成員所需存儲空間的總和.若有以下說明和語句:structworker{intno;char*name;}work,*p=&work;則以下引用方式不正確的是〇A)work,noB)(*p).no C)p->no D)work->no3.有如下定義:structdate{intyear,month,day;};structworklist{charname[20];charsex;structdatebirthday;}person;對結(jié)構(gòu)體變量person的出生年份進(jìn)行賦值時,下面正確的賦值語句是〇A)year=1958 B)birthday.year=1958C)person,birthday.year=1958 D)person.year=19584.以下對結(jié)構(gòu)體類型變量的定義中不正確的是〇A)#defineSTUDENTstructstudentB)structstudentSTUDENT{intnum;{intnum;floatage;floatage;Jstdl;)stdl;C)structD)struct{intnum;{intnum;floatage;floatage;}student;}stdl;structstudentstd1;5.設(shè)有以下說明語句structstu{inta;floatb;Jstutype;則下面的敘述不正確的是。struct是結(jié)構(gòu)體類型的關(guān)鍵字structstu是用戶定義的結(jié)構(gòu)體類型stutype是用戶定義的結(jié)構(gòu)體類型名a和b都是結(jié)構(gòu)體成員名.C語言結(jié)構(gòu)體類型變量在程序執(zhí)行期間A)所有成員一直駐留在內(nèi)存中B)只有一個成員主留在內(nèi)存中C)部分成員駐留在內(nèi)存中D)沒有成員駐留在內(nèi)存中.以下程序的運(yùn)行結(jié)果是〇#include<stdio.h>main()

{stiuctdate{intyear,month,day;}today;printf("%d\n”,sizeof(structdate));}6 B)8C)10 D)128.有如下定義structperson{charname[9];intage;};structpersonclass[10J={tiJohu,\17,“Pau匚19“Mary”,18,“Adam16,};根據(jù)上述定義,能輸出字母M的語句是〇A)prinft("%c\n”,cEss[3].mane);pfintf(tt%c\n,\class[3].name[l]);C)prinft(4<%c\n",class[2],name[1]);D)printf(i4%Ac\n",class[2J.namelOJ);.設(shè)有如下定義structss{charname[10];intage;charsex;}std[3],*p=std;下面各輸入語句中錯誤的是〇scanf("%d”,&(*p).age);scanf(n%s",&);scanf(u%cM,&std[O].sex);scanf(,,%c,\&(p->sex)).設(shè)有以下說明語句,則下面的敘述中不正確的是structex{intx;floaty;charz;}example;struct結(jié)構(gòu)體類型的關(guān)鍵字struct結(jié)構(gòu)體類型的關(guān)鍵字C)x,y,z都是結(jié)構(gòu)體成員名example是結(jié)構(gòu)體類型名D)structex是結(jié)構(gòu)體類型二、填空題.有如下定義:struct{intx;inty;}s[2]={{1,2},{3,4}},*p=s;貝リ:表達(dá)式++p->x的結(jié)果是〇表達(dá)式++p->x的結(jié)果是。.若有定義:structnum{inta;intb;floatf;}n={l,3,5.0)};structnum*pn=&n;則表達(dá)式pn->b/n.a*++pn->b的值是,表達(dá)式(*pn).a+pn->f的值是〇.若要使指針p指向ー個double類型的動態(tài)存儲單元,請?zhí)羁铡=malloc(sizeof(double));.設(shè)有以下結(jié)構(gòu)類型說明和變量定義,則變量a在內(nèi)存所占字節(jié)數(shù)是。Structstud{charnum[6];ints[4J;doubleave;}a,*p;三、編程題.試?yán)媒Y(jié)構(gòu)體類型編制ー程序,實(shí)現(xiàn)輸入ー個學(xué)生的數(shù)學(xué)期中和期末成績,然后計(jì)算并輸出其平均成績。.試?yán)弥赶蚪Y(jié)構(gòu)體的指針編制ー程序,實(shí)現(xiàn)輸入三個學(xué)生的學(xué)號、數(shù)學(xué)期中和期末成績,然后計(jì)算其平均成績并輸岀成績表。.請編程建立一個帶有頭結(jié)點(diǎn)的單向鏈表,鏈表結(jié)點(diǎn)中的數(shù)據(jù)通過鍵盤輸入,當(dāng)輸入數(shù)據(jù)為ー1時,表示輸入結(jié)束。(鏈表頭結(jié)點(diǎn)的data域不放數(shù)據(jù),表空的條件是 ph->next==NULL)。第十章文件ー、選擇題.當(dāng)已存在ー個abc.txt文件時,執(zhí)行函數(shù)fopen("abc.txt","r++”)的功能是。A)打開abc.txt文件,清除原有的內(nèi)容B)打開abc.txt文件,只能寫入新的內(nèi)容打開abc.txt文件,只能讀取原有內(nèi)容D)打開abc.txt文件,可以讀取和寫入新的內(nèi)容2.若用fopen()函數(shù)打開ー個新的二進(jìn)制文件,該文件可以讀也可以寫,則文件打開模式是。A)“ab+"B)“wb+"C)“rb+"D)“ab”3.使用fseek函數(shù)可以實(shí)現(xiàn)的操作是〇改變文件的位置指針的當(dāng)前位置B)文件的順序讀寫文件的隨機(jī)讀寫以上都不對 4.fread(buf,64,2,fp)的功能是。從fp文件流中讀出整數(shù)64,并存放在buf中;B)從fp文件流中讀出整數(shù)64和2,并存放在buf中;從fp文件流中讀出64個字節(jié)的字符,并存放在buf中: 從fp文件流中讀出2個64個字節(jié)的字符,并存放在buf中;5.以下程序的功能是〇main(){FILE*fp;charstr[]=,,HELLO,\ fp=fopen("PRN",''w");fpus(str,fp);fclose(fp);}A)在屏幕上顯示“HELLO”B)把“HELLO”存入PRN文件中在打印機(jī)上打印出‘'HELLO”以上都不對6.若fp是指向某文件的指針,且已讀到此文件末尾,則庫函數(shù)feof(fp)的返回值是?A)EOFB)0C)非零值D)NULL7.以下敘述中不正確的是〇A)C語言中的文本文件以ASCII碼形式存儲數(shù)據(jù)B)C語言中對二進(jìn)制位的訪問速度比文本文件快C)C語言中,隨機(jī)讀寫方式不使用于文本文件D)C語言中,順序讀寫方式不使用于二進(jìn)制文件8.以下程序企圖把從終端輸入的字符輸出到名為abc.txt的文件中,直到從終端讀入字符#號時結(jié)束輸入和輸出操作,但程序有錯。#include<stdio.h>main(){FILE*fout;charch;fout=fopen(,abc.txt\,w,);ch=fgetc(stdin);while(ch!='#1){fputc(ch,fout);ch=fgetc(stdin);}fclose(fout);}出錯的原因是〇A)函數(shù)fopen調(diào)用形式有誤B)輸入文件沒有關(guān)閉C)函數(shù)fgetc調(diào)用形式有誤D)文件指針stdin沒有定義9、若fp為文件指針,且文件已正確打開,i為long型變量,以下程序段的輸出結(jié)果是〇fseek(fp,0,SEEK.END);i=ftell(fp);printf(ni=%ld\nn,i);

A)-l〇〇A)-l〇〇B)fp所指文件的長度,以字節(jié)為單位D)2二、填空題.C語言中根據(jù)數(shù)據(jù)的組織形式,把文件分為和兩種。.使用功6或む瓦",“什”)打開文件時,若abc文件不存在,則。.使用問問!(、氏”,“亞+”)打開文件時,若abc文件已存在,則〇.C語言中文件的格式化輸入輸出函數(shù)對是:文件的數(shù)據(jù)塊輸入輸出函數(shù)對是:文件的字符串輸入輸出函數(shù)對是。.C語言中文件指針設(shè)置函數(shù)是;文件指針位置檢測函數(shù)是。三、編程題.編寫ー個程序,由鍵盤輸入ー個文件名,然后把從鍵盤輸入的字符依次存放到該文件中,用’#‘作為結(jié)束輸入的標(biāo)志。.編寫ー個程序,建立一個abc文本文件,向其中寫入“thisisatest"字符串,然后顯示該文件的內(nèi)容。.編寫ー程序,査找指定的文本文件中某個單詞出現(xiàn)的行號及該行的內(nèi)容。.編寫一程序fcat.c,把命令行中指定的多個文本文件連接成一個文件。例如:featfilelfile2file3它把文本文件filel、file2和file3連接成一個文件,連接后的文件名為filel。第1章C語言概述ー、選擇題1~5CBACD 6-10CCACB二、填空題.主函數(shù)main函數(shù).函數(shù)的說明部分 函數(shù)體.最外層的一對大括弧內(nèi)的部分.變量定義部分執(zhí)行部分.輸入和輸出函數(shù)三、程序題.把“YouarewelcometoChina!”這個句子以每個單詞一行的形式顯示在屏幕上。#include<stdio.h>main(){prinM"You'n'');printf(4tare\nM);printf(44welcome\n^,);printf(44toChina!\n");).用三個printf語句把441loveBeijingTiananmen”顯示在一行上。#include<stdio.h>main(){printf(44Ilove");printf(44Beijing");printf(4Tiananmen'n”);)第2章 數(shù)據(jù)類型與基本運(yùn)算ー、選擇題1-5ABDBA 6-10ABBAD二、填空題.控制語句空語句復(fù)合語句函數(shù)調(diào)用語句表達(dá)式語句.函數(shù)調(diào)用.向終端輸出ー個字符.在終端設(shè)備上(或系統(tǒng)隱含的輸出設(shè)備上)按照指定的格式進(jìn)行輸出.格式說明普通字符第3章 順序結(jié)構(gòu)程序設(shè)計(jì)編程題.#include<stdio.h>main(){charcl,c2;cl=getchar();printf(44%c,%d\n,,,cl,cl);c2=cl+'A'?4a';printf(44%c,%d\n,,,c2,c2);).#include<stdio.h>#include<math.h>main(){floata,b,c,disc,x1,x2,realpart,imagpart;scanf(4t%f%f%f;&a,&b,&c);printf(44theequation,,);if(fabs(a)<=le-6)printf("isnotquadratic");elsedisc=b*b-4*a*c;if(fabs(disc)<=le-6)printf("hastwoequalroots:%8.4f\n",-b/(2*a));elseif(disc>le-6){xl=(-b+sqrt(disc))/(2*a);x2=(-b-sqrt(disc))/(2*a);printf("hasdistincrrealroots:%8.4f\n",xl,x2);}else{realpart=-b/(2*a);imagpart=sqrt(-disc)/(2*a);printf(4thascomplexroots:\n");printf(44%8.4f+%8.4fi\n",realpart,imagpart);printf(44%8.4f-%8.4fi\n",realpart,imagpart);}).mian(){printf(44Iamastudent.\n");printf(44IloveChinaAn");第4章 選擇結(jié)構(gòu)程序設(shè)計(jì)ー、選擇題1-5BADBB 6-10ACDBD二、填空題.else與它前面最近的ー個if配對.由鍵盤輸入ー個數(shù),打印出它的類型標(biāo)識符.if(a<=b){x=l;printf(4t****y=%d\n,\y);}else{y=2;printf("####x=%d\nM,x);}三、編程題.#include<math.h>#include<stido.h>main(){floata,b,c,s,sl;printfC'Pleaseenter3reals:\nM);scanf("%f%f%ド,&a,&b,&c);if((a+b)>c&&(a+c)>b&&(b+c)>a){s=(a+b+c)*0.5;sl=s*(s-a)*(s-b)*(s-c);s=sqrt(sl);printf(4<\nAreaofthetriangleis%f\n,,,s);)elseprintf("Itisnottriangle!\nM);).#include<stdio.h>#definepi3.14159main(){intk;floatr,c,a;printf("inputr,k\n");scanf(ti%f%d,,,&r,&k);switch(k){case1:a=pi*r*r;prin情(''area=%f\n'',a);break;case2:c=2*pi*r;printfC*circle=%f\n,\c);break;cese3:a=pi*r*r;c=2*pi*r;printf(tkarea=%fcircle"%f\n",a,c);break;)}3.main(){intyear,leap;scanf(44%d,,,&year);if(year%4==0){if(year%100==0){if(year%400==0)leap=1;elseleap=O;)elseleap=1;}elseleap=O;if(leap)printf(4i%dis'[year);elseprintf("%disnot';year);printf(4taleapyear\n");).#include<math.h>main(){floatx,y;scanf(4t%f',&x);if(x<0)y=x*x;elseif(x>=0&&x<10) y=-0.5*x+10;elsey=x-sqrt(x);printf(4ty=%f\y);).main(){floatscore;scanf(t4%f',&score);if(score>=90)printffW);elseif(score>=80)printf("B”);elseif(score>=70)printfC'C");elseif(score>=60)printf("D”);elseprintf(t4E");第5章循環(huán)結(jié)構(gòu)程序設(shè)計(jì)ー、選擇題1-5ACCCB 6-10DDACB二、填空題1.(1)先判斷條件是否成立(為真),若成立(為真)再執(zhí)行循環(huán)語句(2)先執(zhí)行循環(huán)語句,再判斷條件是否成立(為真),若成立則繼續(xù)執(zhí)行循環(huán),若不成立,則結(jié)束循環(huán)。do-while至少執(zhí)行一次循環(huán)語句.表達(dá)式!;while(表達(dá)式2)表達(dá)式3;.終止包含它的最內(nèi)層循環(huán)的執(zhí)行。或從switch-case語句中跳出,執(zhí)行后面的語句.(1)switch-case語句(2)循環(huán).結(jié)束本次循環(huán)執(zhí)行三、編程題l.mian(){intn=0,m=0,temp,r;printf(44PleaseInputmandnvalue:\n“);scanf(44%d%d,,,&m,&n);if(m>n){temp=m;m=n;n=temp;)r=m%n;while(r!=0){m=n;n=r;r=m%n;printf(4tTheMAXFactoris%d\n,\n);2.#include<stdio.h>main(){intn=1,m=0,k,mod_mn=1;printf(4*PleaseInputmvalue:\n'‘);scanf("%d”,&m);n=l;for(k=0;;k++){mod_mn=m/(n*10);printf(t4%d,,,(m-mod_mn*n*10)/n);if(mod_mn==0)break;n*=10;3.#include<stdio.h>main(){intl,m,n,answer_flag=O;n=l;printf(4tBigRooster,Hen,Chickabiddy\n^^);for(l=0;l<=20;l++)for(m=0;m<=(l00-l*5)/3;m++){n=(100-l*5-m*3)*3;if(l*m*n>O&&l+m+n==100&&(l*5+m*3+n/3)==100){printf(tt%-4d%-4d%-4d\n,,,l,m,n);answer_flag=1;))if(answer_flag==0)printf(44NotAnswer");)BigRooster,Hen,ChickabiddyTOC\o"1-5"\h\z4 18 788 11 8112 4 844.#include<stdio.h>#include<math.h>main(){intk,l,m,n=0;printfC'PleaseInputn:\n);for(m=101;m<=200;m+=2){if(n%10==0)printf("\n”);k=sqrt(m);for(l=2;l<=k;l++)if(m%l==0)break;if(l>=k+l){printf(u%d,\m);n++;}101103107109113127131137139149151157163167173179181191193197199#include<stdio.h>main(){intl,m,n,answer_f!ag=O;n=l;printf(*AnlCentCoin,2CentCoin,5CentCoin\n’');for(l=0;l<=100;l++)for(m=0;m<=(100-l)/2;m++){n=(100-l-m*2)/5;if(l+m*2+n*5==100){printf(<<%-4d%-4d%-4d\n,,,l,m,n);answer_flag+=l;))if(answer_flag==0)printf(ifcNotAnswer");elseprintfC'TotalofExchangeMethodis%d,,,answer_flag);}共有541種換法。#include<stdio.h>main(){intml,nl,n,k,temp;floats=0;printf("PleaseInputn:\n");scanf("%d”,&n);ml=l;nl=2;for(k=0;k<n;k++){s+=(float)nl/ml;temp=m1;ml=nl;nl=temp+nl;}printf(k4\ns=%f,,s);}前20項(xiàng)的和為32.660259#include<stdio.h>main(){intk,l,n;doublee=1,fact_k=1;printf(t4PleaseInputn:M);scanf("%d”,&n);fbr(k=1;kv=n;k++){fact_k=l;fdr(l=1;l<=k;l++)fact_k*=l;e+=l/(double)fact_k;)printf("e=%f',e);)PleaseInputn:100e=2.718282#include<stdio.h>main(){intk,l,m,n;printfC'PleaseInputn:\n");scanf("%d”,&n);fbr(k=1;k<=n;k++){for(m=0,l=l;l<=k/2;l++)

if(!(k%l))m+=l;if(m==k)primf("%4d”,k);))628496#include<stdio.h>main(){intyear=0,number=0;for(year=2000;year<3000;year++){if((year%4==0&&year%100!=0)llyear%400==0){printf(44%d,,,year);number++;if(number%10==0)printf(44\nM);))printf(44\ntotalnumberofleapyearis%d”,number);第6章數(shù)組ー、選擇題1~5BDCDC 6-10ACDDA二、填空題.標(biāo)識符.常量符號常量變量.逐個引用整個數(shù)組4.static.靜態(tài)(static)五、編程題.main(){intij,m,a[H];for(i=l;i<=10;i++)scanf("%d”,&a[i]);for(i=l;i<=9;i++)for(j=l;j<=10-i;j++)if(aO]>aO+l]){m=a[j];a(j]=a[j+l];a[j+l]=m; }for(i=l;i<=10;i++)printfC%dXi]);}.#include<stdio.h>#include<math.h>main(){inti,max,min,data[10];floataverage=0,sum=0;for(i=0;i<10;i++)scanf("%d”,&data[i]);max=min=data[0];for(i=0;i<10;i++){if(max<data[i])max=data[i];elseif(min>data[i])min=data[i];sum+=data[i];}average=sum/10;printf(4tmax=%d,min=%d,average=%f,,max,min,average);}.#include<stdio.h>main(){intij,k,a[2][3],b[3][2];printfC'input2*3integer\n^^);for(i=0;i<2;i++)for(j=0;j<3;j++)scanf("%d'',&a[i][j]);for(i=0;i<2;i++)for(j=0;j<3;j++)brj][i]=a[i](j];printf(4TheOriginalis:\nM);fbr(i=O;i<2;i++){for(j=0;j<3;j++)printf("%ザ,a[i田]);printf(ヽn");)printf(,lTheResultis:\n");for(i=0;i<3;i++){for(j=0;j<2;j++)printf("%d”,b[i][j]);printf(ヽn");I).main(){inti,array[10];intmin,k=0;printf('ヘnPleaseinputarray10elements\n’');for(i=0;i<10;i++)scanf("%d”,&array[i]);printf("Beforeexchange:\n^^);for(i=0;i<10;i++)printf(<4%5d'\array[i]);min=array[OJ;for(i=l;i<10;i++)if(min>array[i]){min=array[i];k=i;}array[k]=array[O];array[O]=min;printf(4i\nAfterexchange:\n^^);fbr(i=0;i<10;i++)printf("%5d”,array[i]);printf(t4\nk=%d\nmin=%d\n,\k,min);).main(){inti,n;doubleinsert_value,orig_data[20],result_data[21];printf(44\nPleaseinputN(<=20):\nM);scanf(44%d”,&n);printf(44\nPleaseenter%dvalue(fromsmalltobig)\n”,n);fbr(i=0;i<n;i++)scanf(44%lf,,&orig_data[i]);printf(*4\nlnputInsertvalue:");scanf(44%lf\&insert_value);i=0;while(insert_value>orig_data[i]&&i<n){result_data[i]=orig_data[i];i++;}result_data[i]=insert_value;for(i=i+l;i<n+l;i++)result_data[i]=orig_data[i-lJ;puts(44\n");fbr(i=O;i<n+l;i++){printff4%10.4f\result_data[i]);if((i+l)%5==0)puts(44\n");}).main(){intmat[20][20];inti,m,sum=0;intj;printf(44\nPleaseinputdimensionofmatrix(<=20)\nm=?M);scanf("%d”,&m);printf("Pleaseinputelementof%d*%dmatrix\n",m,m);for(i=0;i<m;i++)for(j=0;j<m;j++)scanf(44%d,,,&mat[ij[j]);if(m%2==l)sum=-mat[m/2][m/2];for(i=0;i<m;i++)sum=sum+mat[i][i]+mat[i][m-l-i];printf(44\nsum=%d\n,\sum);第7章函數(shù)ー、選擇題1~5ABBDB6~10BDAAD二、填空題.程序中的main()函數(shù).函數(shù)說明部分函數(shù)體.a[0]=l,a[l]=2 單向值傳遞,不能返回交換后的值.alO]=2,a[U=! 因?qū)崊⑹堑刂?已對指定地址中的內(nèi)容進(jìn)行了交換.fun(doubleb[][]).包含它的函數(shù)調(diào)用函數(shù)三、編程題.main(){floatgrade[10],i,aver;for(i=0;i<10;i++)scanf(4t%f\grade[i]);aver=fensu(grade,10)for(i=0;i<10;i++)if(grade[i]>aver)printf(44%f\grade[i]);)fensu(floata[10],intn){floatsum=0,pj;for(i=0;i<n;i++)sum=sum+a[i];pj=sum/n;retum(pj);}.#include<stdio.h>func(intnum){ints=0;num=abs(num);do{s+=num%10;num/=10;Jwhile(num);}main(){intn;printf(“輸入ー個整數(shù):");scanf("%d”,&n);printf(“結(jié)果:%d”,func(n));).doubleadd(doublex,doubley){returnx+y;}.doublemypow(doublex,inty){inti;doublep;p=1.0;for(i=l;i<=y;++i)p=p*x;returnp;).sum(intn){inti,k=0;for(i=0;i<=n;i++)k+=i;returnk;).fun(intx,inty){intz;z=fabs(x-y);retum(z);.isprime(inta){inti;for(i=2;i<sqrt((double)a);i++)if(a%i==0)return0;return1;}#include"stdio.h1'main(){inti=5;voidpalin(intn);printf(',\40:H);palin(i);printf(,,\n'');}voidpalin(intn){charnext;if(n<=l){next=getchar();printf(、、〇:");putchar(next);}else{next=getchar();palin(n-I);putchar(next);})#include"stdio.h"main(){inti,n;intfact();scanf("%d”,&n);for(i=0;i<n;i++)printf(M%d!=%d\n\i,fact(i));}intfact(intj){intsum;if(j==O)sum=l;elsesum=j*fact(j-l);returnsum;main(){floataverage(floatb[J);voidsort(floatb[]);floata[10],j,aver;for(j=0;j<10;j++)scanfC%f;&a[j]);aver=average(a);printf(44aver=%f\n,\aver);sort(a);for(j=0;j<10;j++)printf(“%.2f”皿);)floataverage(floatb[]){intj;floatsum=0,aver;for(j=0;j<10;j++)sum=sum+b[i];aver=sum/10.0;retum(aver);)voidsort(floatb[]){intij,max,k;for(i=0;i<10;i++){max=b[i];k=i;for(j=i+ly<10;j++)if(max<b[j]){max=b|j];k=j;)b[k]=b[i];b[i]=max;})第8章指針ー、選擇題B C B C B 6-10 C D D A D41-45 C B D A C 46-50 B B B D CTOC\o"1-5"\h\z51-55 B D D B A 56?60 C D C D D61?65 C C B A D 66-70 D A B B B二、填空題1.12 12.地址常量 數(shù)組名.返回一個指向整型值的指針的函數(shù) 指向ー個返回整型值的函數(shù)的指針.地址 NULL(或‘、〇’,或〇,或空值).0三、編程題#include<stdio.h>main(){char*str;printf("輸入一字符串:");gets(str);printf("[%s]的長度為:%d\n,,,str,string_length(str));)string_length(char*s){intlen=O;while(*s++)len++;retum(len);}#include<stdio.h>main(){char*months口={"January","February'',"March",',April',"May","June","July",“August","September","October“JNovembei*","December"};intn;primf("月份:");scanf(4t%d",&n);if(n<=l2&&n>=1)printf(t4%d月的英文名稱是%s\n",n,*(months+n?l));elseprintf("輸入的月份無效!'n");}#include<stdio.h>main(){staticcharx[]="computer";char*p;for

溫馨提示

  • 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

提交評論