C語言-基本選擇題及參考答案 (2)
《C語言-基本選擇題及參考答案 (2)》由會員分享,可在線閱讀,更多相關《C語言-基本選擇題及參考答案 (2)(25頁珍藏版)》請在裝配圖網上搜索。
1、精品文檔,僅供學習與交流,如有侵權請聯(lián)系網站刪除 計算機程序設計基礎(C語言) 單項選擇練習題 一、基本概念 1. C語言程序是由 C 構成的。 A)一些可執(zhí)行語言 B)main函數 C)函數 D)包含文件中的第一個函數 2.( A )是構成C語言程序的基本單位。 A、函數 B、過程 C、子程序 D、子例程 3.C語言程序從 C 開始執(zhí)行。 A) 程序中第一條可執(zhí)行語句 B) 程序中第一個函數 C) 程序中的main函數 D) 包含文件中的第一個函數 4.C語言程序從main
2、()函數開始執(zhí)行,所以這個函數要寫在_D___。 A) 程序文件的開始 B) 程序文件的最后 C) 它所調用的函數的前面 D) 程序文件的任何位置 5、以下說法中正確的是( C )。 A、C語言程序總是從第一個定義的函數開始執(zhí)行 B、在C語言程序中,要調用的函數必須在main( )函數中定義 C、C語言程序總是從main( )函數開始執(zhí)行 D、C語言程序中的main( )函數必須放在程序的開始部分 6. 下列方法中錯誤的是(D?。? A.主函數可以分為兩個部分:主函數說明部分和主函數體。 B.主函數可以調用任何非主函數
3、的其它函數。 C.任何非主函數可以調用其它任何非主函數。 D.程序可以從任何非主函數開始執(zhí)行。 7. 下列說法錯誤的是:( B ) A. C程序運行步驟是編輯、編譯、連接、執(zhí)行。 B. C語言的變量名必須用小寫,常量用大寫。 C. C語言的三種基本結構是順序、選擇、循環(huán)。 D. C程序一定由函數構成的。 8.下列關于C語言的說法錯誤的是( B ) 。 A) C程序的工作過程是編輯、編譯、連接、運行 B) C語言不區(qū)分大小寫。 C) C程序的三種基本結構是順序、選擇、循環(huán) D) C程序從main函數開始執(zhí)行 9. 系統(tǒng)默認的C語言源程序擴展名為.C
4、,需經過 C 之后,生成.exe文件,才能運行? A) 編輯?編譯 B )編輯?連接 C) 編譯?連接 D) 編輯?改錯 10.下列說法中正確的是(B?。?。 A.由于C源程序是高級語言程序,因此一定要在TC軟件中輸入。 B.由于C源程序是由字符流組成的,因此可以作為文本文件在任何文本編輯的軟件中輸入。 C.由于C程序是高級語言程序,因此輸入后即可執(zhí)行。 D.由于C程序是高級語言程序,因此它是由命令組成的。 二、數據類型、運算符與表達式 1. 不是C語言提供的合法關鍵字是(B?。? A.switch B.cher C.case
5、 D.default 2.C語言提供的合法關鍵字是(D?。?。 A.next B.string C.do case D.default 3.下列不屬于C語言中關鍵字的是 B A)long B)print C)default D)typedef 4.下列正確的標識符是(C )。 A.-a1 B.a[i] C.a2_i D.int t 5. 下列C語言用戶標識符中合法的是( B )。 A、*y B、sum C、int
6、 D、%5f 6. 下面四個選項中,合法的標識符是:( D ) A. auto B. define C. 6a D. c 7.下列C語言用戶標識符中合法的是( B )。 A)3ax B)x C)case D)-e2 E)union 8. 以下選項中合法的用戶標識符是 B A) long B) _2Test C) 3Dmax D) A.dat 9.下列四組選項中,正確的C語言標識符是( C )。 A) %x B) a+b C) a123
7、 D) 123 10. 請選出可用作C語言用戶標識符的一組標識符( B ) A) void B) a3_b3 C) For D) 2a define _123 -abc DO WORD sum Case sizeof 11、下列四組字符串中都可以用作C語言程序中的標識符的是( A )。 A、print _3d db8 aBc B、I\a
8、m one_half start$it 3pai C、str_1 Cpp pow while D、Pxq My->book line# His.age 12.下列C語言標識符中合法的變量名是 B 。 A)2e3 B)you C)*y D)float 13.C語言中的簡單數據類型包括(D )。 A、整型、實型、邏輯型 B、整型、實型、邏輯型、字符型 C、整型、字符型、邏輯型 D、整型、實型、字符型 14、下列可以正確表示字符型常量的是( A )。 A
9、、’\t’ B、”a” C、”\n” D、297 15.下列表達式中, D 是正確的C語言字符常量。 A)”x” B)e3 C)”COMPUTER” D)’#’ 16.在下列表達式中,屬于字符型常量的是 B 。 A) A B) a C) "A" D) b 17. 以下選項中合法的字符常量是( B ) A) “B” B) ‘\n’ C) ‘68’ D) E 18.下面字符常量表示錯誤的是( D ) A)’a’
10、B)’?’ C)’\n’ D)”\n” 19. 已定義c為字符型變量,則下列語句中正確的是 ( C ) A)c=97 B)c="97" C)c=‘a’ D)c="a" 20. 已知ch是字符型變量,不正確的賦值語句是( A ) A) ch=a+b ; B) ch= \0 ; C) ch= 7 ; D) ch=’;’; 21.C語言中字符型(char)數據在內存中的存儲的是( D ) A) 原碼
11、 B) 補碼 C) 反碼 D) ASCII碼 22.在C語言中,字符型數據所占的內存空間是( C ) A)2個字節(jié) B) 4字節(jié) C) 1字節(jié) D)由用戶自定義 *23.若int類型數據占2個字節(jié),則unsigned int類型數據的取值范圍是 ( B ) A)0~255 B)0~65535 C)-32768~32767 D)-256~255 *24. 若有以下類型說明語句:char a;int b; float c; double d; 則表達式a*b+d-c的結果類型為( D )
12、 A)float B) char C) int D)double *25. 若有以下類型說明語句:char w;int x;float y;double z;則表達式w-x*y/z的結果為( D )類型,表達式(int)(x+y-z*w)的結果為( C )類型。 A)float B)char C)int D)double 26 .C語言中運算對象必須是整型的運算符是( A ) A) %= B) / C) = D) 〈= 27.在C語言程序中,表
13、達式8/5的結果是( B ) A)1.6 B)1 C)3 D)0 28.設x為int型變量,則執(zhí)行以下語句后,x的值為 B x=10; x+=x; A) 10 B) 20 C) 40 D) 30 29.在C語言程序中,表達式5%2的結果是 C 。 A)2.5 B)2 C)1 D)3 30.如果int a=3,b=4;則條件表達式"a
14、 D) 1
31.若int x=2,y=3,z=4 則表達式x 15、 D、!((a
16、 D) ‘d’
37.下列關于C語言的敘述錯誤的是( A )
A) 大寫字母和小寫字母的意義相同
B) 不同類型的變量可以在一個表達式中
C) 在賦值表達式中等號(=)左邊的變量和右邊的值可以是不同類型
D) 同一個運算符號在不同的場合可以有不同的含義
38. 有:int w=11,x=12,y=3,m; 執(zhí)行下面語句后m的結果是( C )
m=(w 17、語句后m的值是( A )
m=(w>x)?w:x;
m=(m>y)?m:y;
A. 12 B. 0 C. 3 D. 1
40.設整型變量 a=2,則執(zhí)行下列語句后,浮點型變量b的值不為0.5的是( B?。?
A.b=1.0/a B.b=(float)(1/a)
C.b=1/(float)a D.b=1/(a*1.0)
41. 以下運算符中優(yōu)先級最高的運算符是( B )
A)&& B)++ C)+= D)!=
42.若“int n; float f=13.8; 18、”,則執(zhí)行“n=(int)f%3”后,n的值是(A)
A.1 B.4 C.4.333333 D.4.6
43. 設x為int型變量,則執(zhí)行以下語句后,x的值為( C?。?
x=10; x*=x;
A) 10 B) 20 C) 100 D) 0
44. 若有語句int a=1,b; double y=2.3; b=(int)y; 則b的值為 (B )?
A) 3 B) 2 C) 1 D) 2.3
45.已知int x;char y;則下面錯誤的scanf函數調用語句為(B )
19、 A)scanf(“%d,%d”,&x,&y); B) scanf(“%d,%c”,x,y)
C) scanf(“%d%d”,&x,&y) D) scanf(“%d,%c”,&x,&y)
46.在C語言的庫函數中,可以輸出char型變量x值的語句是 C 。
A)getchar(x); B)fputc(x) C)putchar(x) D)puts(x)
47. 以下說法正確的是( C )
A) x+5是一個錯誤的表達式
B) C語言不允許類型的混合運算
C) 強制類型轉換時,類型說明 20、符必須加括號
D) (int)x+y 和(int)(x+y)是完全等價的表達式
48.設 int x=0, y=1; 表達式(x||y)的值是 ( B )
A) 0 B) 1 C) 2 D) -1
三、選擇結構
1. 在C語言中,認為( D )為邏輯"真"
A) true B)大于0的數 C)非0整數 D)非0的數
2. 表示關系x<=y<=z的c語言表達式為 A
A) (x<=y)&&(y<=z) B) (x<=y)AND(y 21、<=z)
C) (x<=y<=z) D) (x<=y)&(y<=z)
3.能正確表示邏輯關系:“a≥=10或a≤0”的C語言表達式是( D )
A) a>=10 or a<=0 B) a>=0|a<=10
C) a>=10 &&a<=0 D) a>=10‖a<=0
4、判斷char型變量c1是否為大寫字母的表達式為( D )。
A、’A’<=c1<=’Z’ B、(c1>=’A’) & (c1<=’Z’)
C、(’A’<=c1)AND (‘Z’>=c1) D、 c1>=’A’ && c1<=’Z 22、’
5. 為表示邏輯表達式79 24、i+=1;
case 11: i+=1;
default : i+=1; }
A、13 B、12 C、11 D、10
10. 在下面的條件語句中(其中s1和s2表示是C語言的語句),只有一個在功能上與其它三個語句不等價,它是( D )。
A、if (a) s1 ; else s2; B、if (a= =0) s2; else s1;
C、 if (a!=0) s1; else s2; D、if (a= =0) s1; else s2;
11.假 25、定所有變量均已正確定義,則下列程序段運行后y的值是(A?。?
int a=0,y=10;
if(a=0) y--;
else if(a>0) y++;
else y+=y;
A.20 B.11 C.9 D.0
12.假定所有變量均已正確定義,則下列程序段運行后x的值是(B?。?。
a=b=c=0; x=35;
if(!a) x--;
else if(b);
if(c) x=3;
else x=4;
A.34 B.4 26、 C.35 D.3
13. C語言對嵌套if語句的規(guī)定是:else語句總是與( D )配對。
A) 其之前最近的if B) 第一個if
C) 縮進位置相同的if D) 其之前最近的且尚未配對的if
14. 在C語言語句中,用來決定分支流程的表達式是( A?。?。
A.可用任意表達式 B.只能用邏輯表達式或關系表達式
C.只能用邏輯表達式 D.只能用關系表達式
15.C語言中用( B )表示邏輯“真”。
A. true B. 整數值1
C 27、. 非零整數值 D. false
16、若k是int型變量,且有下面的程序段:
int k;
k= -3;
if (k<=0) printf(“####”);
else printf(“&&&&”);
上面程序段的輸出結果是( A )
A、#### B、&&&&
C、####&&&& D、有語法錯誤,無輸出結果
17. main()
{ int x=0,a=0,b=0;
switch(x){
case 0: b++;
case 1: a++;
case 2: a++;b++;}
28、
printf(“a=%d,b=%d\n”,a,b);}
該程序的輸出結果是 D
A) a=2,b=1 B) a=1,b=1 C) a=1,b=0 D) a=2,b=2
18. 以下程序的輸出結果是:( C )
main()
{ int x=-10,y= 1,z=1;
if(x 29、b=50,c=30;
if(a>b)
a=b;
b=c;
c=a;
printf("a=%2d b=%2d c=%2d\n",a,b,c);
A) a=10 b=50 c=10 B) a=10 b=30 c=10
C) a=50 b=30 c=10 D) a=50 b=30 c=50
四、循環(huán)結構
*1.在C語言中,下列說法中正確的是( D?。?。
A) do-while語句構成的循環(huán)不能用其它語句構成的循環(huán)來代替。
B) do-while語句構成的循環(huán)只能用break語 30、句退出。
C) do-while語句構成的循環(huán)在while后的表達式非零時結束循環(huán)。
D) do-while語句構成的循環(huán),在while后的表達式為零時結束循環(huán)。
2. break語句不能出現在( D?。┱Z句中
A. switch B.for C. while D. if…else
*3.對于break語句和continue語句的說法錯誤的是( B )
A) break語句不能用于循環(huán)語句和switch語句之外的任何其他語句中。
B) break和continue也可以用于if語句中
C) continue語句 31、只結束本次循環(huán),而不是終止整個循環(huán)的執(zhí)行。
D) break語句是結束整個循環(huán)過程,不再判斷執(zhí)行循環(huán)的條件是否成立。
4.語句while(!y);中的表達式!y等價于 A
A)y==0 B)y?。? C)y=!0 D) y==1
5.若有“int a=1,x=1;”,則循環(huán)語句“while(a<10) x++; a++;”的循環(huán)執(zhí)行(A?。?
A.無限次 B.不確定次 C.10次 D.9次
6. 有以下程序段
int k=0
while(k)k++;
則while循環(huán)體執(zhí)行的次數是 C
A) 無限次 32、 B) 有語法錯,不能執(zhí)行
C) 一次也不執(zhí)行 D) 執(zhí)行1次
7. 下列循環(huán)語句中有語法錯誤的是( D )
A while(x=y) 5; B while(0) ;
C do 2;while(x= =b); D do x++ while(x= =10);
*8.當運行時輸入:abcd$abcde, 下面程序的運行結果是 B
#include 33、)abcdend D) abcd$abcdeend
9. 以下程序段 ( A )
x=-1;
do { x=x*x; }
while(x>0);
A. 是死循環(huán) B. 循環(huán)執(zhí)行一次 C. 循環(huán)執(zhí)行二次 D. 有語法錯誤
10. 下面程序段執(zhí)行后的結果為: ( B )
int sum=0, n=10;
do { sum=sum+n;
n++; }
while(n<10)
printf(“%d,%d”,sum,n)
A. 0, 10 B. 10, 11 C. 0, 11 D. 以上結果都不對
11 34、.對以下程序段的敘述正確的是___A____.
int x=1;
do
{ x= -1*x; }
while(!x)
A) 是死循環(huán) B) 循環(huán)執(zhí)行一次 C)循環(huán)執(zhí)行二次 D)有語法錯誤
12.循環(huán)“for(i=0,x=1;i=10&&x>0;i++);”的循環(huán)執(zhí)行( A?。?。
A.無限次 B.不確定次 C.10次 D.9次
13.執(zhí)行語句{for(j=0;j<=3;j++) a=1;}后變量j的值是 C .
A)0 B) 3 C)4 D) 1
14. 有如下程序
main()
{ int i 35、,sum=2;
for(i=1;i<=3;i+=2) sum+=i;
printf(“%d\n”,sum); }
該程序的執(zhí)行結果是 A
A) 6 B) 3 C) 死循環(huán) D) 4
*15、執(zhí)行語句”for ( i=0; i++<3 ; ) ;”后,變量i的值為( C )。
A、2 B、3 C、4 D、5
16.設x和y均為int型變量,則執(zhí)行以下的循環(huán)后,y的值為( D )。
for(y=1,x=1;y<=50;y++) 36、
if(x>=0) break;
if(x%2==1) {x+=5;continue;}
x-=3;
A.2 B.4 C.6 D.1
五 數組
1. 以下對一維數組a的正確說明是: D
A) char a(10); B) int a[];
C)int k=5,a[k]; D)char a[3]={‘a’,’b’,’c’};
2.以下能對一維數組a進行初始化的語句是: ( C )
A. int a[5]=(0,1,2,3,4,) B. int a 37、(5)={}
C. int a[3]={0,1,2} D. int a{5}={10*1}
3.在C語言中對一維整型數組的正確定義為 D 。
A)int a(10); B)int n=10,a[n];
C)int n;a[n]; D)#define N 10
int a[N];
4、已知:int a[10]; 則對a數組元素的正確引用是( D )。
A、a[10] B、a[3.5] C、a(5) D、a[0]
5. 執(zhí) 38、行下面的程序段后,變量k中的值為 C
A) 不定值 B) 33 C) 30 D) 10
int k=3, s[2];
s[0]=k; k=s[0]*10;
*6. 下列說法中錯誤的是 C
A 構成數組的所有元素的數據類型必須是相同的
B 用指針法引用數組元素允許數組元素的下標越界
C 一維數組元素的下標依次是1、2、3……
D 定義數組時的長度可以是整型常量表達式
7. 若有以下數組說明,則數值最大的和最小的元素下標分別是( B )。
int a[12]={1 39、,2,3,4,5,6,7,8,9,10,11,12};
A.1,12 B.0,11 C.1,11 D.0,12
8.若有以下數組說明,則i=10;a[a[i]]元素數值是( B?。?。
int a[12]={1,4,7,10,2,5,8,11,3,6,9,12};
A.10 B.9 C.6 D.5
9. 假定int類型變量占用兩個字節(jié),其有定義:int x[10]={0,2,4};,則數組x在內存中所占字節(jié)數是 D
A) 3 B) 6 40、 C) 10 D) 20
10.若有說明:int a[][3]={{1,2,3},{4,5},{6,7}}; 則數組a的第一維的大小為: ( B )
A. 2 B. 3 C. 4 D.無確定值
11.以下定義語句中,錯誤的是 ( D )
A) int a[]={1,2}; B) char *a;
C) char s[10]=“test”; D) int n=5,a[n];
12.下面程序段的輸出結果是: ( C )
int i;
int x[3][3]={1,2,3,4,5,6,7,8,9}; 41、
for (i=0;i<3;i++)
printf("%d ",x[i][2-i]);
A) 1 5 9 B) 1 4 7 C) 3 5 7 D) 3 6 9
13.對二維數組的正確定義是( C )
A.int a[ ] [ ]={1,2,3,4,5,6}; B.int a[2] [ ]={1,2,3,4,5,6};
C.int a[ ] [3]={1,2,3,4,5,6}; D.int a[2,3]={1,2,3,4,5,6};
14.已知int a[3][4];則對數組元素引用正確的是__C___
42、 A)a[2][4] B)a[1,3] C)a[2][0] D)a(2)(1)
六、字符數組
1. 在C語言中,以 D 作為字符串結束標志
A)’\n’ B)’ ’ C) ’0’ D)’\0’
2.下列數據中屬于“字符串常量”的是( A )。
A.“a” B.{ABC} C.‘abc\0’ D.‘a’
3.字符串 “ABCD”在內存占用的字節(jié)數是( D?。?
A.4 B.6 C.1 D.5
4. 下面不正確的字符串常量是:( A )
A. 43、‘PROGRAM’ B “12’12” C “0” D “ ”
5.設有數組定義: char array [ ]="abcd"; 則數組array所占的空間為 B
A) 4個字節(jié) B) 5個字節(jié) C) 6個字節(jié) D) 7個字節(jié)
*6.下述對C語言中字符數組的描述錯誤的是 C 。
A)字符數組可以存放字符串
B)字符數組中的字符串可以整體輸入和輸出
C)可在賦值語句中通過賦值運算符“=”對字符數組整體賦值
D)可在對字符數組定義時通過賦值運算符“=”對字符數組整體初始化
7.已知char x[]="h 44、ello", y[]={h,e,a,b,e};, 則關于兩個數組長度的正確描述是 B .
A)相同 B)x大于y C)x小于y D)以上答案都不對
8.給出以下定義:
char x[ ]="abcdefg";
char y[ ]={a,b,c,d,e,f,g};
則正確的敘述為 C
A) 數組x和數組y等價 B) 數組x和數組y的長度相同
C) 數組x的長度大于數組y的長度 D) 數組x的長度小于數組y的長度
9、若有以下語句,則正確的描述是( D )。
static char x[ 45、]=”12345” ;
static char y[ ]={‘1’,‘2’,‘3’,‘4’, 5’,’\0’} ;
A、x數組長度大于y數組長度 B、x數組和y數組不相同
C、x數組長度小于y數組長度 D、x數組等價于y數組
10、已知:char s[20]= ”programming”, *ps=s; 則不能引用字母o的表達式是( C )。
A、ps[2] B、s[2] C、ps+2 D、ps+=2, *ps
*11.判斷兩字符串s1,s2是否相等,應使用( D ).
A)if(s1= 46、=s2) B)if(s1=s2)
C)if(strcpy(s1,s2)) D)if(strcmp(s1,s2)==0)
*12.以下printf語句的輸出結果為: A
printf(“%d\n”,strlen(“school”));
A) 7 B) 6 C)存在語法錯誤 D)不定值
13. 對字符數組s賦值,不合法的一個是( C )
A. char s[]="Beijing";
B. char s[20]={"beijing"};
C. char s[20];s="Beijing";
D. c 47、har s[20]={B,e,i,j,i,n,g};
14. 對字符數組str賦初值,str不能作為字符串使用的一個是( D )
A. char str[]="shanghai";
B. char str[]={"shanghai"};
C. char str[9]={s,h,a,n,g,h,a,i,’\0’};
D. char str[8]={ s,h,a,n,g,h,a,i};
15. 合法的數組定義是 C
A)int a[]={“string”}; B) int a[5]={0,1,2,3,4,5};
C)c 48、har a[]= “string”; D) char a[5]={0,1,2,3,4,5};
16. 對字符數組s賦值,不合法的是: ( C )
A) char s[]="china";
B) char s[20]={" china "};
C) char s[20];s=" china";
D) char s[20]={c,h,i,n,a};
17. 下面初始化與此初始化charc[ ]=“I am happy”;等價的是( A )
A) char c[ ]={‘I’,’’,’a’,’m’,’’,’h’ 49、,’a’,’p’,’p’,’y’,’\0’};
B) char c[ ]={‘I’,’am’,’happy’};
C) char c[ ]={‘I’, ’’,’a’,’m’,’’,’h’,’a’,’p’,’p’,’y’};
D)char c[ ]={‘I’,’am’,’happy’,’\0’};
18.下面各語句中,能正確進行賦字符串操作的語句是( C )。
A. char s[5]={“ABCDE”};
B. char s[5]={‘A’,‘B’,‘C’,‘D’,‘E’,’\0’};
C. char *s;s=“ABCDE”;
D. char *s;scanf(“%s”,&s 50、);
19.下列字符串賦值方式不正確的是( A )
A).char str[20]; B). char *str ;
str=”I am a boy!”; str=”I am a boy!”;
C). char *str=”I am a boy!”; D). char str[20]=” I am a boy!”;
七.指針
1. 語句int *p;說明了 C 。
A)p是指向一維數組的指針
B)p是指向函數的指針,該函數返回一int型數據
C)p是指向int 51、型數據的指針
D)p是函數名,該函數返回一指向int型數據的指針
2. 變量的指針,其含義是指該變量的:( B )
A. 值 B. 地址 C. 名 D.一個標志
3.若x是整型變量,pb是基類型為整型的指針變量,則正確的賦值表達式是( A )
A) pb=&x B) pb=x C) *pb=&x D) *pb=*x
4、已知:int a, *p=&a; 則下列函數調用中錯誤的是( D )。
A、scanf(“%d”,&a); B、scanf(“%d”,p);
52、C、printf(“%d”,a); D、printf(“%d”,p);
5.對于同類型的指針變量,不可能進行的運算是( C )。
A.- B.= C.+ D.==
6. 對于基類型相同的兩個指針變量之間,不能進行的運算是 C
A) < B) = C) + D) -
7.下列不正確的定義是( A )。
A. int *p=&i,i; B.int *p,i;
C.int i,*p=&i; 53、 D.int i,*p;
8. 若有說明:int n=2,*p=&n,*q=p,則以下非法的賦值語句是: ( D )
A)p=q B)*p=*q C)n=*q D)p=n
9. int *p,a=10,b=1; p=&a; a=*p+b;
執(zhí)行該程序段后,a的值為 C
A) 編譯出錯 B) 10 C) 11 D) 12
10.下列函數的功能是 A 。
void fun(int *p1,int *p2)
{ int p;
p=*p 54、1;*p1=*p2;*p2=p;
A) 交換*p1和*p2的值 B) 語法正確,但無法交換*p1和*p2的值
C) 交換*p1和*p2的地址 D)有語法錯誤
八、函數
1.C語言中函數返回值的類型是由 A 決定的.
A)函數定義時指定的類型 B) return語句中的表達式類型
C) 調用該函數時的實參的數據類型 D) 形參的數據類型
2. 在C語言中,函數的數據類型是指( A )
A 函數返回值的數據類型 B. 函數形參的數據類型
C 調用該函數時的實參的數據類型 D.任意指定的數 55、據類型
*3.C程序中函數返回值的類型是由 A 決定的.
A)函數定義時指定的函數類型 B) 函數中使用的最后一個變量的類型
C)調用函數時臨時確定 D) 調用該函數的主調函數類型
*4. C語言規(guī)定,簡單變量做實參時,它和對應形參之間的數據傳遞方式為 ( B )
A. 由系統(tǒng)選擇 B. 單向值傳遞 C. 由用戶指定傳遞方式 D. 地址傳遞
5. 在函數調用時,以下說法正確的是( B?。?
A.函數調用后必須帶回返回值
B.實際參數和形式參數可以同名
C.函數間的數據傳遞不可以使用全局變量
D.主調函數和被調函數總是在 56、同一個文件里
*6. 在C語言程序中,有關函數的定義正確的是( B )。
A.函數的定義可以嵌套,但函數的調用不可以嵌套
B.函數的定義不可以嵌套,但函數的調用可以嵌套
C.函數的定義和函數的調用均不可以嵌套
D.函數的定義和函數的均可以嵌套
*7. 以下對C語言函數的有關描述中,正確的是( A )。
A.在C語言程序中,調用函數時,如函數參數是簡單變量,則只能把實參的值傳遞給形參,形參的值不能傳送給實參
B.C語言函數既可以嵌套定義又可遞歸調用
C.C語言函數必須有返回值,否則不能使用函數
D.在C語言程序中有調用關系的所有函數必須放在同一個源程序文件中 57、
*8.C語言中對函數的描述正確的是 C .
A)可以嵌套調用,不可以遞歸調用 B) 可以嵌套定義
C)嵌套調用,遞歸調用均可 D)不可以嵌套調用
9.以下敘述中正確的是 A
A) 構成C程序的基本單位是函數
B) 可以在一個函數中定義另一個函數
C) main()函數必須放在其它函數之前
D) 所有被調用的函數一定要在調用之前進行定義
10.用數組名作為函數調用時的實參時,傳遞給形參的是 A 。
A)數組首地址 B)數組第一個元素的值
C)數組全部元素的值 58、 D)數組元素的個數
11.有一函數的定義如:void fun(char *s){……},則不正確的函數調用是( D )。
A.main()
{char a[20]=”abcdefgh”;
fun(a);
B.main()
{ char a[20]=”abcdefgh”;
fun(&a[0]);
C. main()
{ char a[20]=”abcdefgh”;
char *p=a;fun(p);
D. main()
{char a[20]=”abcdefgh”;
fun(a[]);
12、函數的功能是交換變量x和y中的值,且通過正確調用返回交換 59、的結果。能正確執(zhí)行此功能的函數是( D )。
B、funb(int x , int y)
{ int t;
t=x; x=y; y=t;
}
A、funa(int *x, int *y)
{ int *p;
*p=*x ; *x=*y; *y=*p;
D、fund(int *x, int *y)
{ int t;
t=*x; *x=*y; *y=t;
}
C、func(int *x, int *y)
{ int * 60、p;
p=x;x=y; y=p;
13. 有如下程序
int func(int a,int b)
{ return(a+b);}
main()
{ int x=2,y=x,z=8,r;
r=func(func(x,y),func(y,z));
printf(“%d\n”,r); }
該程序的輸出的結果是 C
A) 12 B) 13 C) 14 D) 15
*14. 以下程序的輸出結果是 B
int a, b;
void fun()
{ a=100 61、; b=200; }
main()
{ int a=100, b=100;
fun();
printf(“%d%d \n”, a,b);
A) 100200 B) 100100 C) 200100 D) 200200
*15. 下列說法中正確的是:( A )
A. 局部變量在一定范圍內有效,且可與該范圍外的變量同名。
B. 如果一個源文件中,全局變量與局部變量同名,則在局部變量范圍內,局部變量不起作用。
C. 局部變量缺省情況下都是靜態(tài)變量。
D. 函數體內的局部靜態(tài)變量,在函數體外也有效。
16. 在C語言中,表示靜態(tài)存儲類別的關鍵字是: 62、( C )
A) auto B) register C) static D) extern
17.未指定存儲類別的變量,其隱含的存儲類別為( A )。
A)auto B)static C)extern D)register
九、編譯預處理
*1.在C語言程序中,以#號帶頭的行是預編譯處理( A )。
A.命令 B.語句 C.函數 D.字符串
2.下列正確的預編譯命令是( D )。
A. define PI 3.14159
B. #define P 63、(a,b)=strcpy(a,b)
C. #define stdio.h
D. #define PI 3.14159;
3.下列命令或語句中,正確的是( C )。
A. #define MYNAME=”ABC”
B. #include stdio.h
C. for(i=0;i<10;i++);
D. struct int stu{int name};
*4.下列命令或語句中,錯誤的是( C )。
A.#define PI 3.14159 B.#include
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
5. 裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。