一、單項選擇題(共30分,每題1分)
1.在PC機中,‘\n’在內(nèi)存占用的字節(jié)數(shù)是( )
A.1 B.2 C. 3 D.4
2.字符串“ABC”在內(nèi)存占用的字節(jié)數(shù)是( )
A.3 B. 4 C.6 D.8
3.在C語言中,合法的長整型常數(shù)是( )
A.0L B.4962710 C.0.054838743 D.2.1869 e10
4.執(zhí)行語句“x=(a=3,b=a——)”后,x,a,b的值依次是( )
A.3,3,2 B.3,2,2 C.3,2,3 D.2,3,2
5.設(shè)有語句int a=3;,則執(zhí)行了語句a+=a-=a*a后,變量a的值是( )
A.3 B.0 C.9 D.-12
6.設(shè)int k=32767;執(zhí)行k=k+1;后k值為( )
A.32768 B.-32768 C.0 D.-1
7.下列正確的標(biāo)識符是( )
A.hot_do B.a+b C.test! D.%y
8.設(shè)int a=5,使b不為2的表達式是( )
A.b=6-(——a) B.b=a%2 C.b=a/2 D.b=a>3?2:1
9.執(zhí)行x=(6*7%8+9)/5;后,x的值為( )
A.1 B.2 C.3 D.4
10.執(zhí)行語句x=(a=3,b=a——)后,x,a,b的值依次為( )
A.3,2,3 B.2,3,2 C.3,3,2 D.3,2,2
11.設(shè)a=-3;執(zhí)行(a>0)?a:-a;后,a的值為( )
A.3 B.1 C.0 D.-3
12.設(shè)所有變量均為整型,則表達式(a=2,b=5,b++,a+b)的值為( )
A.7 B.8 C.9 D.2
13.下面正確的字符常量是( )
A.“c” B.‘\\’‘ C.’W‘ D. ’‘
14.若有代數(shù)式3ae/bc,則不正確的c語言表達式是( )
A.a/b/c*e*3 B.3*a*e/b/c C.3*a*e/b*c D.a*e/c/c*3
15.在C語言中,要求運算數(shù)必須是整型的運算符是( )
A./ B.++ C.!= D.%
16.若有說明語句:char c=‘\72’;則變量c ( )
A.包含1個字符 B.包含2個字符
C.包含3個字符 D.說明不合法,c值不確定
17.sizeof (float)是( )
A.一個雙精度型表達式 B.一個整型表達式
C.一種函數(shù)調(diào)用 D 一個不合法的表達式
18.設(shè)變量a 是整型,f是實型,i是雙精度型,則表達式10+‘a(chǎn)’+i*f值的數(shù)據(jù)類型是( )
A.int B.folat C.double D.不確定
19.若有定義int a[10],*p=a;,則p+5表示( )
A.元素a[5]的地址 B.元素a[5]的值
C.元素a[6]的地址 D.元素a[6]的值
20.以下與int *q[5];等價的定義語句是( )
A.int q[5]; B.int * q C.int (q[5]) D.int (*q)[5]
21.若有定義int a[5],*p=a;則對a數(shù)組元素地址的正確引用是( )
A.P+5 B.*a+1 C.&a+1 D &a[0]
22.凡是函數(shù)中未指定存儲類別的局部變量,其隱含的存儲類別是( )
A.auto B.static C.extern D.register
23.若用數(shù)組名作為函數(shù)調(diào)用的實參,傳遞給形參的是( )
A.數(shù)組的首地址 B.數(shù)組第一個元素的值
C.數(shù)組中全部元素的值 D .數(shù)組元素的個數(shù)
24.C語言允許函數(shù)值類型缺省定義,此時該函數(shù)值隱含的類型是( )
A.float B.int C.long D.double
25.以下對二維數(shù)組a的正確說明是( )
A.int a[3][] B.float a(3,4)
C.double a[1][4] D.float a(3)(4)
26.若有說明int a[3][4];則對a數(shù)組元素的正確引用是(A )
A.a[2][4] B.a[1,3] C.a[1+1][0] D.a(2)(2)
26.語句while(!E);中的表達式!E等價于( )
A.E= =0 B.E!=1 C.E!=0 D.E= =1
27.C語言中while和do—while循環(huán)的主要區(qū)別是( )
A. do—while的循環(huán)體至少無條件執(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ù)合語句
28.為了避免在嵌套的條件語句if—else中產(chǎn)生二義性,C語言規(guī)定:else子句總與( )配對
A.縮排位置相同的if B.其之前最近的if
C.其之后最近的if D.同一行上的if
29.判斷char型變量ch是否為大寫字母的正確表達式是( )
A.‘A’<=ch<=‘Z’ B.(ch>=‘A’)&(ch<=‘Z’)
C.(ch>=‘A’)&&(ch<=‘Z’ D.(‘A’<=ch)AND (‘Z’>=ch)
30.以下能正確定義整型變量a、b、c并為其賦初值5的語句是( )
A.int a=b=c=5; B.int a,c, c=5;
C.a=5,b=5,c=5; D.a=b=c=5;
二、填空(20分,每空1分)
1.C語言中的實型變量分為兩種類型,它們是( )和( )。
2.C語言中的標(biāo)識符只能由三種字符組成,它們是( )、( )和( )。
3.若有定義:char c=‘\010’;則變量c中包含的字符個數(shù)是( )。
4.C語言提供的三種邏輯運算符是( )、( )、( )。
5.設(shè)y為int型變量,請寫出描述“y是奇數(shù)”的表達式( )。
6.設(shè)x,y,z均為int型變量,請寫出描述“x或y中有一個小于z”的表達式( )。
7.在C語言中,二維數(shù)組元素在內(nèi)存中的存放順序是( )。
8.若有定義:double x[3][5];則x數(shù)組中行下標(biāo)的下限為( ),列小標(biāo)的上限為( )。
9.若有定義:int a[3][4]={{1,2},{0},{4,6,8,10}};則初始化后,a[1][2]得到的初值是( ),a[2][2]得到的初值是( )。
10.若自定義函數(shù)要求返回一個值,則應(yīng)在該函數(shù)體中有一條( )語句,若自定義函數(shù)要求不返回一個值,則應(yīng)在該函數(shù)說明時加一個類型說明符( )。
11.函數(shù)中的形參和調(diào)用時的實參都是數(shù)組名時,傳遞方式為( ),都是變量時,傳遞方式為( )。
三、讀程序(30分)
1. main()
{int a=2,b=3,c;
c=a;
if (a>b) c=1;
else if (a= =b) c=0;
else c=-1;
printf (“%d\n”,c);} 運行結(jié)果:
2.main()
{int a=2,b=7,c=5;
switch (a>0)
{ case 1: swithch (b<0)
{case 1:printf(“@”);break;
case 2:printf(“!”);break;
}
case 0: switch (c= =5)
{ case 0:printf(“*”);break;
case 1:printf(“#”),break;
default:printf(“#”);break;
}
default:printf(“&”); 運行結(jié)果:
} printf (“\n”);
}
3.#include
main()
{ int i;
for (i=1;i<=5;i++)
switch (i%5)
{ case 0:printf(“*”);break;
case 1:printf(“#”);break;
default:printf(“\n”);
case 2:printf (“&”); 運行結(jié)果:
}
}
4.main()
{ int i,b,k=0;
for (i=1;i<=5;i++)
{b=i%2;
while (b——>=0) k++;
} 運行結(jié)果:
printf (“%d,%d”,k,b);
}
5.#include
main()
{ char ch[7]={“12ab56”};
int i,s=0;
for (i=0;ch[i]>=‘0’&&ch[i]<=‘9’;i+=2)
s=s*10+ch[i]-‘0’; 運行結(jié)果:
printf (“%d\n”,s);
}
6. main()
{ int a=2,i;
for (i=0;i<3;i++)
printf (“%4d”,f(a));
}
f(int a)
{ int b=0;static int c=3;
b++;c++;
運行結(jié)果:
return(a+b+c);
}
四、編寫程序(20分)
1.從鍵盤輸入的10個整數(shù)中,找出第一個能被7整除的數(shù)。若找到,打印此數(shù)后退出循環(huán);若未找到,打印“not exist”。
2.已有變量定義和函數(shù)調(diào)用語句:int x=57;isprime(x);函數(shù)isprime()用來判斷一個整數(shù)a是否是素數(shù),若是素數(shù),函數(shù)返回1,否則返回0.請編寫isprime函數(shù)。
insprime( int a)
{……}; {……}
1.在PC機中,‘\n’在內(nèi)存占用的字節(jié)數(shù)是( )
A.1 B.2 C. 3 D.4
2.字符串“ABC”在內(nèi)存占用的字節(jié)數(shù)是( )
A.3 B. 4 C.6 D.8
3.在C語言中,合法的長整型常數(shù)是( )
A.0L B.4962710 C.0.054838743 D.2.1869 e10
4.執(zhí)行語句“x=(a=3,b=a——)”后,x,a,b的值依次是( )
A.3,3,2 B.3,2,2 C.3,2,3 D.2,3,2
5.設(shè)有語句int a=3;,則執(zhí)行了語句a+=a-=a*a后,變量a的值是( )
A.3 B.0 C.9 D.-12
6.設(shè)int k=32767;執(zhí)行k=k+1;后k值為( )
A.32768 B.-32768 C.0 D.-1
7.下列正確的標(biāo)識符是( )
A.hot_do B.a+b C.test! D.%y
8.設(shè)int a=5,使b不為2的表達式是( )
A.b=6-(——a) B.b=a%2 C.b=a/2 D.b=a>3?2:1
9.執(zhí)行x=(6*7%8+9)/5;后,x的值為( )
A.1 B.2 C.3 D.4
10.執(zhí)行語句x=(a=3,b=a——)后,x,a,b的值依次為( )
A.3,2,3 B.2,3,2 C.3,3,2 D.3,2,2
11.設(shè)a=-3;執(zhí)行(a>0)?a:-a;后,a的值為( )
A.3 B.1 C.0 D.-3
12.設(shè)所有變量均為整型,則表達式(a=2,b=5,b++,a+b)的值為( )
A.7 B.8 C.9 D.2
13.下面正確的字符常量是( )
A.“c” B.‘\\’‘ C.’W‘ D. ’‘
14.若有代數(shù)式3ae/bc,則不正確的c語言表達式是( )
A.a/b/c*e*3 B.3*a*e/b/c C.3*a*e/b*c D.a*e/c/c*3
15.在C語言中,要求運算數(shù)必須是整型的運算符是( )
A./ B.++ C.!= D.%
16.若有說明語句:char c=‘\72’;則變量c ( )
A.包含1個字符 B.包含2個字符
C.包含3個字符 D.說明不合法,c值不確定
17.sizeof (float)是( )
A.一個雙精度型表達式 B.一個整型表達式
C.一種函數(shù)調(diào)用 D 一個不合法的表達式
18.設(shè)變量a 是整型,f是實型,i是雙精度型,則表達式10+‘a(chǎn)’+i*f值的數(shù)據(jù)類型是( )
A.int B.folat C.double D.不確定
19.若有定義int a[10],*p=a;,則p+5表示( )
A.元素a[5]的地址 B.元素a[5]的值
C.元素a[6]的地址 D.元素a[6]的值
20.以下與int *q[5];等價的定義語句是( )
A.int q[5]; B.int * q C.int (q[5]) D.int (*q)[5]
21.若有定義int a[5],*p=a;則對a數(shù)組元素地址的正確引用是( )
A.P+5 B.*a+1 C.&a+1 D &a[0]
22.凡是函數(shù)中未指定存儲類別的局部變量,其隱含的存儲類別是( )
A.auto B.static C.extern D.register
23.若用數(shù)組名作為函數(shù)調(diào)用的實參,傳遞給形參的是( )
A.數(shù)組的首地址 B.數(shù)組第一個元素的值
C.數(shù)組中全部元素的值 D .數(shù)組元素的個數(shù)
24.C語言允許函數(shù)值類型缺省定義,此時該函數(shù)值隱含的類型是( )
A.float B.int C.long D.double
25.以下對二維數(shù)組a的正確說明是( )
A.int a[3][] B.float a(3,4)
C.double a[1][4] D.float a(3)(4)
26.若有說明int a[3][4];則對a數(shù)組元素的正確引用是(A )
A.a[2][4] B.a[1,3] C.a[1+1][0] D.a(2)(2)
26.語句while(!E);中的表達式!E等價于( )
A.E= =0 B.E!=1 C.E!=0 D.E= =1
27.C語言中while和do—while循環(huán)的主要區(qū)別是( )
A. do—while的循環(huán)體至少無條件執(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ù)合語句
28.為了避免在嵌套的條件語句if—else中產(chǎn)生二義性,C語言規(guī)定:else子句總與( )配對
A.縮排位置相同的if B.其之前最近的if
C.其之后最近的if D.同一行上的if
29.判斷char型變量ch是否為大寫字母的正確表達式是( )
A.‘A’<=ch<=‘Z’ B.(ch>=‘A’)&(ch<=‘Z’)
C.(ch>=‘A’)&&(ch<=‘Z’ D.(‘A’<=ch)AND (‘Z’>=ch)
30.以下能正確定義整型變量a、b、c并為其賦初值5的語句是( )
A.int a=b=c=5; B.int a,c, c=5;
C.a=5,b=5,c=5; D.a=b=c=5;
二、填空(20分,每空1分)
1.C語言中的實型變量分為兩種類型,它們是( )和( )。
2.C語言中的標(biāo)識符只能由三種字符組成,它們是( )、( )和( )。
3.若有定義:char c=‘\010’;則變量c中包含的字符個數(shù)是( )。
4.C語言提供的三種邏輯運算符是( )、( )、( )。
5.設(shè)y為int型變量,請寫出描述“y是奇數(shù)”的表達式( )。
6.設(shè)x,y,z均為int型變量,請寫出描述“x或y中有一個小于z”的表達式( )。
7.在C語言中,二維數(shù)組元素在內(nèi)存中的存放順序是( )。
8.若有定義:double x[3][5];則x數(shù)組中行下標(biāo)的下限為( ),列小標(biāo)的上限為( )。
9.若有定義:int a[3][4]={{1,2},{0},{4,6,8,10}};則初始化后,a[1][2]得到的初值是( ),a[2][2]得到的初值是( )。
10.若自定義函數(shù)要求返回一個值,則應(yīng)在該函數(shù)體中有一條( )語句,若自定義函數(shù)要求不返回一個值,則應(yīng)在該函數(shù)說明時加一個類型說明符( )。
11.函數(shù)中的形參和調(diào)用時的實參都是數(shù)組名時,傳遞方式為( ),都是變量時,傳遞方式為( )。
三、讀程序(30分)
1. main()
{int a=2,b=3,c;
c=a;
if (a>b) c=1;
else if (a= =b) c=0;
else c=-1;
printf (“%d\n”,c);} 運行結(jié)果:
2.main()
{int a=2,b=7,c=5;
switch (a>0)
{ case 1: swithch (b<0)
{case 1:printf(“@”);break;
case 2:printf(“!”);break;
}
case 0: switch (c= =5)
{ case 0:printf(“*”);break;
case 1:printf(“#”),break;
default:printf(“#”);break;
}
default:printf(“&”); 運行結(jié)果:
} printf (“\n”);
}
3.#include
main()
{ int i;
for (i=1;i<=5;i++)
switch (i%5)
{ case 0:printf(“*”);break;
case 1:printf(“#”);break;
default:printf(“\n”);
case 2:printf (“&”); 運行結(jié)果:
}
}
4.main()
{ int i,b,k=0;
for (i=1;i<=5;i++)
{b=i%2;
while (b——>=0) k++;
} 運行結(jié)果:
printf (“%d,%d”,k,b);
}
5.#include
main()
{ char ch[7]={“12ab56”};
int i,s=0;
for (i=0;ch[i]>=‘0’&&ch[i]<=‘9’;i+=2)
s=s*10+ch[i]-‘0’; 運行結(jié)果:
printf (“%d\n”,s);
}
6. main()
{ int a=2,i;
for (i=0;i<3;i++)
printf (“%4d”,f(a));
}
f(int a)
{ int b=0;static int c=3;
b++;c++;
運行結(jié)果:
return(a+b+c);
}
四、編寫程序(20分)
1.從鍵盤輸入的10個整數(shù)中,找出第一個能被7整除的數(shù)。若找到,打印此數(shù)后退出循環(huán);若未找到,打印“not exist”。
2.已有變量定義和函數(shù)調(diào)用語句:int x=57;isprime(x);函數(shù)isprime()用來判斷一個整數(shù)a是否是素數(shù),若是素數(shù),函數(shù)返回1,否則返回0.請編寫isprime函數(shù)。
insprime( int a)
{……}; {……}