版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1.(A)是構(gòu)成C語(yǔ)言程序基本單位。
A、函數(shù)B、過程C、子程序D、子例程
2.C語(yǔ)言程序從C開始執(zhí)行。
A、程序中第一條可執(zhí)行語(yǔ)句B、程序中第一種函數(shù)
C、程序中main函數(shù)D、包括文獻(xiàn)中第一種函數(shù)
3.如下說法中對(duì)的是(C)。
A、C語(yǔ)言程序總是從第一種定義函數(shù)開始執(zhí)行
B、在C語(yǔ)言程序中,要調(diào)用函數(shù)必要在main()函數(shù)中定義
C、C語(yǔ)言程序總是從main()函數(shù)開始執(zhí)行
D、C語(yǔ)言程序中main()函數(shù)必要放在程序開始某些
4.下列關(guān)于C語(yǔ)言說法錯(cuò)誤是(B)。
A、C程序工作過程是編輯、編譯、連接、運(yùn)營(yíng)B、C語(yǔ)言不區(qū)別大小寫。
C、C程序三種基本構(gòu)造是順序、選取、循環(huán)D、C程序從main函數(shù)開始執(zhí)行
5.下列對(duì)的標(biāo)記符是(C)。
A、-a1B、a[i]C、a2_iD、intt
5~8題為相似類型題
考點(diǎn):標(biāo)記符命名規(guī)則只能由字母、數(shù)字、下劃線構(gòu)成,數(shù)字不能作為標(biāo)記符開頭,核心字不能作為標(biāo)記符.選項(xiàng)A中“-”,選項(xiàng)B中“[”與“]”不滿足(1);選項(xiàng)D中int為核心字,不滿足(3)
6.下列C語(yǔ)言顧客標(biāo)記符中合法是(B)。
A、3axB、xC、caseD、-e2E)union
選項(xiàng)A中標(biāo)記符以數(shù)字開頭不滿足(2);選項(xiàng)C,E均為為核心字,不滿足(3);選項(xiàng)D中“-”不滿足(1);
7.下列四組選項(xiàng)中,對(duì)的C語(yǔ)言標(biāo)記符是(C)。
A、%xB、a+bC、a123D、123
選項(xiàng)A中“%”,選項(xiàng)B中“+”不滿足(1);選項(xiàng)D中標(biāo)記符以數(shù)字開頭不滿足(2)
8、下列四組字符串中都可以用作C語(yǔ)言程序中標(biāo)記符是(A)。
A、print_3ddb8aBcB、I\amone_halfstart$it3pai
C、str_1CpppowwhileD、PxqMy->bookline#His.age
選項(xiàng)B中“\”,”$”,選項(xiàng)D中“>”,”#”,”.”,”-”不滿足(1);選項(xiàng)C中while為核心字,不滿足(3)
9.C語(yǔ)言中簡(jiǎn)樸數(shù)據(jù)類型涉及(D)。
A、整型、實(shí)型、邏輯型B、整型、實(shí)型、邏輯型、字符型
C、整型、字符型、邏輯型D、整型、實(shí)型、字符型
10.在C語(yǔ)言程序中,表達(dá)式5%2成果是C。
A、2.5B、2C、1D、311.C語(yǔ)言中,關(guān)系表達(dá)式和邏輯表達(dá)式值是(B)。
A、0B、0或1C、1D、‘T’或’F’
12.下面(D)表達(dá)式值為4.
A、11/3B、11.0/3C、(float)11/3D、(int)(11.0/3+0.5)
選項(xiàng)A,11與3為兩個(gè)整數(shù),11/3成果數(shù)據(jù)類型也應(yīng)為整數(shù),因而將3.666666小數(shù)某些所有舍掉,僅保存整數(shù),因而11/3=3.
選項(xiàng)B,11.0為實(shí)數(shù),3為整數(shù),因而一方面要統(tǒng)一數(shù)據(jù)類型,將整型數(shù)據(jù)3轉(zhuǎn)換為3.0,轉(zhuǎn)換后數(shù)據(jù)類型統(tǒng)一為實(shí)型數(shù)據(jù),選項(xiàng)B變?yōu)?1.0/3.0,成果數(shù)據(jù)類型也應(yīng)為實(shí)型數(shù)據(jù),因而選項(xiàng)B11.0/3=3.666666
選項(xiàng)C,先將整數(shù)11強(qiáng)制類型轉(zhuǎn)換,轉(zhuǎn)換為實(shí)型11.0,因而選項(xiàng)C變?yōu)?1.0/3,其后計(jì)算過程、成果與選項(xiàng)B同
選項(xiàng)D,一方面計(jì)算11.0/3,其計(jì)算過程、成果與選項(xiàng)B同,得到3.666666;再計(jì)算3.666666+0.5=4.166666,最后將4.166666強(qiáng)制類型轉(zhuǎn)換為整型,即將其小數(shù)某些所有舍掉,成果為4
13.設(shè)整型變量a=2,則執(zhí)行下列語(yǔ)句后,浮點(diǎn)型變量b值不為0.5是(B)
A、b=1.0/aB、b=(float)(1/a)C、b=1/(float)aD、b=1/(a*1.0)
14.若“intn;floatf=13.8;”,則執(zhí)行“n=(int)f%3”后,n值是(A)
A、1B、4C、4.333333D、4.6
“(int)f“表達(dá)將f中值強(qiáng)制類型轉(zhuǎn)換為整型,即將13.8小數(shù)某些舍掉,轉(zhuǎn)換為13;然后計(jì)算13%3,成果為1,再將成果賦給變量n,因而n值為1
15.如下對(duì)一維數(shù)組a對(duì)的闡明是:D
A、chara(10);B、inta[];C、intk=5,a[k];D、chara[3]={‘a(chǎn)’,’b’,’c’};
一維數(shù)組定義、初始化類型符數(shù)組名[常量表達(dá)式]
類型符是指數(shù)組中數(shù)組元素類型;數(shù)組名要符合標(biāo)記符命名規(guī)則;常量表達(dá)式是指數(shù)組長(zhǎng)度(數(shù)組中包括元素個(gè)數(shù)),其值只能是整數(shù),不可以是變量,并且從1開始計(jì)數(shù)。
選項(xiàng)A,常量表達(dá)式只能放在中括號(hào)[]中.選項(xiàng)B,只有在對(duì)數(shù)組初始化(即賦值)時(shí)候才可以省略數(shù)組長(zhǎng)度,B中并未對(duì)a進(jìn)行初始化。選項(xiàng)C,常量表達(dá)式不能為變量。
16.如下能對(duì)一維數(shù)組a進(jìn)行初始化語(yǔ)句是:(C)
A、inta[5]=(0,1,2,3,4,)B、inta(5)={}
C、inta[3]={0,1,2}D、inta{5}={10*1}
選項(xiàng)B,D,常量表達(dá)式只能放在中括號(hào)[]中.選項(xiàng)A,數(shù)組可以看做是若干個(gè)相似數(shù)據(jù)類型元素有序集合,因而以集合形式對(duì)其初始化,使用{}對(duì)其初始化,選項(xiàng)A用了().
17.在C語(yǔ)言中對(duì)一維整型數(shù)組正擬定義為D。
A、inta(10);B、intn=10,a[n];
C、intn;a[n];D、#defineN10inta[N];
18、已知:inta[10];則對(duì)a數(shù)組元素對(duì)的引用是(D)。
A、a[10]B、a[3.5]C、a(5)D、a[0]
數(shù)組元素引用數(shù)組名[下標(biāo)]
引用數(shù)組元素時(shí),[]中下標(biāo)為邏輯地址下標(biāo),只能為整數(shù),可覺得變量,且從0開始計(jì)數(shù).inta[10]表達(dá)定義了一種包括10個(gè)整型數(shù)據(jù)數(shù)組a,數(shù)組元素邏輯地址下標(biāo)范疇為0~9,即a[0]表達(dá)組中第1個(gè)元素;a[1]表達(dá)組中第2個(gè)元素;a[2]表達(dá)組中第3個(gè)元素;......;a[9]表達(dá)組中第10個(gè)元素.選項(xiàng)A,超過了數(shù)組a邏輯地址下標(biāo)范疇;選項(xiàng)B,邏輯地址下標(biāo)只能為整數(shù).選項(xiàng)C,邏輯地址下標(biāo)只能放在[]中19.若有如下數(shù)組闡明,則i=10;a[a[i]]元素?cái)?shù)值是(C)。
inta[12]={1,4,7,10,2,5,8,11,3,6,9,12};
A、10B、9C、6D、5
20.若有闡明:inta[][3]={{1,2,3},{4,5},{6,7}};則數(shù)組a第一維大小為:(B)
A、2B、3C、4D、無擬定值
二維數(shù)組一維大小,即指二維數(shù)組行數(shù),在本題中,按行對(duì)二維數(shù)組賦值,因而內(nèi)層有幾種大括號(hào),數(shù)組就有幾行
21.對(duì)二維數(shù)組正擬定義是(C)
A、inta[][]={1,2,3,4,5,6};B、inta[2][]={1,2,3,4,5,6};
C、inta[][3]={1,2,3,4,5,6};D、inta[2,3]={1,2,3,4,5,6};二維數(shù)組定義、初始化類型符數(shù)組名[常量表達(dá)式][常量表達(dá)式]
二維數(shù)組可以看做是矩陣.類型符是指數(shù)組中數(shù)組元素類型;數(shù)組名要符合標(biāo)記符命名規(guī)則;第一種常量表達(dá)式是指數(shù)組行數(shù);第二個(gè)常量表達(dá)式是指數(shù)組列數(shù);常量表達(dá)式值只能是整數(shù),不可以是變量,并且從1開始計(jì)數(shù)。
一維數(shù)組初始化時(shí)可以省略數(shù)組長(zhǎng)度.二維數(shù)組初始化時(shí)可以省略行數(shù),但不能省略列數(shù)
選項(xiàng)A,B,都省略了列數(shù).選項(xiàng)D,不符合二維數(shù)組定義普通形式,行、列常量表達(dá)式應(yīng)當(dāng)放在不同[]中
22.已知inta[3][4];則對(duì)數(shù)組元素引用對(duì)的是__C___
A、a[2][4]B、a[1,3]C、a[2][0]D、a(2)(1)
數(shù)組元素引用數(shù)組名[下標(biāo)][下標(biāo)]
引用數(shù)組元素時(shí),[]中下標(biāo)為邏輯地址下標(biāo),只能為整數(shù),可覺得變量,且從0開始計(jì)數(shù).第一種[下標(biāo)]表達(dá)行邏輯地址下標(biāo),第二個(gè)[下標(biāo)]表達(dá)列邏輯地址下標(biāo)。因而a行邏輯地址范疇0~2;a列邏輯地址范疇0~3;選項(xiàng)A,列邏輯地址下標(biāo)超過范疇,選項(xiàng)B,D,引用形式不對(duì)的。
23.C語(yǔ)言中函數(shù)返回值類型是由A決定.
A、函數(shù)定義時(shí)指定類型B、return語(yǔ)句中表達(dá)式類型
C、調(diào)用該函數(shù)時(shí)實(shí)參數(shù)據(jù)類型D、形參數(shù)據(jù)類型
24.在C語(yǔ)言中,函數(shù)數(shù)據(jù)類型是指(A)
A、函數(shù)返回值數(shù)據(jù)類型B、函數(shù)形參數(shù)據(jù)類型
C、調(diào)用該函數(shù)時(shí)實(shí)參數(shù)據(jù)類型D、任意指定數(shù)據(jù)類型
25.在函數(shù)調(diào)用時(shí),如下說法對(duì)的是(B)
A、函數(shù)調(diào)用后必要帶回返回值B、實(shí)際參數(shù)和形式參數(shù)可以同名
C、函數(shù)間數(shù)據(jù)傳遞不可以使用全局變量D、主調(diào)函數(shù)和被調(diào)函數(shù)總是在同一種文獻(xiàn)里
26.在C語(yǔ)言中,表達(dá)靜態(tài)存儲(chǔ)類別核心字是:(C)
A、autoB、registerC、staticD、extern
27.未指定存儲(chǔ)類別變量,其隱含存儲(chǔ)類別為(A)。
A、autoB、staticC、externD、register
28.若有如下闡明語(yǔ)句:
structstudent
{intnum;
charname[];
floatscore;
}stu;
則下面論述不對(duì)的是:(D)
A、struct是構(gòu)造體類型核心字B、structstudent是顧客定義構(gòu)造體類型
C、num,score都是構(gòu)造體成員名D、stu是顧客定義構(gòu)造體類型名29.若有如下闡明語(yǔ)句:
structdate
{intyear;
intmonth;
intday;
}brithday;
則下面論述不對(duì)的是__C___.
A、struct是聲明構(gòu)造體類型時(shí)用核心字B、structdate是顧客定義構(gòu)造體類型名
C、brithday是顧客定義構(gòu)造體類型名D、year,day都是構(gòu)造體成員名
30.如下對(duì)構(gòu)造變量stul中成員age非法引用是B
structstudent
{intage;
intnum;
}stu1,*p;
p=&stu1;
A、stu1.ageB、student.ageC、p->ageD、(*p).age
31.設(shè)有如下定義:
strucksk
{inta;
floatb;
}data;
int*p;
若要使P指向data中a域,對(duì)的賦值語(yǔ)句是C
A、p=&a;B、p=datA、a;C、p=&datA、a;D、*p=datA、a;
32.設(shè)有如下闡明語(yǔ)句:
typedefstructstu
{inta;
floatb;
}stutype;
則下面論述中錯(cuò)誤是(D)。
A、struct是構(gòu)造類型核心字B、structstu是顧客定義構(gòu)造類型
C、a和b都是構(gòu)導(dǎo)致員名D、stutype是顧客定義構(gòu)造體變量名
33.語(yǔ)句int*p;闡明了C。
A、p是指向一維數(shù)組指針B、p是指向函數(shù)指針,該函數(shù)返回一int型數(shù)據(jù)
C、p是指向int型數(shù)據(jù)指針//指針定義教材P223
D、p是函數(shù)名,該函數(shù)返回一指向int型數(shù)據(jù)指針
34.下列不正擬定義是(A)。
A、int*p=&i,i;B、int*p,i;C.inti,*p=&i;D、inti,*p;
選項(xiàng)A先定義一種整型指針變量p,然后將變量i地址賦給p。然而此時(shí)尚未定義變量i因而編譯器無法獲得變量i地址。(A與C對(duì)比,選項(xiàng)C先定義變量i,則在內(nèi)存中為i分派空間,因而i在內(nèi)存空間地址就可以擬定了;然后再定義p,此時(shí)可覺得p賦i地址,C對(duì)的)
35.若有闡明:intn=2,*p=&n,*q=p,則如下非法賦值語(yǔ)句是:(D)
A、p=qB、*p=*qC、n=*qD、p=n
p,q同為整型指針變量,兩者里面僅能存儲(chǔ)整型變量地址。
選項(xiàng)A,q中為地址,因而可將此地址賦給p
選項(xiàng)B,*p表達(dá)p所指向?qū)ο髇內(nèi)容,即一種整數(shù);*q表達(dá)q所指向?qū)ο髢?nèi)容,由于在定義q時(shí)為其初始化,將p中n地址給q,因而p中存儲(chǔ)n地址,*q表達(dá)q所指向?qū)ο髇內(nèi)容.因而*p=*q相稱于n=n;
選項(xiàng)C,n=*q等價(jià)于n=n;
選項(xiàng)D,p中只能存儲(chǔ)地址,不能將n中整數(shù)值賦給p
36.有語(yǔ)句:inta[10],;則B是對(duì)指針變量p正擬定義和初始化。
A、intp=*a;B、int*p=a;C、intp=&a;D、int*p=&a;
選項(xiàng)A,a是數(shù)組名,不是指針變量名,因而不可用*標(biāo)注數(shù)組名a選項(xiàng)C,a是數(shù)組名,數(shù)組名就是地址,無需再用地址符號(hào)。并且在定義指針變量p時(shí),應(yīng)在變量名前加*,標(biāo)明p是指針變量選項(xiàng)D,a是數(shù)組名,數(shù)組名就是地址,無需再用地址符號(hào)。
37.若有闡明語(yǔ)句“inta[5],*p=a;”,則對(duì)數(shù)組元素對(duì)的引用是(C)。
A、a[p]B、p[a]C、*(p+2)D、p+2
一方面定義一種整型數(shù)組a,a長(zhǎng)度為5,然后定義一種指針變量p,并同步對(duì)p進(jìn)行初始化,將數(shù)組a地址賦給p。因而此時(shí)p中存儲(chǔ)數(shù)組a首地址,即數(shù)組中第一種元素a[0]地址。
對(duì)于數(shù)組元素下標(biāo)引用,普通形式數(shù)組名[下標(biāo)]其中下標(biāo)為邏輯地址下標(biāo),從0開始計(jì)數(shù),方括號(hào)中下標(biāo)可以是變量,可以是表達(dá)式,但成果一定要是整數(shù)。
選項(xiàng)A,p中存儲(chǔ)是地址,不是整數(shù),不能做數(shù)組元素下標(biāo)
選項(xiàng)B,a是數(shù)組名,數(shù)組名就是地址,不是整數(shù),不能做數(shù)組元素下標(biāo)
選項(xiàng)C,(重點(diǎn)?。?!詳見p231~234)p+2表達(dá)指向同一數(shù)組中下兩個(gè)元素地址,當(dāng)前p指向a[0],則p+2表達(dá)a[2]地址,因而*(p+2)表達(dá)a[2]內(nèi)容
38.有如下程序
inta[10]={1,2,3,4,5,6,7,8,9,10},*P=a;
則數(shù)值為9表達(dá)式是B
A、*P+9B、*(P+8)C、*P+=9D、P+8
一方面定義一種整型數(shù)組a,a長(zhǎng)度為5,然后定義一種指針變量P,并同步對(duì)P進(jìn)行初始化,將數(shù)組a地址賦給P。因而此時(shí)P中存儲(chǔ)數(shù)組a首地址,即數(shù)組中第一種元素a[0]地址。
數(shù)組中9相應(yīng)是a[8],選項(xiàng)B,P+8表達(dá)數(shù)組中后8個(gè)元素地址,即a[8]地址。*(P+8)則表達(dá)該地址內(nèi)所存儲(chǔ)內(nèi)容,即a[8]值。
選項(xiàng)A,*P表達(dá)P所指向?qū)ο髢?nèi)容,此時(shí)P指向a[0],*P即a[0]值1.*P+9=1+9=10
選項(xiàng)C,*P表達(dá)P所指向?qū)ο髢?nèi)容,此時(shí)P指向a[0],*P即a[0]值。因而*P+=9即*P=*P+9,等價(jià)于a[0]=a[0]+9.
選項(xiàng)D,P+8表達(dá)數(shù)組中后8個(gè)元素地址,即a[8]地址,而非a[8]中值。
39.在C語(yǔ)言中,以D作為字符串結(jié)束標(biāo)志
A、’\n’B、’’C、’0’D、’\0’
40.下列數(shù)據(jù)中屬于“字符串常量”是(A)。
A、“a”B、{ABC}C、‘a(chǎn)bc\0’D、‘a(chǎn)’
41.已知charx[]="hello",y[]={'h','e','a','b','e'};,則關(guān)于兩個(gè)數(shù)組長(zhǎng)度對(duì)的描述是B.
A、相似B、x不不大于yC、x不大于yD、以上答案都不對(duì)
C語(yǔ)言中,字符串背面需要一種結(jié)束標(biāo)志位'\0',普通系統(tǒng)會(huì)自動(dòng)添加。
對(duì)一維數(shù)組初始化時(shí)可采用字符串形式(例如本題數(shù)組x),也可采用字符集合形式(例如本題數(shù)組y)。在以字符串形式初始化時(shí),數(shù)組x不盡要存儲(chǔ)字符串中字符,還要存儲(chǔ)字符串后結(jié)束標(biāo)志位,因而數(shù)組x長(zhǎng)度為6;在以字符集合形式初始化時(shí),數(shù)組y,僅存儲(chǔ)集合中元素,因而數(shù)組y長(zhǎng)度為5#include
main()
{inta=1,b=3,c=5;
if(c==a+b)
printf("yes\n");
else
printf("no\n");
}
運(yùn)營(yíng)成果為:no
2.#include
main()
{inta=12,b=-34,c=56,min=0;
min=a;
if(min>b)
min=b;
if(min>c)
min=c;
printf("min=%d",min);
}
運(yùn)營(yíng)成果為:min=-34
定義變量,并賦值此時(shí)a=12,b=-34,c=56,min=0
將a中值拷貝,賦給min,覆蓋了min中0,此時(shí)min中值被更新為12。
若min>b成立,則執(zhí)行min=b;若min>c成立,則執(zhí)行min=c;輸出min中值
12不不大于-34,第一種if語(yǔ)句表達(dá)式成立,因而執(zhí)行min=b;執(zhí)行后min中值被更新為-34.
-34不大于56,第二個(gè)if語(yǔ)句表達(dá)式不成立,因而不執(zhí)行min=c;
最后輸出min中值,為-34.
3.#include
main()
{intx=2,y=-1,z=5;
if(x
if(y<0)
z=0;
else
z=z+1;
printf(“%d\n”,z);
}
運(yùn)營(yíng)成果為:5
遇到選取構(gòu)造,一方面要明確條件表達(dá)式成立時(shí)執(zhí)行哪些操作。本題中,第一種if語(yǔ)句,其后復(fù)合語(yǔ)句沒有大括號(hào){},闡明復(fù)合語(yǔ)句中只包括一條語(yǔ)句,進(jìn)而省略了{(lán)}。內(nèi)層if...else...是選取構(gòu)造第二種基本形式,在構(gòu)造上視為一條語(yǔ)句。因而內(nèi)層if...else...作為第一種if語(yǔ)句復(fù)合語(yǔ)句。
4.#include
main()
{floata,b,c,t;
a=3;
b=7;
c=1;
if(a>b)
{t=a;a=b;b=t;}
if(a>c)
{t=a;a=c;c=t;}
if(b>c)
{t=b;b=c;c=t;}
printf("%5.2f,%5.2f,%5.2f",a,b,c);
}
運(yùn)營(yíng)成果為:1.00,2.00,7.00
本題包括了3個(gè)if語(yǔ)句,每個(gè)if語(yǔ)句后{}都不可省略,由于每個(gè){}中都包括了多條語(yǔ)句
若表達(dá)式a>b成立,則執(zhí)行{t=a;a=b;b=t;}
若表達(dá)式a>c成立,則執(zhí)行{t=a;a=c;c=t;}
若表達(dá)式b>c成立,則執(zhí)行{t=b;b=c;c=t;}
輸出a,b,c中值,規(guī)定輸出每個(gè)數(shù)據(jù)寬度為5個(gè)空格,小數(shù)某些保存2位,數(shù)據(jù)右對(duì)齊
5.#include<stdio.h>
main()
{floatc=3.0,d=4.0;
if(c>d)c=5.0;
else
if(c==d)c=6.0;
elsec=7.0;
printf(“%.1f\n”,c);
}
運(yùn)營(yíng)成果為:7.0
此題為if...else...語(yǔ)句嵌套,第二if...else...作為第一種if...else...語(yǔ)句else某些復(fù)合語(yǔ)句。
若表達(dá)式c>d成立,則執(zhí)行c=5.0;否則(表達(dá)式c>d不成立)
若表達(dá)式c==d成立,則執(zhí)行c=6.0;否則,執(zhí)行c=7.0;輸出c中值
6.#include"stdio.h"
main()
{charc;
c=getchar();
while(c!='?'){putchar(c);c=getchar();}
}
如果從鍵盤輸入abcde?fgh(回車)
運(yùn)營(yíng)成果為:abcde
7.#include
main()
{charc;
while((c=getchar())!=’$’)
{if(‘A’<=c&&c<=‘Z’)putchar(c);
elseif(‘a(chǎn)’<=c&&c<=‘z’)putchar(c-32);}
}
當(dāng)輸入為ab*AB%cd#CD$時(shí),運(yùn)營(yíng)成果為:ABABCDCD
8.#include
main()
{intx,y=0;
for(x=1;x<=10;x++)
{if(y>=10)
break;
y=y+x;
}
printf(“%d%d”,y,x);
}
運(yùn)營(yíng)成果為:105
for(表達(dá)式1;表達(dá)式2;表達(dá)式3)
{
}
(1)先求解表達(dá)式1.(2)求解表達(dá)式2,若其值為真,執(zhí)行循環(huán)體,然后執(zhí)行(3).若為假,則結(jié)束循環(huán),轉(zhuǎn)到(5).(3)求解表達(dá)式3.(4)轉(zhuǎn)回上面(2)繼續(xù)執(zhí)行.(5)循環(huán)結(jié)束,執(zhí)行for語(yǔ)句下面一種語(yǔ)句break,跳出循環(huán)體;continue,結(jié)束本次循環(huán)(第i次循環(huán)),繼續(xù)執(zhí)行下一次循環(huán)(第i+1次循環(huán))
9.#include
main()
{charch;
ch=getchar();
switch(ch)
{case‘A’:printf(“%c”,’A’);
case‘B’:printf(“%c”,’B’);break;
default:printf(“%s\n”,”other”);
}}
當(dāng)從鍵盤輸入字母A時(shí),運(yùn)營(yíng)成果為:AB
10.#include
main()
{inta=1,b=0;
scanf(“%d”,&a);
switch(a)
{case1:b=1;break;
case2:b=2;break;
default:b=10;}
printf("%d",b);
}
若鍵盤輸入5,運(yùn)營(yíng)成果為:10一方面用scanf函數(shù)為變量a賦值為5。
執(zhí)行switch語(yǔ)句。switch背面條件表達(dá)式為a,因而表達(dá)式值即為5.用5依次與下面case中常量匹配。沒有找到匹配常量,因而兩個(gè)case后語(yǔ)句都不執(zhí)行。執(zhí)行default背面語(yǔ)句b=10;將10賦給變量b。輸出變量b,成果為10#include
main()_
{chargrade=’C’;
switch(grade)
{
case‘A’:printf(“90-100\n”);
case‘B’:printf(“80-90\n”);
case‘C’:printf(“70-80\n”);
case‘D’:printf(“60-70\n”);break;
case‘E’:printf(“<60\n”);
default:printf(“error!\n”);
}
}
運(yùn)營(yíng)成果為:
70-80
60-70
12.#include
main()
{inty=9;
for(;y>0;y--)
if(y%3==0)
{printf(%d”,--y);
}
}
運(yùn)營(yíng)成果為:
852
13.#include
main()
{inti,sum=0;i=1;
do{sum=sum+i;i++;}while(i<=10);
printf(“%d”,sum);
}
運(yùn)營(yíng)成果為:55
14.#include
#defineN4
main()
{inti;
intx1=1,x2=2;
printf("\n");
for(i=1;i<=N;i++)
{printf("%4d%4d",x1,x2);
if(i%2==0)
printf("\n");
x1=x1+x2;
x2=x2+x1;
}
}
運(yùn)營(yíng)成果為:
1235
8132134
表達(dá)式1為i=1,表達(dá)式2(循環(huán)條件)為i<=N即i<=4,表達(dá)式3為i++
循環(huán)變量初值i為1,循環(huán)條件(即表達(dá)式2)i<=4成立,進(jìn)入第1次循環(huán)
第1次循環(huán)執(zhí)行printf("%4d%4d",x1,x2);因而屏幕上輸出12
執(zhí)行if語(yǔ)句。1%2不為0,if語(yǔ)句條件表達(dá)式不成立,不執(zhí)行printf("\n");
執(zhí)行x1=x1+x2=1+2=3;此時(shí)x1中值已變?yōu)?執(zhí)行x2=x2+x1=2+3=5。
轉(zhuǎn)向表達(dá)式3,執(zhí)行i++,i為2。循環(huán)條件i<=4成立,進(jìn)入第2次循環(huán)
第2次循環(huán)執(zhí)行printf("%4d%4d",x1,x2);因而屏幕上輸出35
執(zhí)行if語(yǔ)句。2%2==0,if語(yǔ)句條件表達(dá)式成立,執(zhí)行printf("\n");換行
執(zhí)行x1=x1+x2=3+5=8;此時(shí)x1中值已變?yōu)?執(zhí)行x2=x2+x1=5+8=13。
轉(zhuǎn)向表達(dá)式3,執(zhí)行i++,i為3。循環(huán)條件i<=4成立,進(jìn)入第3次循環(huán)
第3次循環(huán)執(zhí)行printf("%4d%4d",x1,x2);因而屏幕上輸出813
執(zhí)行if語(yǔ)句。3%2不為0,if語(yǔ)句條件表達(dá)式不成立,不執(zhí)行printf("\n");
執(zhí)行x1=x1+x2=8+13=21;此時(shí)x1中值已變?yōu)?1
執(zhí)行x2=x2+x1=21+13=34。
轉(zhuǎn)向表達(dá)式3,執(zhí)行i++,i為4。循環(huán)條件i<=4成立,進(jìn)入第4次循環(huán)
第2次循環(huán)
執(zhí)行printf("%4d%4d",x1,x2);因而屏幕上輸出2134
執(zhí)行if語(yǔ)句。4%2==0,if語(yǔ)句條件表達(dá)式成立,執(zhí)行printf("\n");換行
執(zhí)行x1=x1+x2=21+34=55;此時(shí)x1中值已變?yōu)?5
執(zhí)行x2=x2+x1=34+55=89。
轉(zhuǎn)向表達(dá)式3,執(zhí)行i++,i為5。循環(huán)條件i<=4不成立,結(jié)束循環(huán)
15.#include
main()
{intx,y;
for(x=30,y=0;x>=10,y<10;x--,y++)
x/=2,y+=2;
printf(“x=%d,y=%d\n”,x,y);
}
運(yùn)營(yíng)成果為:
x=0,y=12第1題m個(gè)人成績(jī)存儲(chǔ)在score數(shù)組中,請(qǐng)編寫函數(shù)fun,它功能是:將低于平均分人作為函數(shù)值返回,將低于平均分分?jǐn)?shù)放在below所指定函數(shù)中。
intfun(intscore[],intm,intbelow[])
{
inti,k=0,aver=0;
for(i=0;i<m;i++)
aver+=score[i];
aver/=m;
for(i=0;i<m;i++)
if(score[i]<aver)
{
below[k]=score[i];
k++;
}
returnk;
}第2題請(qǐng)編寫函數(shù)fun,它功能是:求出1到100之內(nèi)能北7或者11整除,但不能同步北7和11整除所有證書,并將她們放在a所指數(shù)組中,通過n返回這些數(shù)個(gè)數(shù)。voidfun(int*a,int*n)
{
inti,j=0;
for(i=2;i<1000;i++)
if((i%7==0||i==0)&&iw!=0)
a[j++]=i;
*n=j;
}第3題請(qǐng)編寫函數(shù)voidfun(intx,intpp[],int*n),它功能是:求出能整除x且不是偶數(shù)各整數(shù),并按從小到大順序放在pp所指數(shù)組中,這些除數(shù)個(gè)數(shù)通過形參n返回。voidfun(intx,intpp[],int*n)
{
inti=1,j=0;k=0,*t=pp;
for(i=0;i<=x;i++)
if(i%2!=0)
{
t[j]=I;
j++;
}
for(i=0;i<j;i++)
if(x%t[i]==0)
{
pp[k]=t[i];
k++;
}
*n=k;
}第4題請(qǐng)編寫一種函數(shù)voidfun(char*tt,intpp[]),記錄在tt字符中"a"到"z"26各字母各自浮現(xiàn)次數(shù),并依次放在pp所指數(shù)組中。voidfun(char*tt,intpp[])
{
inti;
for(i=0;i<26;i++)
pp[i]=0;
while(*tt)
{
switch(*tt)
{
case‘a(chǎn)’:pp[0]++;break;
case‘b’:pp[1]++;break;
case‘c’:pp[2]++;break;
case‘d’:pp[3]++;break;
case‘e’:pp[4]++;break;
case‘f’:pp[5]++;break;
case‘g’:pp[6]++;break;
case‘h’:pp[7]++;break;
case‘i’:pp[8]++;break;
case‘j’:pp[9]++;break;
case‘k’:pp[10]++;break;
case‘l’:pp[11]++;break;
case‘m’:pp[12]++;break;
case‘n’:pp[12]++;break;
case‘o’:pp[14]++;break;
case‘p’:pp[15]++;break;
case‘q’:pp[16]++;break;
case‘r’:pp[17]++;break;
case‘s’:pp[18]++;break;
case‘t’:pp[19]++;break;
case‘u’:pp[20]++;break;
case‘v’:pp[21]++;break;
case‘w’:pp[22]++;break;
case‘x’:pp[23]++;break;
case‘y’:pp[24]++;break;
case‘z’:pp[25]++;break;
}
tt++;
}
}第5題請(qǐng)編寫一種函數(shù)voidfun(intm,intk,intxx[]),該函數(shù)功能是:將不不大于整數(shù)m且緊靠mk各素?cái)?shù)存入xx所指數(shù)組中。voidfun(intm,intk,intxx[])
{
intg=0,I,j,flag=1;
for(i=m+1;i<m*m;i++)
{
for(j=0;j<I;j++)
{
if(i%j!=0)
flag=1;
else
{
flag=0;
break;
}
}
if(flag==1&&j>=i)
{
if(k>=0)
{
xx[g++]=i;
k--;
}
else
break;
}
}
}第6題請(qǐng)編寫一種函數(shù)voidfun(chara[],char[],intn),其功能是:刪除以各字符串中指定下標(biāo)字符。其中,a指向原字符串,刪除后字符串存儲(chǔ)在b所指數(shù)組中,n中存儲(chǔ)指定下標(biāo)。voidfun(chara[],charb[],intn)
{
intI,j=0;
for(i=0;i<LEN;i++)
if(i!=n)
{
b[j]=a[i];
j++;
}
b[j]=‘\0’;
}第7題請(qǐng)編寫一種函數(shù)intfun(int*s,intt,int*k),用來求除數(shù)組最大元素在數(shù)組中下標(biāo)并存儲(chǔ)在k所指儲(chǔ)存單元中。voidfun(int*s,intt,int*k)
{
intI,max;
max=s[0];
for(i=0;i<t;i++)
if(s[i]>max)
{
max=s[i];
*k=I;
}
}第8題編寫函數(shù)fun,功能是:依照如下攻勢(shì)計(jì)算s,計(jì)算成果作為函數(shù)值返回;n通過形參傳入。S=1+1/(1+2)+1/(1+2+3)+…….+1/(1+2+3+4+……+n)floatfun(intn)
{
inti;
floats=1.0,t=1.0;
for(i=2;i<=n;i++)
{
t=t+i;
s=s+1/t;
}
returns;
}第9題編寫一種函數(shù)fun,它功能是:依照如下公式求p值,成果由函數(shù)值帶回。M與n為兩個(gè)正整數(shù),且規(guī)定m>n。p=m!/n!(m-n)!
答案:floatfun(intm,intn)
{
floatp,t=1.0;
intI;
for(i=1;i<=m;i++)
t=t*I;
p=t;
for(t=1.0,i=1;i<=n;i++)
t=t*I;
p=p/t;
for(t=1.0,i=1;i<=m-n;i++)
t=t*I;
p=p/t;
returnp;
}第10題編寫函數(shù)fun,它功能是:運(yùn)用如下簡(jiǎn)樸迭代辦法求方程cos(x)-x=0一種實(shí)根。迭代環(huán)節(jié)如下:(1)取x1初值為0.0;(2)x0=x1,把x1值賦各x0;
(3)x1=cos(x0),求出一種新x1;
(4)若x0-x1絕對(duì)值不大于0.000001,則執(zhí)行環(huán)節(jié)(5),否則執(zhí)行環(huán)節(jié)(2);
(5)所求x1就是方程cos(x)-x=0一種實(shí)根,作為函數(shù)值返回。
程序?qū)⑤敵鰎oot=0.739085。floatfun()
{
floatx1=0.0,x0;
do
{
x0=x1;
x1=cos(x0);
}
while(fabs(x0-x1)>1e-6);
returnx1;
}1:下列程序定義了n×n二維數(shù)組,并在主函數(shù)中自動(dòng)賦值。請(qǐng)編寫函數(shù)fun(inta[][n]),該函數(shù)功能是:使數(shù)組左下半三角元素中值所有置成0。intfun(inta[][N])
{
intI,j;
for(i=0;i<N;i++)
for(j=0;j<=I;j++)
a[i][j]=0;
}2:下列程序定義了n×n二維數(shù)組,并在主函數(shù)中賦值。請(qǐng)編寫函數(shù)fun,函數(shù)功能使求出數(shù)組周邊元素平均值并作為函數(shù)值返回給主函數(shù)中s。
答案:doublefun(intw[][N])
{
intI,j,k=0;
doubles=0.0;
for(j=0;j<N;j++)
{
s+=w[0][j];
k++;
}
for(j=0;j<N;j++)
{
s+=w[N-1][j];
k++;
}
for(i=1;i<=N-2;i++)
{
s+=w[i][0];
k++;
}
for(i=1;i<=N-2;i++)
{
s+=w[i][N-1];
k++;
}
returns/=k;
}3:請(qǐng)編寫一種函數(shù)voidfun(inttt[m][n],intpp[n]),tt指向一種m行n列二維函數(shù)組,求出二維函數(shù)組每列中最小元素,并依次放入pp所指定一維數(shù)組中。二維數(shù)組中數(shù)已在主函數(shù)中賦予。voidfun(inttt[M][N],intpp[N])
{
intI,j,min;
for(j=0;j<N;j++)
{
min=tt[0][j];
for(i=0;i<M;i++)
{
if(tt[i][j]<min)
min=tt[i][j];
}
pp[j]=min;
}
}4:請(qǐng)別寫函數(shù)fun,函數(shù)功能使求出二維數(shù)組周邊元素之和,作為函數(shù)值返回。二維數(shù)組中值在主函數(shù)中賦予。intfun(inta[M][N])
{
intI,j,s=0;
for(j=0;j<N;j++)
{
s+=a[0][j];
s+=a[M-1][j];
}
for(i=1;i<=M-2;i++)
{
s+=a[i][0];
s+=a[i][N-1];
}
returns;
}5:請(qǐng)編寫一種函數(shù)unsignedfun(unsignedw),w使一種不不大于10無符號(hào)整數(shù),若w使n(n≥2)位整數(shù),則函數(shù)求出w后n-1位數(shù)作為函數(shù)值返回。unsignedfun(unsignedw)
{
unsignedt,s=0,s1=1,p=0;
t=w;
while(t>10)
{
if(t/10)
p=t;
s=s+p*s1;
s1=s1*10;
t=t/10;
}
returns;
}6:請(qǐng)編寫一種函數(shù)floatfun(doubleh),函數(shù)功能使對(duì)變量h中值保存2位小樹,并對(duì)第三位進(jìn)行四舍五入(規(guī)定h中值位正數(shù))。floatfun(floath)
{
longt;
floats;
h=h*1000;
t=(h+5)/10;
s=(float)t/100.0;
returns;
}7:請(qǐng)編寫一種函數(shù)fun(char*s),該函數(shù)功能使把字符串中內(nèi)容擬置。voidfun(char*s)
{
charch;
intI,m,n;
i=0;
m=n=strlen(s)-1;
while(i<(n+1)/2)
{
ch=s[i];
s[i]=s[m];
s[m]=ch;
i++;
m--;
}8:編寫程序,實(shí)現(xiàn)矩陣(3行3列)轉(zhuǎn)置(即行列互換)。voidfun(intarray[3][3])
{
intI,j,temp;
for(i=0;i<3;i++)
for(j=0;j<I,j++)
{
temp=array[i][j];
array[i][j]=array[j][i];
array[j][i]=temp;
}
}9:編寫函數(shù)fun,該函數(shù)功能是:從字符中刪除指定字符,同一字母大、小寫按不同字符解決。voidfun(chars[],intc)
{
inti=0;
char*p;
p=s;
while(*p)
{
if(*p!=c)
{
s[i]=*p;
i++;
}
p++;
}
s[i]=‘\0’;
}10:編寫函數(shù)intfun(intlim,intaa[max]),該函數(shù)功能是求出不大于或等于lim所有素?cái)?shù)并放在aa數(shù)組中,該函數(shù)返回所求素?cái)?shù)個(gè)數(shù)。intfun(intlim,intaa[MAX])
{
intk=0,I,j;
for(i=lim;i>1;i--)
{
for(j=2;j<i;j++)
if(i%j==0)
break;
else
continue;
if(j>=i)
{
aa[k]=i;
k++;
}
}
returnk++;
}1:請(qǐng)編寫函數(shù)fun,對(duì)長(zhǎng)度位7個(gè)字符字符串,除首尾字符外,將別的5個(gè)字符按ascii碼降序排列。voidfun(char*s,intnum)
{
chart;
intI,j;
for(i=1;i<num-2;i++)
for(j=i+1;j<num-1;j++)
if(s[i]<s[j])
{
t=s[i];
s[i]=s[j];
s[j]=t;
}
}2:n名學(xué)生成績(jī)已在主函數(shù)中放入一種帶頭節(jié)點(diǎn)鏈表構(gòu)造中,h指向鏈表頭節(jié)點(diǎn)。請(qǐng)編寫函數(shù)fun,它功能是:找出學(xué)生最高分,由函數(shù)值返回。doublefun(STREC*h)
{
doublemax;
STREC*q=h;
max=h->s;
do
{
if(q->s>max)
max=q->s;
q=q->next;
}
while(q!=0);
returnmax;
}3:請(qǐng)編寫函數(shù)fun,該函數(shù)功能是:判斷字符串與否為回文?若是則函數(shù)返回1,主函數(shù)中輸出yes,否則返回0,主函數(shù)中輸出no?;匚氖侵疙樧x和倒讀都是同樣字符串。intfun(char*str)
{
intI,n=0;fg=1;
char*p=str;
while(*p)
{
n++;
p++;
}
for(i=0;i<n/2;i++)
if(str[i]==str[n-1-i]);
else
{
fg=0;
break;
}
returnfg;
}4:請(qǐng)編寫一種函數(shù)fun,它功能是:將一種字符串轉(zhuǎn)換為一種整數(shù)(不得調(diào)用c語(yǔ)言提供將字符串轉(zhuǎn)換為整數(shù)函數(shù))。longfun(char*p)
{
longs=0,t;
inti=0,j,n=strlen(p),k,s1;
if(p[0]==‘-’)
i++;
for(j=I;j<=n-1;j++)
{
t=p[j]-‘0’;
s1=10;
for(k=j;k<n-1;k++)
t*=s1;
s+=t;
}
if(p[0]==‘-’)
return–s;
else
returns;
}5請(qǐng)編寫一種函數(shù)fun,它功能是:比較兩個(gè)字符串長(zhǎng)度,(不得調(diào)用c語(yǔ)言提供求字符串長(zhǎng)度函數(shù)),函數(shù)返回較長(zhǎng)字符串。若兩個(gè)字符串長(zhǎng)度相似,則返回第一種字符串。char*fun(char*s,char*t)
{
char*p,*t1=t,*s1=s;
intn=0;m=0;
while(*s1)
{
n++;
s1++;
}
while(*t1)
{
m++;
t1++;
}
if(n>=m)
p=s;
else
p=t;
returnp;
}6:請(qǐng)編寫一種函數(shù)fun,它功能是:依照如下公式求x值(規(guī)定滿足精度0.0005,即某項(xiàng)不大于0.0005時(shí)停止迭代):
x/2=1+1/3+1×2/3×5+1×2×3/3×5×7+1×2×3×4/3×5×7×9+…+1×2×3×…×n/3×5×7×(2n+1)
程序運(yùn)營(yíng)后,如果輸入精度0.0005,則程序輸出為3.14…。doublefun(doubleeps)
{
doubles;
floatn,t,pi;
t=1;pi=0;n=1.0;s=1.0;
while((fabs(s))>=eps)
{
pi+=s;
t=n/(2*n+1);
s*=t;
n++;
}
pi=pi*2;
returnpi;
}7:請(qǐng)編寫一種函數(shù)fun,它功能是:求除1到m之內(nèi)(含m)能北7或11整除所有整數(shù)放在數(shù)組a中,通過n返回這些數(shù)個(gè)數(shù)。voidfun(intm,int*a,int*n)
{
intI,j=0;*n=0;
for(i=1;i<=m;i++)
if(i%7==0||i==0)
{
a[j]=I;
j++;
}
*n=j;
}8:請(qǐng)編寫一種函數(shù)fun,它功能是:找出一維整型數(shù)組元素中最大值和它所在下標(biāo),最大值和它所在下標(biāo)通過形參傳回。數(shù)組元素中值已在主函數(shù)中賦予。主函數(shù)中x是數(shù)組名,n是x中數(shù)據(jù)個(gè)數(shù),max存儲(chǔ)最大值,index存儲(chǔ)最大值所在元素下標(biāo)。voidfun(inta[],intn,int*max,int*d)
{
intI;
*max=a[0];
*d=0;
for(i=0;I<n;i++)
if(a[i]>*max)
{
*max=a[i];
*d=I;
}
}9:請(qǐng)編寫一種函數(shù)fun,它功能是:將ss所指字符串中所有下標(biāo)為奇數(shù)位置上字母轉(zhuǎn)換為大寫(若該位置上不是字母,則不轉(zhuǎn)換)。voidfun(char*ss)
{
intI,n;
n=strlen(ss);
for(i=1;i<n;i+=2)
if(ss[i]>=‘a(chǎn)’&&ss[i]<=‘z’)
ss[i]=ss[i]-32;
}10:請(qǐng)編寫一種函數(shù)fun,它功能是:求除一種2×m整型二維數(shù)組中最大元素值,并將此值返回調(diào)用函數(shù)。intfun(inta[][M])
{
intI,j,max;
max=a[0][0];
for(i=0;i<2;i++)
for(j=0;j<M;j++)
if(a[i][j]>max)
max=a[i][j];
returnmax;
}1:請(qǐng)編寫函數(shù)fun,其功能是:將s所指字符串中除了下標(biāo)為偶數(shù)、同步ascii值也為偶數(shù)字符外,別的全都刪除;串中剩余字符所形成一種新串放在t所指一種數(shù)組中。voidfun(char*s,chart[])
{
intI,j=0,n;
n=strlen(s);
for(i=0;I,n;i++)
if(i%2==0&&s[i]%2==0)
{
t[j]=s[i];
j++;
}
t[j]=‘\0’;
}2:請(qǐng)編寫函數(shù)fun,其功能是:將s所指字符串中除了下標(biāo)為奇數(shù)、同步ascii值也為奇數(shù)字符之外,別的所有字符都刪除,串中剩余字符所形成一種新串放在t所指一種數(shù)組中。voidfun(char*s,chart[])
{
intI,j=0,n;
n=strlen(s);
for(i=0;I,n;i++)
if(i%2!=0&&s[i]%2!=0)
{
t[j]=s[i];
j++;
}
t[j]=‘\0’;
}3:假定輸入字符串中只包括字母和*號(hào)。請(qǐng)編寫函數(shù)fun,它功能是:使字符串中尾部*號(hào)不得多于n個(gè);若多于n個(gè),則刪除多于*號(hào);若少于或等于n個(gè),則什么也不做,字符串中間和前面*號(hào)不刪除。voidfun(char*a,intn)
{
inti=0;k=0;
char*p,*t;
p=t=a;
while(*t)
t++;
t--;
while(*t==‘*’)
{
k++;
t--;
}
t++;
if(k>n)
{
while(*p&&p<t+n)
{
a[i]=*p;
i++;
p++;
}
a[i]=‘\0’;
}
}4:學(xué)生記錄由學(xué)號(hào)和成績(jī)構(gòu)成,n名學(xué)生數(shù)據(jù)已在主函數(shù)中放入構(gòu)造體數(shù)組s中,請(qǐng)編寫函數(shù)fun,它功能使:把分?jǐn)?shù)最高學(xué)生數(shù)據(jù)放在h所指數(shù)組中,注意:分?jǐn)?shù)最高學(xué)生也許不止一種,函數(shù)返回分?jǐn)?shù)最高學(xué)生人數(shù)。intfun(STREC*a,STREC*b)
{
intI,j=0,n=0,max;
max=a[0].s;
for(i=0;i<N;i++)
if(a[i].s>max)
max=a[i].s;
for(i=0;i<N;i++)
if(a[i].s==max)
{
*(b+j)=a[i];
j++;
n++;
}
returnn;
}5:請(qǐng)編寫一種函數(shù),用來刪除字符串中所有空格。voidfun(char*str)
{
inti=0;
char*p=str;
while(*p)
{
if(*p!=‘’)
{
str[i]=*p;
i++;
}
p++;
}
str[i]=‘\0’;
}6:假定輸入字符串中只包括字母和*號(hào)。請(qǐng)編寫函數(shù)fun,它功能是:將字符串中前導(dǎo)*號(hào)所有移到字符串尾部。voidfun(char*a)
{
inti=0,n=0;
char*p;
p=a;
while(*p==‘*’)
{
n++;
p++;
}
while(*p)
{
a[i]=*p;
i++;
p++;
}
while(n!=0)
{
a[i]=‘*’;
i++;
n--;
}
a[i]=‘\0’;
}7:某學(xué)生記錄由學(xué)號(hào)、8門課程成績(jī)和平均分構(gòu)成,學(xué)號(hào)和8門課程成績(jī)已在主函數(shù)中給出。請(qǐng)編寫函數(shù)fun,它功能是:求出該學(xué)生平均分放在記錄ave成員中。請(qǐng)自己定義對(duì)的形參。voidfun(STREC*p)
{
doubleav=0.0;
inti:
for(i=0;i<N;i++)
av+=p->s[i];
av/=N;
p->ave=av;
}8:請(qǐng)編寫函數(shù)fun,它功能是:求出ss所指字符串中指定字符個(gè)數(shù),并返回此值。intfun(char*ss,charc)
{
intn=0;
while(*ss)
{
if(*ss==c)
n++;
ss++;
}
returnn;
}9:請(qǐng)編寫函數(shù)fun,該函數(shù)功能是:移動(dòng)一維數(shù)組中內(nèi)容,若數(shù)組中由n個(gè)整數(shù),規(guī)定把下標(biāo)從0到p(p不大于等于n-1)數(shù)組元素平移到數(shù)組最后。voidfun(int*w,intp,intn)
{
intb[N],i,j=0;
for(i=0;i<=p;i++)
{
b[i]=w[i];
j++;
}
for(i=0;i<=p;i++)
{
w[j]=b[i];
j++;
}
}10:請(qǐng)編寫函數(shù)fun,該函數(shù)功能是移動(dòng)字符串中內(nèi)容,移動(dòng)規(guī)則如下:把第1到第m個(gè)字符,平移到字符串最后,把第m+1到最后字符移到字符串前部。voidfun(char*w,intm)
{
charb[N];
intI,j=0;
for(i=0;i<m;i++)
{
b[j]=w[i];
j++;
}
for(i=0;i<strlen(w)-m;i++)
w[i]=w[i+m];
for(j=0;j<m;j++)
{
w[i]=b[j];
i++;
}
w[i]=‘\0’;
}1:第1題請(qǐng)編寫函數(shù)fun,該函數(shù)功能是:將m行n列二維數(shù)組中字符數(shù)據(jù),按列順序依次放到一種字符串中。voidfun(char(*s)[n],char*b)
{inti,j,k=0;
for(j=0;j<n;j++)
for(i=0;i<m;i++)
{b[k]=*(*(s+i)+j)
k++;}
b[k]=‘\0’;}2:第2題下列程序定義了n×n二維數(shù)組,并在主函數(shù)中自動(dòng)賦值。請(qǐng)編寫函數(shù)fun(inta[][n],intn),該函數(shù)功能是:將數(shù)組右上半三角元素中值乘以m。voidfun(inta[][n],intm)
{inti,j;
for(j=0;j<n;j++)
for(i=0;i<=j;i++)
a[j]=a[j]*m;}3:第3題編寫一種函數(shù),從傳入num個(gè)字符串中找出一種最長(zhǎng)一種字符串,并通過形參指針max傳回該串地址(用****作為結(jié)束輸入標(biāo)志)。char*fun(char(*a)[81],intnum)
{inti;
char*max;
max=a[0];
for(i=0;i<num;i++)
if(strlen(max)<strlen(a))
max=a;
returnmax;}4:第4題編寫一種函數(shù),該函數(shù)可以記錄一種長(zhǎng)度為2字符串在另一種字符串中浮現(xiàn)次數(shù)。intfun(char*str,char*substr)
{intn;
char*p,*r;
n=0;
while(*str)
{p=str;
r=substr;
while(*r)
if(*r==*p)
{r++;
p++;}
else
break;
if(*r==‘\0’)
n++;
str++;}
returnn;}5:第5題假定輸入字符串中只包括字母和*號(hào)。請(qǐng)編寫函數(shù)fun,它功能是:只刪除字符串前導(dǎo)和尾部*號(hào),串中字母之間*號(hào)都不刪除。形參n給出了字符串長(zhǎng)度,形參h給出了字符串中前導(dǎo)*號(hào)個(gè)數(shù),形參e給出了字符串中最后*個(gè)數(shù)。在編寫時(shí)不得使用c語(yǔ)言給提供得字符串函數(shù)。voidfun(char*a,intn,inth,inte)
{inti=0;
char*p;
for(p=a+h;p<a+n-e;p++)
{*(a+i)=*p;
i++;}
*(a+i)=‘\0’;}6:第6題學(xué)生得記錄由學(xué)號(hào)和成績(jī)組稱個(gè),n名大學(xué)生得數(shù)據(jù)已在主函數(shù)中放入構(gòu)造體數(shù)組s中,請(qǐng)編寫函數(shù)fun,它功能時(shí):按分?jǐn)?shù)高低排列學(xué)生記錄,高分在前。voidfun(streca[])
{inti,j;
strect;
for(i=0;i<n-1;i++)
for(j=i;s<n;j++)
if(a.s<a[j].s)
{t=a;
a=a[j];
a[j]=t;}}7:第7題請(qǐng)編寫一種函數(shù)voidfun(char*ss),其功能時(shí):將字符串ss中所有下標(biāo)為奇數(shù)位置上字母轉(zhuǎn)換為大寫(若位置上不是字母,則不轉(zhuǎn)換)。voidfun(char*ss)
{inti,n=0;
char*p=ss;
while(*p)
{n++;
p++;}
for(i=0;i<n;i++)
if((ss=‘a(chǎn)’&ss<=‘z’)&i%2!=0)
ss=ss-32;
ss=‘\0’;}8:第8題請(qǐng)編寫函數(shù)fun,其功能是:將兩個(gè)兩位數(shù)正整數(shù)a,b合并成一種整數(shù)放在c中。合并方式是:將a數(shù)十位和個(gè)位依次放在c數(shù)千位和十位上,b數(shù)十位和個(gè)位數(shù)依次放在c數(shù)百位和個(gè)位上。voidfun(inta,intb,long*c)
{*c=(a/10)*1000+(b/10)*100+(a)*10+b;}9:第9題請(qǐng)編寫函數(shù)fun,其功能是:將s所指字符串中下標(biāo)位偶數(shù)同步ascii值為奇數(shù)字符刪除,s中剩余字符形成新串放在t所指數(shù)組中。voidfun(char*s,chart[])
{inti,j=0,n=strlen(s);
for(i=0;i<n;i++)
if(i%2==0&s%2!=0)
else
{f[j]=s;
j++;}
t[j]=‘\0’;}10:第10題已知學(xué)生記錄是由學(xué)號(hào)和學(xué)習(xí)成績(jī)構(gòu)成,n名學(xué)生數(shù)據(jù)已存入a機(jī)構(gòu)體數(shù)組中。請(qǐng)編寫函數(shù)fun,該函數(shù)功能是:找出成績(jī)最高學(xué)生記錄,通過形參返回主函數(shù)(規(guī)定只有一種最高分)。voidfun(stua[],stu*s)
{inti,max;
max=a[0].s;
for(i=0;i<n;i++)
if(a.s>max)
{max=a.s;
*s=a;}}1:第1題請(qǐng)編寫函數(shù)fun,其功能是:將所有不不大于1不大于整數(shù)m非素?cái)?shù)存入xx所指數(shù)組中,非素?cái)?shù)個(gè)數(shù)通過k傳回。voidfun(intm,int*k,intxx[])
{inti,j;
intt=0;
for(i=2;i<m;i++)
{j=2;
while(j<i)
{if(i%j==0)
{xx[t]=i;
t++;
break;}
j++;}
*k=t;}}2:第2題編寫一種函數(shù)fun,它功能是:實(shí)現(xiàn)兩個(gè)字符串連接(不使用庫(kù)函數(shù)strcat),即把p2所指字符串連接到p1所指字符串后。voidfun(charp1[],charp2[])
{inti=0,n=0;
char*p=p1,*q=p2;
while(*p)
{p++;
n++;}
i=n;
while(*p)
{p1=*q;
q++;
i++;}
p1=‘\0’;}3:第3題請(qǐng)編寫函數(shù)fun,該函數(shù)功能是:實(shí)現(xiàn)b=a+a,即把矩陣a加上a轉(zhuǎn)置,存儲(chǔ)在矩陣b中。計(jì)算成果在main函數(shù)中輸出。voidfun(inta[3][3],intb[3][3])
{inti,j,at[3][3];
for(i=0;i<=2;i++)
for(j=0;j<=2;j++)
at[j]=a[j];
for(i=0;i<3;i++)
for(j=0;j<3;j++)
b[j]=a[j]+at[j];}4:第4題學(xué)生記錄由學(xué)號(hào)和成績(jī)組稱個(gè),n名學(xué)生數(shù)據(jù)已在主函數(shù)中放入構(gòu)造體數(shù)組s中,請(qǐng)編寫函數(shù)fun,它功能是:把低于平均分學(xué)生數(shù)據(jù)放在b所指數(shù)組中,低于平均分學(xué)生人數(shù)通過形參n傳回,平均分通過函數(shù)值返回。doublefun(strec*a,strec*b,int*n)
{doubleaver=0.0;
inti,j=0;
*n=0;
for(i=0;i<n;i++)
aver+=a.s;
aver/=n;
for(i=0;i<n;i++)
if(a.s<aver)
{b[j]=a;
(*n)++;
j++;}
returnaver;}5:第5題請(qǐng)編寫函數(shù)fun,該函數(shù)功能是:將m行n列二維數(shù)組中數(shù)據(jù),按行順序依次放到一維數(shù)組中,一維數(shù)組中數(shù)據(jù)個(gè)數(shù)存儲(chǔ)在形參n所指儲(chǔ)存單元中。voidfun(int(*s)[10],int*b,int*n,intmm,intnn)
{inti,j;
for(i=0;i<mm;i++)
for(j=0;j<nn;j++)
{b[*n]=*(*(s+i)+j);
*n=*n+1;}}第6題假定輸入字符串中只包括字母和*號(hào)。請(qǐng)編寫函數(shù)fun,它功能是:除了尾部*號(hào)之外,將字母串中其她*號(hào)所有刪除。形參p已指向字符串中最后一種字母。不使用c字符串函數(shù)。voidfun(char*a,char*p)
{inti=0;
char*p=a;
while(q<=p)
{if(*q!=‘*’)
{a=*q;
i++;}
q++;}
while(*q)
{a=*q;
i++;
q++;}
a=‘\0’;}第7題學(xué)生記錄是由學(xué)號(hào)和成績(jī)構(gòu)成,n名學(xué)生數(shù)據(jù)已在主函數(shù)中放入構(gòu)造體數(shù)組s中,請(qǐng)編寫函數(shù)fun,它功能是:把指定分?jǐn)?shù)范疇內(nèi)學(xué)生數(shù)據(jù)放在b所指數(shù)組中,分?jǐn)?shù)范疇內(nèi)學(xué)生人數(shù)由函數(shù)值返回。intfun(strec*a,strec*b,intl,inth)
{inti,j=0;
for(i=0;i<n;i++)
if(a.s>=l&a.s<=h)
{b[j]=a;
j++;}
returnj;}第8題編寫函數(shù)藏服那,它功能是:求n以內(nèi)(不涉及n)同步能被3與7整除所有自然數(shù)之和平方根s,并作為函數(shù)值返回。doublefun(intn)
{doubles=0.0;
inti;
for(i=1;i<n;i++)
if(i%3==0&i%7==0)
s=s+i;
s=sqrt(s);
returns;}第9題請(qǐng)別寫函數(shù)fun,該函數(shù)功能是:將放在字符串?dāng)?shù)組中m個(gè)字符串(每串長(zhǎng)度不超過n),按順序合并構(gòu)成一種新字符串。voidfun(chara[m][n],char*b)
{inti,j,k=0;
for(i=0;i<m;i++)
{for(j=0;j<n;j++)
if(*(*(a+i)+j))
{b[k]=*(*(a+i)+j)
k++;}
else
break;
b[k]=‘\0’;}}第10題請(qǐng)編寫函數(shù)fun,該函數(shù)功能是:刪去一維數(shù)組中所有相似數(shù),使之只剩一種。數(shù)組中數(shù)已按由小到大順序排列,函數(shù)返回刪除后數(shù)組中數(shù)據(jù)個(gè)數(shù)。intfun(inta[],intn)
{inti,t,j=0,*p=a;
t=p[0];
for(i=0;i<=n;i++)
if(t==p)
;
else
{a[j]=t;
t=p;
j++;}
if(i>=n)
a[j]=t;
returnj;}第1題第請(qǐng)編寫函數(shù)fun,該函數(shù)功能使:記錄各年齡段人數(shù)。N個(gè)年齡通過調(diào)用隨機(jī)函數(shù)獲得,并放在主函數(shù)age數(shù)組中;規(guī)定函數(shù)把0至9歲年齡段人數(shù)放在d[0]中,把10至19歲年齡段人數(shù)放在d[1]中,把20至29歲人數(shù)放在d[2]中,別的以此類推,把100歲(含100以上年齡人數(shù)都放在d[10]中。成果在主函數(shù)中輸出。voidfun(int*a,int*b)
{inti,j;
for(j=0;i<m;j++)
b[j]=0;
for(i=0;i<n;i++)
if(a>=0&a<=9)
b[0]+=1;
elseif(a>=10&a<=19)
b[1]+=1;
elseif(a>=20&a<=29)
b[2]+=1;
elseif(a>=30&a<=39)
b[3]+=1;
elseif(a>=40&a<=49)
b[4]+=1;
elseif(a>=50&a<=59)
b[5]+=1;
elseif(a>=60&a<=69)
b[6]+=1;
elseif(a>=70&a<=79)
b[7]+=1;
elseif(a>=80&a<=89)
b[8]+=1;
elseif(a>=90&a<=99)
b[9]+=1;
else
b[10]+=1;}第2題請(qǐng)編寫函數(shù)fun,該函數(shù)功能是:統(tǒng)一一含字符串中單詞個(gè)數(shù),作為函數(shù)值返回。一行字符串在主函數(shù)中輸入,規(guī)定所有單詞由小寫字母構(gòu)成,單詞之間由若干個(gè)空格格開,一行開始沒有空格。intfun(char*s)
{inti,n=0;
for(i=0;i<strlen(s);i++)
{if(s=‘a(chǎn)’&s<=‘z’&s[i+1]==‘’
‖s[i+1]==‘\0’)
n++;}
returnn;}第3題請(qǐng)編寫一種函數(shù)fun,它功能是:計(jì)算并輸出給定整數(shù)n所有因子(不涉及1與自身)之和。規(guī)定n值不不不大于1000。intfun(intn)
{ints=0,i;
for(i=2;i<=n-1;i++)
if(n%i==0)
s+=i;
returns;}第4題請(qǐng)編寫函數(shù)fun,其功能是:將s所指字符串中ascii值為奇數(shù)字符刪除,串中剩余字符形成一種新串放在t所指數(shù)組中。voidfun(char*s,chart[])
{inti,j=0,n;
n=strlen(s);
for(i=0;i<n;i++)
if(s%2==0)
{t[j]=s;
j++;}
t[j]=‘\0’;}5:第5題請(qǐng)編寫函數(shù)fun,其功能是:將兩位數(shù)正整數(shù)a、b合并成一種整數(shù)放在c中。合并方式是:將a數(shù)十位和個(gè)位數(shù)依次放在c數(shù)百位和個(gè)位上,b數(shù)十位和個(gè)位數(shù)依次放在c數(shù)十位和千位上。voidfun(inta,intb,long*c)
{*c=(b)*1000+(a/10)*100+(b/10)*10+a;}1:請(qǐng)編寫函數(shù)fun,其功能時(shí):將兩個(gè)兩位數(shù)正整數(shù)a、b合并形成一種整數(shù)放在c中,合并方式是:將a數(shù)十位和個(gè)位數(shù)依次放在c數(shù)十位和千位上,b十位和個(gè)位整數(shù)依次放在c數(shù)百位和個(gè)位上。voidfun(inta,intb,long*c)
{*c=(a)*1000+(b/10)*100+(a/10)*10+b;}2:請(qǐng)編寫函數(shù)fun,其功能是:將s所指字符串中下標(biāo)為偶數(shù)字符刪除,串中剩余字符形成新串放在t所指數(shù)組中。voidfun(char*s,chart[])
{inti,j=0,n=strlen(s);
for(i=0;i<n;i++)
if(i%2!=0)
{t[j]=s;
j++;}
t[j]=‘\0’;}3:假定輸入字符串中只包括字母和*號(hào),請(qǐng)編寫函數(shù)fun,它功能是:除了字符串前導(dǎo)和尾部*號(hào)之外,將串中其她*號(hào)所有刪除。形參h已指向字符串第一種字符,形參p已指向字符串中最后一種字母。在編寫程序時(shí),不得使用c語(yǔ)言提供字符串函數(shù)。voidfun(char*a,char*h,char*p)
{inti=0;
char*q=a;
while(q<h)
{a=*q;
q++;
i++;}
while(q<p)
{if(*q!=‘’*)
{a=*q;
i++;}
q++;}
while(*q)
{a=*q;
i++;
q++;}
a=‘\0’;}4:學(xué)生記錄由學(xué)號(hào)和成績(jī)構(gòu)成n名學(xué)生數(shù)據(jù)已在主函數(shù)中放入構(gòu)造體數(shù)組s中,請(qǐng)編寫函數(shù)fun,它功能時(shí):把分?jǐn)?shù)最低學(xué)生數(shù)據(jù)放在h所指數(shù)組中,注意:分?jǐn)?shù)最低學(xué)生也許不止一種,函數(shù)返回分?jǐn)?shù)最低學(xué)生人數(shù)。intfun(strec*a,strec*b)
{inti,j=0,n=0,min;
min=a[0].s;
for(i=0;i<n;i++)
if(a.s<min)
min=a.s;
for(i=0;i<n;i++)
if(a.s==min)
{*(b+j)=a;
j++;
n++;}
returnn;}5:請(qǐng)編寫函數(shù)fun,該函數(shù)功能:將m行n列二維數(shù)組中數(shù)據(jù),按列順學(xué)依次放到一維數(shù)組中。voidfun(int(*s)[]10,int*b,int*n,intmm,intnn)
{inti,j;
for(j=0;j<nn;j++)
for(i=0;i<mm;i++)
{b[*n]=*(*(s+i)+j);
*n=*n+1;}}6:請(qǐng)編寫函數(shù)fun,其功能時(shí):計(jì)算并輸出當(dāng)x<0.97時(shí)下列多項(xiàng)式值,直到|sn-s(n-1)|<0.000001為止。
Sn=1+0.5x+0.5(0.5-1)/2!x(2)+…+0.5(0.5-1)(0.5-2)…..(0.5-n+1)/n!x(n)doublefun(doublex)
{doubles1=1.0,p=1.0,sum=0.0,s0,t=1.0;
intn=1;
do
{s0=s1;
sum+=s0;
t*=n;
p*=(0.5-n+1)*x;
s1=p/t;
n++;}while(fabs(s1-s0)>1e-6);
returnsum;}7:請(qǐng)編寫一種函數(shù)fun,其功能是:將兩個(gè)兩位數(shù)正整數(shù)ab合并形成一種整數(shù)放在c中。合并方式是:將a數(shù)十位和個(gè)位數(shù)依次放在c數(shù)個(gè)位和百位上,b數(shù)十位和個(gè)位數(shù)依次放在c數(shù)十位和千位上。voidfun(inta,intb,long*c)
{*c=(b)*1000+(a)*100+(b/10)*10+a/10;}8:請(qǐng)編寫函數(shù)fun,其功能是:將s所指字符串中ascii值為偶數(shù)字符刪除,串中剩余字符形成一種新串放在t所指數(shù)組中。voidfun(char*s,chart[])
{inti,j=0,n=strlen(s
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年水處理設(shè)備生產(chǎn)設(shè)備進(jìn)出口代理合同3篇
- 2024-2030年鋁鑄軋帶材公司技術(shù)改造及擴(kuò)產(chǎn)項(xiàng)目可行性研究報(bào)告
- 2024-2030年版中國(guó)濾色玻璃行業(yè)供需預(yù)測(cè)及投資可行性分析報(bào)告
- 2024-2030年江蘇省光纖光纜行業(yè)發(fā)展形勢(shì)及投資策略研究報(bào)告版
- 2024年版物業(yè)服務(wù)合同管理與維護(hù)詳盡規(guī)定
- 2024年度海綿城市土建施工勞務(wù)合同3篇
- 2024年師帶徒職業(yè)發(fā)展規(guī)劃合作協(xié)議書3篇
- 商務(wù)午托服務(wù)合同
- 服裝品牌設(shè)計(jì)師聘用協(xié)議
- 辦公大樓幕墻施工合同模板
- 2024智能變電站新一代集控站設(shè)備監(jiān)控系統(tǒng)技術(shù)規(guī)范部分
- 二年級(jí)數(shù)學(xué)上冊(cè)口算天天練
- 2024國(guó)家開放大學(xué)電大本科《液壓氣動(dòng)技術(shù)》期末試題及答案
- 商務(wù)服務(wù)機(jī)器人技術(shù)現(xiàn)狀與未來發(fā)展趨勢(shì)研究
- 工業(yè)物聯(lián)網(wǎng)(IIoT)行業(yè)發(fā)展全景調(diào)研與投資趨勢(shì)預(yù)測(cè)研究報(bào)告
- 金融數(shù)據(jù)分析-以Python為工具 課件 一、金融數(shù)據(jù)分析概覽
- 佛山市、三水區(qū)2022-2023學(xué)年七年級(jí)上學(xué)期期末地理試題【帶答案】
- 小學(xué)美術(shù)教學(xué)課題研究報(bào)告
- 2024屆湖北高三元月調(diào)考數(shù)學(xué)試卷含答案
- DL∕T 1476-2023電力安全工器具預(yù)防性試驗(yàn)規(guī)程
- 小麥品種冬春性及鑒定技術(shù)課件講解
評(píng)論
0/150
提交評(píng)論