已整理C++.docx

上传人:b****4 文档编号:3818117 上传时间:2022-11-25 格式:DOCX 页数:61 大小:49.08KB
下载 相关 举报
已整理C++.docx_第1页
第1页 / 共61页
已整理C++.docx_第2页
第2页 / 共61页
已整理C++.docx_第3页
第3页 / 共61页
已整理C++.docx_第4页
第4页 / 共61页
已整理C++.docx_第5页
第5页 / 共61页
点击查看更多>>
下载资源
资源描述

已整理C++.docx

《已整理C++.docx》由会员分享,可在线阅读,更多相关《已整理C++.docx(61页珍藏版)》请在冰豆网上搜索。

已整理C++.docx

已整理C++

C程序题库

●C程序入门

一、选择题:

1、一个C语言程序是由C组成。

A.主程序B.子程序C.函数D.过程

2、一个C语言程序总是从C开始执行。

A.主程序B.子程序C.主函数D.函数

3、以下叙述正确的是D。

A.在C程序中,main函数必须位于子程序的最前面

B.C程序的每一行中只能写一条语句

C.在对一个C程序进行编译的过程中,可发现注释中的拼写错误

D.C语言本身没有输入输出语句

4、C语言中,最简单的数据类型是B。

A.整形、实型、逻辑型B.整型、实型、字符型

C.整型、字符型、逻辑型D.整型、实型、逻辑型、字符型

5、下面标识符中,不合法的用户标识符为D。

A.PadB.a_10C._124D.a#b

6、B是C语言提供的合法的数据类型关键字。

A.FloatB.signedC.integerD.Char

7、不正确的字符串常量是A。

A.‘abc’B.“12’12”C.”0”D.”“

8、若定义:

inta=7;floatx=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是B。

A.7B.2.50000C.3.500000D.0.00000

9、已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2=’A’+’6’-’3’;后,c2中的值为A。

A.DB.68C.CD.不确定的值

11、执行下面程序段的输出结果为B。

intx=13,y=5;

cout<

A.3B.2C.1D.0

12、对于int型变量k1,k2,k3,k4,若用以下语句:

cin>>k1>>k2;

cin>>k3>>k4;

将10赋给k1,k3,将20赋给k2,k4,则应按B格式输入数据。

A.1020B.1020C.10,20D.1020

1020102010,2010,20

13、设有以下定义:

#defined2

inta=0;doubleb=1.25;charc=’A’;

则下面语句中错误的是D。

A.a++;B.b++;C.c++;D.d++;

14、有定义语句:

intx,y;,若要通过cin>>x>>y;语句使变量x得到数值11,变量y得到数值12,下面4组输入形式中,正确的是C。

A.1112B.12,11

C.1112D.11,

12

15、下列关于c语言用户标识符的叙述中正确的是B。

A.用户标识符中可以出现下划线和中划线(减号)

B.用户标识符中不可以出现中划线,但可以出现下划线

C.用户标识符中可以出现下划线,但不可以放在用户标识符的开头

D.用户标识符中可以出现下划线和数字,它们都可以放在用户标识符的开头

16、有以下程序段:

intm=0,n=0;charc=’a’;

cin>>m>>c>>n;

cout<

若从键盘上输入:

10A10,则输出结果是A。

A.10,A,10B.10,a,10C.10,a,0D.10,A,0

二、填空题:

1、一个C语言的语句至少应包含一个分号。

2、C源程序的基本单位是函数。

3、函数是具有相对独立功能的程序段。

4、C语言中的标识符可以由3种字符组成,它们是:

英文字母、下划线、数字,并且第一个字符必须是字母或下划线。

5、有以下语句段:

intn1=10,n2=20;

cout<

要求按以下格式输出n1和n2的值,每个输出行从第一列开始,请填空。

n1=10

n2=20

6、以下程序运行后的输出结果是b。

voidmain()

