版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、大學(xué)計(jì)算機(jī) C語(yǔ)言期末復(fù)習(xí)題(一) 附帶答案一、單項(xiàng)選擇題1. 以下不正確的C語(yǔ)言標(biāo)識(shí)符是( )。A. ABC B. abc C. a_bc D. ab.c2以下正確的C語(yǔ)言標(biāo)識(shí)符是( )。A. %k
2、; B. a+b C. a123 D. test!3. 一個(gè)C程序的執(zhí)行是從( )。Amain( )函數(shù)開(kāi)始,直到main( )函數(shù)結(jié)束 B第一個(gè)函數(shù)開(kāi)始,直到最后一個(gè)函數(shù)結(jié)束C第一個(gè)語(yǔ)
3、句開(kāi)始,直到最后一個(gè)語(yǔ)句結(jié)束 Dmain( )函數(shù)開(kāi)始,直到最后一個(gè)函數(shù)結(jié)束4. 在C程序中,main( )的位置( )。A必須作為第一個(gè)函數(shù) B必須作為最后一個(gè)函數(shù) C可以任意 D必須放在它所調(diào)用的函數(shù)之后5C語(yǔ)言源程序的基本單位是( )。 A過(guò)程 B.函數(shù) C.子程序 D.標(biāo)識(shí)符6以下結(jié)果為整數(shù)的表達(dá)式(設(shè)有int i;char c;float f;)(
4、60; ). A.i+f B.i*c C.c+f D.i+c+f7.以下不正確的語(yǔ)句(設(shè)有int p,q)是( )。 Ap*=3;
5、60; B.p/=q; C.p+=3; D.p&&=q;8.以下使i的運(yùn)算結(jié)果為4的表達(dá)式是( )。Aint i=0,j=0; (i=3,(j+)+i);B. int i=1,j=0; j
6、=i=(i=3)*2); C. int i=0,j=1; (j=1)? (i=1): (i=3); D. int i=1,j=1; i+=j+=2;9.設(shè)char ch;以下正確的賦值語(yǔ)句是( )。Ach='123' Bch='xff' Cch='08' Dch=""10設(shè)n=10,i=4,則賦值運(yùn)算n%=i+1執(zhí)行后,n的值是( )。A.0
7、0; B.3 C.2 D.111.逗號(hào)表達(dá)式(a=3*5,a*4),a+15的值為( ),a的值是( )。A.15
8、 B.60 C.30 D.不確定A.60 B.30 C.15 D.9012.如果a=1,b=2,c=3,d=4,則條件表達(dá)式a<b?a:c<d?c:d的值為(
9、; ).A.1 B.2 C.3 D.413.設(shè)int n=3;則+n的結(jié)果是( ),n的結(jié)果是( )。A.2
10、160;B.3 C.4 D.514.設(shè)int n=2;則+n+1=4的結(jié)果是( ),n的結(jié)果是( )。A.true B.false C.1 &
11、#160; D.0 A.1 B.2 C.3 D.415.設(shè)int a=2,b=2;則a+b的結(jié)果是( ),a的結(jié)果是( ),b的結(jié)果是( )A.2
12、 B.3 C.4 D.516.語(yǔ)句(1,2,3,4)的結(jié)果是( )。A.1 B.2 C.3 D.417.設(shè)int a=04,b;則執(zhí)行b=a<<1;語(yǔ)句后,b
13、的結(jié)果是( )。A.4 B.04 C.8 D.1018.sizeof(double)是一個(gè)( )表達(dá)式。A.整型 B.雙精度
14、160; C.不合法 D.函數(shù)調(diào)用19.在C語(yǔ)言中,不同類(lèi)型數(shù)據(jù)混合運(yùn)算時(shí),要先轉(zhuǎn)換成同一類(lèi)型后進(jìn)行運(yùn)算。設(shè)一表達(dá)式中包含有int,long,unsigned和char類(lèi)型的變量和數(shù)據(jù),則表達(dá)式最后的運(yùn)算結(jié)果是( )類(lèi)型的數(shù)據(jù)。這四種類(lèi)型數(shù)據(jù)的轉(zhuǎn)換規(guī)律是( )。A.int
15、60; B.char C.unsigned D.longA.int->unsigned->long->char B.char->int->long->unsigned C.char->int->unsigned->long D.char->unsig
16、ned->long->int20. 有如下程序段: int a1,a2; char c1,c2; scanf("%d%c%d%c",&a1,&c1,&a2,&c2); 若要求a1,a2,c1,c2的值分別為10,20,A,B正確的數(shù)據(jù)輸入是( )。 A.10A 20B<CR> B.10 A 20 B<
17、;CR> C.10 A20B<CR> D.10A20 B<CR>21. 有如下程序,若要求a1,a2,c1,c2的值分別為10、20、A、B,正確的數(shù)據(jù)輸入是( )。 main() int a1,a2; char c1,c2; scanf("%d%d",&am
18、p;a1,&a2); scanf("%c%c",&c1,&c2); A.1020AB<CR> B.10 20<CR> AB<CR> C.10 20 ABC<CR> D.10 20AB<CR>22. 有如下程序,輸入數(shù)據(jù):12345 678<CR>后,x的值是(
19、60; ),y的值是( )。 #include<stdio.h> main() int x; float y; scanf("%3d%f",&x,&y); &
20、#160; (1) A.12345 B.123 C.45 D.345 (2) A.45.000000 B.45678.000000 c.678.000000
21、160;D.123.00023. 有如下程序,輸入數(shù)據(jù):12 345<CR>后,x的值是( ),y的值是( )。 #include<stdio.h> main() int x; float y; scanf(&quo
22、t;%3d%f",&x,&y); (1) A.12 B.123 C.12345 D.0 (2) A.12.000000 B.345.000000
23、 C.12345.000000 D.0.000000024. 有如下程序,對(duì)應(yīng)正確的數(shù)據(jù)輸入是( )。 #include<stdio.h> main() float a,b; scanf("%f%f",&a,&b);
24、 printf("a=%f,b=%fn",a,b); A. 2.04<CR> 5.67<CR> B. 2.04,5.67<CR> C. A=2.04,b=5.67<CR> D. 2.045.67<CR>25. 有如下輸入語(yǔ)句:scanf("a=%d,b=%d,c=%d",&a
25、,&b,&c);為使變量a的值為1,b的值為3?琧的值為2,從鍵盤(pán)輸入數(shù)據(jù)的正確形式應(yīng)是( )。 A.132<CR> B.1,3,2<CR> C.a=1,b=2,c=3<CR> D.a=1 b=2 c=3<CR>26. 以下程序的執(zhí)行結(jié)果是( )。 &
26、#160; #include<stdio.h> main() int sum,pad; sum=pad=5; pad=sum+; pad+; +pad; printf("%dn",pad); &
27、#160; A.7 B.6 C.5 D.427. 以下程序的執(zhí)行結(jié)果是( )。 #include<stdio.h> main() int i=010,j=10;
28、 printf("%d,%d,%dn",+i,j,j-); A.11,9,10 B.9,9,10 C.010,9 ,9 D.10,9,928. 已知字母A的ASCII碼是65,以下程序的執(zhí)行結(jié)果是( )。 #include<stdio.h&g
29、t; main() char c1='A',c2='Y' printf("%d,%dn",c1,c2); A.A,Y B.65,65
30、160; C.65,90 D.65,8929. 以下程序的執(zhí)行結(jié)果是( )。 #include<stdio.h> #include<math.h> main() int a=1,b=4,c=2;
31、0; float x=10.5,y=4.0,z; z=(a+b)/c+sqrt(double)y)*1.2/c+x; printf("%fn",z); A.14.000000 B.15.000000
32、60;C.13.700000 D.14.90000030.為了避免嵌套的if-else語(yǔ)義的二義性,C語(yǔ)言規(guī)定else總是與( )A. 縮排位置相同的if B. 在其之前未配對(duì)的的if C. 在其之前未配對(duì)的最近的if D. 同一行上的if31.選擇出合法的if語(yǔ)句(設(shè)int x,y;)( ) A. if(a=b) x+ ;B. if(a=<b) x+; C. if(a<>b) x+; D. if(a=>b) x+;32.選擇出合法的if語(yǔ)句(設(shè)int x,a
33、,b,c;)( )A. if(x!=y) if(x>y) printf("x>yn"); else printf("x<yn"); else printf("x=yn");B. if(x!=y) if(x>y) printf("x>yn") else printf("x<yn"); els
34、e printf("x=yn");C. if (x!=y) if(x>y) printf("x>yn"); else printf("x<yn") else printf("x=yn");D. if(x!=y) if(x>y) printf("x>yn"); else printf("x<yn") else printf(
35、"x=yn");33.C語(yǔ)言用( )表示邏輯"真"值。Atrue B. t或y C.非零整數(shù)值 D.整數(shù)034.以下for循環(huán)是( )。for(x=0,y=0;(y!=123)&&(x<4);x+); A.無(wú)限循環(huán) B.循環(huán)次數(shù)不定 C.執(zhí)行4次 D.執(zhí)行3次35.下面有關(guān)for循環(huán)的正確描述是( )。A. for 循環(huán)只能是用于循
36、環(huán)次數(shù)已經(jīng)確定的情況。 B. for 循環(huán)是先執(zhí)行循環(huán)語(yǔ)句,后判斷表達(dá)試。C. 在for循環(huán)中,不能用break語(yǔ)句跳出循環(huán)體 D. for循環(huán)體語(yǔ)句中,可以包含多條語(yǔ)句,但要用花括號(hào)括起來(lái)36.對(duì)于for(表達(dá)式1; ; 表達(dá)式3)可理解為( )。A. for(表達(dá)式1; 0; 表達(dá)式3) B. for(表達(dá)式1; 1; 表達(dá)式3)C. for(表達(dá)式1; 表達(dá)式1; 表達(dá)式3) D. for(表達(dá)式1; 表達(dá)式3; 表達(dá)式3)37.C語(yǔ)言中( )。A. 不能使用do-while語(yǔ)句構(gòu)成的循環(huán)B. do-while語(yǔ)句構(gòu)成的循環(huán)必須用break語(yǔ)句才能退出C. do-while語(yǔ)句構(gòu)成的循環(huán)
37、,當(dāng)while語(yǔ)句中的表達(dá)式值為非零時(shí)結(jié)束循環(huán)D. do-while 語(yǔ)句構(gòu)成的循環(huán),當(dāng)while語(yǔ)句中的表達(dá)式值為零時(shí)結(jié)束循環(huán)38C語(yǔ)言中while和do-while循環(huán)的主要區(qū)別是()A. do-while的循環(huán)體至少無(wú)條件執(zhí)行一次B. while的循環(huán)控制條件比do-while的循環(huán)控制條件嚴(yán)格C. do-while允許從外部轉(zhuǎn)到循環(huán)體內(nèi)D. do-while的循環(huán)體不能是復(fù)合語(yǔ)句39有以下程序:# include<stdio.h># define N 6main()char cN;int i=0; for (;i<N;ci=getchar(),i+);for(i=0;
38、i<N;putchar(ci),i+);輸入以下三行,每行輸入都是在第一列上開(kāi)始:a<CR>b<CR>cdef<CR>程序的輸出結(jié)果是()。A. abcdef B.a C.a D.a bb b ccd cdef &
39、#160; d e f40.以下程序的輸出結(jié)果是()。 #include<stdio.h> main()int i;for (i=1;i<=5;i+)if(i%2) printf("*");else continue;printf("#");printf("$n");A.* # * #
40、* # $ B.# * # * # * $ C.* # * # $ D.# * # * $41.以下for語(yǔ)句構(gòu)成的循環(huán)執(zhí)行了()次。 #include<stdio.h> #define N 2 #define M N+1 #define NUM (M+1)*M/2 main() int i,n=0; for (i=1;i<=NUM;i+) n+; printf("%d",n); printf("n"); A.5 B.6 C.8 D.9 42.以下程序的輸出結(jié)果是().
41、 include<stdio.h> main() int num=0; while (num<=2) num+; printf("%dn",num); A.1 B.1 C.1 D.1 2 2 2 3 3 4 43.以下程序段()。x=-1; do x=x*x; while(!x); A.是死循環(huán)B.循環(huán)執(zhí)行二次 C.循環(huán)執(zhí)行一次D.有語(yǔ)法錯(cuò)誤 44. 以下關(guān)于數(shù)組的描述正確的是( ) A. 數(shù)組的大小是固定的,但可以有不同的類(lèi)型的數(shù)組元素。 B. 數(shù)組的大小是可變的,但所有數(shù)組元素的類(lèi)型必須相同。 C. 數(shù)組的大小是固定的,所有數(shù)組元素的類(lèi)型必須相同。 D
42、. 數(shù)組的大小是可變的,可以有不同的類(lèi)型的數(shù)組元素。 45.以下一維數(shù)組a的正確定義是()A.int a(10); B.int n=10,an; C.int n; D.#define SIZE 10 scanf("%d",&n); int aSIZE; int an; 46.在定義int a10;之后,對(duì)a的引用正確的是() A.a10 B.a6.3 C. a(6) D.a10-10 47.以下對(duì)二維數(shù)組a進(jìn)行正確初始化的是()A.int a23=1,2,3,4,5,6; B.int a3=1,2,3,4,5,6; C.int a2=1,2,3,4,5,6; D.i
43、nt a2=1,2,3,4; 48.以下對(duì)二維數(shù)組a進(jìn)行不正確初始化的是()A.int a3=3,2,1,1,2,3; B.int a3=3,2,1,1,2,3; a23=3,2,1,1,2,3; D.int a=3,2,1,1,2,3; 49.以下對(duì)字符數(shù)組word進(jìn)行不正確初始化的是()A.static char word='Turbo0' B.static char word='T','u','r','b','o','0' C.static char word=&q
44、uot;Turbo0" D.static char word="Turbo0" 50.在定義int a54;之后,對(duì)a的引用正確的是()A.a24 B.a50 C.a00 D.a0,0 51.在定義int a23;之后,對(duì)a的引用正確的是()A.a(1,2) B.a1,3 C.a1>2!1 D.a20 52.以下正確的定義語(yǔ)句是() A.int A'a' B.int A3,4; C.int A3; D.int A10; 53.以下給字符數(shù)組str定義和賦值正確的是()A.char str10; str="China" B.
45、char str="China" C.char str10; strcpy(str,"abcdefghijklmn"); D.char str10="abcdefghijklmn"); 54.在執(zhí)行int a3=1,2,3,4,5,6;語(yǔ)句后,a10的值是()A.4 B.1 C.2 D.5 55.在執(zhí)行int a3=1,2,3,4;語(yǔ)句后,a13的值是( ) A.3 B.4 C.0 D.2 56.在執(zhí)行 char str10="China0"strlen(str)的結(jié)果是( ) A.5 B.6 C.7 D.9 57
46、.設(shè)int *p,i;以下正確的語(yǔ)句是() A. *p=10; B. i=p; C. i=*P; D. p=2*p+1; 58.設(shè)char s10;*p=s;以下不正確的表達(dá)式是() A. p=s+5; B. s=p+s; C. s2=p4; D. *p=s0; 59.設(shè) char *s;以下正確的表達(dá)式是() A. s="computer" B. *s="computer" C. *s="computer" D. *s='c' 60.設(shè)有說(shuō)明int (*ptr)M;其中ptr是() A. M個(gè)指向整型變量的指針 B.
47、 指向M個(gè)整型變量的函數(shù)指針 C. 一個(gè)指向具有M個(gè)整型元素的一維數(shù)組的指針 D. 具有M個(gè)指針元素的一維指針數(shù)組,每個(gè)元素都只能指向整型量 61.選擇出i的正確結(jié)果() int i; char *s="a045+045b" for (i=0;*s+;i+) A. 5 B. 8 C. 11 D. 12 62.如下程序的執(zhí)行結(jié)果是() #include<stdio.h> main() int i; char *s="an35b" for (i=0;*s+;i+) printf("i=%dn",i); A. i=5 B. i=
48、6 C.i=7 D. i=8 63.如下程序的執(zhí)行結(jié)果是() #include<stdio.h> main() int i; char *s="an" for(i=0;si!='0'i+) printf("%c",*(s+i); A. a B. a C. a D. a 64.如下程序的執(zhí)行結(jié)果是() #include<stdio.h> main() int i; char *s=""" for (i=0;si!='0'i+) printf("%c",
49、*(s+i); A. " B. a" C.""" D. 不正確 65.如下程序的執(zhí)行結(jié)果() #include<stdio.h> main() static int a=1,2,3,4,5,6; int *p; p=a; *(p+3)+=2; printf("%d,%dn",*p,*(p+3); A. 1,3 B. 1,6 C. 3,6 D. 1,4 66.如下程序的執(zhí)行結(jié)果是() #include<stdio.h> main() static int a4=1,3,5,7,9,11,13,15,17
50、,19,21,23; int (*p)4,i=1,j=2; p=a; printf("%dn",*(*(p+i)+j); A. 9 B. 11 C. 13 D. 17 67.以下delspace函數(shù)的功能是刪除字符串s中的所有空格(包括Tab,回車(chē)符和換行符)。請(qǐng)選擇正確的編號(hào)填空 delspace(char *s) int i,t ; char c80; for(i=0,t=0; (1) ;i+) if (!isspace ( (2) ) ) ct+=si; ct='0' strcpy(s,c); (1) A. si B. !si C. si='0
51、' D. si='0' (2) A. s+i B. *ci C. *(s+i) D. *(c+i) 68.以下delnum函數(shù)的功能是刪除字符串s中的數(shù)字字符。請(qǐng)選擇正確的編號(hào)填空 delnum(char *s) int i,j; for (i=0,j=0;si!='0'i+) if( (1) ) sj=si; j+; (2); (1) A. sj<'0'|sj>'9' B. si<'0'|si>'9' C. sj<'0'&&sj
52、>'9' D. si<'0'&&si>'9' (2) A. sj='0' B. si='0' C. sj+='0' D. si+='0' 69.以下comp函數(shù)的功能是按詞典順序比較兩個(gè)字符串s和t的大小。如果s大于t則返回正值,等于就返回零,小于則返回負(fù)值。請(qǐng)選擇正確的編號(hào)填空。 comp(char *s,char *t) for(;*s=*t;_) if (*s='0') return(0); return (*s-*t); A.
53、 s+ B. t+ C. s+;t+ D. s+,t+ 70.C語(yǔ)言中規(guī)定函數(shù)的返回值的類(lèi)型是由( )。 Areturn語(yǔ)句中的表達(dá)式類(lèi)型所決定 B調(diào)用該函數(shù)時(shí)的主調(diào)用函數(shù)類(lèi)型所決定 C調(diào)用該函數(shù)時(shí)系統(tǒng)臨時(shí)決定 D在定義該函數(shù)時(shí)所指指定的函數(shù)類(lèi)型所決定 71.對(duì)于C語(yǔ)言的函數(shù),下列敘述中正確的是( )。 A. 函數(shù)的定義不能嵌套,但函數(shù)調(diào)用可以嵌套 B. 函數(shù)的定義可以嵌套,但函數(shù)調(diào)用不能嵌套 C. 函數(shù)的定義和調(diào)用都不能嵌套 D. 函數(shù)的定義和調(diào)用都可以嵌套 72.有一個(gè)函數(shù)的定義如下: void newprint(double (*f)(),double x) printf("%
54、fn",(*f)(x); 則調(diào)用正確的語(yǔ)句是( )。 Anewprint(sin,0.5); Bnewprint(sin(0.5); Cnewprint(&sin,0.5); Dnewprint(&sin)(0.5); 73.以下函數(shù)調(diào)用語(yǔ)句中含有( )個(gè)實(shí)參。 func(exp1,exn2),(exp3,exp4,exp5); A.1 B.2 C.4 D.5 74.以下程序的輸出結(jié)果是( )。 #include<stdio.h> main() int k=4,m=1,p; p=func(k,m); printf("%d",p); p=
55、func(k,m); printf("%dn",p); func(a,b) int a,b; static int m=0,i=2; i+=m+1; m=i+a+b; return(m); A.8,17 B.8,16 C.8,20 D.8,8 75.以下程序的輸出結(jié)果是( )。 #include<stdio.h> main() static char *a="MORNING","AFTERNOON","EVENING" char *n; n=a; func(n); func(char *m) +m; p
56、rintf("%sn",*m); A.為空 B.MORNING C.AFTERNOON D.EVENING 76.以下程序的輸出結(jié)果是( )。 main() int a=2,i; for (i=0;i<3;i+) printf("%d",func(a); func(int a) int b=0; static c=3; b+;c+; return(a+b+c); A.777 B.7 7 7 C.789 D.7 8 9 77.以下程序的輸出結(jié)果是( )。 int i=10; main() int j=1; j=func(); printf("
57、;%d,",j); j=func(); printf("%d",j); func() int k=0; k=k+i; i=i+10; return(k); A. 0,0 B. 10,20 C. 10,10 D. 20,20 78.以下程序的輸出結(jié)果是( )。 main() int a=3,b=2,c=1; c-=+b; b*=a+c; int b=5,c=12; c/=b*2; a-=c; printf("%d,%d,%d,",a,b,c); a+=-c; printf("%d,%d,%dn",a,b,c); A. 3,2,
58、1,2,3,-2 B. 2,5,1,3,5,12 C. 2,5,1,2,3,-2 D. 3,2,1,3,5,12 79.以下程序的輸出結(jié)果是( )。 func1(int a,int b) return(a+b); func2(int a,int b) return(a-b); func3(int(*t)(),int x,int y) return(*t)(x,y); main() int x,(*p)(int,int); p=func1; x=func3(p,9,3); x+=func3(func2,8,3); printf("%dn",x); A.9 B.17 C.3 D
59、.27 80.在說(shuō)明一個(gè)結(jié)構(gòu)體變量時(shí)系統(tǒng)分配給它的存儲(chǔ)空間是() A.該結(jié)構(gòu)體中第一個(gè)成員所需存儲(chǔ)空間 B.該結(jié)構(gòu)體中最后一個(gè)成員所需存儲(chǔ)空間 C.該結(jié)構(gòu)體中占用最大存儲(chǔ)空間的成員所需存儲(chǔ)空間 D.該結(jié)構(gòu)體中所有成員所需存儲(chǔ)空間的總和 81.在說(shuō)明一個(gè)共用體變量時(shí)系統(tǒng)分配給它的存儲(chǔ)空間是() A.該共用體中第一個(gè)成員所需存儲(chǔ)空間 B.該共用體中最后一個(gè)成員所需存儲(chǔ)空間 C.該共用體中占用最大存儲(chǔ)空間的成員所需存儲(chǔ)空間 D.該共用體中所有成員所需存儲(chǔ)空間的總和 82.使用共用體union的目的是() A.將一組數(shù)據(jù)作為一個(gè)整體,以便于其中的成員共享同一存儲(chǔ)空間 B.將一組具有相同數(shù)據(jù)類(lèi)型的數(shù)據(jù)作
60、為一個(gè)整體,以便于其中的成員共享同一存儲(chǔ)空間 C.將一組相關(guān)數(shù)據(jù)作為一個(gè)整體,以便程序中使用 D.將一組具有相同數(shù)據(jù)類(lèi)型的數(shù)據(jù)作為一個(gè)整體,以便程序中使用 83.以下關(guān)于typedef的敘述不正確的是() A.用typedef可以定義各種類(lèi)型名,但不能用來(lái)定義變量 B.用typedef可以增加新類(lèi)型 C.用typedef只是將已存在的類(lèi)型用一個(gè)新的名稱(chēng)來(lái)代表 D.使用typedef便于程序的通用 84.在下列程序段中,枚舉變量c1和c2的值分別是( )和( ) main() enum color red,yellow,blue=4,green,white c1,c2; c1=yellow; c
61、2=white; printf("%d,%dn",c1,c2); A.1 B.3 C.5 D.6 85.若有以下說(shuō)明和語(yǔ)句: struct worker int no; char *name; work,*p=&work; 則以下引用方式不正確的是() A.work.no B.(*p).no C.p->no D.work->no 86.以下程序執(zhí)行后的正確結(jié)果是() struct tree int x; char *s; t; func(struct tree t) t.x=10; t.s="computer" return(0);
62、main() t.x=1; t.s="minicomputer" func(t); printf("%d,%sn",t.x,t.s); A.10,computer B.1,minicomputer C.1,computer D.10,minicomputer 87.有如下定義: struct date int year,month,day; ; struct worklist char name20; char sex; struct date birthday; person; 對(duì)結(jié)構(gòu)體變量person的出生年份進(jìn)行賦值時(shí),下面正確的賦值語(yǔ)句是( )
63、A.year=1958 B.birthday.year=1958 c.person.birthday.year=1958 D.person.year=1958 88.在如下結(jié)構(gòu)體定義中,不正確的是( ) A.struct student int no; char name10; float score; B.struct stud20 int no; char name10; float score; C.struct student int no; char name10; float score; stud20; D.struct int no; char name10; float sc
64、ore; stud100; 89.以下程序的功能是讀入一行字符,且每個(gè)字符存入一個(gè)結(jié)點(diǎn),按輸入順序建立一個(gè)鏈表的結(jié)點(diǎn)序列,然后再按相反順序輸出并釋放全部結(jié)點(diǎn)。請(qǐng)選擇正確的編號(hào)填空。 #include<stdio.h> #include<alloc.h> #define getnode(type) (type *)malloc(sizeof(type) #define NULL 0 main() struct node char info; struct node <1> *top,*p; char c; top=NULL; while(c=getchar()
65、!='n') p=getnode(<2>); p->info=c; p->link=<3> top=<4> while(top!=NULL) p=<5> top=p->link; printf("%c",p->info); free(p); <1>A.*p B.*link C.*top D.link <2>A.top B.p C.node D.struct node <3>A.top B.top->link C.p D.p->link &l
66、t;4>A.link B.p C.p->link D.top->link <5>A.p->link B.top->link C.top D.link 90.閱讀以下程序,請(qǐng)選擇正確的編號(hào)填空。 #include<stdio.h> typedef struct str1 char c5; char *s; st; main() static st s12="ABCD","EFGH","IJK","LMN" static struct str2 st sr; int
67、 d; s2="OPQ","RST",32767; st *p=&s10,&s11; printf("%cn",p0->c1); 輸出為(<1>) printf("%sn",(+p0)->s); 輸出為(<2>) printf("%cn",s2.sr.c2); 輸出為(<3>) printf("%dn",s2.d+1); 輸出為(<4>) <1>A.M B.J C.D D.B <2&
68、gt;A.ABCD B.EFGH C.LMN D.IJK <3>A.Q B.V C.Y D.Y <4>A.-32768 B.32768 C.65535 D.0 91.當(dāng)已存在一個(gè)abc.txt文件時(shí),執(zhí)行函數(shù)fopen("abc.txt","r+")的功能是( )。 A. 打開(kāi)abc.txt文件,清除原有的內(nèi)容。 C. 打開(kāi)abc.txt文件,只能讀取原有內(nèi)容。 B. 打開(kāi)abc.txt文件,只能寫(xiě)入新的內(nèi)容。 D. 可以讀取和寫(xiě)入新的內(nèi)容。 92.fopen( )函數(shù)的mode取值"r"和"w&qu
69、ot;時(shí),它們之間的差別是( )。 A."r"可向文件讀入,"w"不可向文件讀入。 B."r" 不可向文件寫(xiě)入,"w"可向文件寫(xiě)入。 C."r" 不可由文件讀出, "w"可由文件讀出。 D.文件不存在時(shí),"r"建立文件,"w"出錯(cuò)。 93.fopen( )函數(shù)的mode取值"w+"和"a+"時(shí)都可以寫(xiě)入數(shù)據(jù),它們之間的差別是( )。 A."w+"時(shí)可在中間插入數(shù)據(jù),而"
70、;a+"時(shí)只能在末尾追加數(shù)據(jù)。 B."w+"時(shí)和 "a+"時(shí)只能在末尾追加數(shù)據(jù)。 C.在文件存在時(shí),"w+"時(shí)清除原文件數(shù)據(jù),而 "a+"時(shí)保留原文件數(shù)據(jù)。 D."w+" 時(shí)不能在中間插入數(shù)據(jù),而"a+"時(shí)只能在末尾追加數(shù)據(jù)。 94.若用fopen( )函數(shù)打開(kāi)一個(gè)新的二進(jìn)制文件,該文件可以讀也可以寫(xiě),則文件打開(kāi)模式是( )。 A. "r+" B. "wb+" C. "a+" D. "ab&quo
71、t; 95.若用fopen( )函數(shù)打開(kāi)一個(gè)已存在的文本文件,保存該文件原有數(shù)據(jù)且可以讀也可以寫(xiě),則文件打開(kāi)模式是( )。 A. "r+" B. "w+" C. "a+" D. "a" 96.使用fseek函數(shù)可以實(shí)現(xiàn)的操作是( )。 A改變文件的位置指針的當(dāng)前位置 B.文件的順序讀寫(xiě) C文件的隨機(jī)讀寫(xiě) D.以上都不對(duì) 97.以下不能將文件位置指針重新移動(dòng)到文件開(kāi)頭位置的函數(shù)是( )。 A rewind(fp); B fseek(fp,0,0); C fseek(fp,-(long)ftell(fp),1); D
72、fseek(fp,0,2); 98.fread(buf,64,2,fp)的功能是( )。 A.從fp文件流中讀出整數(shù)64,并存放在buf中; B.從fp文件流中讀出整數(shù)64和2,并存放在buf中; C.從fp文件流中讀出64個(gè)字節(jié)的字符,并存放在buf中; D.從fp文件流中讀出2個(gè)64個(gè)字節(jié)的字符,并存放在buf中; 99.檢測(cè)文件流的文件位置指針在文件頭的條件是( )。 A. fp=0 B. ftell(fp)=0 C. fseek(fp,0,SEEK_SET) D. feof(fp) 100C語(yǔ)言中,宏定義有效范圍從定義處開(kāi)始,到源文件結(jié)束處結(jié)束,但可以用( )來(lái)提前解除宏定義的作用。
73、A#ifdef B.#endif C.#undefine D.#undef 101.以下不正確的敘述是( ) A 預(yù)處理命令行都必須以"#"開(kāi)始 B 在程序中凡是以"#"開(kāi)始的語(yǔ)句行都是預(yù)處理命令行 C C程序在執(zhí)行過(guò)程中對(duì)預(yù)處理命令進(jìn)行處理 D #define ABCD是正確的宏定義 102以下正確的敘述是( ) A 在程序的一行中可以出現(xiàn)多個(gè)有效的預(yù)處理命令行 B 使用帶參宏時(shí),參數(shù)的類(lèi)型應(yīng)與宏定義時(shí)的一致 C 宏替換不占用運(yùn)行時(shí)間,只占編譯時(shí)間 D 宏定義不能出現(xiàn)在函數(shù)內(nèi)部 103以下不正確的敘述是( ) A宏替換不占用運(yùn)行時(shí)間 B宏名無(wú)類(lèi)型 C宏
74、替換只是字符替換 D宏名必須用大寫(xiě)字母表示 104以下正確的敘述是( ) A C語(yǔ)言的預(yù)處理功能是指完成宏替換和包含文件的調(diào)用 B 預(yù)處理命令只能位于C源程序文件的首部 C 凡是C源程序中行首以"#"標(biāo)識(shí)的控制行都是預(yù)處理命令 D C語(yǔ)言的編譯預(yù)處理就是對(duì)源程序進(jìn)行初步的語(yǔ)法檢查 105在文件包含預(yù)處理語(yǔ)句(#include)的使用形式中,當(dāng)之后的文件名用""(雙括號(hào))括起時(shí),尋找被包含文件的方式是( ) A 直接按系統(tǒng)設(shè)定的標(biāo)準(zhǔn)方式搜索目錄 B 先在源程序所在目錄搜索,再按系統(tǒng)設(shè)定的標(biāo)準(zhǔn)方式搜索 C 僅僅搜索源程序所在目錄 D 僅僅搜索當(dāng)前目錄 106
75、在文件包含預(yù)處理語(yǔ)句(#include)的使用形式中,當(dāng)之后的文件名用< >(尖括號(hào))括起時(shí),尋找被包含文件的方式是( ) A直接按系統(tǒng)設(shè)定的標(biāo)準(zhǔn)方式搜索目錄 B先在源程序所在目錄搜索,再按系統(tǒng)設(shè)定的標(biāo)準(zhǔn)方式搜索 C僅僅搜索源程序所在目錄 D僅僅搜索當(dāng)前目錄 107C語(yǔ)言的編譯系統(tǒng)對(duì)宏命令的處理( ) A 在程序運(yùn)行時(shí)進(jìn)行的 B 在程序連接時(shí)進(jìn)行的 C 和C程序中的其他語(yǔ)句同時(shí)進(jìn)行編譯的 D 在對(duì)源程序中其他語(yǔ)句正式編譯之前進(jìn)行的 108以下程序的輸出結(jié)果是( ) #define MIN(x,y) (x)<(y)?(x):(y) main( ) int i ,j ,k; i=
76、10; j=15; k=10*MIN(i,j) printf("%d",k); A.15 B.100 C.10 D.150 109.以下程序的輸出結(jié)果是( ) #include<stdio.h> #define ADD(y) 3.54+y #define PR(a) printf("%d",(int)(a) #define PR1(a) PR(a);putchar('n') main( ) int i=4; PR1(ADD(5)*i ); A.20 B.23 C.10 D.0二、填空題(將正確的答案填在相應(yīng)的空中) 1.一個(gè)C
77、程序有且僅有一個(gè)_ 函數(shù)。 2.一個(gè)C源程序有_個(gè)main()函數(shù)和_個(gè)其他函數(shù)。 3結(jié)構(gòu)化設(shè)計(jì)中的三種基本結(jié)構(gòu)是 _ 。 4C程序的執(zhí)行是從_開(kāi)始執(zhí)行的。 5C語(yǔ)言源程序的語(yǔ)句分隔符是_ 。 6C語(yǔ)言開(kāi)發(fā)的四個(gè)步驟是_ 。 7表達(dá)式10/3的結(jié)果是 _ 。 8表達(dá)式10%3的結(jié)果是_ 。 9. 定義 int x,y;執(zhí)行y=(x=1,+x,x+2);語(yǔ)句后,Y的值是-。 10設(shè)int x=9,y=8;表達(dá)式x=y+1的結(jié)果是_。 11. 設(shè)int x=10,y,z;執(zhí)行y=z=x; x=y=z后,變量x的結(jié)果是_。 12. 設(shè)int a=1,b=2,c=3,d;執(zhí)行d=!(a+b+c)后,d
78、的結(jié)果是_。 13設(shè)int x;當(dāng)x的值分別為1,2,3,4時(shí),表達(dá)式(x&1=1)?1:0的值分別是_,_ _,_,_。 14. 以下程序的執(zhí)行結(jié)果是_。 #include<stdio.h> main() float f=3.1415927; printf("%f,%5.4f,%3.3f",f,f,f); 15. 以下程序的執(zhí)行結(jié)果是_。 #include<stdio.h> main() float f=3.5; printf("%f,%g",f,f); 16. 以下程序的執(zhí)行結(jié)果是_。 #include<stdi
79、o.h> main() float f=31.41592; printf("%f,%e",f,f); 17. 以下程序的執(zhí)行結(jié)果是_。 #include<stdio.h> main() char c='A'+10; printf("c=%cn",c); 18.以下程序的執(zhí)行結(jié)果是_ #include <stdio.h> main() int a,b,c; a=2;b=3;c=1; if(a>b) if(a>c) printf("%dn",a); else printf("%dn",b); printf("endn"); 19.以下程序的執(zhí)行結(jié)果是_ #include <stdio.h> main() int a,b,c,d,
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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年度地基基礎(chǔ)施工質(zhì)量保修合同范本6篇
- 2025版新能源汽車(chē)密封膠生產(chǎn)與應(yīng)用合同樣本3篇
- 2024年跨境電子商務(wù)貨運(yùn)代理合同樣本3篇
- 2024投資理財(cái)協(xié)議
- 2025年度影視基地場(chǎng)地租用專(zhuān)項(xiàng)協(xié)議3篇
- 2024年風(fēng)險(xiǎn)投資協(xié)議書(shū):共贏未來(lái)3篇
- 2025年度生物質(zhì)能發(fā)電廠安裝施工合同3篇
- 2024年石油化工企業(yè)消防工程合同6篇
- 2024年精準(zhǔn)醫(yī)療技術(shù)服務(wù)協(xié)議模板版B版
- 2025年度校園食堂餐具租賃及采購(gòu)合同3篇
- 2024年06月上海廣發(fā)銀行上海分行社會(huì)招考(622)筆試歷年參考題庫(kù)附帶答案詳解
- TSG 51-2023 起重機(jī)械安全技術(shù)規(guī)程 含2024年第1號(hào)修改單
- 計(jì)算機(jī)科學(xué)導(dǎo)論
- 浙江省杭州市錢(qián)塘區(qū)2023-2024學(xué)年四年級(jí)上學(xué)期英語(yǔ)期末試卷
- 《工程勘察設(shè)計(jì)收費(fèi)標(biāo)準(zhǔn)》(2002年修訂本)
- 2024年一級(jí)消防工程師《消防安全技術(shù)綜合能力》考試真題及答案解析
- 安徽省森林撫育技術(shù)導(dǎo)則
- 2023七年級(jí)英語(yǔ)下冊(cè) Unit 3 How do you get to school Section A 第1課時(shí)(1a-2e)教案 (新版)人教新目標(biāo)版
- 泌尿科主任述職報(bào)告
- 2024年湖南省公務(wù)員考試《行測(cè)》真題及答案解析
- 超聲科危急值內(nèi)容及報(bào)告制度
評(píng)論
0/150
提交評(píng)論