版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
C程序設(shè)計期末復(fù)習(xí)題
一、填空題
1.表達式1!=2&&3<=3的值為(1)
2.表達式?。?>5)||3==5的值為(1)
3.表達式!-2的值為(0)
4.表達式(x=5)&&5<=10的值為(1)
5.表達式4>6||!(3<7)的值為(0)
6.C語言符號集包括(英文字母,數(shù)字,下劃線和一些有特定含義的標(biāo)點符號)
7.一個C程序有且只有一個(主函數(shù)或者main。)
8.結(jié)構(gòu)化設(shè)計中的三種基本結(jié)構(gòu)是(順序結(jié)構(gòu),選擇結(jié)構(gòu),循環(huán)結(jié)構(gòu))
9.設(shè)intx=9,y=8;表達式x==y+1的結(jié)果是山.
10.定義intx,y;執(zhí)行y=(x=1,++x,x+2);語句后,y的值是④
11.C語言源程序文件的后綴是(.C),經(jīng)過編譯后生成文件的后綴是(.obj),
經(jīng)過鏈接后生成的文件的后綴是(.exe)。
12.表達式10/3的結(jié)果是(3)0
13.執(zhí)行下列語句后,a的值是(-264
inta=12;a+=a-=a*a;
14.一個C源程序有(1)個(^m()函數(shù)和(若干)個其他函數(shù)。
15.C程序是從(主函數(shù)main()的第一個可執(zhí)行語句)開始執(zhí)行的。
16.設(shè)intx;當(dāng)x的值分別為1,2,3,4時,表達式(x&1==1)?1:0的值分別是
(1),(0),(1),(0)o
17.執(zhí)行下列語句后,a,b,c的值分別是(8),(8),(10)。
intx=10,y=9;
inta,b,c;
a=(-x==y++)?—x:++y;
b=x++;c=y;
18.C程序的基本單位是(函數(shù))o
19.函數(shù)是由(函數(shù)的說明部分)和(函數(shù)體)組成。
20.表達式10%3的結(jié)果是(1)。
21.以下語句的輸出結(jié)果是(7)0
unsignedintb=65535;
printf("%d",b);
22.以下語句的輸出結(jié)果是(ffff)o
inta二一1;
printf("%xH,a);
23.以下程序的執(zhí)行結(jié)果是(1)。
#include<stdio.h>
main()
(
intx=35;
printf("%d\n",(X&15)&&(X|15));
1
32.
24.設(shè)intx=1,y=5;執(zhí)行表達式x<2||y=1之后,y的值是(5)。
25.設(shè)intx=1,y=5;執(zhí)行表達式x>2&&y=1之后,y的值是(5)。
26.x,y,z的值分別為3,4,5時,以下各句語句執(zhí)行后,x,y,z的值是多
少。
A.if(x>z){x=y;y=z;z=x;}
else{x=z;z=y;y=x;}
執(zhí)行后x,y,z的值是(x=5,x=5,z=4)
B.if(x〈z)x=z;eIsex=y;z=y;y=x;
執(zhí)行后x,y,z的值是(x=5,y=5,z=4)
提示:if(x〈z)x=z;elsex=y;的后繼語句是z=y;y=x;這兩名都能夠執(zhí)行得到,
故也。
27.判斷一個字符變量a是否是大寫字母的邏輯判斷語句是if(a>='A'&&a<二'
Z').
28.將二進制數(shù)(11110010)轉(zhuǎn)換成八進制數(shù)是362,轉(zhuǎn)化成十六進制數(shù)是
f2o
29.請將二進制數(shù)(1010010)轉(zhuǎn)換為十進制數(shù)是82。
30.請將十六進制數(shù)(AD3)轉(zhuǎn)換為十進制數(shù)是2771。
31.請將八進制數(shù)(723)轉(zhuǎn)換為十進制數(shù)是467。
32.將十進制數(shù)(123)轉(zhuǎn)化成二進制數(shù)是1111111、轉(zhuǎn)化成八進制數(shù)是1ZZ'
轉(zhuǎn)化成十六進制數(shù)是7fo
33.設(shè)有定義語句:inta[][3]={⑻,⑴,⑵};,則數(shù)組元素a[1][2]的值
為_2_
34.某函數(shù)fun()具有兩個參數(shù),第一個參數(shù)是int型數(shù)據(jù),第二個參數(shù)是fIoat
型數(shù)據(jù),返回值類型是char型數(shù)據(jù),則該函數(shù)的說明語句是charfun(int
a,fIoatb)o
35.以下函數(shù)的功能是:當(dāng)參數(shù)為偶數(shù)時,返回參數(shù)值的一半;當(dāng)參數(shù)為奇數(shù)
時,返回參數(shù)的平方,請?zhí)羁铡?/p>
Intfun(intx)
(
return(x%2?x/2:x*x);
}
36.設(shè)有說明
structDATE{intyear;intmonth;intday;};
請寫出一條定義語句,該語句定義d為上述結(jié)構(gòu)體變量,同時為其成員
year,month,day依次賦初值2006,10,1.structDATEd={2006,10,1}。
37.設(shè)有說明
structstudent{intnum;charname[10];floatscore;};
以下語句完成分配一個用于存儲structstudent數(shù)據(jù)的內(nèi)存空間,并讓p指向
該空間,請?zhí)羁眨?/p>
structstudent*p(structstudent*)maIIoc(sizeof(structstudent));
38.在C程序的編輯、編譯、鏈接、運行和調(diào)試過程中,編譯是指將高級語言
源程序翻譯成目標(biāo)程序。
的過程
39.程序設(shè)計語言分為高級語言和低級語言。低級語言分為機器語言和匯
編語言。
40.目前,有兩種重要的程序設(shè)計方法,分別是面向過程程序設(shè)計方法和面
向?qū)ο蟪绦蛟O(shè)計。
41.程序調(diào)試的目的是發(fā)現(xiàn)和改正錯誤。
42.C語言的注釋有兩種,其中,塊注釋由"/*…….*/”標(biāo)識.行注釋由“〃”
標(biāo)識。
二、選擇題
1.以下不正確的C語言的標(biāo)識符是(D)。
A.ABCB.abcC.a_bcD.ab.c
2.有一個名為newprint的函數(shù)用于疔而》(x),cos(x)和ln(x)等函數(shù)的曲線
模擬,其參數(shù)就是這些函數(shù),則newprint的說明是(C)。
A.doubIenewprint(doubIex)
B.voidnewprint(doubIe(*f)(doubIex))
C.voidnewprint(doubIe(*f)(),doubIex)
D.void(*newprint)(doubIef(doubIex))
3.以下不正確的語句(設(shè)有intp,q)是(D)。
A.p*=3;B.p/=q;C.p+=3;D.p&&=q;
4.設(shè)charch;以不下正確的賦值語句是(D)。
A.ch='\123';B.ch='\xff';
C.ch='\08';D.ch="\";
5.為了避免嵌套的if-eIse語句的二義性,C語言規(guī)定else總是與(C)組
成配對關(guān)系。
A.縮排位置相同的if
B.在其之前未配對的if
C.在其之前未配對的最近的if
D.同一行上的if
6.選擇出合法的if語句(設(shè)intx,a,b,c;)(A)o
A.if(a==b)x++;B.if(a=<b)x++;C.if(aOb)x++;D.if(a=>b)
x++;
7.一個C程序是由(B)。
A.一個主程序和若干個子程序組成B.一個或多個函數(shù)組成
C.若干過程組成D.若干子程序組成
8.C語言中規(guī)定函數(shù)的返回值的類型是由(D)。
A.return語句中的表達式類型所覺定
B.調(diào)用該函數(shù)時的主調(diào)用函數(shù)類型所決定
C.調(diào)用該函數(shù)時系統(tǒng)臨時決定
D.在定義該函數(shù)時所指定的函數(shù)類型所決定
9.如果a=1,b=2,c=3,d=4,則條件表達式a〈b?a:c<d?c:d的值為(A)o
A.1B.2C.3D.4
10.設(shè)intm=1,n=2,則++m==n的結(jié)果是(B)□
A.0B.1C.2D.3
11.在說明一個結(jié)構(gòu)體變量時系統(tǒng)分配給它的存儲空間是(D)。
A.該結(jié)構(gòu)體中第一個成員所需存儲空間
B.該結(jié)構(gòu)體中最后一個成員所需存儲空間
C.該結(jié)構(gòu)體中占用最大存儲空間的成員所需存儲空間
D.該結(jié)構(gòu)體中所有成員所需存儲空間的總和
12.以下程序的執(zhí)行結(jié)果是(B)。
#include<stdio.h>
main()
(
inti=010,j=10;
printf("%d,%d\n",++i,j—);
)
A.11,10B.9,10C.010,9D.10,9
13.以知字母A的ASCII碼是65,以下程序的執(zhí)行結(jié)果是(D)。
#include<stdio.h>
main()
(
charc仁'A',c2='Y';
printf("%d,%d\n",d,c2);
)
A.A,YB.65,65C.65,90D.65,89
14.以下程序的執(zhí)行的結(jié)果是(C)。
#include<stdio.h>
#incIude<math.h>
main()
(
inta=1,b=4,c=2;
fIoatx=10.5,y=4.0,z;
z-(a+b)/c+sqrt((doubIe)y)*1.2/c+x;
printf("%f\n",z);
)
A.14.000000B.15.000000C.13.700000D.14.900000
15.以下正確的C語言標(biāo)識符是(C)。
A.%xB.a+bC.a123D.text!
16.一個C程序的執(zhí)行是從(A)。
A.main()函數(shù)開始,直到main()函數(shù)結(jié)束。
B.第一個函數(shù)開始,直到最后一個函數(shù)結(jié)束。
C.第一個語句開始,直到最后一個語句結(jié)束。
D.mian()函數(shù)開始,直到最后一個函數(shù)結(jié)束。
17.在程序中,main()的位置(C)。
A.必須作為第一個函數(shù)。
B.必須作為最后一個函數(shù)。
C.可以任意。
D.必須放在它所調(diào)用的函數(shù)之后。
18.以下結(jié)果為整數(shù)的表達式(設(shè)有inti;charc;floatf;)(B)o
A.i+fB.i*cC.c+fD.i+c+f
20.以下使i的運算結(jié)果為4的表達式是(D)。
A.inti=0,j=0;
(i=3,(j++)+i);
B.inti=1,j=0;
j=i=((i=3)*2);
C.inti=0,j=1;
(j==1)?(i=1):(i=3);
D.inti=1,j=1;
__________i+=j+=2;
21.設(shè)n=10,i=4,則賦值運算n%=i+1執(zhí)行后,n的值是(A)。
A.0B.3C.2D.1
25.有如下程序,輸入數(shù)據(jù):12345ffl678〈CR>B,x的值是(B),y的值是(A)。
#include<stdio.h>
main()
(
intx;
fIoaty;
scanf("%3d%f",&x,&y);
}
①A.12345B.123C.45D.345
②B.45678.000000C
26.假定等級和分?jǐn)?shù)有以下對應(yīng)關(guān)系:
等級:A分?jǐn)?shù):85-100
等級:B分?jǐn)?shù):60-84
等級:C分?jǐn)?shù):60以下
對于等級grade輸入相應(yīng)的分?jǐn)?shù)區(qū)間區(qū)間,能夠完成該功能的程序段是
(D)。
A.switch(grade)
{case'A':printf("85-100\n");
case'B':printf("60-84\n");
case'C':printf("60以下、n");
default:printf("等級錯誤!\n");}
B.switch(grade)
{case'A':printf("85-100\n");break;
case'B':printf("60-84\n");
case'C':printf("60以下\n");
default:printf("等級錯誤!\n");}
C.switch(grade)
{case'A':printf("85-100\n");break;
case'B':printf("60-84\n");break;
case'C':printf("60以下\n");
default:printf("等級錯誤!\n");}
D.switch(grade)
_________{case'A':printf(“85-100\n");break;
___________case'B':printf(“60-84\n");break;
case'C':printf("60以下、n");break;
___________default:printf("等級錯誤!\n");}
27.以下for循環(huán)是(C)o
for(x=0,y=0;(y!=123)&&(x<4);x++);
A.無限循環(huán)B.循環(huán)次數(shù)不定C.執(zhí)行4次D.執(zhí)行3次
28.以下關(guān)于數(shù)組的描述正確的是(C)。
A.數(shù)組的大小是固定的,但可以有不同的類型的數(shù)組元素。
B.數(shù)組的大小是可變的,但所有數(shù)組元素的類型必須相同。
C.數(shù)組的大小是固定的,所有數(shù)組元素的類型必須相同。
D.數(shù)組的大小是可變的,可以有不同的類型的數(shù)組元素。
29.在定義inta[10];之后,對a的引用正確的是(D)。
A.a[10]B.a[6.3]C.a(6)D.a[1070]
30.設(shè)a是一個八進制數(shù)想使a的最低一位為1,其它位不變,應(yīng)采用下列那種
運算(B)o
A.a=a&1B.a=a|1C.a=a&7776D.a=a|7776
31.經(jīng)過inta[3][4]=[1,2,3,45,6,7,8,9,10,11,12}定義之后,元素
的值是⑻。
A.2B^5C.10D.12
32.經(jīng)過inta[3][4]={{1},{5},{9}}定義只后,元素a[2][0]的值是(C)o
A.1B.5C^9D.0
33.fopen()函數(shù)的mode取值"r"和"w"時,它們之間的差別是(B)。
A."r”可向文件讀入,"w”不可向文件讀入
B.不可向文件寫入,"w"可向文件寫入
C."r”不可由文件讀出,"w”可由文件讀出
D.文件不存在時,"r"建立新文件,"w"出錯
34.下面關(guān)于程序的說法中(A)是正確的。
A.程序就是人與計算機交流的語言
B.程序是指由二進制0、1構(gòu)成的代碼
C.將需要計算機完成的工作寫成一種形式化的指令,而這些單個的指令就是程序
D.程序的設(shè)計形式是一致的
35.下面敘述中不屬于C語言的特點的是(C)
A.C語言允許直接對位、字節(jié)和地址進行操作
B.C語言具有可移植性
C.C語言是一種面向?qū)ο蟮某绦蛟O(shè)計語言
D.C語言數(shù)據(jù)類型豐富,功能強大,使用方便,靈活
36.編寫C程序一般需要經(jīng)過幾個大步驟依次是(D)
A.編譯'編輯、鏈接、調(diào)試'運行
B.編輯、編譯、鏈接、運行'調(diào)試
C.編譯、運行'調(diào)試、編輯'鏈接
D編輯、調(diào)試、編輯、鏈接、運行
37.由C源程序文件編譯而成的目標(biāo)文件的缺省擴展名為(B)
A.cppB.exeC.objD.Iik
38.C語言程序由(B)組成
A.子函數(shù)B.函數(shù)C.主程序D.過程
39.C語言中主函數(shù)的個數(shù)是(D)
A.2B.3C.任意多個D.1
40.下面()不屬于C語言集成開發(fā)環(huán)境包含的程序
A.編輯程序B.編譯程序C.匯編程.序D.調(diào)試程序
41.以下選項中合法的用戶標(biāo)識符是(B)0
A.IongB._2Text
提示:B有下劃線(4之前)
42.下列關(guān)于C語言用戶標(biāo)識符的敘述中正確的是(B)0
A.用戶標(biāo)識符中可以出現(xiàn)在下劃線和中劃線(減號)
B.用戶標(biāo)識符中不可以出現(xiàn)中劃線,但可以出現(xiàn)下劃線
C.用戶標(biāo)識符中可以出現(xiàn)下劃線,但不可以放在用戶標(biāo)識符的開頭
D.用戶標(biāo)識符中可以出現(xiàn)下劃線和數(shù)字,它們都可以放在用戶標(biāo)識符的開頭
43.以下選項中合法的字符常量是()。
A."B"B,'\061'C.68D.D
44.以下選項中,非法的字符常量是()o
A.'\t'B.'\17'C."n"D.'\xaa'
45.以下選項中可以作為C語言合法整數(shù)的是()0
A.10110BB.0386C.OXffaD.x2a2
46.以下符合C語言語法的浮點型常量是()0
E0.5B.3.14.159EC..5E-3D.E15
47.已定義c為字符型常量,則下列語句中正確的是()。
A.c='97';B.c="97";C.c=97;D.c="a";
48.若a為int類型,且其值為3,則執(zhí)行完表達式a+=a-=a*a后,a的值是()。
A.-3B.9C.72D.6
49.設(shè)x、v、t均為int型變量,貝IJ執(zhí)行語句:x=y=3;t=++x||++y;后,y的值
為()。
A,不定值B.4C^3D.1
50.設(shè)a、b、c、d、m、n均為int型變量,且a=5、b=6、c=7、d=8、m=2、n=2,
則邏輯表達式(m=a>b)&&(n=c>d)運算后,n的值是()。
A.0B.1C.2D.3
51.以下選項中,與k=n++完全等價的表達式是()。
A.k=n,n=n+1B,n=n+1,k=nC,k=++n
D.k+=n+1
52.假定x和y為double型,則表達式x=2,y=x+3/2的值是()。
A.3.500000B.3C.2.000000
53.有以下定義語句doublea,b;intw;longc;
若各變量已正確賦值,則下列選項中正確的表達式是()。
A.a=a+b=b++B.w%(int)a+b)
C.(c+w)%(int)aD.w=3==b%a;
54,設(shè)a和b均為double型常量,且a=5.5、b=2.5,則表達式(int)a+b/b的值
是()。
A.6.500000B.6C.5.500000
55.已有定義:intx=3,y=4,z=5;,則表達式?。▁+y)+z7&&y+z/2的值
是()。
A.5B.0C.2D.1
56.以下合法的賦值語句是()。
A.x=y=100B.d―;C.x+y;D.c=int(a+b);
注:教材答案有誤,B是表達式,不是語句,故也。
57.設(shè)x、y均為整型變量,且x=10,y=3,則以下語句printf("%d,%d\n",x-
-,--y);的輸出結(jié)果是()o
A.10,3B.9,3C.9,2D.10,2
58.X、v、z被定義為int型變量,若從鍵盤給x、v、z輸入數(shù)據(jù),正確的輸入
語句是()。
A.INPUTx、v、z;B.scanf("%d%d%d",&x,&y,&z);
C.scanf("%d%d%d",x,y,z);
D.read("%d%d%d",&x,&y,&z);
59.已知i、j、k為int型變量,若從鍵盤輸入:1,2,3<回車),使i的值為
1、j的值為2、k的值為3,以下選項中正確的輸入語句是()。
A.scanf("%2d%2d%2d"B.
scanf(""%d%d%d";
C.scanf("%d,%d,%d",&i,&j,&k);D.Scanf("
i=%d,j=%d,k=%d",&i,&j,&k);
60.以下程序的輸出結(jié)果是()o
voidmain()
{charc='z';
printf("%c",c-25);
}
A.aB.ZC.z-25D.y
61.若要求在if后一對圓括號中的表達式,能表示a等于0時的值為“真二則
能正確表示這一關(guān)系的表達式是()。
A.a!—0B.!aC.aD.a—0
62.假設(shè)已有說明語句inta,b,k;語句if(a>b)k=0;elsek=1;等價于。
A.k=(a>b)?1:0;B.k=a>bC.k=a〈=bD.以上均不是
63.若a,b,c1,c2,x,y,均是整型變量,正確的switch語句是()
A.switch(a+b);
{case1:y=a+b;break;
case0:y=a-b:break;
)
B.switch(a*a+b*b)
{case3:
case1:y=a+b;break;
Case3:y=b-a:break;
}
C.switcha
{cased:y=a-b;break;
Casec2:x=a*b:break;
DefauIt:x=a+b;
)
D.switch(a-b);
{defauIt:y=a*b;break;
case3:case4:x=a+b;break;
case10:case11:y=a-b:break;
)
64.下列敘述中正確的是()
A.break語句只能用于switch語句
B.在switch語句中必須使用default
C.break語句必須與switch語句中的case配對使用
D.在switch語句中,不一定使用break語句
65.關(guān)于下面的程序表達正確的是()
#include<stdio.h>
voidmain()
(
intx=3;
do
printf("%d\n",x-=2);
}whiIe(!(--x));
1
A.輸出的是1B.輸出的是1和-2
c.輸出的是3和0D.是死循環(huán)
66.整型變量x和y的值相等且為非0值,則以下選項中,結(jié)果為零的表達式是
A.x||yB.x|yC.x&yD.x、
67.有以下程序
voidmain()
{intx=3,y=2,z=1;
printf("%d\n”,x/y&~z);
)
程序運行后的輸出結(jié)果是()。
A.3B.2C.1D.0
68.有以下程序
voidmain()
{unsignedchara,b;
a=4|3
b=4&3;
printf("%d%d\n”,a,b);
}
執(zhí)行后輸出結(jié)果是()。
A.70B.07C.11D.430
68.下列無符號數(shù)中最大的數(shù)是()。
A.(10011001)2B.(227)8C.(98)“D.(152)10
69.以下正確而是()0
A.inta[]={1,2,3,4};B.inta[4]={1,2,3,4,5};
C.intn=4,a[n]=[1,2,3,4};D.inta[4],b;a=&b;
70.以下程序執(zhí)行完后,數(shù)組a的數(shù)值是()。
voidmain()
(
inta[]={9,3,0,4,8,1,7,2,5,6},i=0,j=9,t;
while(i<j)
{
t=a[j];
a[j]=a[i];
i++;
j—;
}
A.[9,3,0,4,8,1,7,2,5.6}B.[0,1,2,3,4,5,6,7,8.9}
C.[6,5,2,7,1,8,4,0,3,9}D.(9,8,7,6,5,4,3,2,1,0)
71.有如下定義語句:inta[][3]={{1,2},{1,2,3,4},{1},{2,3,4}};以下
敘述正確的是()o
A.數(shù)組a中共有10個元素
B.數(shù)組a為4行3列的二維數(shù)組
C.數(shù)組a初始化后的實際值是{{1,2.1},{2,3.4},{1,0.0},{2,3.4)}
D.編譯錯誤
72.以下數(shù)組定義中不正確的是()。
A.inta[2][3];B.intb[][3]={0,1,2.3);
C.intc[100][100]={0};D.int
d[3][]={{1,2},{1,2,3},[1,2,3,4}};
73.若有說明語句:double*p,a;則能通過scanf語句正確給輸入項讀入數(shù)據(jù)
的程序段是()
A.*p=&a;scanf("%If",p);B.*p=&a;scanf(,p);
C.p=&a;scanf("%lf”,p);D.p=&a;scanf("%f”,p);
74.設(shè)已有定義:floatx;則以下對指針變量p進行定義且賦初值的語句中正確
的是0。
A.fIoat*p=1024;B.int*p=(fIoat)x;
C.fIoatp=&x;D.float*p=&x;
75.有以下程序
voidmain0
{charch[]=,'uvwyz",*pc;
Pc=ch;
Printf("%c\n",*(pc+5));
1
程序運行后的輸出結(jié)果是()。
A.zB.OC.元素ch[5]的地址D字符y的地址
提示“本題輸出結(jié)果空白,因為'\0'字符為空。
76.以下敘述錯誤的是()
A.C程序必須由一個或一個以上的函數(shù)組成
B.函數(shù)調(diào)用可以作為一個獨立的語句存在
C.若函數(shù)有返回值,必須通過return語句返回
D.函數(shù)形參的值也可以傳回給對應(yīng)的實參
77.設(shè)函數(shù)fun()的定義形式為voidfun(charch,floatx){…}則以下對函
數(shù)fun()的調(diào)用語句中,正確的是()。
A.fun("abc”,3.0);
B.t=fun('D',16.5);
C.fun('65',2.8);
D.fun(65,32.0);
提示:本題B和D都是正確的
78.以下函數(shù)正確的是()0
A.voidfun(){return(1);}
B.intfun(){return;}
C.charfun(){return(1.0);)
D.intfun(){return。);}
79.已有定義:chara[]="xyz",b[]={'x','y','z'};以下敘述正確
的是()
A.數(shù)組a和b的長度相同B.數(shù)組a的長度小于數(shù)組b的長度
C.數(shù)組a的長度大于數(shù)組b的長度D.上述說法都不對
提示:數(shù)組b沒有字符串結(jié)束標(biāo)志,但測試結(jié)果b的長度為7,蓋因其無結(jié)束標(biāo)
志也。
80.以下程序的運行結(jié)果是()
voidmain()
(
chara[7]="a0\0a0\0”;
inti,j;
i=sizeof(a);
j=strIen(a);
printf(**%d%d\n”,i,j);
)
A.22B.76C.72D.62
提示:數(shù)組聲明后系統(tǒng)即按括號中的數(shù)據(jù)開辟空間
81.以下語句或語句組中,能正確進行字符串賦值的是()o
A.char*p;*p="right";B.chars[10];s="right!
C.chars[10];*s="right!”;D.char*p="right!”;
82.以下結(jié)構(gòu)體類型說明和變量定義中正確的是()。
A.typeofstructB.typeofREC;
j{intn;charc;};
Intn;charc;RECt1,t2;
}REC;
RECt1,t2;
C.typeofstructREC;D.struct
{intn=0;char='A';}t1,t2;{intn;charc;}RECt1,t2;
83.有以下程序段:
structst
{intx;int*y;}*pt;
inta[]={1,2},b[]={3,4};
structstc[2]={10,a,20,b);
pt=c;
以下選項中表達式的值為11的是()。
A.*pt->yB.pt->xC.++pt->xD.(pt++)->x
84.設(shè)有以下定義
uniondata
{intd1;fIoatd2;}demo;
則下面敘述中錯誤的是o
A.變量dem。與成員d2據(jù)所占的內(nèi)在字節(jié)數(shù)相同
B.變量demo中各成員的地址相同
C.變量demo和成員的地址相同
D.若demo.d1給賦99后,demo.d2中的值是99.0
提示:d1和d2類型不同。
86.關(guān)于文件的打開方式,下列說法正確的是()。
A.以“r+”方式打開的文件只能用于讀
B.不能試圖以“W”方式打開一個在存在的文件
C.若以“a”方式打開一個在存在的文件,則會新建一個文件
D.以“W”或”A”的方式打開文件時,可以對該文件進行定操作
87.要在C盤MyDir目錄下新建一個MyFile.txt文件用于寫,正確的C語句是
()。
A.FILE*fp=fopen(<4C:\MyDir\MyFiIe.txt",Mw");
B.FILE*fp;fp=fopen("C:\MyDir\MyFile.txt"w");
C.FILE*fp;fp=fopen("C:\MyDir\MyFiIe.txt"r");
D.FILE*fp=fopen(4<C:\MyDir\MyFiIe.txt","r");
88.C語言中,下列說法不正確的是()。
A.順序讀寫中,讀多少個字節(jié),文件讀寫位置指針相應(yīng)地也向后移動多少個字
B.要實現(xiàn)隨機讀寫,必須借助文件定位函數(shù),把文件讀寫位置指針定位到指定
的位置,再進行讀寫
C.fputcO函數(shù)可以從指定的文件讀入一個字符,fgetc()函數(shù)可以把一個字
符寫到指定的文件中
D.格外化寫函數(shù)fprintfO中格式化的規(guī)定與printfO函數(shù)相同,所不同的只
是fprintfO函數(shù)是向文件中輸出,而printfO是向屏幕中輸出
④下列可以將fp所指文件中的內(nèi)容全部讀出的是()
A.ch=fgetc(fp);B.while(!feof(fp))
while(ch=EOF)ch=fgetc(fp);ch=fgetc(fp);
C.whiIe(ch!=EOF)ch=fgetc(fp);D.while(feof(fp))ch=fgetc(fp);
89.設(shè)有charst[3][20]=["China","Korea","England”};下列語句中,
運行結(jié)果與其他3項不同的是()。
A.fprintf(fp,"%s",st[2]);B.fputs("England”,fp);
C.p=st⑵;
While(*p!='\n')fputc(*p++,fp);D.fwrite(st[2],1,7,fp);
提示:C使用字符'\n'控制循環(huán),造成文件后面有亂字符,故也
90.若fp是指向某文件的指針,且已讀到此文件的末尾,則庫函數(shù)feof(fp)的
返回值是()。
A.EOFB.0C.非零值D.NULL
三'判斷題
1.C語言中規(guī)定函數(shù)的返回的類型在有調(diào)用該函數(shù)時系統(tǒng)臨時決定。(X)
2.數(shù)組的大小是可變的,但所有數(shù)組元素的類型必須相同。(X)
3.for循環(huán)體語句中,可以包含多條語句,但要用花括號括起來。(J)
4.C語言中不能使用do-while語句構(gòu)成的循環(huán)。(X)
5.使用fseek函數(shù)可以改變文件的位置指針的當(dāng)前位置。3)
6.一個程序應(yīng)包括兩個方面的內(nèi)容:數(shù)據(jù)的描述和操作步驟。(J)
7.凡是C源程序中行首以"#"標(biāo)識的控制行都是預(yù)處理命令。(V)
8.C語言的編譯系統(tǒng)對宏命令的處理在程序運行時進行的。(X)
9.聯(lián)合體類型在任何給定時刻所有成員一直駐留在結(jié)構(gòu)中。(X)
10.數(shù)組的大小是固定的,所有數(shù)組元素的類型必須相同。(V)
11.for循環(huán)只能用次數(shù)已經(jīng)確定的情況。(X)
12.檢測fp文件流的文件位置指針在文件頭的條件是ftell(fp)-0o
(V)
13.C語言中規(guī)定函數(shù)的返回值的類型是由調(diào)用該函數(shù)時的主調(diào)用函數(shù)類型所決
定。(X)
15.C語言的編譯系統(tǒng)對宏命令的處理是在對源程序中其它語句正式編譯之前進
行的。(J)
16.在程序的一行中可以出現(xiàn)多個有效的預(yù)處理命令行。(X)
17.聯(lián)合體類型在任何給定時刻沒有成員駐留在結(jié)構(gòu)中。(X)
18.C語言的函數(shù)定義不能嵌套但調(diào)用可以嵌套。(J)
19.C語言中do-whiIe語句構(gòu)成的循環(huán),當(dāng)whiIe語句中的表達式值為零時結(jié)
束循環(huán)。(J)
20.C語言用true表示邏輯‘‘真''值。(X)
21.for循環(huán)是先執(zhí)行循環(huán)體語句,后判定表達式。(X)
22.數(shù)組的大小是可變的,可以有不同的類型的數(shù)組元素。(X)
23.在C語言中,指向指針的指針稱為多級指針。(J)
24.在C語言中,要求對所有用到的變量作強制定義,也就是"先定義,后使用”。
(V)
25.C語言的編譯系統(tǒng)對宏命令的處理是在程序連接時進行的。(X)
26.宏定義不能出現(xiàn)在函數(shù)內(nèi)部。(V)
27.對于C語言的函數(shù)它們定義和調(diào)用都不能嵌套。(X)
28.C程序在執(zhí)行過程中對預(yù)處理命令進行處理。(X)
29.使用fseek函數(shù)可以實現(xiàn)改變文件的位置指針的當(dāng)前位置。(V)
31.C語言中規(guī)定函數(shù)的返回值的類型是由于調(diào)用該函數(shù)的主調(diào)用函數(shù)類型所決
定。(X)
32.變量的作用域是指該變量有定義的程序部分。(V)
33.在定義一個函數(shù)時,若指定函數(shù)返回值的存儲類型為static關(guān)鍵字,則稱
該函數(shù)是"靜態(tài)"函數(shù)。(V)
34.數(shù)組的大小是可變的,可以有不同的類型的數(shù)組元素。(X)
35.for循環(huán)體語句中,可以包含多條語句,但要用花括號括起來。(V)
36.在說明一個聯(lián)合體變量時系統(tǒng)分配給它的存儲空間是該聯(lián)合體中所有成員
所需存儲空間的總和。(義)
37.C語言中,字符串以''0'為結(jié)束標(biāo)志。(J)
38.數(shù)組名代表該數(shù)組的首地址。(J)
39.C語言中,用格式符"%s"輸入字符數(shù)組時,數(shù)組名前不能加&。(J)
40.C語言中,gets。函數(shù)的返回值是用于存放輸入字符串的字符數(shù)組首地址
(X)
41.設(shè)有inta;charabc[5]="abcd"Ml]a=strlen("ABC");執(zhí)行后a的值為5。
(X)
42.定義數(shù)組時可以同時給數(shù)組賦初值,初值的個數(shù)可以超過數(shù)組的長度,多余
的被忽略。(X)
43.已知字符數(shù)組st門的初值為"China",則語句str2=str1;執(zhí)行后字符數(shù)組
str2也存放字符串“China"。(X)
44.二維及多維數(shù)組在定義的同時給數(shù)組賦初值時,可以省略數(shù)組的各維長度。
(X)
45.對于數(shù)值型數(shù)組來說,可以一次引用整個數(shù)組。(X)
46.C語言中,在對全部數(shù)組元素賦初值時,必須指定數(shù)組的長度。(義)
47.C語言中,數(shù)組元素在內(nèi)存中是順序存放的,它們的地址是連續(xù)的。(V)
48.C語言中,數(shù)組元素的下標(biāo)是從1開始的,下標(biāo)不能越界。(義)
49.C語言中,數(shù)組名是一個常量,是數(shù)組首元素的內(nèi)存地址,可以重新賦值。
(X)
50.一個數(shù)組中的所有元素可以具有不相同的數(shù)據(jù)類型。(X)
51.一個C程序可以由若干各函數(shù)組成,這些函數(shù)可以書寫在不同的文件中。(V)
52.C語言中,函數(shù)間數(shù)據(jù)傳遞的方式有三種,即用返回值、參數(shù)、全局變量。
(V)
53.函數(shù)的形參只能在函數(shù)內(nèi)部使用。(J)
54.C語言中,實參可以是常量'變量或表達式。(J)
55.C語言中,實參的個數(shù)、類型和位置必須與形參的定義一一對應(yīng)。(J)
56.C語言中,編譯預(yù)處理后所有的符號常量名和宏名都用相應(yīng)的字符串替換。
(V)
57.宏展開不作語法檢查,展開時不替換關(guān)鍵字和常量。實參向形參進行數(shù)值傳
遞時,數(shù)值傳遞的方向時單向的,即形參變量值的改變不影響實參變量的值。(V)
58.函數(shù)原型說明中,省略形參變量或者將形參變量寫成其它名稱不影響程序的
正確性。(V)
59.一個C程序中只能包含一個main()函數(shù),程序總是從main()函數(shù)開始
執(zhí)行。(V)
60.數(shù)組名作為函數(shù)的參數(shù)時,實參數(shù)組和形參數(shù)組共用相同的內(nèi)存單元。(J)
61.所有的函數(shù)調(diào)用前都必須進行函數(shù)原型說明。(義)
62.函數(shù)可以嵌套定義,也可以嵌套調(diào)用。(X)
63.C語言中,結(jié)構(gòu)類型與結(jié)構(gòu)變量的含義一樣,都可以用來存放數(shù)據(jù)。(X)
64.共用體所有成員共用的內(nèi)存單元的大小為各成員需要占用內(nèi)存大小之和。
(X)
65.將整數(shù)值賦給枚舉變量時不需要作強制類型轉(zhuǎn)換。(X)
66.共用體所有成員都共用同一內(nèi)存單元(J)結(jié)構(gòu)體數(shù)組不可以在定義時進
行初始化。(X)
67.結(jié)構(gòu)體可以定義在單獨的頭文件中,使用時需要在對應(yīng)C文件中包含該頭文
件。(,)
68.C語言中,關(guān)鍵字enum可用于結(jié)構(gòu)類型的定義。(X)
69.可以把結(jié)構(gòu)體數(shù)組元素作為一個整體輸出。(X)
70.結(jié)構(gòu)體變量作參數(shù)時是地址傳遞。(X)
71.C語言中,結(jié)構(gòu)的成員可以是一維數(shù)組或多維數(shù)組。(J)
72.枚舉類型時一種基本的數(shù)據(jù)類型。(X)
73.結(jié)構(gòu)體和共用體成員的應(yīng)用都只能引用最低一級的成員。(。)
74.inta=5,*p;p=&a;則p的值為5。(X)
75.表達式*p++的運算順序為先自增后取值。(X)
76.語句*一一p;執(zhí)行之后p指向的內(nèi)存單元被改變。(義)
77.兩個指針相加沒有意義。(J)
78.*(a[i]+j)與的含義相同。(V)
79.指針、數(shù)組名'函數(shù)名都是地址。(J)
80.void類型的指針不指向某種類型的數(shù)據(jù),所以沒有意義。(義)
81.一個指針變量的值是一個地址值。(J)
82.指針作函數(shù)的參數(shù)時是地址傳遞方式。(J)
83.C語言中,只能用下標(biāo)來引用數(shù)組元素。(X)
84.C語言中,執(zhí)行表達式(*p)++后p的指向改變了。(義)
85.鏈表的插入和刪除和數(shù)組元素一樣需要移動插入或刪除點后的元素。(X)
86.語句“int*p"中的*p的含義為取值。(義)
87.命令行參數(shù)是指在操作系統(tǒng)狀態(tài)下執(zhí)行命令程序時允許帶的參數(shù)。(J)
為了提高讀寫效率,我們進行讀寫操作后不應(yīng)關(guān)閉文件以便下次再進行讀寫。
(X)
88.rewind函數(shù)的作用是位置指針返回移動前的位置。(義)
89.當(dāng)以參數(shù)w打開文件時,若指定路徑下已有同名文件,則覆蓋原有文件。(V)
90.tell獲得文件的當(dāng)前讀寫位置。3)
91.C語言中的文件是一種流式文件,讀寫時均以字符為單位。(J)
92.C語言通過文件指針對它所指向的文件進行操作。(J)
93.由于在C語言中將文件視為無結(jié)構(gòu)的字節(jié)流,所以不能對文件進行二進制讀
寫。(X)
94.p指向的文件中讀取字符,并判斷文件是否結(jié)束。川)
95.使用fwrite向文件中寫入數(shù)據(jù)之前,該文件必須是以wb方式打開。(J)
96.fseek函數(shù)中的第二個參數(shù)代表的位移量是相對于的文件的開始來說的。
(X)
97.在c語言中將文件視為無結(jié)構(gòu)的字節(jié)流。(J)
98.C語言中,字符數(shù)據(jù)用格式說明"%c"來輸出,字符串?dāng)?shù)據(jù)用格式說明"%s"來
輸出。(J)
99.C語言中,數(shù)組元素的下標(biāo)是從1開始的,下標(biāo)不能越界。(X)
100.C語言中,數(shù)組名是一個常量,是數(shù)組首元素的內(nèi)存地址,可以重新賦
值。(X)
101.一個數(shù)組中的所有元素可以具有不相同的數(shù)據(jù)類型。(X)
102.一個C程序可以由若干各函數(shù)組成,這些函數(shù)可以書寫在不同的文件
中。(J)
103.C語言中,函數(shù)間數(shù)據(jù)傳遞的方式有三種,即用返回值、參數(shù)'全局變
量。(V)
104.函數(shù)的形參只能在函數(shù)內(nèi)部使用。3
105.C語言中,實參可以是常量、變量或表達式。3
106.C語言中,實參的個數(shù)、類型和位置必須與形參的定義一一對應(yīng)。(J)
107.C語言中,編譯預(yù)處理后所有的符號常量名和宏名都用相應(yīng)的字符串替
換。(V)
108.宏展開不作語法檢查,展開時不替換關(guān)鍵字和常量。(J)
108.實參向形參進行數(shù)值傳遞時,數(shù)值傳遞的方向時單向的,即形參變量值的
改變不影響實參變量的值。(。)
109.函數(shù)原型說明中,省略形參變量或者將形參變量寫成其它名稱不影響程序
的正確性。(J)
110.一個C程序中只能包含一個main()函數(shù),程序總是從main()函數(shù)開始
執(zhí)行。(J)
111.數(shù)組名作為函數(shù)的參數(shù)時,實參數(shù)組和形參數(shù)組共用相同的內(nèi)存單元。(J)
112.所有的函數(shù)調(diào)用前都必須進行函數(shù)原型說明。(X)
113.函數(shù)可以嵌套定義,也可以嵌套調(diào)用。(X)
114.命令行參數(shù)是指在操作系統(tǒng)狀態(tài)下執(zhí)行命令程序時允許帶的參數(shù)。(力
115.為了提高讀寫效率,我們進行讀寫操作后不應(yīng)關(guān)閉文件以便下次再進行讀
寫。(X)
116.rewind函數(shù)的作用是位置指針返回移動前的位置。(X)
117.當(dāng)以參數(shù)w打開文件時,若指定路徑下已有同名文件,則覆蓋原有文件。
(V)
118.C語言中的文件是一種流式文件,讀寫時均以字符為單位。(J)
c語言通過文件指針對它所指向的文件進行操作。(V)
119.由于在C語言中將文件視為無結(jié)構(gòu)的字節(jié)流,所以不能對文件進行二進制
讀寫。(X)
120.在c語言中將文件視為無結(jié)構(gòu)的字節(jié)流。(J)
121.命令行參數(shù)是指在操作系統(tǒng)狀態(tài)下執(zhí)行命令程序時允許帶的參數(shù)。(J)
為了提高讀寫效率,我們進行讀寫操作后不應(yīng)關(guān)閉文件以便下次再進行讀寫。
(X)
122.rewind函數(shù)的作用是位置指針返回移動前的位置。(X)
123.當(dāng)以參數(shù)w打開文件時,若指定路徑下已有同名文件,則覆蓋原有文件。
(V)
124.我們可以使用fteII獲得文件的當(dāng)前讀寫位置。(J)
125.C語言中的文件是一種流式文件,讀寫時均以字符為單位。(J)
126.C語言通過文件指針對它所指向的文件進行操作。(J)
127.由于在C語言中將文件視為無結(jié)構(gòu)的字節(jié)流,所以不能對文件進行二進制
讀寫。(X)
128.fseek函數(shù)中的第二個參數(shù)代表的位移量是相對于的文件的開始來說的。
(X)
129.在C語言中將文件視為無結(jié)構(gòu)的字節(jié)流。(J)
四'讀程序?qū)懡Y(jié)果
1.有以下程序
#include<stdio.h>
voidmain()
{inta=15,b=21,m=0;
switch(a%3)
{case0:m++;break;
case1:m++;
switch(b%2)
{default:m++;
case0:m++;break;
)
}
printf("%d\n",m);
)
程序運行的結(jié)果是()
A1B.2C.3D.4
2.下列程序執(zhí)行的輸出結(jié)果是()
#include<stdio.h>
voidmain()
{
Ints,i,j,k,t,u;
s=0;t=0;u=0;
for(i=1;i<=3;i++)
(
for(j=1;j<=i;j++)
(
for(k=j;k<=3;k++)
(
s++;
)
t++;
)
u++;
}
printf(u%d%d%d\n",s,t,u);
}
1463
3.以下程序的輸出結(jié)果是()。
voidmain()
{charx=040;
printf("%o\n”,x?1);
}
100
4.有以下程序
voidmain()
{unsignedchara,b,c;
a=0x3;
b=a|0x8;
c=b?1;
printf("%d%d\n”,b,c);
)
程序運行后的輸出結(jié)果是()。
1122
5.以下程序的運行結(jié)果是()。
voidmain()
(
inti,t[][3]={9,8,7,6,5,4,3,2.11;
for(i=0;i<3;i++)
printf("%d”,t[2-i][i]);
}
357
67有以下程序
voidmain()
{intp[7]={11,13,14,15,16,17.18}.i=0,k=0;
While(i<7&&p[i]%2){k=k+p[i];i++;}
Printf(,,%d\n^^,k);
)
執(zhí)行后輸入結(jié)果是(
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 46848.7-2025技術(shù)產(chǎn)品文件產(chǎn)品設(shè)計數(shù)據(jù)管理要求第7部分:簽審與發(fā)放
- 遼寧省遼陽市2025-2026學(xué)年高一上學(xué)期1月期末考試政治試卷
- 2026佛山市順德區(qū)容桂幸福陳占梅小學(xué)招募實習(xí)教師10人備考考試試題附答案解析
- 2026陜西西北工業(yè)大學(xué)自動化學(xué)院唐煒團隊招聘1人參考考試試題附答案解析
- 2026中國航空工業(yè)集團有限公司華東審計中心崗位招聘18人備考考試試題附答案解析
- 2026河南洛陽古都麗景控股集團有限公司招聘9人參考考試題庫附答案解析
- 2026湖南懷化溆浦縣衛(wèi)生健康局公益性崗位招聘備考考試試題附答案解析
- 2026西安未央湖社區(qū)衛(wèi)生服務(wù)中心招聘備考考試試題附答案解析
- 2026湖南長沙市芙蓉區(qū)定王臺街道社區(qū)衛(wèi)生服務(wù)中心招聘備考考試試題附答案解析
- 2026年河北衡水市人民醫(yī)院寒假志愿者招募參考考試試題附答案解析
- 漁夫和他的靈魂-練習(xí)及答案
- 探析鐵路橋涵施工中缺陷和應(yīng)對策略
- LYT 1279-2020聚氯乙烯薄膜飾面人造板
- 聲樂教學(xué)與藝術(shù)指導(dǎo)的有效結(jié)合淺析
- 電解質(zhì)紊亂護理查房-課件
- 城市軌道交通工程竣工驗收管理培訓(xùn)
- 運動訓(xùn)練的監(jiān)控
- GB/T 6730.62-2005鐵礦石鈣、硅、鎂、鈦、磷、錳、鋁和鋇含量的測定波長色散X射線熒光光譜法
- 中考歷史第一輪復(fù)習(xí)教案
- 中國郵政《國際及臺港澳郵件處理規(guī)則》
- 植物病害發(fā)生發(fā)展
評論
0/150
提交評論