if(y<0)z=0;
elsez=z+1;
printf(“%d\n”,z);
}
A.0B.1C.2D.3
19.以下程序段的输出结果是(B)
inta=10,b=50,c=30;
if(a>b)
a=b;
b=c;
c=a;
printf("a=%2db=%2dc=%2d\n",a,b,c);
A)a=10b=50c=10B)a=10b=30c=10
C)a=50b=30c=10D)a=50b=30c=50
四、循环结构
*1.在C语言中,下列说法中正确的是(D )。
A)do-while语句构成的循环不能用其它语句构成的循环来代替。
B)do-while语句构成的循环只能用break语句退出。
C)do-while语句构成的循环在while后的表达式非零时结束循环。
D)do-while语句构成的循环,在while后的表达式为零时结束循环。
2.break语句不能出现在(D )语句中
A.switchB.forC.whileD.if…else
*3.对于break语句和continue语句的说法错误的是(B)
A)break语句不能用于循环语句和switch语句之外的任何其他语句中。
B)break和continue也可以用于if语句中
C)continue语句只结束本次循环,而不是终止整个循环的执行。
D)break语句是结束整个循环过程,不再判断执行循环的条件是否成立。
4.语句while(!
y);中的表达式!
y等价于A
A)y==0B)y!
=1C)y=!
0D)y==1
5.若有“inta=1,x=1;”,则循环语句“while(a<10)x++;a++;”的循环执行(A )
A.无限次 B.不确定次 C.10次 D.9次
6.有以下程序段
intk=0
while(k)k++;
则while循环体执行的次数是C
A)无限次B)有语法错,不能执行
C)一次也不执行D)执行1次
7.下列循环语句中有语法错误的是(D)
Awhile(x=y)5;Bwhile(0);
Cdo2;while(x==b);Ddox++while(x==10);
9.以下程序段(A)
x=-1;
do{x=x*x;}
while(x>0);
A.是死循环B.循环执行一次C.循环执行二次D.有语法错误
10.下面程序段执行后的结果为:
(B)
intsum=0,n=10;
do{sum=sum+n;
n++;}
while(n<10)
printf(“%d,%d”,sum,n)
A.0,10B.10,11C.0,11D.以上结果都不对
11.对以下程序段的叙述正确的是___A____.
intx=1;
do
{x=-1*x;}
while(!
x)
A)是死循环B)循环执行一次C)循环执行二次D)有语法错误
12.循环“for(i=0,x=1;i=10&&x>0;i++);”的循环执行(A )。
A.无限次 B.不确定次 C.10次 D.9次
13.执行语句{for(j=0;j<=3;j++)a=1;}后变量j的值是C.
A)0B)3C)4D)1
14.有如下程序
main()
{inti,sum=2;
for(i=1;i<=3;i+=2)sum+=i;
printf(“%d\n”,sum);}
该程序的执行结果是A
A)6B)3C)死循环D)4
五数组
1.以下对一维数组a的正确说明是:
D
A)chara(10);B)inta[];
C)intk=5,a[k];D)chara[3]={‘a’,’b’,’c’};
2.以下能对一维数组a进行初始化的语句是:
(C)
A.inta[5]=(0,1,2,3,4,)B.inta(5)={}
C.inta[3]={0,1,2}D.inta{5}={10*1}
3.在C语言中对一维整型数组的正确定义为D。
A)inta(10);B)intn=10,a[n];
C)intn;a[n];D)#defineN10
inta[N];
4、已知:
inta[10];则对a数组元素的正确引用是(D)。
A、a[10]B、a[3.5]C、a(5)D、a[0]
5.执行下面的程序段后,变量k中的值为C
A)不定值B)33C)30D)10
intk=3,s[2];
s[0]=k;k=s[0]*10;
*6.下列说法中错误的是C
A构成数组的所有元素的数据类型必须是相同的
B用指针法引用数组元素允许数组元素的下标越界
C一维数组元素的下标依次是1、2、3……
D定义数组时的长度可以是整型常量表达式
7.若有以下数组说明,则数值最大的和最小的元素下标分别是(B )。
inta[12]={1,2,3,4,5,6,7,8,9,10,11,12};
A.1,12B.0,11C.1,11D.0,12
8.若有以下数组说明,则i=10;a[a[i]]元素数值是(B )。
inta[12]={1,4,7,10,2,5,8,11,3,6,9,12};
A.10B.9C.6D.5
9.假定int类型变量占用两个字节,其有定义:
intx[10]={0,2,4};,则数组x在内存中所占字节数是D
A)3B)6C)10D)20
11.若有说明:
inta[][3]={{1,2,3},{4,5},{6,7}};则数组a的第一维的大小为:
(B)
A.2B.3C.4D.无确定值
12.以下定义语句中,错误的是(D)
A)inta[]={1,2};B)char*a;
C)chars[10]=“test”;D)intn=5,a[n];
13.下面程序段的输出结果是:
(C)
inti;
intx[3][3]={1,2,3,4,5,6,7,8,9};
for(i=0;i<3;i++)
printf("%d",x[i][2-i]);
A)159B)147C)357D)369
14.对二维数组的正确定义是(C )
A.inta[][]={1,2,3,4,5,6};B.inta[2][]={1,2,3,4,5,6};
C.inta[][3]={1,2,3,4,5,6};D.inta[2,3]={1,2,3,4,5,6};
15.已知inta[3][4];则对数组元素引用正确的是__C___
A)a[2][4]B)a[1,3]C)a[2][0]D)a
(2)
(1)
六、函数
1.C语言中函数返回值的类型是由A决定的.
A)函数定义时指定的类型B)return语句中的表达式类型
C)调用该函数时的实参的数据类型D)形参的数据类型
2.在C语言中,函数的数据类型是指(A)
A函数返回值的数据类型B.函数形参的数据类型
C调用该函数时的实参的数据类型D.任意指定的数据类型
A.由系统选择B.单向值传递C.由用户指定传递方式D.地址传递
5.在函数调用时,以下说法正确的是(B )
A.函数调用后必须带回返回值
B.实际参数和形式参数可以同名
C.函数间的数据传递不可以使用全局变量
D.主调函数和被调函数总是在同一个文件里
9.以下叙述中正确的是A
A)构成C程序的基本单位是函数
B)可以在一个函数中定义另一个函数
C)main()函数必须放在其它函数之前
D)所有被调用的函数一定要在调用之前进行定义
10.用数组名作为函数调用时的实参时,传递给形参的是A。
A)数组首