C語言書面作業(yè)2(有答案版)_第1頁
C語言書面作業(yè)2(有答案版)_第2頁
C語言書面作業(yè)2(有答案版)_第3頁
C語言書面作業(yè)2(有答案版)_第4頁
C語言書面作業(yè)2(有答案版)_第5頁
已閱讀5頁,還剩5頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、班級(jí): 學(xué)號(hào): 姓名:書面作業(yè)2(數(shù)組、函數(shù)、指針、系統(tǒng)函數(shù)、結(jié)構(gòu)體、文件讀寫)一、判斷題:在正確的說法前面填寫T,在錯(cuò)誤的說法前面填寫F(每題1分)得分: ( F )1每一個(gè)C語言函數(shù),都必須用return語句結(jié)束。( T )2如果函數(shù)有返回值,則該函數(shù)的表達(dá)式可以作為數(shù)據(jù)對(duì)象使用。( F )3. 函數(shù)表達(dá)式中,實(shí)參類型必須與對(duì)應(yīng)的形參類型一樣。( T )4函數(shù)調(diào)用時(shí),實(shí)參與形參必須類型兼容,且一一對(duì)應(yīng)。( T )5C語言實(shí)參與形參結(jié)合的唯一方式是將實(shí)參的值復(fù)制到形參中。( F )6C語言實(shí)參與形參結(jié)合的一種方式是將實(shí)參的地址復(fù)制給形參。( T )7在函數(shù)體中申明的變量,僅在該函數(shù)范圍內(nèi)有效

2、。( T )8在所有函數(shù)外申明且位于所有函數(shù)定義之前的變量,可以在所有函數(shù)中使用。( F )9. C 語言程序中,main 函數(shù)必須放在所有其他函數(shù)之前。( F )10數(shù)組名相當(dāng)于一個(gè)變量名,可以作為變量使用。( T )11數(shù)組元素表達(dá)式相當(dāng)于一個(gè)變量名,可以作為變量使用。( F )12數(shù)組元素在內(nèi)存中如何排列,并沒有嚴(yán)格的要求。( T )13數(shù)組元素在內(nèi)存中必須一個(gè)緊挨一個(gè)存放,因此數(shù)組是一種數(shù)據(jù)結(jié)構(gòu)。( T )14字符串實(shí)際上是一個(gè)1維字符數(shù)組,其最后一個(gè)元素必須是字符0。( F )15任何一個(gè)一維字符數(shù)組都可以當(dāng)成字符串使用。( T )16字符串?dāng)?shù)組相當(dāng)于最末一個(gè)元素為字符0的一維數(shù)組的

3、數(shù)組。( F )17將字符串字面值”hello!”賦值給一維字符數(shù)組str的寫法是:str = “hello!”;( F )18. 指針表示變量的地址,因此沒有類型之分別。( T )19. 指向不同數(shù)組的兩個(gè)指針不能進(jìn)行有意義的比較。( F )20. 數(shù)組名相當(dāng)于一個(gè)指針變量。( T )21. 數(shù)組名相當(dāng)于一個(gè)指針常數(shù)。( T )22. 數(shù)組名可進(jìn)行取值運(yùn)算,指針變量可進(jìn)行下標(biāo)運(yùn)算。( T )23. 數(shù)組名是指向數(shù)組第一個(gè)元素的指針常數(shù)。( F )24. 指針表示變量在內(nèi)存中的地址,不同類型變量的指針類型相同。( F )25. 系統(tǒng)函數(shù)由開發(fā)環(huán)境實(shí)現(xiàn),因此不屬于C語言標(biāo)準(zhǔn)范疇。( T )26.

4、 編程時(shí),應(yīng)該盡量使用系統(tǒng)函數(shù)功能,而不是自行開發(fā)相同的功能。( F )27. 自定義結(jié)構(gòu)體時(shí),成員中可以包含所定義結(jié)構(gòu)體類型成員。( T )28. 自定義結(jié)構(gòu)體時(shí),成員中可以包含指向結(jié)構(gòu)體類型變量的指針成員。( F )29. 與數(shù)組類似,不能進(jìn)行結(jié)構(gòu)體變量間的整體賦值。( T )30. 結(jié)構(gòu)體變量一般不能進(jìn)行關(guān)系和算術(shù)運(yùn)算。( T )31. C語言文件讀寫通過系統(tǒng)函數(shù)實(shí)現(xiàn)。( T )32. 文件使用完畢后,必須關(guān)閉它。否則可能會(huì)丟失信息,或使文件不能打開。( T )33. 文件處理系統(tǒng)函數(shù)中,使用FILE結(jié)構(gòu)體指針傳遞或返回文件信息。二、選擇題: 在四個(gè)選項(xiàng)中選擇最合適的一個(gè)選項(xiàng)填寫在 上(

5、每題2分)得分: 1如果有以下函數(shù)定義,則表達(dá)式fun(2.1)的值類型是( A )。 fun(float x) float y = 3 * x - 4; return y; A、intB、voidC、float D、不確定2以下程序的輸出結(jié)果是( C )。 int func( ) int a, b, c; a = 3, b = 5; /C語言允許用逗號(hào)(,)連接兩個(gè)表達(dá)式 c = a * b; return c;int main() int s = 9; s = func(); printf("%d", s); return 0;A、9B、5C、15D、33若有如下函數(shù)定

