新疆自治区计算机vc题库.docx
《新疆自治区计算机vc题库.docx》由会员分享,可在线阅读,更多相关《新疆自治区计算机vc题库.docx(58页珍藏版)》请在冰豆网上搜索。
![新疆自治区计算机vc题库.docx](https://file1.bdocx.com/fileroot1/2023-7/16/fed28304-0ebd-4cd6-aa05-e0a6ff12c669/fed28304-0ebd-4cd6-aa05-e0a6ff12c6691.gif)
新疆自治区计算机vc题库
一.单项选择题
1.下列说法正确的是(D)。
A.C语言能嵌套定义函数,但不能嵌套调用函数
B.C语言不能嵌套定义函数,也不能嵌套调用函数
C.C语言能嵌套定义函数,也能嵌套调用函数
D.C语言不能嵌套定义函数,但能嵌套调用函数
2.C语言规定函数的类型由(A)
A.在定义函数时所指定的函数类型所决定
B.调用该函数时的主调函数的类型所决定
C.return语句中的表达式类型所决定
D.调用该函数时系统临时决定
3.表达式X和Y的取值同时在(0,+∞)或同时在(-∞,0)的表达式是(C)
A.(X+Y>0)&&(X+Y<=0)
B.(X>=0||Y>=0)&&(X<0||Y<0)
C.X>0&&Y>0||X<0&&Y<0
D.(X>=0&&Y>=0)&&(X<0&&Y<0)
4.下面程序的输出是(A)
#include
voidmain()
{inta[10]={1,2,3,4,5};
printf(“%d\n”,a[6]);}
A.0B.1C.2D.3
5.若有以下程序:
#include
voidmain()
{inta[3][3]={1,2,3,4,5,6,7,8,9},i=0,sum=0;
do
{sum+=a[i][i];
i++;
}while(i<3);
printf(“%d”,sum);}
则运行程序后的输出结果是(A)
A.15B.12C.16D.18
6.执行以下程序后的输出结果是(B)
#include
voidmain()
{inti;
for(i='A';i<'I';i++,i++)
printf("%c",i+32);
printf("\n");}
A.abcdefghiB.aceg
C.acegiD.编译出错,无输出
7.a,b,c,d都为float型,且已正确赋值,则与数学表达式2ab/(5cd)等价的C语言表达式是(A)
A.a/c*b/d*2/5B.a/(5*c*d)/2*b
C.2*a*b/5*c*dD.2/5*a*b*(1/c*d)
8.有如下定义:
inta=3,b=-4;longc=5;floatx;doubley;则下列选项中不符合C语言语法的表达式是(C)
A.a+=a-=a*b B.a%b
C.y=2*x;D.y=(float)c
9.while循环和do-while循环的区别是(C)
A.while循环和do-while循环的循环体都可以不执行
B.while循环的循环体将至少执行一次,do-while循环的循环体可以不执行
C.while循环的循环体可不执行,而do-while循环的循环体将至少执行一次
D.while循环和do-while循环的循环体都将至少执行一次
10.执行语句for(x=4;x-->0;);后,变量x的值是(A)
A.-1B.0C.1D.不确定
11.设intx=12,y=12345;则表达式printf(“x=%4d,y=%4d”,x,y);的结果是(C)
A.x=12,y=1234B.x=12,b=12345C.x=12,y=12345D.x=12,y=2345
12.intx=3,y=4,a=5,b=6;则表达式(a=x)&&(b=y)的值是(B)
A.0B.1C.2D.不确定
13.若有以下程序:
main()
{intx[6]={11,16,17,28,20},*t=x+3;
printf(“%d”,*t-2);}
则程序运行的结果是(D)
A.18B.14C.29D.26
14.下列程序的运行结果是(C)
#include
voidmain()
{intn=9;while(n>6)printf("%d",n--);}
A.9876B.876C.987D.8765
15.下列数组声明中不正确的是(C)
A.chara[4];B.chara[][4]={“aa”,“”};
C.chara[4][];D.chara[5][4];
16.一个C语言程序由若干个函数组成,其中唯一不可缺的函数是(D)
A.库函数 B.scanf函数 C.printf函数 D.main函数
17.下列程序执行的结果是( B )
main()
{inta,b,c;c=(a=3,b=a--);
printf(“%d,%d,%d”,c,a,b);}
A.3,3,3B.3,2,3C.2,3,3D.2,2,3
18.以下关于宏替换的叙述不正确的是(D )
A.宏替换不占用运行时间
B.宏替换只是字符替换,不作语法检查
C.宏名称无类型
D.宏名称必须用大写字母表示
19.已知intt=0;则以下关于while(t=1){...}的说法正确的是( B )
A.循环控制表达式不正确
B.循环控制表达式的值永远为1
C.死循环,永远无法结束
D.一次循环体都不会执行
20.有以下程序:
main()
{intn,s[8];;
for(n=1;n<=8;n++)
s[8-n]=n;
printf(“%d%d%d”,s[2],s[4],s[6]);}
则程序运行后的输出结果是( C )
A.246B.741C.642D.147
21.若有staticchars[10]=“abcdefg”;则数组s所占的字节数是(B)
A.7B.10C.11D.8
22.下列选项中合法的字符常量是(B)
A.“&”B.‘R’C.“ABC”D.“\n”
23.带参数的宏定义中,程序中引用宏定义的实参(D)
A.只能是常量B.只能是整型量C.只能是整形表达式D.可以是任意表达式
24.凡是函数中未指定存储类别的局部变量,其隐含的存储类别是(A)
A.autoB.staticC.externD.register
25.以下各种标识符中不正确的是(C )
A._A_ B.integerC.forD.aAaA
26.下列表达式中非法的是( A )
已知floata=5;intb=4;
A.a%3+b B.b*b&&a||b
C.(a>b)+(int)b%2 D.--b+a
27.下列运算符中优先级别最高的是( B )
A.<= B.% C.|| D.+
28.以下说法不正确的是( A )
A.函数返回值的类型与函数定义时的数据类型无关
B.函数的类型定义时不应缺少,即使没有也应定义为void
C.函数的指针是指函数的入口地址
D.被调用函数可以用return语句返回主调函数
29.若有以下定义,则p+5表示(A )
inta[10],*p=a;
A.元素a[5]的地址 B.元素a[5]的值
C.元素a[6]的地址 D.元素a[6]的值
30.若有如下语句,则下面正确的描述是(C)
charx[]=“12345”;
chary[]={‘1’,’2’,’3’,’4’,’5’};
A.数组x和数组y的长度相同B.数组x等价于数组y
C.数组x的长度大于y数组的长度D.数组X的长度小于数组y的长度
31.下列循环的循环体执行次数为(D)
inti=0,j=10;
for(;i=j=10;i++,j--)
A.0B.1C.10D.无限次
32.scanf()函数的正确调用形式是(D )
A.scanf(格式控制串,输出项列表)
B.scanf(格式控制串,输出项地址列表)
C.scanf(格式控制串,输入项列表)
D.scanf(格式控制串,输入地址项列表)
33.下列说法正确的是(B)
A.C语言的主函数不允许有参数
B.C语言的主函数可以无参数
C.C语言的主函数最多允许有一个参数
D.C语言的主函数允许有任意参数
34.inti=5,k;表达式k=2*‘B’-‘A’-‘C’+i的值是(A)
A.5B.6C.7D.8
35.若有以下定义和语句,
charsl[]=“12344”,s2[]=“1234”;
则函数strcmp(sl,s2)的值是(A)
A.大于0B.小于0C.等于0D.等于1
36.字符串“\''yes\''or\''no\''\n”在内存中所占的字节数是(C)
A.12B.13C.17D.18
37.else语句中描述正确的是(B)
A.有if必有else
B.不可以单独使用
C.必须与就近未成对的if语句配对使用
D.必须使用缩进格式表示
38.选出表达式结果为假的一项(B)
A.1<4&&5>=4B.(2>5==5)C.(3<=3)&&(2<5)D.!
(4<=8)||(3<=7)
39.以下叙述中不正确的是(D)
A.在不同的函数中可以使用相同名字的变量
B.在一个函数内定义的变量只在本函数内有效
C.函数中的形式参数是局部变量
D.在一个函数内的复合语句中定义的变量在本函数范围内有效
40.C语言中for(表达式1;表达式2;表达式3){循环体}语句中,说法正确的是(A)
A.表达式2可以省略B.表达式1不能省略
C.表达式中的分隔符号‘;’可以省略
D.表达式2不能省略,否则是死循环
41.函数调用strcat(strcpy(str1,str2),str3)的功能是(B)
A.将串str1复制到str2中,再连接到串str3后
B.将串str2复制到str1中,再将串str3连接到串str1后
C.将串str1复制到str2中,再复制到串str3中
D.将串str2连接到串str1中,再将串str1复制到串str3中
42.表达式(!
'1'||'I')+5的值是(C)
A.不确定B.5C.6D.7
43.若有int*p,a[10];p=a;,则以下不正确的表示是(B)
A.p=a+1B.a++C.*(a+1)D.p++
44.下列常数中(A)是不合法的C常量。
A.12e1.5B.3e5C.1.3e-5D.12E2
45.若有以下定义,则p[3]表示(B)
inta[10],*p=a+2;
A.元素a[5]的地址B.元素a[5]的值
C.元素a[6]的地址D.元素a[6]的值
46.已知inta,b;则以下表达式不合法的是(C)
A.3%aB.a+=bC.++3+a+bD.047.已知inta,b;下列switch语句中正确的是(B)
A.switch(a)
{casea:
a++;break;
caseb:
b++;break;}
B.switch(a+b)
{case1:
a+b;break;
case2:
a-b;break;}
C.switch(a*a)
{case1,2:
++a;
case3,4:
--b;}
D.switch(a/0.5+b)
{case5-a:
a/5;break;
default:
a+b;}
48.在C语言当中,以下对函数的描述不正确的是(D)
A.当用数组名作形参时,形参数组改变可使实参数随之改变
B.允许函数递归调用
C.函数形参的作用范围只是局限于所定义的函数范围内
D.函数声明必须在主调函数之前
49.以下所列的各函数首部中,正确的是(B)
A.voidplay(var:
Integer,varb:
Integer)
B.voidplay(inta,intb)
C.voidplay(inta,b)
D.voidplay(aasinteger,basinteger)
50.若x为unsignedint型变量,则执行以下语句后的x值是(D)
x=65535;
x=(int)x;
A.65535B.-32768C.1D.-1
51.以下程序的输出结果是(D)
main()
{inta=4,b=5,c=6;
if(a
if(b<0)c=0;
else
c++;
printf(“%d\n”,c);}
A.6B.0C.不确定D.7
52.以下程序执行后sum的值是(C)
main()
{inti,sum;
for(i=1;i<6;i++)sum+=i;
printf(“%d\n”,sum);}
A.15B.14C.不确定D.0
53以下各语句或语句组中,正确的操作是(B)
A.chars[5]=”a,b,c,d,e”;
B.char*s;s=”abcde”;
C.char*s;getchar(s);
D.chars[5];scanf(“%s”,&s);
54.函数原型的声明语句中,不需要的是(D )
A.函数类型 B.参数个数 C.函数名 D.函数体
55.以下程序的输出结果是(B )
#include
voidmain()
{inta=5,b=4,c=6,d;
printf(“%d\n”,d=a
(aa:
c):
(bb:
c));}
A.5B.4C.6D.不确定
56.以下程序的输出结果是(C)
#include
voidmain()
{inta=1,b=2,c=3;
printf(“%d”,c>b>a);}
A.2B.1C.0D.3
57.下列数据中不合法的十六进制整常量是(C)
A.0XABB.0xafC.0fxD.0x42
58.若有宏定义如下
#defineX5
#defineYX+1
#defineZY*X/2
则执行以下printf语句后,输出结果是(A)
printf("%d\n",Z);
A.7B.15C.13D.7.5
59.以下不正确的描述(A)
A在主函数之外定义的变量称为全局变量
B在一个函数中即可以使用本函数中的局部变量,又可以使用全局变量
C外部变量定义和外部变量说明含义不同
D在同一源文件中,全局变量与局部变量同名,则在局部变量范围内,全局变量不起作用
60.若a,b为int型变量则执行以下语句后,a的值为(C)
a=1;b=10;
do{
b-=a;
a++;
}while(b-->0);
A.7B.6C.5D.4
61以下程序的输出结果是(D)
#include
main()
{inta=7;floatx=2.5,y=4.7;
printf("%g",x-a%3*(int)(x+y)%2/4);}
A.0B.2.75C.2D.2.5
62.设有以下说明语句,则下面的叙述不正确的是(B)
structex{
intx;floaty;charz;
}example;
A.struct是结构类型的关键字C.x,y,z都是结构成员名
B.example是结构体类型名D.structex是结构体类型
63.以下运算符优先级最高的为(C)
A.&&B.+C.–>D.!
=
64.若有定义:
inta=8,b=5,c;执行语句c=a/b+0.4后,c的值为(B)
A.1.4B.1C.2.0D.2
65.对以下程序段,while循环执行的次数为(A)
intk=0;
while(k=1)k++;
A无限次B有语法错不能执行C一次也不执行D执行1次
66.一维数组名作为函数参数时,以下不正确的描述为(D)
A.调用函数时,实参可以是地址表达式
B.调用函数时,实参可以不是数组名
C.调用函数时,实参数组与形参数组共用内存单元
D.调用函数时,将为形参数组分配内存单元
67.关于语句:
chara[]={'A','B','C','D'},b[]="ABCD",下面说法正确的是(B)
A 数组a与数组b占用的内存空间都是4字节
B 数组b占用内存空间为5字节
C 数组a的字符串长度为4
D 数组a占用内存空间为5字节
68以下正确的叙述是(C)
A.在C语言中,main函数必须位于文件开头
B.C程序每行只能写一条语句
C.C语言本身没有输入,输出语句
D.对一个C程序进行编译处理时,可检查宏定义的语法错误
69关于C语言文件叙述错误的是{A}
A.C语言文件由记录组成B.C语言中对文件的存取以字节为单位
B.C语言文件是流式文件D.C语言对文件的读写是由库函数实现的
70下面标识符中,不合法的用户标识符为(A)
A.forB.E2C.a3ABD._a
71能够完全整型变量a与b的值互换的程序是(B)
A.t=a;b=a;t=b;B.t=a;a=b;b=t;C.b=a;a=b;D.t=a;a=b;b=a;
72设a、b、c、d、m、n均为int型变量,且a=5;b=6;c=7;d=8;m=2;n=2;则逻辑表达式(m=a>b)&&(n=c>d)运算后,n的值为(C)
A.0B.1C.2D.3
73有以下程序
main()
{inti;
for(i=0;i<3;i++)
swtich(i)
{case1:
prinf("%d",i);
case2:
prinf("%d",i);
default:
printf("%d",i);}
}
执行后输出的结果是(A)
A.011122B.012C.012020D.120
74有关预处理命令#defineN10,以下叙述正确的是(C)
A.N在程序运行时可以被改变C.N没有值和类型的含义
B.N是个整型变量D.N是个标识符,称为宏体
75以下程序段的输出结果是(C)
intx=3;
do
{printf("%3d",x-=2);
}while(!
(--x));
A.1B.30C.1-2D.死循环
76以下叙述正确的是(B)
A全局变量的作用域一定比局部变量的作用域范围大
B静态(static)类别变量的生存期贯穿于整个程序的运行期间
C函数的形参都属于全局变量
D未在定义语句中赋初值的auto变量和static变量的初值都是随机值
77在一个C语言程序中(B)
Amain函数必须出现在所有函数之前Cmain函数必须出现在所有函数之后
Bmain函数可以在任何地方出现Dmain函数必须出现在固定位置
78以下能正确定义数组并正确赋初值的语句是(D)
A.intN=5,b[N][N];C.intc[2][]={{1,2},{3,4}};
B.inta[0][2]={{1},{3}};D.intd[3][2]={{1,2},{3,4}};
79假定x和y为double型,则表达式x=2,y=x+3/2的值是(D)
A.3.500000B.3C.2.000000D.3.000000
80有如下函数调用语句func(rec1,rec2+rec3,(rec4,rec5));该函数调用语句中,含有的实参个数是(A)
A.3B.4C.5D有语法错误
81与y=(x!
=0?
1:
-1);功能相同的if语句是(B)
A.if(x<>0)y=1;elsey=-1;B.if(x)y=1;elsey=-1;
C.if(x)y=-1;elsey=1;D.if(x>=0)y=1;
82下列运算符结合方向是右结合的是(D)
A.+B.&&C.>=D.?
:
83以下语句中不正确的是(A)
A.chars[10];s="test";C.chars[20]="test"
C.chars[]={'t','e','s','t'};D.char*s="test\n";
84当调用函数时,实参是一个数组名,则向函数传送的是(C)
A数组的长度B数组每一个元素的地址
C数组的首地址D数组的每个元素中的值
85以下程序的输出结果是(D)
#defineM(x,y,z)x*y+z
main()
{inta=1,b=2,c=3;
printf("%d\n",M(a+b,b+c,c+a);}
A.19B.17C.15D.12
86合法的赋值语句是(D)
A.x=y=100B.d--;C.x+y;D.c=(int)(a+b);
87只有当整数x为奇数时,表达式为逻辑“真”的是(B)
A.x%2==0B.!
(x%2==0)C.(x-x/2*2)==0D.!
(x%2)
88函数fun(floatx)的函数类型是(A)
A.intB.voidC.floatD.不确定
89下列程序段的输出结果是(A)
for(a=1;a<=10,a++)
if(a%3==1)break;
printf("%d\n",a);
A.1B.2C.3D.4
90关于下列语句描述正确的是(B)
union
{unsignedintn;
unsignedcharc;}u1;
A.u1是共用体类型名C.u1是结构类型名
B.u1是共同体变量名D.u1占用内存空间3字节
91.关于语句FILE*fp;描述错误的是(C)
A.fp是一个指向FILE类型的指针变量C.fp指向与它相关文件的地址
B.通过fp可以实现对与它相关文件的访问D.函数fclose(fp)可关闭fp指针指向的文件
92.设有intx,y;正确的输入语句是(C)
A.scanf(%d%d”,x,y);C.scanf(“%d,%d”,&x,&y);
B.scanf(“x=%f,y=%f”,&x,&y);D.scanf(“x=%d,y=%d”,x,y);
93.如下程序段的输出结果为(B)
intx=5,y=4,z=4;
x=y==z;printf(“%d”,x);
A.0B.1C.4D.5
94.下列关于数组说法错误的是(D)
A.引用数组元素时下标从0开始C.同一数组的所有元素是同一类型
B.数组名表示数组首元素的起始地址D.intn=10,a[n];
95.数学表达式︱x|/2