计算机程序设计基础习题册含答案.docx
《计算机程序设计基础习题册含答案.docx》由会员分享,可在线阅读,更多相关《计算机程序设计基础习题册含答案.docx(38页珍藏版)》请在冰豆网上搜索。
计算机程序设计基础习题册含答案
《计算机程序设计基础》
习题册
计算机程序设计基础_基础知识
(一)
班级学号姓名成绩
一、单选题
1.C++源程序文件的默认扩展名为A。
A)cpp B)exe
C)obj D)lik
2.由C++源程序文件编译而成的目标文件的默认扩展名为C。
A)cpp B)exe
C)obj D)lik
3.由C++目标文件连接而成的可执行文件的默认扩展名为B。
A)cpp B)exe
C)obj D)lik
4.编写C++程序一般需经过的几个步骤依次是B。
A)编译、编辑、连接、调试
B)编辑、编译、连接、调试
C)编译、调试、编辑、连接
D)编辑、调试、编辑、连接
5.程序中主函数的名字为A。
A)mainB)MAIN
C)MainD)任意标识符
6.下面四个选项中,均是不合法的用户标识符的选项的是C。
A)Ap_odo
B)floatlao_A
C)b-agotoint
D)_123tempINT
7.下列变量名中合法的是C。
A)B)C)TomB)3a66
C)_6a7bD)$ABC
8.存储以下数据,占用存储字节最多的是D。
A)0B)‘0’
C)“0”D)0.0
9.在C++语言中,字符型数据在内存中的存储形式是D。
A)补码B)反码
C)原码D)ASCII码
10.若有说明语句:
charc=’\072’;则变量cA。
A)包含1个字符
B)包含2个字符
C)包含3个字符
D)说明不合法,变量的值不确定
二、填空题
1.C++头文件和源程序文件的扩展名分别为.h和.cpp。
2.C++语言规定,标识符只能由字母、数字、下划线三种字符组成,而且第一个字符必须是字母或下划线。
3.一条表达式语句必须以__分号_;___作为结束符。
4.用于从键盘上为变量输入值的标准输入流对象是___cin____;用于输出表达式值的标准输出流对象是__cout____。
5.在一个C++程序文件中,若要包含另外一个头文件或程序文件,则应使用以_#include___标识符开始的预处理命令
计算机程序设计基础_基础知识
(二)
班级学号姓名成绩
一、单选题
1.下列哪一个是C++语言中合法的变量C
A)8ZSeB)±A0
C)X0_2D)’x0’
2.已知ch是字符型变量,下面不正确的赋值语句是A
A)ch='a+b'B)ch='\0'
C)ch='7'+'9'D)ch=5+9
3.下列浮点数的表示中不正确的是▁C▁▁
A)223.B)719E22
C)e23D)12e2
4.下列不正确的转义字符是▁C▁▁
A)'\\'B)‘\"’
C)'074'D)'\0'
5.在C语言中,合法的字符常量是▁B▁▁
A)'\084'B)'\x43'
C)'ab'D)"\0"
6.下列变量定义中合法的是▁A▁▁
A)double_a=1.le-1;
B)doubleb=1+5e2.5;
C)doubledo=2e3
D)double2_and=1-e-3;
7.已知ch是字符变量,正确的赋值语句是▁B▁
A)ch=‘123’B)ch=’\xff’
C)ch=’\08’D)ch=”\”
8.若x、i、j和k都是int型变量,则计算表达式x=(i=4,j=15,k=32)后,x的值为▁▁C▁。
A)4B)16
C)32D)52
9.单精度数x=3.0,y=4.0,下列表达式中y的值为9.0的是▁B▁。
A)y/=x*27/4B)y+=x+2.0
C)y-=x+8.0D)y*=x-3.0
10.有整型变量x,单精度变量y=5.5,表达式:
x=(float)(y*3+((int)y%4))执行后,x的值为▁A▁。
A)17B)17.5
C)16.5D)16
二.填空题
1.一个C语言程序一般由若干个函数构成的,程序中至少应包含一个▁▁主函数▁▁。
2.在C语言中,八进制整常量以▁▁0▁▁开头、十六进制整常量以▁▁0x▁▁开头。
3.‘x’在内存中占▁1▁字节,”x”在内存中占▁2▁字节,”/101”在内存中占▁▁5▁。
4.若a是int型变量,且a的初值为6,则计算表达式a+=a-=a*a后a的值为__-60____。
5.设inta=2,b=3;floatx=3.5,y=2.5;表达式(float)(a+b)/2+(int)x%(int)y的值是▁3.5。
6.设intx=1,y=1;表达式(!
x||y--)的值是▁1▁。
7.定义:
inta=10,b=9,c=8;顺序执行语句:
c=(a-=(b-5));c=(a%11)+(b=3);后变量c的值是;变量b的值是3。
8.设有intx=11;则表达式(x++*1/3)的值是3。
计算机程序设计基础_基础知识(三)
班级学号姓名成绩
一、单选题
1.下列优先级最低的算符是D
A)&&B)+C)||D)=
2.以下符合C++语言语法的赋值表达式是C。
A)d=9+e+f=d+9
B)d=9+e,f=d+9
C)d=(9+e,e++,d+9)
D)d=9+e++=d+7
3.已知字母A的ASCII码为十进制数65,且c2为字符型,执行语句c2=‘A’+’6’-‘3’;后c2的十进制ASCII码值为B。
A)67B)68C)69D)不确定的值
4.设有说明:
charw;intx;floaty;doublez;则表达式w*x+z-y值的数据类型为D。
A)floatB)charC)intD)double
5.假设在程序中a、b、c均被定义成整型,所赋的值都大于1,则下列能正确表示代数式
的表达式是D
A)1.0/a*b*cB)1/(a*b*c)
C)1/a/b/(float)cD)1.0/a/b/c
6.已知inti,a;执行语句“i=(a=2*3,a*5),a+6;”后,变量i的值是C
A)6B)12C)30D)36
7.C++语言中,要求运算数必须是整型的运算符是A
A)%B)/C)8.以下正确地定义整型变量a,b和c并为它们都赋初值5的语句是C
A)inta=b=c=5;
B)inta,b,c=5;
C)inta=5,b=5,c=5;
D)a=b=c=5;
9.以下变量均为int类型,则值不等于7的表达式是C
A)(x=y=6,x+y,x+1)
B)(x=y=6,x+y,y+1)
C)(x=6,x+1,y=6,x+y)D)(y=6,y+1,x=y,x+1)
10.设有inta=1,b=2,c=3,d=4,m=2,n=2;执行语句:
(m=a>b)&&(n=d>c);后n的值为B
A)1B)2C)3D)0
二、填空题
1.当inta=1,b=2,c=3;时,则表达式a+b>0&&b==c的值是___0_______。
2.若x是int类型变量,则执行下列语句:
x=7;x+=x-=x+x;后x的值是-14
3.若变量a,b和c是int类型,以下语句借助int类型中间变量t把a,b,c交换,如交换前:
a=10,b=20,c=30,交换后:
a=20,b=30,c=10,则交换语句为t=a;a=b;b=c;c=t;
4.设inta=2,b=4,c=1,x=0,y=0;执行语句a||(x=b)&&(y=c);后x的值为▁0▁,y的值为▁0。
5.判断字符型变量c是否为大写字母的正确表达式是▁C>=’A’&&C<=’Z’▁▁。
计算机程序设计基础_控制结构
(一)
班级学号姓名成绩
一、单选题
1.下列程序的输出结果是C。
#include
voidmain()
{doubled=3.2;intx,y;
x=1.2;y=(x+3.8)/5.0;
cout<}
A)3B)3.2C)0D)3.07
2.下列程序执行后的输出结果是A。
#include
voidmain()
{doubled;floatf;
longl;inti;
i=f=1=d=20/3;
cout<
}
A)666.06.0
B)666.76.7
C)666.06.7
D)666.76.0
3.下面程序的输出是C。
#include
voidmain()
{inta=-1,b=4,k;
k=(a++<=0)&&(!
(b--<=0));
cout<}
A)003B)012
C)103D)112
4.设intx=1,y=3,则语句x+=y;y=x-y;x-=y;的功能是▁D▁。
A)把x和y按从大到小排列
B)把x和y按从小到大排列
C)无确定结果
D)交换x和y中的值
5.以下程序的输出结果是A。
#include
voidmain()
{inta,b,c=246;
a=c/100%9;b=(-1)&&(-1);
printf("%d,%d\n",a,b);
}
A)2,1B)3,2
C)4,3D)2,-1
二、分析程序,写出运行结果
1.#include
voidmain()
{inti,j,m,n;
i=8;
j=10;
m=++i;
n=j++;
cout<
程序的运行结果是▁▁9,11,9,10▁▁
2.#include
voidmain()
{
inty=3,x=3,z=1;
cout<<(++x,y++)<}
程序的运行结果是▁▁33▁▁
计算机程序设计基础_控制结构
(二)
班级学号姓名成绩
一、单选题
1.若从键盘上输入5,则程序的输出结果是B。
#include
voidmain()
{intx;cin>>x;
if(x++>5)cout<elsecout<A)7B)6C)5D)4
2.下列程序的输出结果是A。
#include
voidmain()
{intx=1,a=0,b=0;
switch(x){
case0:
b++;
case1:
a++;
case2:
a++;b++;}
cout<<”a=”<A)a=2,b=1B)a=1,b=1
C)a=1,b=0D)a=2,b=2
3.下列程序的输出结果是C。
#include
voidmain()
{doublex=2.0,y;
if(x<0.0)y=0.0;
elseif(x<10.0)y=1.0/x;
elsey=1.0;
cout<A)0B)0.25C)0.5D)1
4.若从键盘上输入3和4,则程序的输出结果是B。
#include
voidmain()
{inta,b,s;
cin>>a>>b;
s=a;if(a
cout<
A)14B)16C)18D)20
5.下面的程序D。
#include
voidmain()
{intx=3,y=0,z=0;
if(x=y+z)cout<<"****\n";
elsecout<<"####\n";
}
A)有语法错误不能通过编译
B)输出****
C)可以通过编译,但是不能通过连接,因而不能运行
D)输出####
6.为避免在嵌套的条件语句if-else中产生二义性,C语言规定:
else子句总是与C配对。
A)同一行上的if
B)其之后最近的if
C)其之前最近的且没有else的if
D)缩排位置相同的if
二、填空题
1.计算机总是按照语句或者语句块位置的先后关系▁顺序▁▁执行
2.所有程序都可以用▁顺序▁▁、▁选择▁▁、▁循环▁▁3种控制结构实现。
3.switch结构中的表达式必须是▁整型表达式▁▁。
4.case语句中的表达式必须是▁整常量表达式▁▁。
计算机程序设计基础_控制结构(三)
班级学号姓名成绩
一、分析程序,写出运行结果
1.#include
voidmain()
{intx=100,a=10,b=20,ok1=5,ok2=5;
if(a
if(b!
=15)
if(!
ok1)
x=1;
else
if(ok2)
x=10;
cout<}
程序的输出是10
2.#include
voidmain()
{floatx,y;charch;doubler;
cin>>x>>y>>ch;
switch(ch)
{case‘+’:
r=x+y;break;
case‘-’:
r=x-y;break;
case‘*’:
r=x*y;break;
case‘/’:
r=x/y;break;
}
cout<}
运行时输入:
35/<回车>,则程序的运行结果是0.6
二、单选题
1.以下叙述正确的是▁D▁▁▁
A)do-while语句构成的循环不能用其它语句构成的循环来代替
B)do-while语句构成的循环只能用break语句退出
C)用do-while语句构成的循环,在while后的表达式为非零时结束循环
D)用do-while语句构成的循环,在while后的表达式为零时结束循环
2.设inta,b;则执行以下语句后b的值为D
a=1;b=10;
do{b-=a;
a++;
}while(b--<0);
A)9B)–2C)–1D)8
3.以下程序段的执行结果是▁D▁▁▁
inta,y;
a=10;y=0;
do{a+=2;y+=a;
cout<<“a=”<if(y>20)break;
}while(a=14);
A)a=12,y=12B)a=12,y=12
a=14,y=16a=14,y=26
C)a=12,y=12D)a=12,y=12
a=14,y=44a=16,y=28
4.设inti;执行语句:
for(i=1;i++<4;);后,变量i的值是▁C▁▁
A)3B)4C)5D)不定值
三、填空题
1.设i,j,k均为int型变量,则执行完下面的for循环后,i的值为___6___;j的值为__4____;k的值为 ___10____。
for(i=0,j=10;i<=j;i++,j--)
k=i+j;
计算机程序设计基础_控制结构(四)
班级学号姓名成绩
一、单选题
1.以下循环体的执行次数是▁▁C▁▁
#include
voidmain()
{inti,j;
for(i=0,j=1;i<=j+1;i+=2,j--)
cout<
A)3B)2C)1D)0
2.当执行以下程序段时▁C▁▁▁
inty=-1;
do{y--;}while(--y);
cout<A)循环体将执行一次
B)循环体将执行两次
C)循环体将执行无限次
D)系统将提示有语法错误
3.在下列选项中,没有构成死循环的程序是C
A)inti=100;B)for(;;);
while
(1)
{i=i%100+1;
if(i>100)break;}
C)intk=1000;D)ints=36;
do{++k;while(s);--s;
}while(k<=1000);
4.设intx,y;则执行下的循环后,y值为C
for(y=1,x=1;y<=50;y++)
{if(x>=10)break;
if(x%2==1)
{x+=5;continue;}
x-=3;}
A)2B)4C)6D)8
5.设intj;,则下面for循环语句的执行结果是▁B▁▁
for(j=10;j>3;j--)
{if(j%3)j--;--j;--j;
cout<A)63B)74C)62D)73
6.以下程序的输出结果是▁A▁▁▁
#include
voidmain()
{intn=4;
while(n--)cout<<--n;}
A)20B)31
C)321D)210
二、分析程序,写出运行结果
1.#include
voidmain()
{inti,j;
for(i=1;i<5;i++)
{for(j=1;j
cout<cout<}
}1
程序的输出结果12
2.#include
voidmain()
{inti,j,x=0;
for(i=0;i<2;i++)
{x++;
for(j=0;j<3;j++)
{if(j%2)continue;
x++;}
x++;}cout<<"x="<程序的输出结果是x=8
计算机程序设计基础_控制结构(五)
班级学号姓名成绩
一、单选题
1.以下程序的输出结果是▁B▁▁▁
#include
voidmain()
{inti,j;
for(j=10;j<11;j++)
for(i=9;i<=j-1;i++)
cout<A)11B)10C)9D)1011
2.以下程序的执行结果是▁C▁▁▁
#include
voidmain()
{inti,sum;
for(i=1;i<=3;sum++)
sum+=i;
cout<A)6B)3C)死循环D)0
3.以下程序的执行结果是▁B▁▁▁
#include
voidmain()
{intx=23;
do{cout<}while(!
x);
}
A)22B)23C)24D)陷入死循环
4.有如下程序,该程序段的输出结果是▁B▁
#include
voidmain()
{intn=9;
while(n>6){n--;cout<A)987B)876C)8765D)9876
5.以下程序的输出结果是▁D▁▁▁
#include
voidmain()
{intx=10,y=10,i;
for(i=0;x>8;y=++i)
cout<cout<A)10192B)9876
C)10990D)101091
6.以下程序的输出结果是▁▁A▁▁
#include
voidmain()
{inti;
for(i=1;i<6;i++)
{if(i%2){cout<<"#";continue;}cout<<"*";}
cout<<"\n";}
A)#*#*#B)#####C)*****D)*#*#*
7.以下程序的输出结果是▁▁B▁▁
#include
voidmain()
{chari;
for(i='A';i<'I';i++,i++)cout<
cout<<"\n";
}
A)编译不通过,无输出B)ACEG
C)ACEGID)ABCDEFG
8.运行以下程序后,如果从键盘上输入china#<回车>,则输出结果为▁▁C▁▁
#include
#include
voidmain()
{intv1=0,v2=0;charch;
while((ch=getchar())!
='#')
switch(ch)
{case'a':
case'h':
default:
v1++;
case'0':
v2++;}
cout<