6、義: int fun()   static int k = 0;  return +k; 以下程序段運(yùn)行后屏幕輸出為(   D )。int i;for(i=1; i <= 5; i+) fun();printf("%d", fun();A、0 B、1 C、5 D、64以下程序的輸出結(jié)果是( )。 void fun(int x, int y, int z) z = x * x + y * y; int main() int a = 30; fun(5, 2, a); pr

7、intf("%d", a); A0B29C30D編譯錯(cuò)誤5以下程序的輸出結(jié)果是( B )。 int a, b; void func() a = 100; b = 200; int main() int a = 5, b = 7; func(); printf("%dt%d", a, b); A100 200 B5 7C5 200 D10076以下程序的輸出結(jié)果是( D )。 int a = 5;void fun(int b) static int a = 10; a += b; printf("%d", a); int main()

8、int c = 20; fun(c); a += c; printf(" %dn", a); return 0; A30 50B25 45C25 30D30 257有如下程序int func(int a, int b) return a + b; int main() int x = 2, y = 5, z = 8, r; r = func(func(x, y), z); printf("%dn", r); return 0;該程序的輸出的結(jié)果是( D )。A、12 B、13 C、14 D、158若有定義:int a10,則對(duì)數(shù)組a元素的正確引用是 D

9、。A)a10 B)a3.5 C)a(5) D)a10-109以下不能正確定義二維數(shù)組的是( D )。 A、int a22 = 1, 2; B、int a2 = 1, 2, 3, 4 C、int a22 = 1, 2, 3 D、int a2 = 1, 2, 3, 4;10若有說明int a34=0; 則下面正確的敘述是 D 。A) 只有元素a00可得到初值0B) 此說明語句不正確C) 數(shù)組a 中各元素都可得到初值,但其初值不一定是0D) 數(shù)組a 中各元素都可得到初值011以下能對(duì)一維數(shù)組a進(jìn)行正確初始化的語句是 C 。A) int a10=(0,0,0,0,0);B) int a10=;C) i

10、nt a=0;D) int a2=0, 0, 0; 12下面對(duì)s的初始化,其中不正確的是 D 。A) char s5=“abc”; B) char s5=a,b,c;C) char s5=”;D) char s5=”abcdef”;13. 下列數(shù)組的定義合法的是 B 。A) int a=“string”;B) int a=0,1,2,3,4;C) char str=“string”;D) int a2=1,2,3,4;14.對(duì)字符數(shù)組str賦初始值,不能作為字符串使用的是 D A) char str=”shanghai”;B)char str=“shanghai”;C)char st

11、r9=s,h,a,n,g,h,a,i;D)char str8=s,h,a,n,g,h,a,i;15.有如下定義:int a3=1,2,3,4,5,6,7,8;則數(shù)組a的行數(shù)為 B 。A) 2 B) 3 C) 4 D) 不確定16.執(zhí)行下面的程序段后,變量k的值為 C int k = 3, a2 = 2, 3;k = a1 * 10;A) 10 B) 33 C) 30 D) 不定值17. 以下對(duì)二維數(shù)組a 的正確說明是 C 。A) int a3;B) float a3,4;C) double a14; D) float a(3)(4);18. 以下程序的輸出結(jié)果是( B )。 int main(

12、) int a34 = 1, 2, 9, 2, 5, 1, 4, 8; printf("%d%d%d%d", a03, a11, a13, a23); return 0; A、0200B、0210C、0218D、092819. 若有說明:int n = 2, *p = &n, *q = p;,則非法的賦值語句是( D )。A、p = q;B、*p = *q;C、n = *q;D、p = n;20若有以下語句: int a = 5, b = 3, *p, *q, *t; p = &a; q = &b; t = q; q = NULL; 執(zhí)行上述語句后,

