《C語言(本科)》22年6月課程考核-00001
試卷總分:100 得分:100
一、單選題 (共 30 道試題,共 60 分)
1.對于C語言的函數(shù),下列敘述中正確的是()
A.函數(shù)的定義不能嵌套,但函數(shù)調用可以嵌套
B.函數(shù)的定義可以嵌套,但函數(shù)調用不能嵌套
C.函數(shù)的定義和調用都不能嵌套
D.函數(shù)的定義和調用都可以嵌套
2.如果一個函數(shù)位于C程序文件的上部,在該函數(shù)體內(nèi)說明語句后的復合語句中定義了一個變量,則該變量()
A.為全局變量,在本程序文件范圍內(nèi)有效
B.為局部變量,只在該函數(shù)內(nèi)有效
C.為局部變量,只在該復合語句中有效
D.定義無效,為非法變量
3.當調用函數(shù)時,實參是一個數(shù)組名,則向函數(shù)傳送的是()
A.數(shù)組的長度
B.數(shù)組的首地址
C.數(shù)組每一個元素的地址
D.數(shù)組每個元素中的值
4.以下數(shù)組定義中不正確的是()
A.int a[2][3];
B.int b[][3]={0,1,2,3};
C.int c[100][100]={0};
D.int d[3][]={{1,2},{1,2,3},{1,2,3,4}};
5.在C語言中,合法的長整型常數(shù)是()
A.0L
B.4962710
C.0.054838743
D.2.1869e10
6.C語言中,凡未指定存儲類別的局部變量的隱含存儲類別是()
A.auto
B.static
C.extern
D.register
7.下述對C語言字符數(shù)組的描述中錯誤的是()
A.字符數(shù)組可以存放字符串
B.字符數(shù)組中的字符串可以整體輸入、輸出
C.可以在賦值語句中通過賦值運算符"="對字符數(shù)組整體賦值
D.不可以用關系運算符對字符數(shù)組中的字符串進行比較
8.以下程序的輸出結果是() main() {int x=10,y=10; printf(“%d %d\n”,x--,--y); }
A.10 10
B.9 9
C.9 10
D.10 9
9.若有說明:int i,j=7,*p=&i;,則與i=j;等價的語句是()
A.i=*p;
B.*p=*&j;
C.i=&j;
D.i=**p;
10.下面程序輸出的結果是()
{圖}
A.0
B.1
C.3
D.3.333333
11.在下列選項中,不正確的賦值語句是()
A.t;
B.n1=(n2=(n3=0));
C.k=i==j;
D.a=bc=1;
12.以下選項中,非法的字符常量是()
A.'\t'
B.'\17'
C."n"
D.'\xaa'
13.有如下函數(shù)調用語句 func(rec1,rec2+rec3,(rec4, rec5));該函數(shù)調用語句中,含有的實參個數(shù)是()
A.3
B.4
C.5
D.有語法錯誤
14.為表示關系x≥y≥z,應使用C語言表達式()
A.(x>=y)&&(y>=z)
B.(x>=y)AND(y>=z)
C.(x>=y>=z)
D.(x>=y)&(y>=z)
15.若有以下的定義:int t[3][2];能正確表示t數(shù)組元素地址的表達式是()
A.&t[3][2]
B.t[3][2]
C.t[1][0]
D.t[2]+1
16.在C語言中,數(shù)字009是一個()
A.八進制數(shù)
B.十六進制數(shù)
C.十進制數(shù)
D.非法數(shù)
17.已知有聲明語句char s1[10]="abcde",s3[10];以下語句中能將s1中存儲的字符串和s2中存儲的字符串正確交換的是()
A.s3=s1,s1=s2,s2=s3;
B.s3[0]=s1[0],s1[0]=s2[0],s2[0]=3[0];
C.strcpy(s3[0],s1[0]),strcpy(s1[0],s2[0]),strcpy(s2[0],s3[0]);
D.strcpy(s3,s1),strcpy(s1,s2),strcpy(s2,s3);
18.在宏定義 #define PI 3.14159中,用宏名PI代替一個:()
A.常量
B.單精度數(shù)
C.雙精度數(shù)
D.字符串
19.以下選項中,不能正確賦值的是()
A.char s1[10];s1="Ctest";
B.char s2[]={'C', 't', 'e', 's', 't'};
C.char s3[20]="Ctest";
D.char *s4="Ctest\n"
20.設有如下定義: int x=10,y=3,z; 則語句 printf(“%d\n”,z=(x%y,x/y)); 的輸出結果是()
A.1
B.0
C.4
D.3
21.在調用函數(shù)時,如果實參是簡單變量,它與對應形參之間的數(shù)據(jù)傳遞方式是()
A.地址傳遞
B.單向值傳遞
C.由實參傳給形參,再由形參傳回實參
D.傳遞方式由用戶指定
22.下面程序段的運行結果是()
{圖}
A.12345
B.1234
C.15
D.無限循環(huán)
23.函數(shù)pi的功能是根據(jù)以下近似公式求π值:()
{圖}
A.1/i*i
B.1.0/i*i
C.1.0/(i*i)
D.1.0/(n*n)
24.以下程序段的輸出結果是() int x=3; do {printf(“%3d”,x-=2);} while(!(--x));
A.1
B.3 0
C.1 -2
D.死循環(huán)
25.對于for(表達式1;;表達式3)可理解為()
A.for(表達式1;0;表達式3)
B.for(表達式1;1;表達式3)
C.for(表達式1;表達式1;表達式3)
D.for(表達式1;表達式3;表達式3)
26.表達式:10!=9的值是()
A.TRUE
B.非零值
C.0
D.1
27.若有聲明語句int a[10],b[3][3];則以下對數(shù)組元素賦值的操作中,不會出現(xiàn)越界訪問的是()
A.a[-1]=1
B.a[10]=0
C.b[3][0]=0
D.b[0][0]=0
28.調用函數(shù)時,當實參和形參都是簡單變量時,它們之間數(shù)據(jù)傳遞的過程是()
A.實參將其地址傳遞給形參,并釋放原先占用的存儲單元
B.實參將其地址傳遞給形參,調用結束時形參再將其地址回傳給實參
C.實參將其值傳遞給形參,調用結束時形參再將其值回傳給實參
D.實參將其值傳遞給形參,調用結束時形參并不將其值回傳給實參
29.有如下說明: int a[10]={0,1,2,3,4,5,6,7,8,9};則數(shù)值不為9的表達式是()
A.a[10-1]
B.a[8]
C.a[9]-0
D.a[9]-a[0]
30.設有說明語句:char a= '\72';則變量a()
A.包含3個字符
B.包含2個字符
C.包含1個字符
D.說明不合法
二、判斷題 (共 10 道試題,共 20 分)
31.數(shù)組的大小是可變的,但所有數(shù)組元素的類型必須相同。()
32.用scanf輸入字符時,字符串中不能包含空格。()
33.自動變量屬于局部變量。()
34.在C語言的復合語句中,只能包含可執(zhí)行語句。()
35.若將C源程序經(jīng)過編譯、連接后生成可執(zhí)行文件,則可直接在DOS系統(tǒng)下輸入可執(zhí)行文件名執(zhí)行。()
36.在main函數(shù)體內(nèi)定義的變量是全局變量。()
37.在程序運行過程中,系統(tǒng)分配給實參和形參的內(nèi)存單元是不同的。()
38.字符常量的長度肯定為1。()
39.只能在循環(huán)體內(nèi)和switch語句體內(nèi)使用break語句()
40.使用float b定義的外部變量存放在內(nèi)存中的動態(tài)存儲區(qū)。()
三、簡答題 (共 2 道試題,共 20 分)
41.閱讀下列程序段,寫出程序運行結果:
{圖}
42.閱讀下列程序段,寫出程序運行結果:
{圖}

