文档介绍:C语言程序设计复习题A
选择题((1)--(20)每个选项1分,(21)--(30)每个选项2分,共40分)
(1)下列不正确的转义字符是
A)'、、' B)'、“ C)'074' D)'、0'"
(2)若有以下定义:
char a;int b;
float c;double d;
则表达式a*bd--c值的类型为
A)float B)int C)char D)double
(3)表示关系x《=y《=z的c语言表达式为
A)(X《=Y)&&(Y《=Z) B)(X《=Y)AND(Y《=Z)
C)(X《=Y《=Z) D)(X《=Y)&(Y《=Z)
(4)设a=1,b=2,c=3,d=4,则表达式:a《b?a:c《d?a:d的结果为
A)4 B)3 C)2 D)1
(5)设x为int型变量,则执行以下语句后,x的值为
x=10;x=x--=x--x;
A)10 B)20 C)40 D)30
(6)下列可作为C语言赋值语句的是
A)x=3,y=5 B)a=b=6 C)i--; D)y=int(x);
(7)设x,y,z,t均为int型变量,则执行以下语句后,t的值为
x=y=z=1;
t=x||y&&z;
A)不定值 B)2 C)1 D)0
(8)设i是int型变量,f是float型变量,用下面的语句给这两个变量输入值:
scanf("i=%d,f=%f",&i,&f);
,则正确的输入为
A) B)i=100,f=
C) D)x=100y=
(9)设x和y均为int型变量,则执行下的循环后,y值为
for(y=1,x=1;y《=50;y)
{if(x=10))break;
if (x%2==1)
{x=5;continue;}
x--=3;
}
A)2 B)4 C)6 D)8
(10)给出以下定义:
char x[]="abcdefg";
char y[]={'a','b','c','d','e','f','g'};
则正确的叙述为
A)数组X和数组Y等价 B)数组x和数组Y的长度相同
C)数组X的长度大于数组Y的长度 D)数组X的长度小于数组Y的长度
(11)以下叙述中不正确的是
A)在不同的函数中可以使用相同名字的变量
B)函数中的形式参数是局部变量
C)在一个函数内定义的变量只在本函数范围内有效
D)在一个函数内的复合语句中定义的变量在本函数范围内有效
(12)假定a和b为int型变量,则执行以下语句后b的值为
a=1;b=10;
do
{b--=a;a;}
while (b--《0);
A)9 B)--2 C)--1 D)8
(13)设j为int型变量,则下面for循环语句的执行结果是
for(j=10;j3;j--)
{if(j%3)j--;
--j;--j;
printf("%d ",j);
}
A)6 3 B)7 4 C)6 2 D)7 3
(14)设有以下宏定义:
#define N 3
#define Y(n)((N1)*n)
则执行语句:z=2 *(NY(51));后,z的值为
A)出错 B)42 C)48 D)54
(15)设P1和P2是指向同一个int型一维数组的指针变量,k为int型变量,则不能正确执行的语句是
A)k=*P1*P2;B)p2=k;C)P1=P2;D)K=*P1 *(*P2);
(16)设有如下定义:
int arr[]={6,7,8,9,10};
int *ptr;
则下列程序段的输出结果为
ptr=arr;
*(ptr2)=2;
printf ("%d,%d、n",*ptr,*(ptr2));
A)8,10 B)6,8 C)7,9 D)6,10
(17)以下程序的输出结果是
main()
{int i,k,a[10],p[3]:
K=5;
for (i=0;i《10;i)a[i]=i;
for (i=0;i《3;i)p[i]=a[i*(i1)];
for (i=0;i《3;i)k=p[i]*2;
printf("%d、n",k);
}
A)20 B)21 C)22 D)23
(18)执行以下程序段后,m的值为
int a[2][3]={{1,2,3},{4,5,6}};
int m,*p;
p=&a[0][0];
m=(*p)*(*(p2))*(*(p4));
A)15 B)14 C)13 D)12
(19)有以下程序段
char arr[]="ABCDE";
char *ptr;
for(ptr=arr;ptr《a