13、下列判斷中正確的是( C )。 A、*q 值為3;B、t與q相等;C、*p的值為5;D、*q與*t相等;21若有語句:int *point, a = 4;和point = &a;,下面均代表地址的一組選項(xiàng)是( D )。 A、a,point,*&aB、&*a,&a,*point C、*&point,*point,&aD、&a,&*point,point22下列程序的輸出結(jié)果是( D )。 int main() char a10 = 9, 8, 7, 6, 5, 4, 3, 2, 1, 0, *p = &a0 + 5; pri

14、ntf("%d", *p); return 0;A、編譯錯(cuò)誤B、a5的地址C、5D、423下面程序的輸出結(jié)果是( C )。 int main() int a = 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, *p = &a0; printf("%dn",*p + 9); return 0; A、9B、1C、10 D、024下列程序段的輸出結(jié)果是( B )。 void func(int *x, int *y) printf("%d%d", *x, *y); *x = 3; *y = 4; int main() in

15、t x = 1, y = 2; func(&y, &x); printf("%d%d", x, y); return 0; A、1212B、2143C、1234D、211225以下程序的輸出結(jié)果是( C )。#include<string.h>int main() char a7 = "a00a00" int i, j; i = sizeof(a); j = strlen(a);printf("%d %dn", i, j);return 0;A、2 2 B、7 6 C、7 2 D、6 226以下程序的輸出結(jié)

16、果是( A )。 #include <string.h> int main() char ch = "abc", x34; int i; for(i=0; i<3; i+) strcpy(xi, ch); for(i=0; i<3; i+) printf("%s", &xii); printf("n"); return 0;A、abcB、abcabcabcC、abcbccD、aaa27. 有定義語句int b; char c10;則正確的輸入語句是( B )。 A、scanf("%d%s&qu

17、ot;, &b, &c);B、scanf("%d%s", &b, c); C、scanf("%d%s", b, c);D、scanf("%d%s", b, &c);28. 若有定義:int a = 2;則語句a = strcmp("miss", "miss");運(yùn)行后a的值為( B  )。  A、1 B、0 C、-1 D、229設(shè)有以下說明語句struct ex int x;float y;char z;example;則下面的敘述中

18、不正確的是( B )。A、struct是結(jié)構(gòu)體定義的關(guān)鍵字B、example是結(jié)構(gòu)體類型名C、x, y, z都是結(jié)構(gòu)體成員名D、struct ex是結(jié)構(gòu)體類型30設(shè)有如下定義( )。 struct sk int a; float b;data;int *p;若要使p指向data中的a域,正確的賦值語句是( C )。A、p = &a;B、p = data.a;C、p = &data.a;D、*p = data.a;31設(shè)有如下定義 struct ss char name10; int age; char sex;std3, *p = std;下面各輸入語句中錯(cuò)誤的是( B )。A

