C++问题, 4. 下列程序执行完后,x的值是多少?
发布网友
发布时间:2022-04-25 04:12
我来回答
共5个回答
热心网友
时间:2023-04-29 16:40
1. 设有int a[ ]={10,11,12},*p=&a[0];则执行完*p++;*p+=1;后a[0],a[1],a[2]的值为多少?
解:这个程序的没有改变 a[]的值
2. int b; b=(-1)||0; 则b的值为多少?
解:b=0
3. int i=2.8*6;则i的值为多少?
解:16
4. 下列程序执行完后,x的值是多少?
int x=0;
for (int k=0;k<90; k++)
if (k) x++;
解:这个程序每执行一次X的值就加1(除了第一次),这个程序执行了
90次。所以X=89
5.下列描述错误的是:D
A)cout输出转义字符’\n’是使光标移到屏幕的下一行
B)所有变量都要先定义其数据类型后在使用
C)在C++语言中,变量position 和PoSitioN是相同的
D)变量声明可以在C++程序的任何地方
6. 假定一个二维数组的定义为“int a[4][5];”,则该数组所含元素的个数为多少?所占存储空间的字节数为多少?
解:所含元素是20个
7. 表达式 50/4的值是多少?在C++中如何用表达式描述大写字母?
解:float A;
A=fmod(50,4);
cout<<A<<endl;
8. 表示“大于10而小于20的数“,用C++表达式如何表示?
解:if(i>10&&i<20)
9. 当一个函数无返回值勤时,定义时函数的类型应是什么?面向对象的语言具有哪些特性?类定义中,缺省的访问权限是什么?
解:定义时函数的类型应是void
10. char pa[10];说明pa是指向什么位置?
解:pa指向的是pa[]数组的第一个元素
11.C++语言的跳转语句中,对于break和continue说法正确的是: C
A)break语句只应用与循环体中
B)continue语句只应用与循环体中
C)break是无条件跳转语句,continue不是
D)break和continue的跳转范围不够明确,容易产生问题
12. 若有说明int i,j,k;则表达式i=10,j=20,k=30,k*=i+j的值为多少?
解:k=k*(i+j)=900
13. 共用体是怎样定义的?
pubilc:
14. 下列程序计算1000以内能被3整除的自然数之和,完成空缺的语句。
#include <iostream.h>
void main( )
{
int x=1, sum;
sum=(0 );
while (true)
{
if (x>1000) break;
if ( x/3==0) sum+=x;
x++;
}
cout<<sum<<endl;
}
15、求个位数为7且能被3整除的6位数的个数,完成空缺的语句。
#include <iostream.h>
void main()
{
long int i;
int count;
count= ;
for(i= 100007;i<999999; i=i+10)
if( i/3==0) count++;
cout<<count;
}
16. 写出下列程序的运行结果。
#include <iostream.h>
void main()
{
int x;int &p=x;
x=10;
p=x+10;
cout<<x<<”,”<<p<<endl;
}
p是x的别名,系统没有为p分配储存空间。如果p的值变化也就是大于x的值变化。所以x=20
#include <iostream.h>
void main()
{
for(int x=0;x<10;x++)
{
if(x%2==0)continue;
cout<<x<<”,”;
}
}
1,3,5,7,9
17. 某百货公司为了促销,采用购物打折的办法。
(1)在1000元以上者,按九五折优惠;(2)在2000元以上者,按九折优惠;
(3)在3000元以上者,按八五折优惠;(4)在5000元以上者,按八折优惠。
编写程序,输入购物款数,计算并输出优惠价。(要求用switch语句和if语句两种形式编写)
#include <iostream.h>
#include <math.h>
void main()
{
double a,b;//a代表商品的没有打折时候的价格,B代表应该付的钱
int t;
cout<<"请输入商品的金额 !"<<endl;
cin>>a;
if(a>=5000)
t=4;
else if (a>=3000)
t=3;
else if (a>=2000)
t=2;
else if (a>=1000)
t=1;
switch(t)
{
case 1: b=a*0.95; break;
case 2: b=a*0.9; break;
case 3: b=a*0.85; break;
case 4: b=a*0.8; break;
}
cout<<"优惠的金额="<<a-b<<endl;
}
18. 求Fibnnaci数列的1,1,2,3,5,8,...的前40个数。
#include<iostream.h>
using namespace std;
int fibonacci(int x)
{
if(n<=1)
return 1;
return fibonacci(n-1)+fibomacci(n-2);
}
void main()
{
int fibonacci(int x);
int i;
for(i=0;i<40;i++)
cout<<fibonacci(i)<<" ";
}
19. 用冒泡法对数组长度为N的整形数组按升序进行排序。
#include <iostream.h>
using namespace std;
define N 10
void main()
{
int a[D],i,j,k;
printf("Input ten num:\n");
for(i=0;i<10;i++)
scanf("%d",&a);
for(j=0;j<9;j++)
{
for(i=0;i<9-j;i++)
if(a>a[i+1])
{ k=a;
a=a[i+1];
a[i+1]=k;
}
}
printf("The last num:\n");
for(i=0;i<10;i++)
printf("%d\n",a);
}
20. 编写递归函数,求一个数的阶乘n!,在主函数中调用该函数,并输出结果
#include<stream.h>
using namespace std;
int factorial(int n)
{
if (n==0)return1;
rerurn n*factorial(n-1);
}
int main()
{
int m;
cout<<"你要求的是多少的阶乘?"<<endl;
cin>>m;
factorial(m);
cout<<m<<"得阶乘等于"<<factorial(m)<<endl
}
其实这些题并不难,我希望你自己亲自动手去解决他,不然等你大学毕业的时候你就会觉得很空虚,觉得什么都没有学到
我花了1个多小时给你答出来了,你自己看着办吧
热心网友
时间:2023-04-29 16:40
上面的回答真的很不错。
只是我觉得这几个题好像答错啦:
1. 设有int a[ ]={10,11,12},*p=&a[0];则执行完*p++;*p+=1;后a[0],a[1],a[2]的值为多少?
解:a[0] = 10,a[1] = 12,a[2] = 12
2. int b; b=(-1)||0; 则b的值为多少?
解:b = 1
5.下列描述错误的是:c
A)cout输出转义字符’\n’是使光标移到屏幕的下一行
B)所有变量都要先定义其数据类型后在使用
C)在C++语言中,变量position 和PoSitioN是相同的
D)变量声明可以在C++程序的任何地方
6. 假定一个二维数组的定义为“int a[4][5];”,则该数组所含元素的个数为多少?所占存储空间的字节数为多少?
解:所含元素是20个,所占存储空间的字节数为80(VC++里),40(turboc里及WinTC里)
9. 当一个函数无返回值时,定义时函数的类型应是什么?面向对象的语言具有哪些特性?类定义中,缺省的访问权限是什么?
解:无返回值是void,面向对象程序设计语言具有封装、继续、抽象、多态,类定义中,缺省的访问权限是private(即私有访问权限)
11.C++语言的跳转语句中,对于break和continue说法正确的是:
A)break语句只应用与循环体中
B)continue语句只应用与循环体中
C)break是无条件跳转语句,continue不是
D)break和continue的跳转范围不够明确,容易产生问题
解:这个题我选的是A,在多路分去switch(){case x:break;}语句当中也会遇到
13. 共用体是怎样定义的?
解:共用体定义用关键字union
例如:union
{
int i;
float j;
}
14. 下列程序计算1000以内能被3整除的自然数之和,完成空缺的语句。
解:
#include <iostream.h>
void main( )
{
int x=1, sum;
sum=(0 ); //填
while (true)
{
if (x>1000) break;
if (0 == x%3) sum+=x; //填
x++;
}
cout<<sum<<endl;
}
15、求个位数为7且能被3整除的6位数的个数,完成空缺的语句。
解:
#include <iostream.h>
void main()
{
long int i;
int count;
count= 0 ; //填
for(i=100007 ;i<999999;i+=10 ) //填
if(0 == i%3) count++; //填
cout<<count;
}
16. 写出下列程序的运行结果。
#include <iostream.h>
void main()
{
int x;int &p=x;
x=10;
p=x+10;
cout<<x<<”,”<<p<<endl;
}
解:20,20
#include <iostream.h>
void main()
{
for(int x=0;x<10;x++)
{
if(x%2==0)continue;
cout<<x<<”,”;
}
}
解:
1,3,5,7,9,
18. 求Fibnnaci数列的1,1,2,3,5,8,...的前40个数。
#include "stdafx.h"
#include <iostream.h>
int Fib(int i);
int main()
{
int i;
int fib[40] ;
for(i=0; i<40; i++)
{
fib[i] = Fib(i);
}
for(i=0; i<40; i++)
{
if(0 == i%5)
{
cout <<endl;
}
cout << fib[i] << "\t";
}
cout << endl;
return 0;
}
int Fib(int i)
{
if(0 == i || 1 == i)
{
return 1;
}else{
return Fib(i-1)+Fib(i-2);
}
}
19. 用冒泡法对数组长度为N的整形数组按升序进行排序。
解:
#include "stdafx.h"
#include <iostream.h>
const int N = 10;
void MaoPao();
int main()
{
MaoPao();
return 0;
}
void MaoPao()
{
int i,j,temp = 0;
int arr[N];
cout << "Please input numbers: " << endl;
for(i=0; i<N; i++)
{
cin >> arr[i];
}
for(i=N-1; i>0; i--) //控制N-1次循环
{
for(j=0; j<=i; j++) //进行泡行交换
{
if(arr[j]>arr[j+1])
{
temp = arr[j+1];
arr[j+1] = arr[j];
arr[j] = temp;
}
}
}
for(i=0; i<N; i++)
{
if(0 == i%5)
{
cout <<endl;
}
cout << arr[i] << '\t';
}
cout << endl;
}
20. 编写递归函数,求一个数的阶乘n!,在主函数中调用该函数,并输出结果
解:
#include "stdafx.h"
#include <iostream.h>
double Fun(double num);
int main(int argc, char* argv[])
{
double num,value = 0.0;
cout << "Please input a number: " << endl;
cin >> num;
while(num <0)
{
cout << "The number is error!" << endl;
cout << "Please input a number again: " << endl;
cin >> num;
}
value = Fun(num);
cout << "value = " << value << endl;
return 0;
}
double Fun(double num)
{
if(0 == num || 1 == num)
{
return 1;
}else{
return(num *Fun(num-1));
}
}
好啦,20题也就只是这样,楼上的做的很不错。在此,只是稍做修改并加了一些个人的意见,其它的题楼上的都已经完成啦的。在此,还要感谢楼又给了我学习的机会啦。
热心网友
时间:2023-04-29 16:41
1.10,12,12
2.1
3.16
4.89
5.C
6.含元素是20个,所占存储空间的字节数为80(VC++里),40(turboc里及WinTC里)
7.12,char ch,if(ch>='A'&&ch<='Z')
8.if(i>10&&i<20)或用while语句
9.void类型,面向对象程序设计语言具有封装、继承、抽象、多态,类定义中,缺省的访问权限是private私有访问权限
10.pa指向的是pa[]数组的第一个元素
11.B
12.900
13.共用体定义用关键字union
例:union
{
int a;
float b;
} 且所占字节为声明变量中的最大者,此例中为b,4字节
14.#include <iostream.h>
void main( )
{
int x=1, sum;
sum=(0 );
while (true)
{
if (x>1000) break;
if ( x%3==0) sum+=x;
x++;
}
cout<<sum<<endl;
}
15.#include <iostream.h>
int main()
{
int i;
int count;
count= 0 ;
for(i=100007 ;i<999999;i+=10 )
if( i%3==0) count++;
cout<<count<<endl;
}
16.20,20
1,3,5,7,9,
17.#include <iostream.h>
#include <math.h>
void main()
{
double a,b;int t;
cout<<"请输入商品的金额 !"<<endl;
cin>>a;
if(a>=5000)
t=4;
else if (a>=3000)
t=3;
else if (a>=2000)
t=2;
else if (a>=1000)
t=1;
switch(t)
{
case 1: b=a*0.95; break;
case 2: b=a*0.9; break;
case 3: b=a*0.85; break;
case 4: b=a*0.8; break;
}
cout<<"优惠的金额="<<a-b<<endl;
}
18.#include<iostream.h>
int fibonacci(int n)
{
if(n==1||n==0)
return 1;
else
return fibonacci(n-1)+fibonacci(n-2);
}
int main()
{
int i=0,a[40];
for(i=0;i<40;i++)
a[i]=fibonacci(i);
for(i=0;i<40;i++)
cout<<a[i]<<",";
}
19.#include <iostream.h>
const int N = 10;
void MaoPao();
int main()
{
MaoPao();
return 0;
}
void MaoPao()
{
int i,j,temp = 0;
int arr[N];
cout << "Please input numbers: " << endl;
for(i=0; i<N; i++)
{
cin >> arr[i];
}
for(i=N-1; i>0; i--)
{
for(j=0; j<=i; j++)
{
if(arr[j]>arr[j+1])
{
temp = arr[j+1];
arr[j+1] = arr[j];
arr[j] = temp;
}
}
}
for(i=0; i<N; i++)
cout << arr[i] << '\t';
cout << endl;
}
20.#include<iostream.h>
int factorial(int n)
{
if (n==0) return 1;
return n*factorial(n-1);
}
int main()
{
int m;
cout<<"输入一个自然数:"<<endl;
cin>>m;
factorial(m);
cout<<"结果是"<<factorial(m)<<endl;
}
热心网友
时间:2023-04-29 16:42
最后结果x=6,这个代码就是弄着玩的吧
for(
j=0;
j<=3;
j++
)
{
if(
j
)
continue;
x++;
}
只有j==0时,才不会continue
也就是说,这个循环结束后,总共只有1次是执行了x++;
热心网友
时间:2023-04-29 16:42
循环执行90次,k=0时不满足条件,所以x++执行了89次,x=89
C++问题, 4. 下列程序执行完后,x的值是多少?
if (k) x++;解:这个程序每执行一次X的值就加1(除了第一次),这个程序执行了 90次。所以X=89 5.下列描述错误的是:D A)cout输出转义字符’\n’是使光标移到屏幕的下一行 B)所有变量都要先定义其数据类型后在使用 C)在C++语言中,变量position 和PoSitioN是相同的 D)变量声明可以在C++程序...
...下列程序段运行后x的值是? int a=0,b=0,c=0
结果为4.先给abc三个整形变量赋值0.if(!a)这里!a值为!0,即为1,即if(1),条件为真,执行x--,不执行else if语句。该if语句结束,此时x=34。第二个if(c),c值为0,条件为假,不执行x=3,执行else语句x=4,此时x赋值为4.结果x=4.程序调试结果x=4,过程分析如有差错请指出。唉?楼...
...形式定义,运行下列程序段后x的值为多少? a=b=c=0;x=35; if(_百度...
所以 结果: a=b=c=0; x=4;
...void main() { char a='本金',b='年数',c='年利率',d='应得利息...
C)x=%%%c,y=%%%cD)x=%%c,y=%%c8.执行下列程序中的输出语句后,x的值是( )。main() {int x ;printf(“%d\n”,(x=4*5,x*2,x+20));}A)20B)40C)60D)809.执行以下程序后的输出结果是( )。#include "stdio.h"void main(){int i = 0, j = 0, a = 6;if ((++i0)||(++j0)...
C语言计算。设x=4,y=8.说明下列运算后,x,y,z的值分别是多少?
x==5,y==7,z==35;x==5,y==7,z==12;x++表示后增预算,即先使用X,之后在做++运算,假设X=4,y=x++;这时候就是先把x的值赋给y,在做++运算,执行完后,结果为y==4,x==5;++x表示后增运算,即先做++运算,在使用x,还是假设x=4,y=++x;这时候就是x先自增加1,在把值赋给y...
当a=1,b=3,c=5,d=4时,执行完下面一段程序后x的值是
B)2 ,从在最里面往外推 if和else的配对情况,就比较好理解,应该是这个答案吧
C语言,执行以下程序段后,m的值是【 】。 static int a[ ] = {7,4...
答案:D 分析:ptr=&a[0] 指针指向数组首地址,*(ptr+k)指针指向数组第k个存储单元 m=(*(ptr+k)<m)?*(ptr+k):m; 等价于 m=(a[k]<m)?a[k]:m 这是取a[k]与m的最小数并赋值给m 故此程序段是去数组a中元素的最小值!如还有不懂的地方可以密我!
计算机应用基础作业
43、下列程序共执行的循环次数是() 10 FOR K=7 TO 90 STEP 5 20PRINT K 30 NEXT K A、15 B、16 C、17 D、18 44、下列程序运行后的输出结果为() 20 X=1:Y=1 30 FOR Z=1 TO 4 40X=X+Y:Y=Y+X 50 NEXT Z 60 PRINT X,Y 70 END A、5 8 B、13 21C、34 55 D、89 144 45、下列...
执行以下程序后,y 的值是( )?
p=&a[1],所以p是指向数组第二个元素的指针,然后指针连续加到第五个元素,所以选C
C语言执行下面语句 a=1,2,3,4;后变量a的值为多少?在线求问
在 C 语言中,逗号运算符 , 的优先级最低,等价于多个表达式由逗号连接,在求值时按照从左到右的顺序一个一个地计算并忽略前面的计算结果,直到最后一个计算完成后返回最后一个表达式的值作为整个运算的值。因此,在执行 a=1,2,3,4; 语句时,会先计算 1,2(即将数字 1 和 2 用逗号运算符 ,...