计算机编程基础.docx
《计算机编程基础.docx》由会员分享,可在线阅读,更多相关《计算机编程基础.docx(50页珍藏版)》请在冰豆网上搜索。
计算机编程基础
计算机编程基础
1.C语言源程序中主函数名是()[单选题]*
A.master
B.leading
C.main(正确答案)
D.major
2.下列程序的运行结果是()
#include
main(){
inti,j,n=0;
for(i=0;i<5;i++)
{j=i%2;
do{
n++;
}while(j--);
}
printf("%d,%d,%d",i,j,n);
}[单选题]*
A.4,0,7
B.5,-1,7(正确答案)
C.4,0,5
D.5,-1,5
3.下列程序运行结果为()
#include
main(){
inti,j,k;
for(i=100,k=0;k<3;i--)
{
for(j=2;j
if(i%j==0)
break;
if(j>=i)
{printf("%d\t",i);
k++;}
}
}[单选题]*
A.978983(正确答案)
B.999795
C.979593
D.998979
4.此程序的主要功能是求()
for(n=100;n<1000;n++)
{
hun=n/100;
ten=(n-hun*100)/10;
ind=n%10;
if(n==hun*hun*hun+ten*ten*ten+ind*ind*ind)
printf("%d",n);
}[单选题]*
A.素数
B.阿姆斯特朗数
C.最小公倍数
D.水仙花数(正确答案)
5.由键盘输入一个待查的整数n,若n存在,则输出它在数组中的第一次出现的位置,否则给出没找到信息。
则_____应填写的内容是()
#include
#defineN10
voidmain(){
inti,n;
inta[10]={25,2,67,34,65,86,56,78,24,34};
scanf("%d",&n);
i=0;
while(a[i]!
=n&&)
i=i+1;
if(i==10)
printf("%dnotfound!
",n);
else
printf("%dinposition%d\n",n,i);
}[单选题]*
A.i<=10
B.i<10(正确答案)
C.i!
=10
D.i>10
6.现有100元人民币换成5元,1元,0.5元,但要求100元换以上的零钱共100张,且要求每种不少于1张,主要程序段中横线中应该填()
for(i=1;i<=20;i++)
for(j=1;j<=100;j++)
{k=100-i-j;
if()
printf("%d,%d,%d\n",i,j,k);
}[单选题]*
A.i+j+k*0.5==100
B.i+j+k==100
C.5*i+j+k*0.5==100(正确答案)
D.5*i+j+k==100
7.char型数据占内存空间是()位。
[单选题]*
A.8(正确答案)
B.16
C.32
D.64
8.下列文件名不是C语言中常用的头文件的是()[单选题]*
A.stdio.h
B.math.h
C.file.h(正确答案)
D.string.h
9.若有定义:
intm=7,n=4;floata=38.4,b=0.4;则表达式m/2+n*a/b+1/2的值是()[单选题]*
A.22
B.27
C.28
D.387(正确答案)
10.下列C语言中引用头文件的命令行正确的是()[单选题]*
A.#include
B.#includestdio.h
C.#include'stdio.h'
D.#include"stdio.h"(正确答案)
11.对一维整型数组a的正确定义是()[单选题]*
A.inta(10);
B.intn=10,a[n];
C.inta;scanf("%d",&n); inta[n];
D.#define SIZE 10int a[SIZE];(正确答案)
12.若有inta=4,则执行表达式a+=a-=a*a后,a的值是()[单选题]*
A.6
B.-8
C.18
D.-24(正确答案)
13.#include
main() {
charc1='B',c2='h';
switch(c1)
{
case'A':
c2++;
case'B':
switch(c2)
{
case'a':
printf(“%”);
default:
printf(“!
”);
case99:
printf(“%d”,--c2);
}
case'C':
switch(c2)
{
case'g':
printf(“*”);
case'h':
printf(“?
”);
}
break;default:
printf(“&”);
}
}( )[单选题]*
A.!
*?
&
B.*!
?
C.!
103*?
(正确答案)
D.&!
&
14.main(){
charch='A';
intk=0;
do{
switch(ch++)
{case'A':
k++;break;
case'B':
k++;
case'C':
k++;continue;
case'D':
k++;}}while(k<3);
printf("k=%d,ch=%c\n",k,ch);}
运行结果是( )。
[单选题]*
A.k=3,ch=C(正确答案)
B.k=4,ch=C
C.k=3,ch=D
D.k=4,ch=D
15.下列4段程序,哪个输出的结果与其他3段代码不一样()[单选题]*
A.s=0;i=0;while(i
B.s=0;i=1;while(i++(正确答案)
C.s=0;i=0;while(i
D.s=0;i=0;while(++i
16.下面程序运行结果是()
#include
intmain(){
inti=0,a[]={1,2,3,4,5};
do{
a[i]+=10;
}while(a[++i]>2);
for(i=0;i<5;i++)
printf("%3d",a[i]);}[单选题]*
A.112345(正确答案)
B.12345
C.1112131415
D.1112345
17.以下程序运行后输出的结果是()
#include
intmain(){
inta;a=(int)((double)(3/2)+0.5+(int)1.99*2);
printf("%d",a);}[单选题]*
A.3(正确答案)
B.4
C.5
D.6
18.以下4个选项中,不能看做一条语句的是()[单选题]*
A.{;}
B.a=0,b=1,c=2;
C.if(i
D.if(a>0)i++;j++;(正确答案)
19.数组定义为inta[3][2]={1,2,3,4,5,6},值为6的数组元素是()[单选题]*
A.a[3][2]
B.a[2][1](正确答案)
C.a[1][2]
D.a[2][3]
20.下列程序的运行结果是:
()
#include
intmain(){
inti,a[10]={1,2,3,4,5,6,7,8,9,10};
for(i=0;i<10;i++)
if(a[i]%2)
printf("%3d",a[i]);
return0;}[单选题]*
A.13579(正确答案)
B.246810
C.12345
D.678910
21.有这样一段程序:
inta=2,b=3,t=0;if(a>b)t=a;a=b;b=t;程序运行后a,b的值分别为多少()[单选题]*
A.23
B.32
C.33
D.30(正确答案)
22.下列格式符中,哪一个可以用于以八进制形式输入整数()。
[单选题]*
A.%8d
B.%o(正确答案)
C.%d
D.%ld
23.下列程序的运行结果是()
#include
main() {
inti,j;i=1;
do{
for(j=1;j<4-i;j++)
printf(“”);
for(j=3-i;j<5;j++)
printf(“*”);
printf(“\n”);i++;
}while(i<=3);
}[单选题]*
A.************(正确答案)
B.*********
C.************•
D.***************
24.下面正确的字符常量是()[单选题]*
A.“C”
B.“?
”
C.‘'
D.‘a'(正确答案)
25.C语言程序从()开始执行[单选题]*
A.程序中的main函数(正确答案)
B.包含文件中的第一个函数
C.程序中第一个函数
D.程序中第一条可执行语句
26.从循环体内某一层跳出,继续执行循环外的语句是:
()。
[单选题]*
A.break语句(正确答案)
B.return语句
C.continue语句
D.空语句
27.下列程序的运行结果是()
#include
main() {
inti,j,k=6;
for(i=1;i<=4;i++)
{
k++;
for(j=0;j<3;j++)
k++;
k++;}
printf(“%d”,k);
}[单选题]*
A.20
B.22
C.24
D.26(正确答案)
28.输入一个实数,对其进行分半,一直到小于0.001为止,输出分半的次数()
#include
main(){
inti=0;
floatn;
scanf("%f",&n);
while()
{
n=n/2;i++;
}
printf("%d",i);
}[单选题]*
A.n>=0.001(正确答案)
B.n<0.001
C.n<=0.001
D.n!
=0.001
29.以下程序的运行结果是()
#include
main() {
inta;
if(a=6)
printf(“%d”,a);
elseif(a>6)
printf(“%d”,a+2);
else
printf(“%d”,a+3);
}[单选题]*
A.5
B.6(正确答案)
C.7
D.出错
30.下面程序的运行结果是()。
main(){
inti,j,a=0;
for(i=0;i<2;i++)
{for(j=0;j<4;j++)
{if(j%2)
break;
a++;}
a++;}
printf(“%d\n”,a);
}[单选题]*
A.4(正确答案)
B.5
C.6
D.7
31.以下能对数组a进行正确初始化的语句是()[单选题]*
A.inta[5]=(1,2,3,4,5);
B.inta[5]=[0];
C.inta[5]={1,2,3,4,5,6};
D.inta[]={0};(正确答案)
32.已知inta=12,b=3,则表达式a=b+2的值是()[单选题]*
A.14
B.15
C.5(正确答案)
D.17
33.C语言源程序的扩展名是()[单选题]*
A..exe
B..obj
C..c(正确答案)
D..doc
34.以下不能定义为用户标识符的是()[单选题]*
A.a12b
B.Vi_d
C._c4be
D.int(正确答案)
35.有以下定义:
intk=7,x=12;则执行完x%=k%4;语句后x的值为()[单选题]*
A.0(正确答案)
B.1
C.3
D.5
36.a数组中是一组升序的数,现由键盘输入一个待查的整数x,用二分法查找,若x存在输出其所在的位置,否则给出没找到信息。
请将程序填充完整。
()
#include
#defineN10
voidmain(){
inti,x,low,high,mid;
inta[N]={25,28,37,44,65,76,79,83,85,92};
scanf("%d",&n);
low=0;
high=N-1;
scanf("%d",&x);
while(low<=high){
mid=(low+high)/2;
if(xhigh=mid-1;
if(x>a[mid])
low=mid+1;
if(x==a[mid])_________;}
if(low<=high)
printf("found,%dinposition%d\n",x,mid);
else
printf("%dnofound\n",x);
}[单选题]*
A.mid++
B.mid--
C.break(正确答案)
D.continue
37.下列程序运行结果为()。
main(){
ntx=0,y=2,z=2;
switch(x){
case0:
switch(y==2)
{case1:
printf("*");break;
case2:
printf("%%");break;}
case1:
switch(z)
{case1:
printf("$");break;
default:
printf("!
");break;
case2:
printf("*");}}}[单选题]*
A.%!
B.%%!
C.**(正确答案)
D.*!
*
38.下列哪个是赋值运算符()[单选题]*
A.==
B.!
=
C.=!
D.=(正确答案)
39.设x和y均为int型变量,则执行以下的循环后,y的值为()。
for(y=1,x=1;y<=50;y++){
if(x>=0)break;
if(x%2==1)
{x+=5;
continue;}
x-=3;}[单选题]*
A.1(正确答案)
B.50
C.51
D.52
40.当#include后面的头文件用""双撇号括起来时,寻找包含文件的方式是()[单选题]*
A.只在当前目录中搜索
B.直接按系统设定的方式搜索
C.先在当前目录中搜索,再按系统设定的方式搜索(正确答案)
D.先按系统设定的方式搜索,再在当前目录中搜索
41.下列程序运行结果为()
#include
main(){
charstr[]="SSWLIA",c;
intk;
for(k=2;(c=str[k])!
='\0';k++)
{switch(c)
{case'I':
++k;break;
default:
putchar(c);continue;
case'L':
putchar(c);}putchar('*');}}[单选题]*
A.W*A
B.WL*
C.WL*A(正确答案)
D.WLA
42.下列程序的运行结果是()
voidmain(){
char b[]="Hello,job";
b[5]=0;
puts(b);}[单选题]*
A.Hello,job
B.Hello,
C.Hello(正确答案)
D.job
43.若定义:
inta=2,b=3,c=1;则执行下面程序段后的结果是()
a>
b)
c)
d”,a);[单选题]*
A.31
B.21
C.3
D.1(正确答案)
44.main(){
intc=0,k;
for(k=1;k<3;k++)
switch(k){default:
c+=k;case2:
c++;break;case4:
c+=2;break;}
printf("%d\n",c);}选择( )。
[单选题]*
A.1
B.2
C.3(正确答案)
D.4
45.在C语言中,错误的int类型的常数是()[单选题]*
A.0
B.32768(正确答案)
C.037
D.0xaf
46.C语言中要使用输入输出库函数,需要在源文件中包含的头文件是()[单选题]*
A.stdio.h(正确答案)
B.math.h
C.string.h
D.ctype.h
47.有定义:
intm=4,n=5,k;则________是符合C语言语法的表达式。
()[单选题]*
A.5=n
B.n+2=m
C.m=(n=5)(正确答案)
D.(m+n)*=k
48.有如下逗号表达式语句a=((3,4),(2,1));下面对此语句的判断正确的是()[单选题]*
A.使a的值为1(正确答案)
B.使a的值为2
C.使a的值为3
D.使a的值为4
49.()是构成C语言程序的基本单位[单选题]*
A.函数(正确答案)
B.过程
C.子程序
D.子例程
50.Fibonacci数列第1项值是:
()、1、2、3……[单选题]*
A.0
B.1(正确答案)
C.2
D.3
51.百马百担问题:
在横线处应该填写()
for(x=0;x<=33;x++)//大马的数量for(y=0;y<=50;y++)//中马的数量{__________________//小马的数量
if(3*x+2*y+z/2==100)//判断是否100匹马伏100担货
printf("大马:
%d中马:
%d小马:
%d\n",x,y,z);}[单选题]*
A.z=x
B.z=100-x-y;(正确答案)
C.z=y
D.z=x+y
52.在定义int m[][3]={1,2,3,4,5,6};后,m[1][0]的值是()[单选题]*
A.4(正确答案)
B.1
C.2
D.5
53.下列程序的运行结果是()
#include
voidmain(){
intx1,x2,x3,i;
inta[]={-6,3,0,0,5,-7,2,-8,0,3};
x1=x2=x3=0;
for(i=0;i<10;i++)
if(a[i]>0)x1++;
else
if(a[i]==0)
x2++;
else
x3++;
printf("%d\t%d\t%d\t",x1,x2,x3);}[单选题]*
A.433(正确答案)
B.532
C.631
D.712
54.以下程序的运行结果是()
#include
main() {
intm=-1,n=1,t=-1;
if(t==-1)t=-t;
elsem=n;m=t;
printf(“%d”,m.); }[单选题]*
A.1(正确答案)
B.-1
C.7
D.3
55.以下程序的运行结果是()
#include
main() {
intx=5;
if(x=4)
printf(“T”);
else
printf(“F”); }[单选题]*
A.T(正确答案)
B.F
C.1
D.0
56.扩展名为.exe的文件称为C语言的()[单选题]*
A.用户程序
B.目标程序
C.源程序
D.可执行程序(正确答案)
57.计算a,b之和的平方的C语言表达式语句是()[单选题]*
A.(a+b)2
B.(a+b)(a+b)
C.(a+b)*(a+b)
D.(a+b)*(a+b);(正确答案)
58.以下程序的运行结果是()
#include
main() {
inta=3,b=2;
intk;
k=(--a==b++)?
a:
b+1;
printf(“%d”,k); }[单选题]*
A.0
B.1
C.2(正确答案)
D.3
59.程序中定义charc1,c2;执行c1='A'+4;c2='A'+'8'-'5';后printf("%c,%d\n",c1,c2);输出结果是()[单选题]*
A.D,69
B.E,68(正确答案)
C.E,D
D.D,68
60.下列程序运行结果为()。
#include
main() {
intk=1,m=0;
switch(k){
case1:
switch(++m)
{case0:
k++;
case1:
m++;break;}break;
case2:
k++;m++;break;
case3:
k++;m++;
case4:
k++;m++;}
printf(“k=%d,m=%d”,k,m);}[单选题]*
A.k=1,m=0
B.k=1,m=1
C.k=1,m=2(正确答案)
D.k=2,m=2
61.若inti=10;执行下列程序后,变量i的正确结果是()。
switch(i)
{case9:
i+=1;
case10:
i+=1;
case11:
i+=1;default:
i+=1;}[单选题]*
A.10
B.11
C.12
D.13(正确答案)
62.下列程序运行结果为()。
#include
main() {
intk=1,m=0;
switch(k){case1:
switch(++m)
{case0:
k++;case1:
m++;break;}
case2:
k++;m++;break;
case3:
k++;m++;
case4:
k++;m++;}
printf(“k=%d,m=%d”,k,m);}[单选题]*
A.k=2,m=3(正确答案)
B.k=3,m=4
C.k=1,m=2
D.k=4,m=5
63.将8个两位正整数的数组中下标范围为【3,6】范围内的元素用插入法进行升序排序,并保持其他元素的顺序不变,___处应填入的内容是()
#include
voidmain(){
inti,j,x;inta[8]={34,65,24,76,87,96,43,21};
for(i=0;i<8;i++)