精編國家開放大學(xué)電大《C語言程序設(shè)計(jì)》《勞動(dòng)與社會(huì)保障法》網(wǎng)絡(luò)課形考網(wǎng)考作業(yè)(合集)答案
《精編國家開放大學(xué)電大《C語言程序設(shè)計(jì)》《勞動(dòng)與社會(huì)保障法》網(wǎng)絡(luò)課形考網(wǎng)考作業(yè)(合集)答案》由會(huì)員分享,可在線閱讀,更多相關(guān)《精編國家開放大學(xué)電大《C語言程序設(shè)計(jì)》《勞動(dòng)與社會(huì)保障法》網(wǎng)絡(luò)課形考網(wǎng)考作業(yè)(合集)答案(72頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、國家開放大學(xué)電大《C語言程序設(shè)計(jì)》《勞動(dòng)與社會(huì)保障法》網(wǎng)絡(luò)課形考網(wǎng)考作業(yè)(合集)答案 國家開放大學(xué)電大《C語言程序設(shè)計(jì)》《勞動(dòng)與社會(huì)保障法》網(wǎng)絡(luò)課形考網(wǎng)考作業(yè)(合集)答案 《C語言程序設(shè)計(jì)》網(wǎng)絡(luò)課答案 形考任務(wù)1 一、選擇題(共40分,每小題2分)題目1 在每個(gè)C語言程序中都必須包含有這樣一個(gè)函數(shù),該函數(shù)的函數(shù)名為( )。 選擇一項(xiàng):A. main 恭喜你,答對(duì)啦??! B. MAIN C. name D. function 題目2 C語言源程序文件的缺省擴(kuò)展名為( )。 選擇一項(xiàng):A. cpp B. exe C. obj D. c 題目3
2、 由C語言目標(biāo)文件連接而成的可執(zhí)行文件的缺省擴(kuò)展名為( )。 選擇一項(xiàng):A. cpp B. exe C. obj D. c 題目4 程序運(yùn)行中需要從鍵盤上輸入多于一個(gè)數(shù)據(jù)時(shí),各數(shù)據(jù)之間應(yīng)使用的分隔符為( )。 選擇一項(xiàng):A. 空格或逗號(hào) B. 逗號(hào)或回車 C. 逗號(hào)或分號(hào) D. 空格或回車 題目5 每個(gè)C語言程序文件的編譯錯(cuò)誤被分為( )。 選擇一項(xiàng):A. 1類 B. 2類 C. 3類 D. 4類 題目6 不符合C語言規(guī)定的復(fù)合語句是( )。 選擇一項(xiàng):A. {} B. {;} C. {x=0;} D. {y
3、=10} 題目7 C語言程序中的基本功能模塊為( )。 選擇一項(xiàng):A. 表達(dá)式 B. 標(biāo)識(shí)符 C. 語句 D. 函數(shù) 題目8 在一個(gè)函數(shù)定義中,函數(shù)頭包括的3個(gè)部分依次為函數(shù)類型、函數(shù)名和( )。 選擇一項(xiàng):A. 表達(dá)式 B. 語句 C. 參數(shù)表 D. 函數(shù)體 題目9 在一個(gè)程序文件中,若要使用#include命令包含一個(gè)用戶定義的頭文件,則此頭文件所使用的起止定界符為一對(duì)( )。 選擇一項(xiàng):A. 尖括號(hào) B. 雙引號(hào) C. 單引號(hào) D. 花括號(hào) 題目10 在C語言程序中,多行注釋語句使用的開始標(biāo)記符為( )。
4、 選擇一項(xiàng):A. // B. /* C. */ D. ** 題目11 在printf()函數(shù)調(diào)用的格式字符串中,若使用格式符為“%c”,則對(duì)應(yīng)輸出的數(shù)據(jù)類型為( )。 選擇一項(xiàng):A. char B. int C. float D. double 題目12 在printf()函數(shù)調(diào)用的格式字符串中,若使用格式符為“%5d”,則規(guī)定對(duì)應(yīng)輸出的數(shù)據(jù)占用的字符位置個(gè)數(shù)為( )。 選擇一項(xiàng):A. 5 B. 4 C. 3 D. 6 題目13 轉(zhuǎn)義字符'\\'表示的字符是( )。 選擇一項(xiàng):A. 單引號(hào) B. 雙引號(hào) C. 反斜線 D.
5、 問號(hào) 題目14 枚舉類型中的每個(gè)枚舉常量的值都是一個(gè)( )。 選擇一項(xiàng):A. 整數(shù) B. 浮點(diǎn)數(shù) C. 字符 D. 邏輯值 題目15 運(yùn)算符優(yōu)先級(jí)最高的是( )。 選擇一項(xiàng):A. = B. *= C. D. != 題目16 設(shè)x和y均為邏輯值,則x y為真的條件是( )。 選擇一項(xiàng):A. 它們均為真 B. 其中一個(gè)為真 C. 它們均為假 D. 其中一個(gè)為假 題目17 設(shè)有語句“int a=12; a+=a*a;”,則執(zhí)行結(jié)束后,a的值為( )。 選擇一項(xiàng):A. 12 B. 144 C. 156 D.
6、288 題目18 x>0 x<=10的相反表達(dá)式為( )。 選擇一項(xiàng):A. x<=0 || x>10 B. x<=0 x>10 C. x<=0 || x<=10 D. x>0 x>10 題目19 字符串“a+b=12\n”的長度為( )。 選擇一項(xiàng):A. 6 B. 7 C. 8 D. 9 題目20 在下列的符號(hào)常量定義中,錯(cuò)誤的定義語句格式為( )。 選擇一項(xiàng):A. const int M1=10; B. const int M2=20; C. const int
7、M3 10; D. const char mark='3'; 二、判斷題(共60分,每小題2分。敘述正確則回答“是”,否則回答“否”)題目21 C語言中的每條簡單語句以分號(hào)作為結(jié)束符。 選擇一項(xiàng):對(duì) 錯(cuò) 題目22 C語言中的每條復(fù)合語句以花括號(hào)作為結(jié)束符。 選擇一項(xiàng):對(duì) 錯(cuò) 題目23 在C語言程序中,在行尾使用注釋的開始標(biāo)記符為一對(duì)單斜線字符。 選擇一項(xiàng):對(duì) 錯(cuò) 題目24 注釋內(nèi)容的開始所使用的標(biāo)記符為/*,則注釋內(nèi)容的結(jié)束所使用的標(biāo)記符為*/。 選擇一項(xiàng):對(duì) 錯(cuò) 題目25 在一個(gè)C語言程序文件中,若要包含一個(gè)頭文件,則使用以百分號(hào)開始的
8、預(yù)處理命令。 選擇一項(xiàng):對(duì) 錯(cuò) 題目26 用于輸出表達(dá)式值的標(biāo)準(zhǔn)輸出函數(shù)是printf()。 選擇一項(xiàng):對(duì) 錯(cuò) 題目27 當(dāng)不需要函數(shù)返回任何值時(shí),則需要使用保留字void作為函數(shù)的返回值類型。 選擇一項(xiàng):對(duì) 錯(cuò) 題目28 每個(gè)C程序文件在編譯時(shí)可能出現(xiàn)有警告性錯(cuò)誤,其對(duì)應(yīng)的標(biāo)識(shí)符為error。 選擇一項(xiàng):對(duì) 錯(cuò) 題目29 十進(jìn)制數(shù)25表示成符合C語言規(guī)則的八進(jìn)制數(shù)為31。 選擇一項(xiàng):對(duì) 錯(cuò) 題目30 十進(jìn)制數(shù)25表示成符合C語言規(guī)則的十六進(jìn)制數(shù)為0x19。 選擇一項(xiàng):對(duì) 錯(cuò) 題目31 在C語言中,轉(zhuǎn)義字符'\
9、n'表示一個(gè)換行符。 選擇一項(xiàng):對(duì) 錯(cuò) 題目32 執(zhí)行“printf(“%c“,'F'-2);”語句后得到的輸出結(jié)果為H。 選擇一項(xiàng):對(duì) 錯(cuò) 題目33 已知字符'C'的ASCII碼為67,當(dāng)執(zhí)行“int x='C'+5;”語句后x的值為72。 選擇一項(xiàng):對(duì) 錯(cuò) 題目34 假定一個(gè)枚舉類型的定義為“enum RB{ab,ac=3,ad,ae}x=ad;”,則x的值為2。 選擇一項(xiàng):對(duì) 錯(cuò) 題目35 float的類型長度為8。 選擇一項(xiàng):對(duì) 錯(cuò) 題目36 在C語言中,常數(shù)28和3.26具有相同的數(shù)據(jù)類型。 選擇一項(xiàng):
10、對(duì) 錯(cuò) 題目37 若需要定義一個(gè)符號(hào)常量,并且使C語言能夠進(jìn)行類型檢查,則應(yīng)在定義語句的開始使用保留字const。 選擇一項(xiàng):對(duì) 錯(cuò) 題目38 使用const語句定義一個(gè)符號(hào)常量時(shí),不必對(duì)它進(jìn)行初始化。 選擇一項(xiàng):對(duì) 錯(cuò) 題目39 表達(dá)式45%13的值為3。 選擇一項(xiàng):對(duì) 錯(cuò) 題目40 假定x=5,則表達(dá)式2*x++的值為12。 選擇一項(xiàng):對(duì) 錯(cuò) 題目41 表達(dá)式(float)25/4的值為6。 選擇一項(xiàng):對(duì) 錯(cuò) 題目42 表達(dá)式x=x+1表示成增量表達(dá)式為++x。 選擇一項(xiàng):對(duì) 錯(cuò) 題目43 關(guān)系表達(dá)式(x
11、!=0)的等價(jià)表達(dá)式為(x)。 選擇一項(xiàng):對(duì) 錯(cuò) 題目44 關(guān)系表達(dá)式x+y>5的相反表達(dá)式為x+y<=5。 選擇一項(xiàng):對(duì) 錯(cuò) 題目45 邏輯表達(dá)式(a>b || b==5)的相反表達(dá)式為(a>b b==5)。 選擇一項(xiàng):對(duì) 錯(cuò) 題目46 若x=5,y=10,則x>y邏輯值為真。 選擇一項(xiàng):對(duì) 錯(cuò) 題目47 假定x=5,則執(zhí)行“a=(x?10:20);”語句后a的值為10。 選擇一項(xiàng):對(duì) 錯(cuò) 題目48 帶有隨機(jī)函數(shù)的表達(dá)式rand()%20的值所在的區(qū)間范圍是0~19。 選擇一
12、項(xiàng):對(duì) 錯(cuò) 題目49 假定x=5,則執(zhí)行“y=x++;”語句后,x的值為5。 選擇一項(xiàng):對(duì) 錯(cuò) 題目50 假定x=5,則執(zhí)行“y=++x;”語句后,y的值為6。 選擇一項(xiàng):對(duì) 錯(cuò) 形考任務(wù)2 一、選擇題(共20分,每小題2分)題目1 當(dāng)處理特定問題時(shí)的循環(huán)次數(shù)已知時(shí),通常采用的語句是( )。 選擇一項(xiàng):a. for b. while c. do-while d. switch 題目2 在switch語句的每個(gè)case塊中,假定都是以break語句結(jié)束的,則此switch語句容易被改寫成的語句是( )。 選擇一項(xiàng):a. for
13、b. if c. do d. while 題目3 for語句能夠被改寫成的語句是( )。 選擇一項(xiàng):a. 復(fù)合 b. if c. switch d. while 題目4 下面循環(huán)語句執(zhí)行結(jié)束后輸出的i值為( )。 for(int i=0; i<n; i++) if(i>n/2) {cout<<i<<endl; break;} 選擇一項(xiàng):a. n/2 b. n/2+1 c. n/2-1 d. n-1 題目5 在下面循環(huán)語句中,內(nèi)層循環(huán)體S語句的執(zhí)行總次數(shù)為( )。 for(int i=0; i<
14、n; i++) for(int j=i; j<n; j++) S; 選擇一項(xiàng):a. n2 b. (n+1)/2 c. n(n-1)/2 d. n(n+1)/2 題目6 在下面的do循環(huán)語句中,其循環(huán)體被執(zhí)行的次數(shù)為( )。 int i=0; do i++; while(i*i<10); 選擇一項(xiàng):a. 4 b. b. 3 c. 5 d. 2 題目7 在下面的一維數(shù)組定義中,有語法錯(cuò)誤的選項(xiàng)是( )。 選擇一項(xiàng):a. int a[]={1,2,3}; b. int a[10]={0}; c. int a[]; d.
15、 int a[5]; 題目8 在下面的二維數(shù)組定義中,語法正確的選項(xiàng)是( )。 選擇一項(xiàng):a. int a[5][]; b. int a[][5]; c. int a[][3]={{1,3,5},{2}}; d. int a[](10); 題目9 假定一個(gè)二維數(shù)組的定義語句為“int a[3][4]={{3,4},{2,8,6}};”,則元素a[1][1]的值為( )。 選擇一項(xiàng):a. 2 b. 4 c. 6 d. 8 題目10 假定一個(gè)二維數(shù)組的定義語句為“int a[3][4]={{3,4},{2,8,6}};”,則元素a[2][1]的值為( )
16、。 選擇一項(xiàng):a. 0 b. 4 c. 8 d. 6 二、判斷題(共20分,每小題1分。敘述正確則回答“是”,否則回答“否”)題目11 在執(zhí)行“typedef int DataType;”語句后,標(biāo)識(shí)符DataType與保留字int具有完全相同的含義和作用。 選擇一項(xiàng):對(duì) 錯(cuò) 題目12 在switch語句中,每個(gè)case和冒號(hào)之間的表達(dá)式只能是常量。 選擇一項(xiàng):對(duì) 錯(cuò) 題目13 為了結(jié)束本層循環(huán)類語句或switch語句的執(zhí)行過程,在語句體中需要使用break語句。 選擇一項(xiàng):對(duì) 錯(cuò) 題目14 在程序中執(zhí)行到break語句時(shí),將結(jié)束所在函數(shù)
17、的執(zhí)行過程,返回到調(diào)用該函數(shù)的位置。 選擇一項(xiàng):對(duì) 錯(cuò) 題目15 在程序執(zhí)行完成任一個(gè)函數(shù)調(diào)用后,將結(jié)束整個(gè)程序的執(zhí)行過程,返回到操作系統(tǒng)或C語言集成開發(fā)環(huán)境界面窗口。 選擇一項(xiàng):對(duì) 錯(cuò) 題目16 假定一維數(shù)組的定義為“char* a[8];”,則該數(shù)組所含元素的個(gè)數(shù)大于8。 選擇一項(xiàng):對(duì) 錯(cuò) 題目17 假定二維數(shù)組的定義為“int a[3][5];”,則該數(shù)組所占存儲(chǔ)空間的字節(jié)數(shù)為60。 選擇一項(xiàng):對(duì) 錯(cuò) 題目18 假定二維數(shù)組的定義為“char a[M][N];”,則該數(shù)組所含元素的個(gè)數(shù)為M+N。 選擇一項(xiàng):對(duì) 錯(cuò) 題目
18、19 假定二維數(shù)組的定義為“double a[M][N];”,則每個(gè)數(shù)組元素的行下標(biāo)取值范圍在0~M-1之間。 選擇一項(xiàng):對(duì) 錯(cuò) 題目20 假定二維數(shù)組的定義為“double a[M][N];”,則每個(gè)數(shù)組元素的列下標(biāo)取值范圍在0~N之間。 選擇一項(xiàng):對(duì) 錯(cuò) 題目21 存儲(chǔ)一個(gè)空字符串需要占用0個(gè)字節(jié)的存儲(chǔ)空間。 選擇一項(xiàng):對(duì) 錯(cuò) 題目22 使用“typedef char BB[10][50];”語句定義標(biāo)識(shí)符BB為含有10行50列的二維字符數(shù)組類型。 選擇一項(xiàng):對(duì) 錯(cuò) 題目23 存儲(chǔ)字符'a'需要占用1個(gè)字節(jié)的存儲(chǔ)空間。 選
19、擇一項(xiàng):對(duì) 錯(cuò) 題目24 空字符串的長度為1。 選擇一項(xiàng):對(duì) 錯(cuò) 題目25 字符串“a:\\xxk\\數(shù)據(jù)“的長度為13。 選擇一項(xiàng):對(duì) 錯(cuò) 題目26 為了存儲(chǔ)一個(gè)長度為n的字符串,所使用的字符數(shù)組的長度至少為n+1。 選擇一項(xiàng):對(duì) 錯(cuò) 題目27 strcmp函數(shù)用于進(jìn)行兩個(gè)字符串之間的比較。 選擇一項(xiàng):對(duì) 錯(cuò) 題目28 strcpy函數(shù)用于把一個(gè)字符串拷貝到另一個(gè)字符數(shù)組空間中。 選擇一項(xiàng):對(duì) 錯(cuò) 題目29 一個(gè)二維字符數(shù)組a[10][20]能夠最多存儲(chǔ)9個(gè)字符串。 選擇一項(xiàng):對(duì) 錯(cuò) 題目30 一個(gè)二維字符
20、數(shù)組a[10][20]能夠存儲(chǔ)的每個(gè)字符串的長度不超過20。 選擇一項(xiàng):對(duì) 錯(cuò) 三、填空題:寫出下列每個(gè)程序運(yùn)行后的輸出結(jié)果(共40分,每小題4分)題目31 #include<stdio.h> void main() { int x=5; switch(2*x-3) { case 4: printf(“%d “,x); case 7: printf(“%d “,2*x+1);
21、 case 10: printf(“%d “,3*x-1); break; default: printf(“%s“,“default\n“); } } 答:11?14 題目32 #include<stdio.h> void main() { int i,s=0; for(i=1;i<=5;i++) s+=i*i; printf(“s=%d\n“,s); } 答:s=55 題目33 #include<stdio.h>
22、 void main() { int i, s1=0, s2=0; for(i=0;i<10;i++) if(i%2) s1+=i; else s2+=i; printf(“%d %d\n“,s1,s2); } 答:25 20 題目34 #include<stdio.h> void main() { int n=6,y=1; while(n) y*=n--;
23、 printf(“y=%d\n“,y); } 答:y=720 題目35 #include<stdio.h> const int M=20; void main() { int i,c2,c3,c5; c2=c3=c5=0; for(i=1; i<=M; i++) { if(i%2==0) c2++; if(i%3==0) c3++;
24、 if(i%5==0) c5++; } printf(“%d %d %d\n“,c2,c3,c5); } 答:10 6 4) 題目36 #include<stdio.h> void main() { int i,s; for(i=1,s=0;i<10;i++) { if(i%3==0) continue; s+=i; } pr
25、intf(“%d\n“,s); } 答:27 題目37 #include<stdio.h> void main() { int a[8]={12,39,26,41,55,63,72,40}; int i, i1=0, i2=0; for(i=0;i<8;i++) if(a[i]%2==1) i1++; else i2++; printf(“%d %d\n“,i1,i2); } 答:4 4 題
26、目38 #include<stdio.h> int a[10]={4,5,6,15,20,13,12,7,8,9}; void main() { int i,s[4]=0; for(i=0; i<10; i++) { switch(a[i]%4) { case 0: s[0]+=a[i];break; case 1: s[1]+=a
27、[i];break; case 2: s[2]+=a[i];break; default: s[3]+=a[i];break; } } for(i=0; i<4; i++) printf(“%d “,s[i]); } 答:44 27 6 22 題目39 #include<stdio.h> void main() { char a[]=“abcdbfbgacd“;
28、 int i1=0, i2=0, i=0; while(a[i]) { if(a[i]=='a') i1++; if(a[i]=='b') i2++; i++; } printf(“%d %d %d\n“,i1,i2,i); } 答:2 3 11 題目40 #include<stdio.h> void main() {
29、 int a[3][4]={{1,2,7,8},{5,6,10,6},{9,12,3,4}}; int m=a[0][0]; int i,j; for(i=0; i<3; i++) for(j=0; j<4; j++) if(a[i][j]>m) m=a[i][j]; printf(“%d\n“,m); } 答:12 四、簡答題:根
30、據(jù)下列每個(gè)題目要求編寫程序(共20分,每小題4分)題目41 編寫一個(gè)函數(shù),函數(shù)頭格式為“double Mean(double a[M][N],int m,int n)”,要求返回二維數(shù)組a[m][n]中所有元素的平均值,假定在計(jì)算過程中采用變量v存放平均值。 double Mean(double a[M][N], int m, int n) { int i, j; double v=0.0; for(i=0; i<m; i++) fo
31、r(j=0; j<n; j++) v+=a[i][j]; v=v/(m+n); return v; } 答:double Mean(double a[M][N],int m,int n) { int i,j; double v=0.0; for(i=0; i<m; i++) for(j=0; j<n; j++) v+=a[i][j];
32、 v/=m*n; return v; } 題目42 編寫一個(gè)遞歸函數(shù)“int FF(int a[], int n)”,求出數(shù)組a中所有n個(gè)元素之積并返回。 int FF(int a[ ], int n) { if(n==1) return a[0]; else return FF(a, n-1)*a[n-1]; } 答:int FF(int a[], int n) { if(n==1) return a[n-1]; el
33、se return a[n-1]*FF(a,n-1); } 題目43 編寫一個(gè)主函數(shù),利用while循環(huán),求出并顯示滿足不等式的最小n值。 #include <stdio.h> void main( ) { int i=0, s=0; while(s<=1000) { i++; s+=i*i; } printf(“滿足不等
34、式的最小n 值是: %d\n“, i); } 答:#include<stdio.h> void main() { int i=0; double s=0; //或int i=1; double s=1; while(s<5) s+=(double)1/++i; printf(“n=%d\n“,i); } 題目44 編寫一個(gè)主函數(shù),求出滿足不等式22+42+...+n2<1000的最大n值,假定分別用i和s作為取偶數(shù)值和累加值的變量,并限定使用do循環(huán)編程。 #include
35、 <stdio.h> void main( ) { int i=0, s=0; do { i+=2; s+=i*i; }while(s<1000); printf(“滿足不等式的最大n值是: %d\n“, i-2); } 答:#include<stdio.h> void main() { i
36、nt i=0; //用i作為依次取值偶數(shù)的變量 int s=0; //用s作為累加變量 do { i+=2; s+=i*i; }while(s<1000); printf(“n=%d\n“,i-2); } 題目45 編寫一個(gè)主函數(shù),計(jì)算并輸出12+22+...+n2值,其中n值由鍵盤輸入。 #include <stdio.h> void main( ) { int i, n,
37、 s=0; printf(“請(qǐng)輸入一個(gè)整數(shù)n:“); scanf(“%d“, n); for(i=1; i<=n; i++) s+=i*i; printf(“s=%d\n“,s); } 答:#include<stdio.h> void main() { int i; //用i作為計(jì)數(shù)(循環(huán))變量 int s=0; //用s作為累加變量 int n; pr
38、intf(“輸入一個(gè)自然數(shù): “); scanf(“%d“,n); for(i=1; i<=n; i++) s+=i*i; printf(“s=%d\n“,s); } 形考任務(wù)3 一、選擇題(共30分,每小題2分)題目1 在下面的函數(shù)聲明語句中,存在著語法錯(cuò)誤的是( )。 選擇一項(xiàng):a. AA(int a, int b) b. AA(int, int) c. AA(int a; int b) d. AA(int a, int) 題目2 在下面的保留字中,不能作為函數(shù)的返回值類型的是( )。
39、選擇一項(xiàng):a. void b. int c. enum d. long 題目3 假定p是一個(gè)指向float型數(shù)據(jù)的指針,則p+1所指數(shù)據(jù)的地址比p所指數(shù)據(jù)的地址增加的字節(jié)數(shù)為( )。 選擇一項(xiàng):a. 1 b. 2 c. 4 d. 8 題目4 假定a為一個(gè)數(shù)組名,在下面的表達(dá)式中,存在語法錯(cuò)誤的是( )。 選擇一項(xiàng):a. a[i] b. *a++ c. *a d. *(a+1) 題目5 用calloc函數(shù)創(chuàng)建具有10個(gè)整型元素的一維數(shù)組的正確語句是( )。 選擇一項(xiàng):a. int *p=calloc(10,2); b. int *p=c
40、alloc(10); c. int *p=calloc(10,4); d. int *p=malloc(10) 題目6 假定變量m定義為“int m=7;”,則下面正確的語句為( )。 選擇一項(xiàng):a. int p=m; b. int *p=m; c. int p=*m; d. int *p=m; 題目7 假定k是一個(gè)double類型的變量,則定義變量p的正確語句為( )。 選擇一項(xiàng):a. double p=k; b. int *p=k; c. double p=*k; d. char *p=“Thank you!“; 題目8 若有語句為“int a[10
41、], x, *pa=a;”,要把數(shù)組a中下標(biāo)為3的元素值賦給x,則不正確的語句為( )。 選擇一項(xiàng):a. x=pa[3]; b. x=*(a+3); c. x=a[3]; d. x=*pa+3; 題目9 假定有語句為“int b[10]; int *pb;”,則下面不正確的賦值語句為( )。 選擇一項(xiàng):a. pb=b; b. pb=b[0]; c. pb=b+2; d. pb=b[5]; 題目10 已知“int *p=malloc(100);”,要釋放p所指向的動(dòng)態(tài)內(nèi)存,正確的語句為( )。 選擇一項(xiàng):a. free(p); b. fre
42、e p; c. free(*p); d. free[p]; 題目11 在程序的一個(gè)文件中定義的函數(shù),若要在另一個(gè)文件中調(diào)用,則必須在這另一個(gè)文件中給出該函數(shù)的( )。 選擇一項(xiàng):a. 原型語句 b. 參數(shù)表 c. 函數(shù)名 d. 返回類型 題目12 假定一個(gè)函數(shù)定義為“static int f1(int x,int y){return x+y;}”,該函數(shù)名稱為( )。 選擇一項(xiàng):a. static b. int c. f1 d. return 題目13 假定一個(gè)函數(shù)的原型語句為“int ff(int* x);”,一個(gè)整型數(shù)組為a[10],則下面函數(shù)調(diào)用表
43、達(dá)式不正確的是( )。 選擇一項(xiàng):a. ff(a) b. ff(a[0]) c. ff(a+3) d. ff(a[0]) 題目14 假定一個(gè)函數(shù)的數(shù)組參數(shù)說明為char a[],與之等價(jià)的指針參數(shù)說明為( )。1B 選擇一項(xiàng):a. char a b. char* a c. char a d. char**a 題目15 假定一個(gè)函數(shù)的二維數(shù)組參數(shù)說明為char w[][N],與之等價(jià)的指針參數(shù)說明為( )。 選擇一項(xiàng):a. char (*w)[N] b. char *w[N] c. char (*w)N d. char**a 二、判斷題(共30分
44、,每小題2分。敘述正確則回答“是”,否則回答“否”)題目16 在C語言中,一個(gè)函數(shù)由函數(shù)頭和函數(shù)體組成。 選擇一項(xiàng):對(duì) 錯(cuò) 題目17 在函數(shù)模塊之外定義的變量稱為全局變量,若沒有被初始化則系統(tǒng)隱含對(duì)它賦初值0。 選擇一項(xiàng):對(duì) 錯(cuò) 題目18 如果一個(gè)函數(shù)只允許同一程序文件中的函數(shù)調(diào)用,則不應(yīng)在該函數(shù)定義的開始前加上保留字static。 選擇一項(xiàng):對(duì) 錯(cuò) 題目19 如果在一個(gè)函數(shù)體中又出現(xiàn)對(duì)自身函數(shù)的調(diào)用,此種函數(shù)調(diào)用被稱為遞歸調(diào)用。 選擇一項(xiàng):對(duì) 錯(cuò) 題目20 調(diào)用系統(tǒng)函數(shù)時(shí),要先使用#include命令包含該系統(tǒng)函數(shù)的原型語句所在的系統(tǒng)頭
45、文件。 選擇一項(xiàng):對(duì) 錯(cuò) 題目21 函數(shù)形參變量不屬于局部變量。 選擇一項(xiàng):對(duì) 錯(cuò) 題目22 假定p所指對(duì)象的值為25,p+1所指對(duì)象的值為46,則*p++的值為46。 選擇一項(xiàng):對(duì) 錯(cuò) 題目23 假定p所指對(duì)象的值為25,p+1所指對(duì)象的值為46,則*++p的值為25。 選擇一項(xiàng):對(duì) 錯(cuò) 題目24 假定p所指對(duì)象的值為25,p+1所指對(duì)象的值為46,則執(zhí)行*(p++)運(yùn)算后,p所指對(duì)象的值為46。 選擇一項(xiàng):對(duì) 錯(cuò) 題目25 假定a是一個(gè)指針數(shù)組,則a+i所指對(duì)象的地址比a地址大4*i字節(jié)。 選擇一項(xiàng):對(duì) 錯(cuò)
46、 題目26 若要把一個(gè)整型指針p轉(zhuǎn)換為字符指針,則采用的強(qiáng)制轉(zhuǎn)換表達(dá)式為(char*)p。 選擇一項(xiàng):對(duì) 錯(cuò) 題目27 假定一個(gè)數(shù)據(jù)對(duì)象為int*類型,則指向該對(duì)象的指針類型仍為int*類型。 選擇一項(xiàng):對(duì) 錯(cuò) 題目28 假定x為一個(gè)簡單變量,則x表示x的地址。 選擇一項(xiàng):對(duì) 錯(cuò) 題目29 若p指向x,則*p與x的值不同。 選擇一項(xiàng):對(duì) 錯(cuò) 題目30 NULL是一個(gè)符號(hào)常量,通常作為空指針值,它代表的值為0。 選擇一項(xiàng):對(duì) 錯(cuò) 三、寫出下列每個(gè)程序運(yùn)行后的輸出結(jié)果(共20分,每小題4分)題目31 #include<st
47、dio.h> int WF(int x, int y) { x=x+y; y=x+y; return x+y; } void main() { int x=5, y=7; int z=WF(x,y); printf(“z=%d\n“,z); } 答:z=31 題目32 #include<stdio.h> #in
48、clude<string.h> void fun(char ss[]); void main() { char s[15]=“0123456789“; fun(s); printf(“%s\n“,s); } void fun(char ss[]) { int i, n=strlen(ss) ; for(i=0; i<n/2; i++) {
49、 char c=ss[i]; ss[i]=ss[n-1-i]; ss[n-1-i]=c; } } 答:987543210 題目33 #include<stdio.h> int Count(int a[], int n, int x) { int i,c=0; for(i=0;i<n;i++)
50、 if(a[i]>x) c++; return c; } void main() { int a[8]={20,15,32,47,24,36,28,70}; int b=Count(a,8,30); printf(“b=%d\n“,b); } 答:B=4 題目34 #include<stdio.h> void main() {
51、 int a[8]={3,5,7,9,2,3,4,8}; int s=0,*p; for(p=a;p<a+8;) s+=*p++; printf(“s=%d\n“,s); } 答:s=41 題目35 #include<stdio.h> int LA(int *a, int n, int x) { int i,s=0; for(i=0;i<n;i++)
52、 if(a[i]<x) s+=a[i]; return s; } void main() { int a[8]={5,10,15,8,12,3,9,20}; int b=LA(a,5,10); int c=LA(a+2,6,10); printf(“%d %d\n“,b,c); } 答:13 20 四、寫出下列每個(gè)函數(shù)的功能(共20分,每小題4分)題目36 double SF(dou
53、ble x, int n) { //n為正整數(shù) double p=1,s=1; int i; for(i=1;i<=n;i++) { p*=x; s+=p; } return s; } 答:計(jì)算出1+x+x2+...+xn的值并返回。 題目37 int SG(int x) { //x為大于等于2的
54、整數(shù) int i=2; while(i*i<=x) { if(x%i==0) break; i++; } if(i*i<=x) return 0; else return 1; } 答:判斷x是否為一個(gè)質(zhì)數(shù)(素?cái)?shù)),若是則返回1,否則返回0。 題目38 int WB(int a[], int n, int x) { for(
55、int i=0;i<n;i++) if(a[i]==x) return 1; return 0; } 答:從數(shù)組a[n]中順序查找值為x的元素,若查找成功則返回1,否則返回0。 題目39 int fun(int m, int n) { int c=0; static int b=2; if(m<b || n<b) return m*n; else if(m%b=
56、=0 n%b==0) {c=b; return c*fun(m/b,n/b);} else {b++; return fun(m,n);} } 答:一個(gè)遞歸函數(shù)過程,求出兩個(gè)自然數(shù)m和n的最小公倍數(shù)。 題目40 int LK(double a[], int n) { double s=0; int i,m=0; for(i=0;i<n;i++) s+=a[i]; s/=n; fo
57、r(i=0;i<n;i++) if(a[i]>=s) m++; return m; } 答:求出并返回?cái)?shù)組a的n個(gè)元素中大于等于平均值的元素個(gè)數(shù)。 形考任務(wù)4 一、選擇題(共30分,每小題2分)題目1 假定有“struct BOOK{char title[40]; float price;}; struct BOOK book;”,則不正確的語句為( )。 選擇一項(xiàng):a. struct BOOK *x=malloc(book); b. struct BOOK x
58、={“C++ Programming“,27.0}; c. struct BOOK *x=malloc(sizeof(struct BOOK)); d. struct BOOK *x=book; 題目2 假定有“struct BOOK{char title[40]; float price;} book;”,則正確的語句為( )。 選擇一項(xiàng):a. struct BOOK x= book; b. struct BOOK *x=book; c. struct BOOK x=calloc(BOOK); d. struct BOOK *x=BOOK; 題目3 在結(jié)構(gòu)類型的定義中,不
59、同數(shù)據(jù)成員的定義項(xiàng)之間采用的分隔符是( )。 選擇一項(xiàng):a. 句點(diǎn) b. 冒號(hào) c. 分號(hào) d. 逗號(hào) 題目4 假定一個(gè)結(jié)構(gòu)類型的定義為 “struct A{int a,b; double c;};”,則該類型的長度為( )。 選擇一項(xiàng):a. 8 b. 10 c. 12 d. 16 題目5 假定一個(gè)結(jié)構(gòu)類型的定義為 “struct D{int a; D* next;};”,則該類型的長度為( )。 選擇一項(xiàng):a. 4 b. 8 c. 12 d. 16 反饋 Your answer is correct. 題目6 假定要訪問一個(gè)結(jié)構(gòu)指針
60、變量x中的數(shù)據(jù)成員a,則表示方法為( )。 選擇一項(xiàng):a. x.a b. x->a c. x(a) d. x{a} 題目7 與結(jié)構(gòu)成員訪問表達(dá)式x.name等價(jià)的表達(dá)式為( )。 選擇一項(xiàng):a. x->name b. x->name c. (x)->name d. (*x)->name 題目8 假定一個(gè)鏈表中結(jié)點(diǎn)的結(jié)構(gòu)類型為“struct AA{int data, struct AA *next;};”,則next數(shù)據(jù)成員的類型為( )。 選擇一項(xiàng):a. struct AA b. struct AA* c
61、. AA d. int 題目9 假定一個(gè)鏈表的表頭指針為f,結(jié)點(diǎn)中包含有data和next域,則向該鏈表的表頭插入一個(gè)地址為p的結(jié)點(diǎn)時(shí),應(yīng)執(zhí)行的操作為( )。 選擇一項(xiàng):a. p->next=f b. p->next=f和f=p c. f=p->next d. f->next=p和f=p 題目10 標(biāo)準(zhǔn)輸入設(shè)備鍵盤的文件流標(biāo)識(shí)符是( )。 選擇一項(xiàng):a. stdin b. stdout c. stderr d. stdio 題目11 表示文件結(jié)束符的符號(hào)常量為( )。 選擇一項(xiàng):a. eof b. Eof c.
62、EOF d. feof 題目12 C語言中打開一個(gè)數(shù)據(jù)文件的系統(tǒng)函數(shù)為( )。 選擇一項(xiàng):a. fgetc() b. fputc() c. fclose() d. fopen() 題目13 從一個(gè)數(shù)據(jù)文件中讀入以換行符結(jié)束的一行字符串的系統(tǒng)函數(shù)為( )。 選擇一項(xiàng):a. gets() b. fgets() c. getc() d. fgetc() 題目14 向一個(gè)二進(jìn)制文件中寫入信息的函數(shù)fwrite()帶有的參數(shù)個(gè)數(shù)為( )。 選擇一項(xiàng):a. 1 b. 2 c. 3 d. 4 題目15 在C語言中,為只寫操作打開一個(gè)文本文件的方式為(
63、 )。 選擇一項(xiàng):a. “a“ b. “r+“ c. “r“ d. “w“ 二、判斷題(共40分,每小題2分。敘述正確則回答“是”,否則回答“否”)題目16 在結(jié)構(gòu)類型的定義中,其中的數(shù)據(jù)成員可以是本身類型的直接對(duì)象。 選擇一項(xiàng):對(duì) 錯(cuò) 題目17 在結(jié)構(gòu)類型的定義中,允許出現(xiàn)結(jié)構(gòu)類型不完整的超前定義。 選擇一項(xiàng):對(duì) 錯(cuò) 題目18 定義結(jié)構(gòu)類型的變量時(shí),不能夠同時(shí)進(jìn)行初始化。 選擇一項(xiàng):對(duì) 錯(cuò) 題目19 使用一個(gè)結(jié)構(gòu)類型時(shí),必須一起使用關(guān)鍵字struct和類型標(biāo)識(shí)符。 選擇一項(xiàng):對(duì) 錯(cuò) 題目20 假定一個(gè)結(jié)構(gòu)類型的定義為
64、 “struct A{int a,b; A* c;};”,則該類型的長度為12。 選擇一項(xiàng):對(duì) 錯(cuò) 題目21 假定一個(gè)結(jié)構(gòu)類型的定義為 “struct B{int a[5]; char* b;};”,則該類型的長度為20。 選擇一項(xiàng):對(duì) 錯(cuò) 題目22 執(zhí)行calloc(n,8)函數(shù)調(diào)用時(shí),將動(dòng)態(tài)分配得到8*n個(gè)字節(jié)的存儲(chǔ)空間。 選擇一項(xiàng):對(duì) 錯(cuò) 題目23 執(zhí)行malloc(sizeof(struct BB))函數(shù)調(diào)用時(shí),得到的動(dòng)態(tài)存儲(chǔ)空間能夠保存具有struct BB結(jié)構(gòu)類型的一個(gè)對(duì)象。 選擇一項(xiàng):對(duì) 錯(cuò) 題目24 假定要訪問一個(gè)結(jié)構(gòu)對(duì)象
65、x中的由a指針成員所指向的對(duì)象,則表示方法為x.a。 選擇一項(xiàng):對(duì) 錯(cuò) 題目25 假定要訪問一個(gè)結(jié)構(gòu)指針p所指對(duì)象中的b指針成員所指的對(duì)象,則表示方法為p->b。 選擇一項(xiàng):對(duì) 錯(cuò) 題目26 與結(jié)構(gòu)成員訪問表達(dá)式(*fp).score等價(jià)的表達(dá)式是fp->score。 選擇一項(xiàng):對(duì) 錯(cuò) 題目27 在C語言中,對(duì)二進(jìn)制文件的所有不同打開方式共有6種。 選擇一項(xiàng):對(duì) 錯(cuò) 題目28 C語言中的標(biāo)準(zhǔn)輸入和輸出設(shè)備文件都屬于字符文件。 選擇一項(xiàng):對(duì) 錯(cuò) 題目29 在一個(gè)磁盤數(shù)據(jù)文件的文件名中,文件主名和擴(kuò)展名都是必須的,不
66、可省略。 選擇一項(xiàng):對(duì) 錯(cuò) 題目30 在數(shù)據(jù)文件打開方式字符串中,字符r、w和a具有確定的含義,分別代表讀、寫和追加方式。 選擇一項(xiàng):對(duì) 錯(cuò) 題目31 一個(gè)磁盤數(shù)據(jù)文件的文件名由文件主名和擴(kuò)展名所組成,其中間用圓點(diǎn)分開。 選擇一項(xiàng):對(duì) 錯(cuò) 題目32 C語言系統(tǒng)中提供一個(gè)用來描述文件屬性的類型標(biāo)識(shí)符為FILE。 選擇一項(xiàng):對(duì) 錯(cuò) 題目33 每次只能向文本文件中寫入一個(gè)字符,不能一次寫入一個(gè)字符串。 選擇一項(xiàng):對(duì) 錯(cuò) 題目34 對(duì)二進(jìn)制文件進(jìn)行讀和寫操作將使用相同的系統(tǒng)函數(shù)。 選擇一項(xiàng):對(duì) 錯(cuò) 題目35 在C語言中,系統(tǒng)函數(shù)fseek()用來移動(dòng)數(shù)據(jù)文件中的文件位置指針。 選擇一項(xiàng):對(duì) 錯(cuò) 三、寫出下列每個(gè)程序運(yùn)行后的輸出結(jié)果(共15分,每小題5分)題目36 #include<stdio.h> struct Worker { char name[15]; //姓名 int age; /
- 溫馨提示:
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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 6.煤礦安全生產(chǎn)科普知識(shí)競賽題含答案
- 2.煤礦爆破工技能鑒定試題含答案
- 3.爆破工培訓(xùn)考試試題含答案
- 2.煤礦安全監(jiān)察人員模擬考試題庫試卷含答案
- 3.金屬非金屬礦山安全管理人員(地下礦山)安全生產(chǎn)模擬考試題庫試卷含答案
- 4.煤礦特種作業(yè)人員井下電鉗工模擬考試題庫試卷含答案
- 1 煤礦安全生產(chǎn)及管理知識(shí)測(cè)試題庫及答案
- 2 各種煤礦安全考試試題含答案
- 1 煤礦安全檢查考試題
- 1 井下放炮員練習(xí)題含答案
- 2煤礦安全監(jiān)測(cè)工種技術(shù)比武題庫含解析
- 1 礦山應(yīng)急救援安全知識(shí)競賽試題
- 1 礦井泵工考試練習(xí)題含答案
- 2煤礦爆破工考試復(fù)習(xí)題含答案
- 1 各種煤礦安全考試試題含答案