B)do-while循环由do开始,用while结束,在while(表达式)后面不能写分号
C)在do-while循环体中,是先执行一次循环,再进行判断
D)do-while循环中,根据情况可以省略while
(27)以下函数返回a所指数组中最小的值所在的下标值
fun(int *a, int n)
{ int i,j=0,p;
p=j;
for(i=j;i《n;i++)
if(a[i]《a[p])________;
return(p);}
在下划线处应填入的是
A)i=p
B)a[p]=a[i]
C)p=j
D)p=I
(28)以下叙述正确的是
A)函数可以嵌套定义但不能嵌套调用
B)函数既可以嵌套调用也可以嵌套定义
C)函数既不可以嵌套定义也不可以嵌套调用
D)函数可以嵌套调用但不可以嵌套定义
(29)若有说明语句
char a[]=“It is mine”;
char *p=“It is mine”;
则以下不正确的叙述是
A)a+1表示的是字符t的地址
B)p指向另外的字符串时,字符串的长度不受限制
C)p变量中存放的地址值可以改变
D)a中只能存放10个字符
(30)以下程序的运行结果是
sub(int x,int y,int *z)
{*z=y-x;}
main()
{ int a,b,c;
sub(10,5,&a);
sub(7,a,&b);
sub(a,b,&c);
printf(“%4d,%4d,%4d\n”,a,b,c);}
A)5,2,3
B)-5,-12,-7
C)-5,-12,-17
D)5,-2,-7
(31)若二维数组a有m列,则计算任一元素a[i][j]在数组中相对位置的公式为 (假设a[0][0]位于数组的第一个位置上)
A)i*m+j
B)j*m+i
C)i*m+j-1
D)i*m+j+1
(32)下列说法正确的是
int i,x;
for(i=0,x=0;i《=9 &&x!=876;i++)scanf(“%d”,x);
A)最多的执行10次
B)最多执行9次
C)是无限循环
D)循环体一次也不执行
(33)若有下面的程序片段:
int[12]={0},*p[3],**pp,i;
for(i=0;i《3;i)
p[i]=&a[i*4];
pp=p;
则对数组元素的错误引用是
A)pp[0][1]
B)a[10]
C)p[3][1]
D)*(*(p+2)+2)
(34)若有说明:int a[3][4]={0};则下面正确的叙述是
A)只有元素a[0][0]可得到初值0
B)此说明语句不正确
C)数组a中各元素都可得到初值,但其值不一定为0
D)数组a中每个元素均可得到初值0
(35)对下面程序描述正确的一项是 (每行程序前面的数字表示行号)
1 main()
2 {
3 float a[3]={0.0};
4 int i;
5 for(i=0;i《3;i++)scanf(“%d”,&a[i]);
6 for(i=1;i《3;i++)a[0]=a[0]+a[i];
7 printf(“%f\n”,a[0]);
8 }
A)没有错误
B)第3行有错误
C)第5行有错误
D)第7行有错误
(36)以下不正确的说法是
C语言规定:
A)实参可以是常量,变量或表达式
B)形参可以是常量,变量或表达式
C)实参可以为任何类型
D)形参应与其对应的实参类型一致
(37)已有如下数组定义和f函数调用语句,则在f函数的说明中,对形参数组array的正确定义方式为
int a[3][4];
f(a);
A)f(array[3][4])
B)f(int array[3][])
C)f(int array[][4])
D)f(int array[][])
(38)下面程序的输出结果为
main()
{ int a,b;b=(a=3*5,a*4,a*5);
printf(“%d”,b);}
A)60
B)75
C)65
D)无确定值
(39)在位运算中,操作数右移一位,其结果相当于
A)操作数乘以2
B)操作数除以2
C)操作数乘以4
D)操作数除以4
(40)有以下结构体说明和变量的定义,且指针p指向变量a,指针q指向变量b。则不能把结点b连接到结点a之后的语句是
struct node
{ char data;
struct node *next;
} a,b,*p=&a,*q=&b;
A)a.next=q;
B)p.next=&b;
C)p-》next=&b;
D)(*p).next=q;
(41)下面程序的输出结果是
struct st
{ int x;
int *y;
} *p;
int dt[4]={10,20,30,40};
struct st aa[4]={50,&dt[0],60,&dt[1],70,&dt[2],80,&dt[3]};
main()
{ p=aa;
printf(“%d\n”,++p-》x);
printf(“%d\n”,(++p)-》x);
printf(“%d\n”,++(*p-》y));}
A)10
20
20
B)50
www.kuaixue5.com
60
21
C)51
60
21
D)60
70
31
(42)下面程序的输出结果是
#include《stdio.h》
#include《string.h》
main()
{char *p1=“abc”,*p2=“ABC”,str[50]= “xyz”;
strcpy(str+2,strcat(p1,p2));
printf(“%s\n”,str);}
A)xyzabcABC
B)zabcABC
C)xyabcABC
D)yzabcABC
(43)以下程序的输出结果是
long fun( int n)
{ long s;
if(n==1||n==2)s=2;
else s=n-fun(n-1);
return s;}
main()
{ printf(“%ld\n”, fun(3)); }
A)1
B)2
C)3
D)4
(44)以下所列的各函数首部中,正确的是
A)void play(var :Integer,var b:Integer)
B)void play(int a,b)
C)void play(int a,int b)
D)Sub play(a as integer,b as integer)
(45)不合法的main函数命令行参数表示形式是
A)main(int a,char *c[])
B)main(int arc,char **arv)
C)main(int argc,char *argv)
- 2017计算机二级考试C语言考前密卷五
- › 2017年计算机二级考试C语言填空模拟试题四
- › 2017年计算机二级考试C语言填空模拟试题三
- › 2017年计算机二级考试C语言填空模拟试题二
- › 2017年计算机二级考试C语言填空模拟试题一
- › 2017年全国计算机二级考试C语言模拟试题一
- › 2017计算机二级考试C语言考前密卷十
- › 2017计算机二级考试C语言考前密卷九
- › 2017计算机二级考试C语言考前密卷八
- › 2017计算机二级考试C语言考前密卷七
- › 2017计算机二级考试C语言考前密卷六
- › 2017计算机二级考试C语言考前密卷五
- › 2017计算机二级考试C语言考前密卷四
- 在百度中搜索相关文章:2017计算机二级考试C语言考前密卷五
- 在谷歌中搜索相关文章:2017计算机二级考试C语言考前密卷五
- 在soso中搜索相关文章:2017计算机二级考试C语言考前密卷五
- 在搜狗中搜索相关文章:2017计算机二级考试C语言考前密卷五