




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
本文格式為Word版,下載可任意編輯——C語言程序設計課程期末練習題
C語言程序設計課程期末練習題
一、單項選擇題。把適合的選項編號填寫在括號內。
1.不符合C語言規(guī)定的復合語句是()。D
A.{}B.{;}C.{x=0;}D.{y=10}
2.C語言中的選擇類語句有兩條,它們是()。A
A.if和switchB.if和elseC.switch和caseD.else和case
3.在每個C語言程序中都必需包含有這樣一個函數,該函數的函數名為()。A
A.main
B.MAIN
C.name
D.function
4.在C語言程序中,多行解釋語句使用的開始標記符為()。B
A.//
B./*
C.*/
D.**
5.用于輸出表達式值的標準輸出函數是()。C
A.scanf()
B.print()
C.printf()
D.output()
6.在printf()函數調用的格式字符串中,每個格式符的先導字符為()。B
A.#
B.%
C.$
D.@
7.由C語言源程序文件編譯而成的目標文件的擴展名為()。C
A.cpp
B.exe
C.obj
D.C
8.由C語言目標文件連接而成的可執(zhí)行文件的擴展名為()。B
A.cpp
B.exe
C.obj
D.c
9.每個C程序文件在編譯時可能出現有警告性錯誤,其對應的標識符號為()。AA.warningB.errorC.warnD.err
10.在C語言中,表示換行符的轉義字符為()。C
A.\f
B.\r
C.\n
D.\m
11.字符串“a+b=12\n〞的長度為()。B
A.6
B.7
C.8
D.9
12.要定義a和b為兩個整型變量,則使用的定義語句為()。B
A.inta;b;
B.inta,b;
C.intab;
D.inta:b;
13.以下數值中最大值是()。C
A.28/8
B.35/13
C.28%8
D.35%5
14.以下數值中最小值是()。D
A.28/8
B.35/3
C.28%8
D.35%3
15.已知x的初值為5,則以下各表達式中的最大值為()。D
A.x%=3
B.x+=10
C.x/=2
D.x*=4
16.x5的相反表達式為()。D
A.x5
B.x!=5
C.x=5
D.x=5
17.當處理問題時的循環(huán)次數是確定的,則采用的最適合的循環(huán)方式為()。A
A.for
B.while
C.do-while
D.switch
18.循環(huán)體至少被執(zhí)行一次的循環(huán)語句為()。C
A.for
B.while
C.do-while
D.任一種
19.流程控制類語句包括的3類語句為()。A
A.選擇、循環(huán)、跳轉
B.選擇、循環(huán)、輸入
C.選擇、輸入、輸出
D.循環(huán)、選擇、函數
20.在以下的語句中,必需以分號作為終止的語句是()。C
A.for
B.while
C.do
D.switch
21.在一個數組中,數組元素a[i]前面的元素個數為()。A
A.i
B.i+1
C.i-1
D.2*i
22.假定二維數組的定義語句為“inta[3][5];〞,則該數組所含元素的個數為()。B
A.8
B.15
C.10
D.12
23.假定二維數組的定義語句為“chara[M][N];〞,則該數組所含元素的個數為()。C
A.(M-1)*(N-1)
B.M*N-1
C.M*N
D.M*N+1
24.假定二維數組的定義語句為“int*a[3][5];〞,則該數組所占用的存儲空間的字節(jié)數為()。D
A.120
B.15
C.30
D.60
25.若需要求出一個字符串的長度,則選用的函數是()。A
A.strlen
B.strcmp
C.strcat
D.strcpy
26.將兩個字符串連接起來組成一個字符串時,選用的函數是()。C
A.strlen
B.strcap
C.strcat
D.strcmp
27.若需要把一個字符串賦給字符數組,則選用的函數是()。D
A.strlen
B.strcmp
C.strcat
D.strcpy
28.假定p所指對象的值為25,p+1所指對象的值為42,則表達式*++p的值為()。B
A.25
B.42
C.26
D.43
29.若p指向x,則與x的等價表示為()。B
A.p
B.*p
C.*x
D.x
30.假定a為一個字符數組名,則元素a[8]的地址比該數組的首地址大()。B
A.4個字節(jié)
B.8個字節(jié)
C.16個字節(jié)
D.32個字節(jié)
31.下面的保存字不能作為函數返回類型的是()。C
A.void
B.int
C.sizeof
D.long
32.若一個函數聲明為“double*function();〞,則該函數的返回值類型為()。B
A.實數型
B.實數指針型
C.函數指針型
D.數組型
33.在下面的函數聲明語句中存在著語法錯誤的是()。C
A.AA(inta,intb)
B.AA(int,int)
C.AA(inta;intb)
D.AA(inta,int)
34.函數定義參數表中的每個形參變量,其作用域范圍為所在的整個()。C
A.程序
B.文件
C.函數
D.參數表
35.在函數體中定義的變量具有()。B
A.全局作用域
B.局部作用域
C.文件作用域
D.函數作用域
36.在結構類型的定義中,使用的關鍵字是()。A
A.struct
B.union
C.static
D.enum
37.假定一個鏈表中結點的結構類型為“structAA{intdata,structAA*next;};〞,
則next數據成員的類型為()。B
A.structAA
B.structAA*
C.AA
D.int
38.標準輸入設備鍵盤的文件流標識符是()。A
A.stdin
B.stdout
C.stderr
D.stdio
39.標準輸出設備顯示器的文件流標識符是()。B
A.stdin
B.stdout
C.stderr
D.stdio
40.從一個文本文件中讀取一個字符的系統函數為()。D
A.fputc()
B.fgets()
C.fputs()
D.fgetc()
41.向一個文本文件中寫入一個字符的系統函數為()。A
A.fputc()
B.fgets()
C.fputs()
D.fgetc()
42.從一個二進制文件中讀取數據的系統函數為()。A
A.fread()
B.fgets()
C.fwrite()
D.fgetc()
43.C語言中使用的字符常量,其起止標記符是()。A
A.單引號B.雙引號C.中括號D.尖括號
44.一個程序文件開始使用的每條預處理命令,其首字符必需是()。B
A.@
B.#
C.$
D.%
45.在scanf()函數調用的格式字符串中,每個格式符的先導字符為()。B
A.#
B.%
C.$
D.@
46.控制字符\n表示()。D
A.回車
B.響鈴
C.換頁
D.換行
47.運算符優(yōu)先級最高的是()。A
A.()
B.=
C.+
D.
48.設x和y均為規(guī)律值,則xy為真的條件是()。A
A.它們均為真
B.其中一個為真
C.它們均為假
D.其中一個為假
49.若n的值為10,則執(zhí)行“for(i=1;in;i++)S;〞語句的過程中,表達式i=1共被執(zhí)行的次數為()。A
A.1
B.n-1
C.n
D.n+1
50.假定對二維數組a[3][4]進行初始化的數據為{{3,5,6},{2,8},{7}},則a[1][1]被初始化為()。D
A.6
B.2
C.7
D.8
51.對于一個長度為n的字符串,保存它至少需要占用的存儲字節(jié)數為()。C
A.n
B.n-1
C.n+1
D.n+2
52.一個指針類型的簡單變量占用內存中的字節(jié)數為()。B
A.2
B.4
C.8
D.16
53.已知“chara[3][5];〞,則元素a[2][3]的地址比該數組的首地址大()。A
A.13個字節(jié)
B.26個字節(jié)
C.52個字節(jié)
D.48個字節(jié)
54.在C語言中,用戶定義的標識符分為4種作用域,以下選項中不屬于這4種作用域的是()。B
A.全局
B.語句
C.文件
D.局部
55.假定要訪問一個結構指針變量x中的數據成員a,則表示方法為()。B
A.x.a
B.x-a
C.x(a)
D.x{a}
56.在C語言中,關閉一個數據文件的系統函數為()。B
A.fopen()
B.fclose()
C.fread()
D.fwrite()
二、是非判斷題。根據表達正確與否在其后面的括號內打對號“√〞或叉號“〞。
1.若要在程序文件中使用標準輸入和輸出函數,則需要引入的系統頭文件為stdio.h。是
2.當需要在程序文件中引入系統頭文件時,不需要使用#include命令。()否
3.在C語言程序中,只有一種使用解釋語句的方法。()否
4.常數3.26是雙精度定點數。()是
5.常數3.26是雙精度浮點數。()否
6.常數3.26f是單精度定點數。()是
7.在一條變量定義語句中,只能定義同一類型的變量。()是
8.在一條變量定義語句中,當同時定義多個變量時,各變量之間只能使用逗號分開。()是
9.使用const語句定義一個符號常量時,則必需對它同時進行初始化。()是
10.表達式x=x+y表示成復合賦值表達式為x=+y。()否
11.表達式x=x+1表示成增量表達式為x++。()
12.在C語言中,求一個整數的絕對值的數學函數為abs(x)。()是
13.在for循環(huán)語句的頭部,for后面括號內的各表達式之間使用逗號分開。()否
14.在for循環(huán)語句的頭部,for后面括號內的各表達式之間使用空格隔開。()否
15.在for循環(huán)語句的頭部,for后面括號內共有2個表達式位置。()否
16.do-while循環(huán)語句是以分號終止的語句。()是
17.break語句帶有語句體。()否
18.return語句只有保存字,沒有其他成分。()否
19.在一維數組的定義語句中,可以給數組中每個元素賦初值。()是
20.在一維數組的定義語句中,給數組賦初值的部分是用一對花括號括起來的數據表。()是
21.在一維數組的定義語句中,給數組賦初值的部分是用一對圓括號括起來的數據表。()否
22.假定二維數組的定義語句為“doublea[M][N];〞,則每個數組元素的行下標取值范圍在1~M之間。()否
23.字符串允許為空,并且其長度為0。()是
24.存儲一個長度為0的空字符串至少需要占用1個字節(jié)的存儲空間。()是
25.一個二維字符數組a[10][20]中存儲每個字符串的最大長度為20。()否
26.在定義指針變量的語句中,對指針變量可以賦初值。()是
27.在定義指針變量的語句中,最前面的類型關鍵字依舊允許是指針類型。()是
28.假定a是一個一維數組,則數組名a的值和a[0]的值相等。()是
29.假定a是一個一維數組,則進行a++運算是不允許的。()是
30.已知“inta[10],*p=a;〞,則進行p++運算是不允許的。()否
31.用于釋放動態(tài)存儲空間的函數為free,使用它需要帶有一個參數。()是
32.在一個函數定義中,參數表可以為空。()是
33.在一個函數定義中,參數表中的參數類型可以為void類型。()否
34.對于不加static標識的局部變量,若沒有對它進行初始化,則它的初值是不確定的。()是
35.在函數定義中,若存在著調用自身函數的函數調用表達式,則稱此函數為非遞歸函數。()否
36.在C語言程序中,主函數也可以成為遞歸函數。()否
37.在C語言中,一個結構類型的長度等于所含的所有數據成員類型長度的最大值。()否
38.在結構類型的定義中,其中的數據成員可以是本身類型的直接對象。()否
39.定義結構類型的同時能夠定義它的變量。()是
40.在結構成員訪問運算符中,點運算符和箭頭運算符的左邊均為結構指針變量。()否
41.在一個鏈表的結點結構中,存在著一個指針域,但不一定指向自身結點類型。()否
42.在一個鏈表中,表頭結點和表尾結點均無前驅結點。()否
43.在C語言中,開啟一個數據文件的系統函數為fopen(),它帶有兩個字符串參數,用來給定文件名和開啟方式。()是
44.在C語言中,開啟一個數據文件的系統函數為fopen(),它帶有一個字符串參數,用來給定文件的開啟方式。()否
45.每次只能向文本文件中寫入一個字符,不能一次寫入一個字符串。()否
46.在C語言字符集中,包含有全部26個英文大寫字母和對應的小寫字母。()是
47.一個C語言程序能夠包含多個用戶頭文件。()是
48.在定義一個變量時,不能給它賦初值。()否
49.表達式x=x+y表示成復合賦值表達式為x+=y。()是
50.關系表達式(x!=0)的等價表達式為(!x)。()否
51.當循環(huán)次數確定時,while循環(huán)語句能夠轉換為for循環(huán)語句。()是
52.在一維數組的定義語句中,數組名后帶有一對圓括號。()否
53.假定二維數組的定義語句為“doublea[M][N];〞,則每個數組元素的列下標取值范圍在0~N-1之間。()是
54.在C語言中,在定義一個字符數組時,不能利用一個字符串進行初始化。()否
55.假定一個數據對象為int*類型,則指向該對象的指針類型為int**。()是
56.進行動態(tài)存儲分派的calloc()函數帶有一個參數。()否
()57.對于標識為static屬性的變量,若沒有對它進行初始化,則默認的初值為1。
否
58.在結構類型的定義中,結構類型名在關鍵字struct和定義體之間。()是
59.在結構成員訪問運算符中,點運算符(.)為雙目運算符。()是
60.當向字符文件輸出一個換行符時,實際將輸出的是回車和換行這兩個字符。()是
三、程序填空題。分析程序后把適合的內容填寫在括號內。
1.執(zhí)行下面程序的輸出結果為()。15
#includestdio.h
voidmain(){
inta=5,b=8,c=6,d=15,x,y;
if(a=b)x=a;elsex=b;
if(c=d)y=c;elsey=d;
if(x=y)printf(%d\n,x);
elseprintf(%d\n,y);
}
2.執(zhí)行下面程序的輸出結果為()。y=11
#includestdio.h
voidmain(){
intx=5,y=0;
switch(2*x-3){
case4:y+=x;break;
case7:y+=2*x+1;break;
case10:y+=3*x;break;
}
printf(y=%d\n,y);
}
3.執(zhí)行下面程序的輸出結果為()。s=78#includestdio.h
voidmain(){
inti,s=0;
for(i=1;i10;i+=3)s+=i*(i+1);
printf(s=%d\n,s);
}
4.執(zhí)行下面程序的輸出結果為()。s=56#includestdio.h
voidmain(){
inti=0,s=0;
while(s50){i+=2;s+=i*i;}
printf(s=%d\n,s);
}
5.執(zhí)行下面程序的輸出結果為()。s=30#includestdio.h
voidmain(){
intx=30,i=1,s=0;
do{s+=i*i;i++;}while(sx);
printf(s=%d\n,s);
}
6.執(zhí)行下面程序的輸出結果為()。s=46#includestdio.h
voidmain(){
inta[8]={3,8,6,5,9,2,8,5};
inti,s=0;
for(i=0;i8;i++)s+=a[i];
printf(s=%d\n,s);
}
7.執(zhí)行下面程序的輸出結果為()。s=58#includestdio.h
voidmain(){
inta[3][3]={{3,8,6},{5,9,2},{8,5,12}};inti,j,s=0;
for(i=0;i3;i++)
for(j=0;j3;j++)s+=a[i][j];
printf(s=%d\n,s);
}
8.執(zhí)行下面程序的輸出結果為()。s=30#includestdio.h
voidmain(){
inta[3][3]={{3,8,6},{5,9,2},{8,5,12}};inti,j,s=0;
for(i=0;i3;i++)
for(j=0;j3;j++)
if(a[i][j]%3==0)s+=a[i][j];
printf(s=%d\n,s);
}
9.執(zhí)行下面程序的輸出結果為()。80
#includestdio.h
voidmain(){
inta[8]={6,8,7,12,5,15,18,9};
ints=0;
int*p=a;
while(pa+8)s+=*p++;
printf(%d\n,s);
}
10.執(zhí)行下面程序的輸出結果為()。47#includestdio.h
#defineN8
voidmain(){
inta[N]={3,5,8,10,15,20,32,66};
inti,x;
for(i=0;iN/2;i++){
x=a[i];a[i]=a[N-1-i];a[N-1-i]=x;}
printf(%d\n,a[1]+a[3]);
}
11.執(zhí)行下面程序的輸出結果為()。32
#includestdio.h
voidmain(){
inta[8]={12,15,20,8,5,9,16,10};
inti,j,x=a[0]+a[1];
for(i=0;i8;i++)
for(j=i+1;j8;j++)
if(a[i]+a[j]x)x=a[i]+a[j];
printf(%d,x);
}
12.執(zhí)行下面程序的輸出結果為()。s=30
#includestdio.h
voidmain(){
inta[3][3]={{3,8,6},{5,9,2},{8,5,12}};
inti,j,s=0;
for(i=0;i3;i++)
for(j=0;j3;j++)
if(a[i][j]%3==0)s+=a[i][j];
printf(s=%d\n,s);
}
13.當使用xk3(5)調用此函數,并假定從鍵盤上輸入的5個整數為3、4、7、8和10,則返回值為()。32
intxk3(intn){//n為大于等于1的整數
inti,x,s=0;
for(i=0;in;i++){scanf(%d,x);s+=x;}
returns;
}
14.在此程序中,具有文件作用域的變量是()。x2
#includestdio.h
intx1=5;
staticintx2=8;
voidmain(){
intx3=20;
while(x1+x2x3)x1+=2;
printf(%d%d%d\n,x1,x2,x3);
}
15.此程序運行后,得到的輸出結果為()。29
#includestdio.h
intfn3(inta,intb){
intc=a;a=b;b=c;
returna+2*b-3;
}
voidmain(){
inta=3,b=5;
intc=fn3(a+2,b+3);
printf(%d\n,3*a+b+c);
}2
16.執(zhí)行下面程序的輸出結果為()。85
#includestdio.h
voidmain(){
intx=5,y=8;
if(x=y)printf(%d%d\n,x,y);
elseprintf(%d%d\n,y,x);
}
17.執(zhí)行下面程序的輸出結果為()。f2=81#includestdio.h
voidmain(){
inti,f1=1,f2;
for(i=2;i6;i++){
f2=3*f1;
f1=f2;
}
printf(f2=%d\n,f2);
}
18.執(zhí)行下面程序的輸出結果為()。85
#includestdio.h
#defineN7
voidmain(){
inta[N];
inti;
a[0]=1;a[1]=2;
for(i=2;iN;i++)a[i]=2*a[i-2]+a[i-1]+1;printf(%d\n,a[N-1]);
}
19.執(zhí)行下面程序的輸出結果為()。x=7
#includestdio.h
voidmain(){
inta[8]={10,8,16,15,9,21,7,16};
inti,x=a[0];
for(i=1;i8;i++)
if(a[i]x)x=a[i];
printf(x=%d\n,x);
}
20.執(zhí)行下面程序的輸出結果為()。73
#includestdio.h
voidmain(){
inta[3][3]={{2,3,4},{5,6,8},{10,15,20}};
int*p=(int*)a;
ints=0;
while(p(int*)a+9)s+=*p++;
printf(%d\n,s);
}
四、編程題。按題目要求編寫程序或函數。
1.補充完整下面的函數定義,計算出1+1*3+2*3+...+n*3的值并返回。
intFF(intn){
inti,s=1;
//在下面添上一行for循環(huán)語句,循環(huán)變量為i,累加變量為s
returns;
}
答案:for(i=1;i=n;i++)s+=i*3;
2.根據函數原型“intFF(inta[],intn)〞,編寫函數定義,計算并返回數組a[n]中所有元素之和。
答案:intFF(inta[],intn)
{
inti,sum=0;//1分
for(i=0;in;i++)sum+=a[i];//4分
returnsum;//6分
}
3.補充完整下面函數定義中while循環(huán)的循環(huán)體,該函數的功能是求出并返回由字符指針ptr所指向的字符串中包含的小寫英文字母的個數。
intfun(char*ptr)
{
intn=0;//使用n作為統計變量
while(*ptr){//在下面補充適合的函數體內容
}
returnn;
}
答案:
if(*ptr=a*ptr=z)n++;//3分
ptr++;//6分
4.編寫一個主函
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年醫(yī)用超聲治療設備合作協議書
- 2025年新型全液壓鉆機合作協議書
- 2025年煤炭采掘機械設備合作協議書
- 2025年高等教育服務項目發(fā)展計劃
- 農業(yè)種質資源保護利用合作協議
- 2025年家用塑膠墊項目發(fā)展計劃
- 金融投資顧問服務協議及保密條款
- 假期旅游企業(yè)批準旅游證明(5篇)
- 建筑工程代理咨詢服務合同
- 財務證明書個人銀行流水證明(6篇)
- JB T 5528-2005壓力表標度及分劃
- kpu鞋面工藝流程
- 圖形設計方法同構、替構、解構、重構
- 中華民族共同體建設實踐探索
- SCA涂膠機內部培訓資料課件
- 部編人教版3三年級《道德與法治》下冊電子課本課件
- 新課標人教版六年級數學上冊教材分析課件
- 稅務會計學(第 14版)習題參考答案
- ??诞a品及公司介紹全系列
- 《人體解剖生理學》全套課件
- 哈爾濱工業(yè)大學《信號與系統》2020-2021學年期末考試試卷
評論
0/150
提交評論