{charm;m='B'+32;cout<

7、设a=3,b=4,c=5,求下列表达式的值。

(1)a+b>c&&b==c

(2)a||b+c&&b-c

(3)!

(a>b)&&!

c||1(4)!

(x=a)&&(y=b)&&0

8、执行下面的程序段后,a的值为20。

{inta,b;

a=300;

b=20;

a=a+b;

b=a-b;

a=a-b;

cout<

}

●顺序结构

1、编写程序输入三个数,求它们的平均值并输出,用浮点数据处理。

方法一:

#include

voidmain()

{

doublea,b,c,sum;

cout<<"enterthreedouble:

";

cin>>a>>b>>c;

sum=(a+b+c)/3;

cout<<"aver="<

}

方法二:

#include

voidmain()

{

doublea,sum=0;

cout<<"enterthreedouble:

";

cin>>a;

sum=sum+a;

cin>>a;

sum=sum+a;

cin>>a;

sum=sum+a;

cout<<"aver="<

}

3、编写程序输入长方形的长和宽,求长方形的面积和周长并输出,用浮点数据处理。

#include

voidmain()

{

doublelength,width,area;

cout<<"请输入矩形的长";

cin>>length;

cout<<"请输入矩形的宽";

cin>>width;

area=length*width;

cout<<"矩形面积是:

"<

cout<<"矩形周长是:

"<<2*(length+width);

}

4、编写程序将输入的英里转换到公里。

每英里等于5280英尺,每英尺等于12英寸,每英寸等于2.54厘米,每公里等于100000厘米。

#include

voidmain()

{

doublemile,k;

cout<<"输入英里:

";

cin>>mile;

k=mile*5380*12*2.54/100000;

cout<

}

5、假设美元与人民币的汇率是1美元兑换8.27元人民币,编写程序输入人民币的钱数,输出能兑换的美元金额。

#include

voidmain()

{

doublermb,dollar;

cout<<"请输入人民币钱数:

";

cin>>rmb;

dollar=rmb/8.27;

cout<

}

6、编写程序输入年利率i(例如2%),存款总数s(例如50000元),计算一年后的本息合计并输出。

#include

voidmain()

{

floati,s;

cout<<"请输入年利率和存款数:

";

cin>>i>>s;

s=s*(1+i);

cout<<"一年后我有"<

7、信函的重量不超过100g时,每20g付邮资80分,即信函的重量不超过20g时,付邮资80分,信函的重量超过20g,不超过40克时,付邮资160分,编写程序输入信函的重量,输出应付的邮次(注意:

本题不使用分支结构,使用顺序结构,假设输入的信函重量不超过100克)。

解:

题目的要求是用顺序结构,那么我们来分析一下信函的重量与邮资的关系,在信函的重量不超过100克的前提下,可以用下表表示信函的重量与邮资的关系:

信函的重量

邮资

<20

80分

<40

160分

<60

240分

<80

320分

<100

400分

根据表格中的数据,可以推断出:

邮资=((信函的重量)整除(20)+1)*80。

#include

voidmain()

{

intweight,postage;

cout<<"信的重量是:

";

cin>>weight;

postage=(weight/20+1)*80;

cout<<"这封信的邮资是:

"<

}

 

●选择结构

一、选择题:

1、能正确表示“当X的取值在[1,10]和[200,210]范围内为真,否则为假”的表达式是B。

A.(X>=1)&&(X<=10)&&(X>=200)&&(X<=210)

B.(X>=1)&&(X<=10)||(X>=200)&&(X<=210)

C.(X>=1)||(X<=10)||(X>=200)||(X<=210)

D.(X>=1)||(X<=10&&|(X>=200)||(X<=210)

2、判断char型变量ch是否为大写字母的正确表达式是C。

A.‘A’<=ch<=’Z’B.(ch>=’A’)&(ch<=’Z’)

C.(ch>=’A’)&&(ch<=’Z’)D.(ch>=’A’)and(ch<=’Z’)

3、设x、y、z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0的是D。

A.’x’&&’y’B.x<=yC.x||y+z&&y-zD.!

((x

z||1)

4、为表示关系x≥y≥z,应使用C语言表达式A。

A.(x>=y)&&(y>=z)B.(x>=y)and(y>=z)

C.x>=y>=zD.(x>=y)||(y>=z)

5、以下运算符中优先级最低的运算符。

A.&&B.&C.!

=D.||

6、下列表达式中,D不满足“当x的值为偶数时值为真,为奇数时值为假“的要求。

A.x%2==0B.!

x%2!

=0C.(x/2*2-x)==0D.!

(x%2)

7、在C语言中,要求运算数必须是整型的运算符是D。

A./B.++C.!

=D.%

8、执行下列程序段后,变量m的值是D。

intw=1,x=2,y=3,z=4,m;

m=(w

w:

x;

m=(m

m:

y;

m=(m

m:

z;

A.4B.3C.2D.1

9、已知intx=10,y=20,z=30;,以下语句执行后x,y,z的值是B。

if(x>y)z=x;x=y;y=z;cout<

A.10,20,30B.20,30,30

C.20,30,10D.20,30,20

10、当a=1,b=3,c=5,d=4,x=0时,执行完下面一段程序后X的值是A。

if(a>b)if(c

elseif(a>c)if(b

elsex=3;

elsex=6;

elsex=7;

A.7B.2C.3D.6

11、下面程序的输出结果是a=2,b=1。

voidmain()

{intx=1,y=0,a=0,b=0;

switch(x){case1:

switch(y)

{case0:

a++;break;

case1:

b++;break;

}

case2:

a++;b++;break;

case3:

a++;b++;}

cout<<”a=”<

}

12、有定义语句:

inta=1,b=2,c=3,x;,则以下选项中各程序段执行后,x的值不为3的是B。

A.if(c

B.if(a>3)x=3;elseif(a<2)x=2;elsex=1;

C.if(a<3)x=1;else(a<2)x=2;if(a,1)x=3;

D.if(a

13、有以下程序:

#include

voidmain()

{

inta=5,b=4,c=3,d=2;

if(a>b>c)cout<

elseif((c-1>=d)==1)cout<

elsecout<

}

执行后的输出结果是B。

A.2B.3

C.4D.编译时有错,无结果

14、已有定义:

intx=3,y=4,z=5;,则表达式!

(x+y)+z-1&&y+z/2的值是D。

A.6B.0C.2D.1

二、填空题:

1、以下程序执行后的输出结果是-4。

#include

voidmain()

{

intn=0,m=1,x=2;

if(!

n)x=x-1;

if(m)x=x-2;

if(x)x=x-3;

cout<

}

2、以下程序执行后的输出结果是5,0,3。

#include

voidmain()

{

inta=4,b=3,c=5,t=0;

if(a

if(a

cout<

}

3、以下程序执行后的输出结果是20,0。

#include

voidmain()

{

intx=10,y=20,t=0;

if(x==y)t=x;x=y;y=t;

cout<

}

4、若运行程序时输入数据为:

60,则以下程序执行后的输出结果是606060。

#include

voidmain()

{

inta;

cin>>a;

if(a>50)cout<

if(a>40)cout<

if(a>30)cout<

}

5、以下程序执行后的输出结果是0。

#include

voidmain()

{inta=5,b=4,c=3,d;d=(a>b>c);cout<

三、编程题:

1、编写程序,将输入的小写字母变为大写,大写字母不变。

#include

voidmain()

{

charc;

cout<<"请输入一个字母:

";

cin>>c;

if(c>='a'&&c<='z'){c=c-32;cout<

elsecout<

}

3、编写程序,从键盘接收一个简单的表示四则运算的表达式,计算结果并输出。

例如,输入“20+32”,输出“=52”。

#include

voidmain()

{

floata,b;

charc;

cout<<"请输入一个表达式:

";

cin>>a>>c>>b;

if(c=='+')cout<

elseif(c=='-')cout<

elseif(c=='*')cout<

elseif(c=='/')

{if(b==0)cout<<"除数是0";

elsecout<

}

elsecout<<"运算符错";

}

方法二:

#include

voidmain()

{

floata,b;

charc;

cout<<"请输入一个表达式:

";

cin>>a>>c>>b;

switch(c)

{

case'+':

cout<

case'-':

cout<

case'*':

cout<

case'/':

{if(b==0)cout<<"除数是0";

elsecout<

}

default:

cout<<"运算符错";break;

}

}

 

●循环结构

一、选择题:

1、设有程序段:

intk=10;while(k==0)k=k-1;则下面描述中正确的是C。

A.while循环执行10次B.循环是无限循环

C.循环语句一次也不执行D.循环体语句执行一次

2、下列程序的输出结果是B。

#include

voidmain()

{intk=0,m=0,i,j;

for(i=0;i<2;i++){for(j=0;j<3;j++)k++;k=k-j;}

m=i+j;

cout<<"k="<

}

A.k=0,m=3B.k=0,m=5C.k=1,m=3D.k=1,m=5

3、下列程序中,判断i>j共执行了D次。

#include

voidmain()

{inti=0,j=10,k=2,s=0;

for(;;)

{i+=k;

if(i>j){cout<

s+=i;

}

}

A.4B.7C.5D.6

5、以下程序的功能是:

按顺序读入10名学生4门课程的成绩,计算出每位学生的平均分并输出,程序如下:

#include

voidmain()

{intn,k;

floatscore,sum,ave;

sum=0.0;

for(n=1;n<=10;n++)

{for(k=1;k<=4;k++){cin>>score;sum+=score;}

ave=sum/4.0;

cout<

}

A.sum=0.0;B.sum+=score;

C.ave=sum/4.0;D.cout<

6、以下程序执行后的输出结果是32。

#include

voidmain()

{inti=0,a=0;

while(i<20)

{for(;;){if((i%10)==0)break;elsei--;}

i+=11;a+=i;

}

cout<

}

A.21B.32C.33D.11

二、填空题:

1、以下程序执行后的输出结果是0。

voidmain()

{intt=1,i=5;for(;i>=0;i--)t*=i;cout<

2、以下程序执行后的输出结果是1,3,2。

#include

voidmain()

{inti,m=0,n=0,k=0;

for(i=9;i<=11;i++)

switch(i/10)

{case0:

m++;n++;break;

case10:

n++;break;

default:

k++;n++;

}

cout<

}

3、执行以下程序后,输出’#’号的个数是6个。

#include

voidmain()

{inti,j;for(i=1;i<5;i++)for(j=2;j<=i;j++)cout<<'#';

}

4、以下程序执行后的输出结果是17。

#include

voidmain()

{intx=15;

while(x>10&&x<50){x++;if(x/3){x++;break;}elsecontinue;}

cout<

}

5、以下程序执行后的输出结果是5。

#include

voidmain()

{ints,i;for(s=0,i=1;i<3;i++,s+=i);cout<

}

6、下面程序的功能是将从键盘输入的两个数按由小到大输出。

当输入两个相等数时结束循环,请填空完成程序。

#include

voidmain()

{inta,b,t;

cin>>a>>b;

while()

{if(a>b){t=a;;b=t;}

cout<

;

}

}

7、下面程序运行时,输出的结果是1114。

{inti,a;

for(i=1;i<=3;i++)

{if(i<=1)a=3;

if(i<=2)a=2;

if(i<=3)a=1;

cout<

cout<

}

8、执行下面的程序段后,x的值为21。

{

intx,i;

x=5;

for(i=1;i<=20;i=i+2)

x=x+i/5;

cout<

}

9、程序运行后,输出的结果是15。

{inti,j,k,x;

for(i=1;i<=4;i++)

{

x=4;

for(j=1;j<=3;j++)

{

x=3;

for(k=1;k<=2;k++)x=x+6;

}

}

cout<

}

10、程序运行后,依次输入5、4、3、2、1、-1,则输出的结果为2。

{intx,a,b;

x=0;

do

{

cin>>a;

cin>>b;

cin>>x;

a=a+b+x;

}while(x!

=-1);

cout<

}

11、执行下面的三重循环后,a的值为14。

{inti,j,k,a=0;

for(i=1;i<=3;i++)

for(j=1;j<=i;j++)

for(k=j;k<=3;k++)a=a+1;

cout<

}

12、程序运行后x、n的值分别为722。

{intx,n=0;

x=0;

do

{

x=(x+2)*(x+3);

n=n+1;

}while(x<50);

cout<

}

13、写出下列程序段运行结果55

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1