

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、國家開放大學(xué)C語言程序設(shè)計(jì)綜合測(cè)試題參考答案綜合測(cè)試1一、單選題(每小題2分,共20分)1在每個(gè)C語言程序中都必須包含有這樣一個(gè)函數(shù),該函數(shù)的函數(shù)名為( )。a. functionb. namec. maind. MAIN2.每個(gè)C語言程序文件的編譯錯(cuò)誤分為( )類。a. 2b. 4c. 1d. 33.字符串"a+b=12n"的長(zhǎng)度為( )。a. 7b. 9c. 6d. 84.在switch語句的每個(gè)case塊中,假定都是以break語句結(jié)束的,則此switch語句容易被改寫為( )語句。a. forb. whilec. ifd. do5.在下面的do-while循環(huán)語句中
2、,其循環(huán)體語句被執(zhí)行的次數(shù)為( )。 int i=0; do i+; while(i<10);a. 4b. 3c. 10d. 56.將兩個(gè)字符串連接起來組成一個(gè)字符串時(shí),選用的函數(shù)為( )。 a. strcap()b. strcmp()c. strlen()d. strcat()7.若用數(shù)組名作為函數(shù)調(diào)用的實(shí)參,傳遞給形參的是( )。a. 數(shù)組的首地址b. 數(shù)組元素的個(gè)數(shù)c. 數(shù)組中全部元素的值d. 數(shù)組中第一個(gè)元素的值8.假定a為一個(gè)整數(shù)類型的數(shù)組名,整數(shù)類型的長(zhǎng)度為4,則元素a4的地址比a數(shù)組的首地址大( )個(gè)字節(jié)。a. 16b. 32c. 4d. 89.假定s被定義為指針類型cha
3、r *的變量,初始指向的字符串為"Hello world!",若要使變量p指向s所指向的字符串,則p應(yīng)定義為( )。a. char *p;p=*s;b. char *p; p=&s;c. char *p=&s;d. char *p=s;10.從一個(gè)數(shù)據(jù)文件中讀入以換行符結(jié)束的一行字符串的函數(shù)為( )。a. fgetc()b. fgets()c. getc()d. gets()二、填空題(每小題2分,共26分)11.C語言中的每條簡(jiǎn)單語句以(分號(hào))作為結(jié)束符。12.C程序中的所有預(yù)處理命令均以(#)字符開頭。13.當(dāng)不需要函數(shù)返回任何值時(shí),則應(yīng)使用(void)
4、標(biāo)識(shí)符來定義函數(shù)類型。14.十進(jìn)制數(shù)25表示成符合C語言規(guī)則的十六進(jìn)制數(shù)為(0x19)。15.假定不允許使用邏輯非操作符,則邏輯表達(dá)式a>b | b=5的相反表達(dá)式為(a<=b && b!=5)。16.執(zhí)行“typedef int DataType;”語句后,在使用int定義整型變量的地方也可以使用(DataType)來定義整型變量。17.假定一維數(shù)組的定義語句為“char* a8;”,則該數(shù)組a所占存儲(chǔ)空間的字節(jié)數(shù)為(32)。18.假定二維數(shù)組的定義語句為“double aMN;”,則該數(shù)組a的列下標(biāo)的取值范圍在0到(N-1)之間。19.存儲(chǔ)一個(gè)空字符串需要占用(
5、1)個(gè)字節(jié)。20.strcpy函數(shù)用于把一個(gè)字符串(拷貝)到另一個(gè)字符數(shù)組空間中。21.程序的編譯單位是一個(gè)(程序文件)。22.假定a是一個(gè)一維數(shù)組,則ai的指針訪問方式為((a+i))。 23.執(zhí)行int *p=malloc(sizeof(int)操作得到的一個(gè)動(dòng)態(tài)分配的整型對(duì)象為(p)。三、寫出下列每個(gè)程序運(yùn)行后的輸出結(jié)果(每小題6分,共30分)24.#include<stdio.h> void main() int x=5; switch(2*x) case 4: printf("%d ",x); break; case 7: printf("%
6、d ",2*x); break; case 10: printf("%d ",3*x); break; default: printf("%s ","default"); printf("%dn",4*x); 運(yùn)行結(jié)果:15 2025.#include<stdio.h> void main() int f1,f2,i; f1=1; printf("%d ",f1); for(i=2;i<5;i+) f2=3*f1+i; printf("%d ",f
7、2); f1=f2; printf("n"); 運(yùn)行結(jié)果:1 5 18 5826.#include<stdio.h> #define N 8 void main() int aN=12,39,26,41,55,63,72,40; int i, i1=0, i2=0; for(i=0;i<N;i+) if(ai%2=1) i1+; else i2+; printf("%d %dn",i1,i2); 運(yùn)行結(jié)果:4 427.#include<stdio.h> #include<string.h> void main(
8、) char s15="5678912340" int i, n=strlen(s) ; for(i=0; i<n/2; i+) char c=si; si=sn-1-i; sn-1-i=c; printf("%sn",s); 運(yùn)行結(jié)果:043219876528.#include<stdio.h> int LB(int *a, int n) int i,s=1; for(i=0;i<n;i+) s*=*a+; return s; void main() int a=1,2,3,4,2,2,5,8; int b=LB(a,4)+LB
9、(a+3,4); printf("b=%dn",b); 運(yùn)行結(jié)果:b=104四、根據(jù)下列每個(gè)函數(shù)回答相應(yīng)問題(每小題6分,共12分)29.void SF(int x) /n為大于等于0的整數(shù) int i=2; while(x>i) if(x%i=0) printf("%d ",i); i+; printf("n"); 假定使用SF(70)調(diào)用該函數(shù),則輸出的所有整數(shù)依次為(2 5 7 10 14 35)。30.void QC(struct IntNode* f) /f為一個(gè)單鏈表的表頭指針 while(f) printf(&qu
10、ot;%d ",f->data); f=f->next; 假定結(jié)構(gòu)類型IntNode的定義為: struct IntNode int data; struct IntNode *next; 該函數(shù)的功能為:(遍歷并輸出由表頭指針f所指向的單鏈表中每個(gè)結(jié)點(diǎn)的data域的值。)五、按題目要求編寫程序(每小題6分,共12分)31.編寫一個(gè)程序,首先從鍵盤上輸入10個(gè)整數(shù)到一維數(shù)組a10中,然后按照下標(biāo)從大到小的次序輸出數(shù)組a10中的所有元素值。假定數(shù)組a10和循環(huán)變量i均在主函數(shù)中定義。參考答案:#include<stdio.h>voidmain()inta10,i
11、; printf("從鍵盤輸入10個(gè)整數(shù):n");for(i=0;i<10;i+)scanf("%d",&ai);for(i=9;i>=0;i-)printf("%d",ai);printf("n");32.編寫一個(gè)程序,已知6a50,10b30,求出滿足不定方程3a+2b=120的全部整數(shù)組解。如(20,30)就是其中的一組解。參考答案: #include<stdio.h>voidmain()inta,b;for(a=6;a<=50;a+)for(b=10;b<=30;
12、b+)if(3*a+2*b=120)printf("(%d,%d)n",a,b);綜合測(cè)試2一、單選題(每小題2分,共20分)1.C語言源程序文件的缺省擴(kuò)展名為( )。a. Cb. exec. cppd. obj2.設(shè)x和y均為邏輯值,則x && y為真的條件是x和y( )。a. 均為真b. 其中一個(gè)為真c. 均為假d. 其中一個(gè)為假3.在下列的符號(hào)常量定義中,正確的定義格式為( )。a. const int M2 20b. #define M3 10c. #define M1d. const char mark4.for循環(huán)語句能夠被改寫為( )語句。a.
13、 switchb. whilec. 復(fù)合d. if5.在下面的一維數(shù)組定義中,錯(cuò)誤的定義格式為( )。a. int a5;b. int a=1,2,3;c. int a;d. int a10=0;6.下面的函數(shù)原型聲明中存在語法錯(cuò)誤的是( )。a. void AA(int a, int b);b. void AA(int, int);c. void AA(int a; int b;);d. void AA(int a, int);7.假定a為一個(gè)數(shù)組名,則下面存在錯(cuò)誤的表達(dá)式為( )。a. *ab. aic. *a+d. *(a+1)8.假定有定義為“int a10, x, *pa=a;”,若
14、要把數(shù)組a中下標(biāo)為3的元素值賦給x,則不正確的賦值為( )。a. x=a3b. x=*(a+3)c. x=pa3d. x=*pa+39.char類型的長(zhǎng)度為_個(gè)字節(jié)。a. 2b. 4c. 1d. 310.向一個(gè)二進(jìn)制文件中寫入信息的函數(shù)為( )。a. fgets()b. fread()c. fwrite()d. fputs()二、填空題(每小題2分,共26分)11.C語言中的每條復(fù)合語句以()作為結(jié)束符。12.在#include命令中所包含的文件,可以是頭文件,也可以是(程序)文件。13.十進(jìn)制數(shù)56對(duì)應(yīng)的八進(jìn)制數(shù)為(070)。14.假定x=5,則表達(dá)式12+x+的值為(17)。15.增量表達(dá)
15、式+y表示成賦值表達(dá)式為(y=y+1)。16.若x=5,y=6,則x>y的值為(0)。17.假定二維數(shù)組的定義為“int a45;”,則該數(shù)組所含元素的個(gè)數(shù)為(20)。18.執(zhí)行“typedef int ABC20;”語句把ABC定義為具有20個(gè)整型元素的(數(shù)組)類型。19.strcat()函數(shù)用于(連接)兩個(gè)字符串。20.假定p所指對(duì)象的值為30,p+1所指對(duì)象的值為24,則*p+的值為(30)。21.若要把一個(gè)整型指針p轉(zhuǎn)換為字符指針,則采用的強(qiáng)制轉(zhuǎn)換表達(dá)式為((char )p)。22.NULL是一個(gè)符號(hào)常量,通常作為空指針值,它對(duì)應(yīng)的值為(0)。23.假定要?jiǎng)討B(tài)分配一個(gè)類型為str
16、uct Worker的對(duì)象,并由r指針指向這個(gè)對(duì)象,則使用的表達(dá)式為(struct Worker r)=malloc(sizeof(struct Worker)。三、寫出下列每個(gè)程序運(yùn)行后的輸出結(jié)果(每小題6分,共30分)24.#include<stdio.h> void main() int i,s=0; for(i=1;i<7;i+) s+=i*i; printf(“s=%dn”,s); 輸出結(jié)果:s=9125.#include<stdio.h> #define N 6 void main() int i,aN=2,5,8,10,15,20; for(i=0;
17、 i<N; i+) if(ai%4=0) printf("%d ",ai); printf("n"); 輸出結(jié)果:8 2026.#include<stdio.h> #include<string.h> void main() int i; unsigned int len; char* a5="stud","work","cadre","soldier","zan123" len=strlen(a0); for(i=1; i&
18、lt;5; i+) if(strlen(ai)>len) len=strlen(ai); printf("%dn",len); 輸出結(jié)果:727.#include<stdio.h> void main() int a,b; for(a=2,b=3; b<30;) printf("%d %d ",a,b); a=a+b; b=a+b; 輸出結(jié)果:2 3 5 8 13 2128.#include<stdio.h> void LE(int* a, int* b) int x=*a; *a=*b; *b=x; void mai
19、n() int x=5, y=8; printf("%d %d ",x,y); LE(&x,&y); printf("%d %dn",x,y); 輸出結(jié)果:5 8 8 5四、寫出下列每個(gè)函數(shù)的功能(每小題6分,共12分)29.#include<math.h> int SG(int x) /x為大于等于2的整數(shù) int a=(int)sqrt(x); /sqrt(x)取x的平方根 int i=2; while(i<=a) if(x%i=0) break; i+; if(i<=a)return 0; else retu
20、rn 1; 函數(shù)功能:判斷x是否為一個(gè)素?cái)?shù),若是則返回1,否則返回0。30.int FindMax(struct IntNode *f) /f為一個(gè)單鏈表的表頭指針 int x; if(!f) printf("單鏈表為空n"),exit(1); x=f->data; f=f->next; while(f) if(f->data>x) x=f->data; f=f->next; return x; 假定struct IntNode的類型定義為: struct IntNode int data; struct IntNode* next;函數(shù)
21、功能:求出由f所指向的單鏈表中所有結(jié)點(diǎn)的最大值。五、按題目要求編寫程序或函數(shù)(每小題6分,共12分)31.編寫一個(gè)程序,輸出35以內(nèi)(含35)的、能夠被4或者7整除的所有整數(shù)。參考答案: #include<stdio.h>Void main()int i;for (i = 1; i <=35; i+)if(i%4=0|i%7=0)printf(“%d”,i);printf(“n”);32.編寫一個(gè)遞歸函數(shù)“int FF(int a, int n)”,求出數(shù)組a中所有n個(gè)元素之積并返回。參考答案: int FF(int a, int n) if(n<=0) printf(
22、“n值非法n”),exit(1); If(n=1) return an-1; else return an-1* FF(a, n-1);綜合測(cè)試3一、單選題(每小題2分,共20分)1.由C語言源程序文件編譯而成的目標(biāo)文件的默認(rèn)擴(kuò)展名為( )。a. exeb. cppc. cd. obj2.設(shè)x和y均為邏輯值,則x | y為假的條件是( )。a. 它們均為假b. 其中一個(gè)為假c. 其中一個(gè)為真d. 它們均為真3.枚舉類型中的每個(gè)枚舉常量的值都是一個(gè)( )。a. 字符b. 整數(shù)c. 浮點(diǎn)數(shù)d. 記錄4.循環(huán)語句“for(i=0; i<=n; i+) S;”中循環(huán)體S被執(zhí)行的次數(shù)為( )。a.
23、 nb. n+1c. n-1d. 15.假定有定義為“int a45=1,3,5,2,8;”,則a11的值為( )。a. 3b. 8c. 5d. 26.在下面的選項(xiàng)中,不能作為函數(shù)值返回類型的是( )。a. intb. longc. newd. void7.假定x的值為4,y的值為6,則表達(dá)式x+*+y的值為( )。a. 24b. 35c. 30d. 288.用calloc函數(shù)創(chuàng)建具有10個(gè)整型元素的動(dòng)態(tài)存儲(chǔ)空間的正確調(diào)用是( )。a. calloc(sizeof(int),10,)b. calloc(10,sizeof(int)c. calloc(10)d. calloc(10,sizeof
24、(char)9.假定有定義“int b10, *pb;”,則不正確的賦值為( )。a. pb=b+4b. pb=bc. pb=&b0d. pb=b510.標(biāo)準(zhǔn)輸入設(shè)備的文件流標(biāo)識(shí)符是( )。a. stderrb. stdioc. stdind. stdout二、填空題(每小題2分,共26分)11.執(zhí)行“printf("%c",'A'+3);”語句后得到的輸出結(jié)果為(D)。12.short int類型的長(zhǎng)度為(2)。13.用類型關(guān)鍵字表示十進(jìn)制常數(shù)3.26f的類型為(float)。14.假定y=5,則表達(dá)式-y*3的值為(12)。15.邏輯表達(dá)式(x=
25、0 && y>5)的相反表達(dá)式為((x!=0 | y<=5) 或:(x | y<=5))。16.若x=5,y=10,則x!=y的邏輯值為(1)。17.假定二維數(shù)組的定義為“int a36;”,則該數(shù)組所占存儲(chǔ)空間的字節(jié)數(shù)為(72)。18.使用“typedef char BBMN;”語句定義(BB)為含有M行N列的二維字符數(shù)組類型。19.字符串"a:xxk數(shù)據(jù)"的長(zhǎng)度為(11)。20.假定p所指對(duì)象的值為20,p+1所指對(duì)象的值為30,則*+p的值為(30)。21.假定一個(gè)數(shù)據(jù)對(duì)象為int*類型,則指向該對(duì)象的指針類型為(int)。22.假定
26、一個(gè)結(jié)構(gòu)類型的定義為 “struct Aint a,b; A* c;”,則該類型的長(zhǎng)度為(12)。23.假定要訪問一個(gè)結(jié)構(gòu)對(duì)象x中的數(shù)據(jù)成員a,則表示方式為(x.a)。三、寫出下列每個(gè)程序運(yùn)行后的輸出結(jié)果(每小題6分,共30分)24.#include<stdio.h> void main() int i, s=0; for(i=1;i+) if(s>20) break; if(i%2) s+=i; printf("s=%dn",s); 輸出結(jié)果:s=2525.#include<stdio.h> void main() int a9=36,25,
27、48,24,55,40,18,30,20; int i, b1, b2; b1=b2=a0; for(i=1; i<9; i+) if(ai>b1) b1=ai; if(ai<b2) b2=ai; printf("%d %dn",b1,b2); 輸出結(jié)果:55 1826.#include<stdio.h> void SB(char ch) switch(ch) case 'A': case 'a': printf("WW "); break; case 'B': case
28、39;b': printf("GG "); break; default: printf("BB "); break; void main() char a1='a',a2='B',a3='f' SB(a1);SB(a2);SB(a3); printf("n"); 輸出結(jié)果:WW GG BB27.#include<stdio.h> #define M 6 void main() int i,x; int aM=10,15,22,37,46,58; for(i=0; i
29、<M/2; i+) x=ai; ai=aM-1-i; aM-1-i=x; printf("%d %dn",a2,a4); 輸出結(jié)果:37 1528.#include<stdio.h> struct Worker char name15; int age; float pay; ; void main() struct Worker x="wanghua",34,4250; struct Worker y, *p; y=x; p=&x; printf("%d %7.2fn", y.age+p->age,
30、p->pay+300); 輸出結(jié)果:68 4550.00四、寫出下列每個(gè)函數(shù)的功能(每小題6分,共12分)29.int FH() int x,y=0; scanf("%d",&x); while(x!=-1) y+=x; scanf("%d",&x); return y; 函數(shù)功能:求出從鍵盤上輸入的一批整數(shù)的總和,以-1作為結(jié)束數(shù)據(jù)輸入的標(biāo)志。30.int FF(struct IntNode *f) /f為指向一個(gè)單鏈表的表頭指針 int n=0; if(!f) return 0; while(f) n+; f=f->nex
31、t; return n; 假定struct IntNode的類型定義為: struct IntNode int data; struct IntNode* next; ; 函數(shù)功能:求出并返回由f所指向的單鏈表中所有結(jié)點(diǎn)的個(gè)數(shù)。五、按題目要求編寫程序或函數(shù)(每小題6分,共12分)31.編寫一個(gè)程序,利用while循環(huán),計(jì)算并打印輸出1+12+13+1n的值,其中正整數(shù)n值由鍵盤輸入。假定求和變量用sum表示,計(jì)數(shù)變量用i表示,sum、i和n均定義為全局變量,sum和i的初值分別被賦予0和1。參考答案: #include<stdio.h> int n,i=1; double sum=
32、0;void main() scanf(“%d”,&n); while(i<=n) sum+=(double)1/i+; printf(“sum=%1fn”,sum);32.根據(jù)函數(shù)原型“void DD(int a, int n, int MM)”編寫函數(shù)定義,利用雙重循環(huán)查找并打印輸出數(shù)組an中任何兩個(gè)元素的值等于MM值的元素值。假定ai+aj等于MM,則輸出格式為:(ai,aj)。參考答案:void DD(int a,int n,int MM) int I,j; for(i=0;i<n;i+) for(j=i+1;j<n;j+) if(ai+aj=MM) prin
33、tf(“%d,%dn”,ai,aj);綜合測(cè)試4一、單選題(每小題2分,共20分)1.由C語言目標(biāo)文件連接而成的可執(zhí)行文件的缺省擴(kuò)展名為( )。a. objb. cppc. exed. c2.設(shè)有兩條語句為“int a=10; a+=a*a;”,則執(zhí)行結(jié)束后,a的值為( )。a. 110b. 20c. 100d. 103.帶有隨機(jī)函數(shù)調(diào)用的表達(dá)式rand()%50的值在( )區(qū)間內(nèi)。a. 049b. 050c. 150d. 1494.for循環(huán)語句“for(i=0; i<n; i+=2) S;”中循環(huán)體S語句被執(zhí)行的次數(shù)為( )。a. n/2+1b. n-1c. (n+1)/2d. n/
34、2-15.在下列的字符數(shù)組定義中,存在語法錯(cuò)誤的是( )。a. char a20="abcdefg"b. char a="x+y=55."c. char a10='5'd. char a15='1','2'6.若有一個(gè)函數(shù)原型為“double *function()”,則它的返回值類型為( )。a. 函數(shù)指針型b. 數(shù)組型c. 實(shí)數(shù)型d. 實(shí)數(shù)指針型7.在C語言中,所有預(yù)處理命令都是以( )符號(hào)開頭的。a. #b. &c. d. *8.假定整數(shù)指針p所指數(shù)據(jù)單元的值為30,p+1所指數(shù)據(jù)單元的值為4
35、0,則執(zhí)行*p+后,p所指數(shù)據(jù)單元的值為( )。a. 40b. 30c. 10d. 709.若要使p指向二維整型數(shù)組a1020,則p的類型為( )。a. int(*)20b. int *c. int *d. int *2010.表示文件結(jié)束符的符號(hào)常量為( )a. feofb. EOFc. eofd. Eof二、填空題(每小題2分,共26分)11.一個(gè)函數(shù)定義由(函數(shù)頭)和函數(shù)體兩部分組成。12.執(zhí)行“printf("%c",'F'-3);”語句后得到的輸出結(jié)果為(C)。13.int類型的長(zhǎng)度為(4)。14.表達(dá)式(float)25/4的值為(6.25)。1
36、5.若x=5,y=10,則x<=y的邏輯值為(1)。16.作為語句標(biāo)號(hào)使用的case和default只能用于(switch)語句的定義體中。17.在程序中執(zhí)行到(return)語句時(shí),將結(jié)束所在函數(shù)的執(zhí)行過程,返回到調(diào)用該函數(shù)的位置。18.假定二維數(shù)組的定義為“char aMN;”,則該數(shù)組所含元素的個(gè)數(shù)為(M N)。19.存儲(chǔ)字符'a'需要占用存儲(chǔ)器的(1)個(gè)字節(jié)空間。20.用于存儲(chǔ)一個(gè)長(zhǎng)度為n的字符串,需要的字符數(shù)組的長(zhǎng)度至少為(n+1)。21.假定p所指對(duì)象的值為30,p+1所指對(duì)象的值為46,則執(zhí)行表達(dá)式(*p)+后,p所指對(duì)象的值為(31)反饋22.假定p是一個(gè)
37、指向整數(shù)對(duì)象的指針,則用(p)表示該整數(shù)對(duì)象。23.假定一個(gè)結(jié)構(gòu)類型的定義為“struct Bint a5; char* b;”,則該類型的理論長(zhǎng)度為(24)。三、寫出下列每個(gè)程序運(yùn)行后的輸出結(jié)果(每小題6分,共30分)24.#include<stdio.h> void main() int i, s1=0, s2=0; for(i=0;i<=10;i+) if(i%2) s1+=i; else s2+=i; printf("%d %dn",s1,s2); 輸出結(jié)果:25 3025.#include<stdio.h> const int M=2
38、0; void main() int i=2; while(1) if(i>M/2) break; if(M%i=0) printf("%d ",i); i+; printf("n"); 輸出結(jié)果:2 4 5 1026.#include<stdio.h> int a7=4,5,6,15,20,12,9; void main() int i,s1,s2; s1=s2=0; for(i=0; i<7; i+) switch(ai%2) case 0: s2+=ai;break; case 1: s1+=ai;break; printf
39、("%d %dn",s1,s2); 輸出結(jié)果:29 4227.#include<stdio.h> void main() int a33=3,15,7,9,11,10,6,8,20; int i,*p=&a00; for(i=0;i<9;i+) if(*p>10) printf("%d ",*p); p+; printf("n"); 輸出結(jié)果:15 11 2028.#include<stdio.h> #include<string.h> struct Worker char na
40、me15; int age; float pay; void main() struct Worker x; char *t="liouting" int d=38; float f=2400; strcpy(,t); x.age=d; x.pay=f; x.age+; x.pay*=2; printf("%s %d %6.2fn",,x.age,x.pay); 輸出結(jié)果:liouting 39 4800.00四、寫出下列每個(gè)函數(shù)的功能(每小題6分,共12分)29.#include<stdio.h> int SA(in
41、t a, int b) if(a>b) return 1; else if(a=b) return 0; else return -1; 函數(shù)功能:比較兩個(gè)整數(shù)a和b的大小,若a>b則返回1,若a=b則返回0,若a<b則返回-1。30.void Output(struct IntNode *f) /f為單鏈表的表頭指針 if(!f) return; while(f) printf("%d ",f->data); f=f->next; printf("n"); 假定struct IntNode的類型定義為: struct In
42、tNode int data; struct IntNode* next;函數(shù)功能:遍歷并輸出由f所指向的單鏈表中每個(gè)結(jié)點(diǎn)的值。五、按題目要求編寫程序或函數(shù)(每小題6分,共12分)31.編寫一個(gè)程序,計(jì)算1+3+32+.+310的值并輸出,假定分別用i,p,s作為循環(huán)變量、累乘變量和累加變量的標(biāo)識(shí)符。參考答案:#include<stdio.h> void main() int i; int p=1; int s=1; ior(i=1;i<=10;i+) p*=3;s+=p; printf(%dn”,s);32.根據(jù)函數(shù)原型“int FF(int a, int n)”,編寫函數(shù)
43、定義,計(jì)算并返回?cái)?shù)組an中所有元素之和。參考答案:int FF(int a, int n) int i,sum=0; for(i=0;i<n;i+) sum+=ai; return sum;綜合測(cè)試5一、單選題(每小題2分,共20分)1.程序運(yùn)行中需要從鍵盤上輸入多于一個(gè)數(shù)據(jù)時(shí),各數(shù)據(jù)之間默認(rèn)使用( )符號(hào)作為分隔符。a. 逗號(hào)或分號(hào)b. 空格或回車c. 空格或逗號(hào)d. 逗號(hào)或回車2.邏輯表達(dá)式(x>0 && x<=10)的相反表達(dá)式為( )。a. x<=0 | x>10b. x<=0 && x>10c. x>0
44、&& x>10d. x<=0 | x<=103.當(dāng)處理一個(gè)問題時(shí)的循環(huán)次數(shù)已知時(shí),最好采用( )循環(huán)來解決。a. whileb. do-whilec. switchd. for4.假定i的初值為0,則在循環(huán)語句“while(i<n) s+=i*i; i+;”中,其循環(huán)體被執(zhí)行的總次數(shù)為( )。a. n-1b. n/2c. n+1d. n5.假定一個(gè)二維數(shù)組的定義語句為“int a34=3,4,2,8,6;”,則元素a12的值為( )。a. 4b. 8c. 2d. 66.在下列選項(xiàng)中,不正確的函數(shù)原型格式為( )。a. int Function(a);b.
45、 int Function(int a);c. int Function(int a);d. void int(double* a);7.假定p是一個(gè)指向double類型的數(shù)據(jù)指針,則p+1所指向的數(shù)據(jù)的地址比p所指向的數(shù)據(jù)的地址大( )個(gè)字節(jié)。a. 8b. 2c. 4d. 18.假定有一條定義語句為“int m=7, *p;”,則給p賦值的正確表達(dá)式為( )。a. *p=&mb. p=&mc. p=md. p=*m9.假定指針變量p的定義語句為“int *p=malloc(sizeof(int);”,要釋放p所指向的動(dòng)態(tài)存儲(chǔ)空間,應(yīng)調(diào)用的函數(shù)為( )。a. delete(p)
46、b. free(*p)c. free(&p)d. free(p)10.C語言中的系統(tǒng)函數(shù)fopen()是( )一個(gè)數(shù)據(jù)文件的函數(shù)。a. 關(guān)閉b. 讀取c. 打開d. 寫入二、填空題(每小題2分,共26分)11.用于輸出表達(dá)式值的標(biāo)準(zhǔn)輸出函數(shù)的函數(shù)名是(printf)。12.每個(gè)C語言程序文件在編譯時(shí)可能出現(xiàn)有致命性錯(cuò)誤,其對(duì)應(yīng)的標(biāo)識(shí)符為(error)。13.已知'A''Z'的ASCII碼為6590,當(dāng)執(zhí)行“int x='C'+6;”語句后x的值為(73)。14.表達(dá)式(int)24.6的值為(24)。15.假定不允許使用邏輯非操作符,則關(guān)
47、系表達(dá)式x+y>5的相反表達(dá)式為(x+y<=5)。16.假定x=15,則執(zhí)行“a=(x?10:20);”語句后a的值為(10)。17.假定一維數(shù)組a的定義語句為“char* aM;”,則該數(shù)組所占存儲(chǔ)空間的字節(jié)數(shù)為(4 M)。18.存儲(chǔ)字符串"a"需要至少占用存儲(chǔ)空間中的(2)個(gè)字節(jié)。19.strlen()函數(shù)用于計(jì)算一個(gè)字符串的(長(zhǎng)度)。20.在C語言中,一個(gè)函數(shù)定義由函數(shù)頭和(函數(shù)體)這兩個(gè)部分組成。21.假定p所指對(duì)象的值為25,p+1所指對(duì)象的值為52,則執(zhí)行表達(dá)式*(p+)后,p所指對(duì)象的值為(52)。22.假定p是一個(gè)變量,則用(&p)表示該變量的地址。23.把間接訪問表達(dá)式p->name改寫成對(duì)應(yīng)的直接訪問表達(dá)式為(( p).name)。三、寫出下列
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025江蘇宿遷市泗陽縣招聘鄉(xiāng)村醫(yī)生27人筆試備考題庫及參考答案詳解1套
- 2019-2025年消防設(shè)施操作員之消防設(shè)備中級(jí)技能題庫與答案
- 第1章 集合與邏輯 單元測(cè)試(含答案) 2024-2025學(xué)年高中數(shù)學(xué)湘教版(2019)必修第一冊(cè)
- 山東省滕州市2024-2025學(xué)年高二下學(xué)期3月月考物理試題(解析版)
- 山東省濟(jì)寧市2023-2024學(xué)年高二下學(xué)期期末考試數(shù)學(xué)試題(解析版)
- 九師聯(lián)盟2024-2025學(xué)年高二下學(xué)期6月摸底聯(lián)考地理試題(含答案)
- 中式快餐的區(qū)域特色與口味調(diào)整
- 如何平衡房地產(chǎn)項(xiàng)目的各方利益
- 小兔與春節(jié)的團(tuán)聚
- 護(hù)理中的病人監(jiān)護(hù)
- 精裝分包勞務(wù)合同協(xié)議書
- T/CNESA 1203-2021壓縮空氣儲(chǔ)能系統(tǒng)性能測(cè)試規(guī)范
- 2025年四年級(jí)下冊(cè)美術(shù)期末測(cè)試題附答案
- 店面借給別人合同協(xié)議書
- 圖像編輯基礎(chǔ)Photoshop試題及答案
- 宣城汽車精密零部件項(xiàng)目商業(yè)計(jì)劃書
- 2024年深圳市中考?xì)v史試卷真題(含答案解析)
- 公司內(nèi)部文件管理規(guī)定及辦法
- DB45∕T 2418-2021 水運(yùn)工程交工檢測(cè)與竣工檢測(cè)規(guī)范
- 旋流風(fēng)口、球型噴口選型參數(shù)表
- 雷士燈具檢測(cè)報(bào)告
評(píng)論
0/150
提交評(píng)論