19、、scanf("%d", &(*p).age);B、scanf("%s", &);C、scanf("%c", &std0.sex);D、scanf("%c", &(p->sex);32以下各項(xiàng)是說明一種新的類型名,其中正確的是( C )。 A、typedef v1 int;B、typedef v2 = int C、typedef int v3;D、typedef v4 : int;33以下敘述中錯(cuò)誤的是( D )。 A、二進(jìn)制文件打開后可以先讀文件的末尾 B、文

20、件使用結(jié)束,應(yīng)當(dāng)用fclose函數(shù)關(guān)閉文件 C、利用fread函數(shù)從二進(jìn)制文件中讀數(shù)據(jù),可以用數(shù)組名給數(shù)組中的所有元素讀入數(shù)據(jù) D、FILE結(jié)構(gòu)體指針不能指向二進(jìn)制文件34下面程序段的功能是 ( C )#include <stdio.h>int main() char s1; s1 = putc(getc(stdin), stdout); return 0;A、從鍵盤輸入一個(gè)字符給字符變量s1B、從鍵盤輸入一個(gè)字符,然后再輸出到屏幕C、從鍵盤輸入一個(gè)字符,然后在輸出到屏幕的同時(shí)賦給變量s1D、在屏幕上輸出stdout的值35設(shè)文本文件stu1.dat已存在,且有如下程序段#incl

21、ude <stdio.h>FILE *fp1, *fp2;fp1 = fopen("stud1.dat", "r");fp2 = fopen("stud2.dat", "w");while(!feof(fp1) putc(getc(fp1), fp2);該程序段的功能是( A )A、將文件stud1.dat的內(nèi)容復(fù)制到文件stud2.dat中B、將文件stud2.dat的內(nèi)容復(fù)制到文件stud1.dat中C、屏幕輸出stud1.dat的內(nèi)容D、什么也不做36下列程序的主要功能是( B )#include

22、 <stdio.h>int main() FILE *fp; long count = 0; fp = fopen("q1.c", "r"); while(!feof(fp) fgetc(fp); count+; printf("count = %ldn", count); fclose(fp); return 0;A、讀文件中的字符 B、統(tǒng)計(jì)文件中的字符數(shù)并輸出C、打開文件 D、關(guān)閉文件37下面程序的主要功能是:( C )#include <stdio.h>int main()FILE *fp; float

23、x4 = -12.1, 12.2, -12.3, 12.4; int i; fp = fopen("data1.dat", "wb"); for(i=0; i<4; i+) fwrite(&xi, 4, 1, fp);fclose(fp);return 0;A、創(chuàng)建空文檔data1.datB、創(chuàng)建文本文件data1.datC、將數(shù)組x中的四個(gè)實(shí)數(shù)寫入文件data1.dat中D、定義數(shù)組x38有如下程序段:#include <stdio.h>int main()FILE *fp; int i; char s10; fp = fop

24、en("name.txt", "w"); for(i=0; i<40; i+) scanf("%s", s); fputc(s, fp);fputc("n", fp); fclose(fp); return 0;下面說法正確的是:( B )A、將39個(gè)人的名字寫入文本文件name.txt中B、將40個(gè)人的名字寫入文本文件name.txt中C、文件name.txt中只能寫入40個(gè)字符D、文件name.txt必須存在三、 填空題1. 名為func無返回值無參數(shù)的函數(shù)原型申明為: void func(); 。2.

25、含有兩個(gè)整型參數(shù)返回值為單精度浮點(diǎn)型名為myFunc的函數(shù)原型申明可寫為:float myFunc(int a, int b); 。3. 設(shè)有函數(shù)原型為int func(double a, int b); ,則使用4.5和12做實(shí)參調(diào)用該函數(shù)并將結(jié)果賦值給整型變量m的表達(dá)式為: m = func(4.5, 12) 。4. 設(shè)有函數(shù)原型為float max(float a, float b);,則使用3.2和5.1做實(shí)參調(diào)用該函數(shù)并將結(jié)果采用格式化輸出方式輸出的表達(dá)式為: printf(“max(3.2, 5.1) = %f”, max(3.2, 5.1) 。5. 定義一個(gè)有5個(gè)元素名為rati

26、os的雙精度型數(shù)組的寫法是 double ratios5; 。6. 定義一個(gè)4行5列名為symbols的字符數(shù)組的寫法是 char symbols45; 。7. 設(shè)float y45=0.0;,則數(shù)組y中元素的個(gè)數(shù)是 20 。8. 定義一個(gè)3行5列名為points的整型數(shù)組且將元素初值全部賦0的寫法是 int points35 = 0 。9. 設(shè)有二維數(shù)組定義為int a3=2, 3, 4, 5, 6, 9, 0, 7; 則該數(shù)組有 3 行 3 列,數(shù)組元素a22的值為 0 。10. 設(shè)有數(shù)組定義 int a5 = 3, 4, 1; 則數(shù)組元素a1的值為 ;a3的值為 。11. 設(shè)有數(shù)組定義i

27、nt a = 3, 5, 9, 2, 8, 0;則該數(shù)組的長度為 6 ;數(shù)組元素下標(biāo)最大值為 5 ;元素a3的值為 2 。12. 如果用字符數(shù)組來存儲(chǔ)長度為n的字符串,則數(shù)組長度至少定義為 n + 1 。13.在C語言中字符串是由若干有效字符構(gòu)成且以字符 0 作為結(jié)束標(biāo)志的字符序列。14.假設(shè)N是符號(hào)常數(shù),定義char strN=“China”;則為str數(shù)組定義的長度N應(yīng)不小于 6 。15.指針變量唯一可以賦的整型值為 0 ,用符號(hào)常量表示為 NULL ;16指針變量指向數(shù)組時(shí),可以做的算術(shù)運(yùn)算包括 指針相減 、 指針加/減整數(shù) 或者 增1減1 ;17.設(shè)有申明 int a = 10, *p = &a; 則*p的值為 10 ,p的值為 a的地址&a ;18設(shè)a為整型變量且已賦值,p為指向整型的指針,則*(&a)的值等于 a ,則&(*p)的值等于 p ;19.設(shè)有申明int a = 34,23,89,21,36,28; int *p = &a1; 則p2的值為 21 ;*(a+4)的值為 36 ;20表達(dá)式ceil(-22.32)的值為 -22 ,c

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論