第1章C++测试答案

更新时间:2023-11-18 04:51:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

9. 选择题 (1)C++语言中的标识符只能右字母、数字和下划线三种字符组成,且第一个字符( C )。 A.必须为字母 B.必须为下划线

C.必须为字母或下划线 D.可以是字母、数字和下划线中任一中字符

(2)下面正确的字符常量是( C )。 A.“C” B.‘\\\\’’ C.‘W’ D.‘’

(3)如果说明语句:char c=‘\\72’;则变量c( A )。(注意:这是冒号:字符) A.包含1个字符 B.包含2 个字符

C.包含3个字符 D.说明不合法,c 的值不确定

(4)表达式18/4*sqrt(4.0)/8值的数据类型为( C )。

A.int B.float C.double D.不确定

(5)关于逻辑运算符的说法正确的是(CD )。 A.它们都是双目运算符,优先级相同

B.语句“int a=0,c=1,b;b=a&&c++;” 执行后,c 的值为2 C.语句“int a=0,c=1,b;b=a||c++;” 执行后,c 的值为2 D.语句“int a=1,c=1,b;b=a&&c++;” 执行后,c 的值为2

(6)设 int m=7,n=12;则表达式为3的是( D )。 A.n%=(m%=5) B.n%=(m-m%5) C.n%=m-m%5 D.(n%=m)-(m%=5)

(7)数学公式开平方根yx+lny,正确的C++语言的表达式是( A )。 A.sqrt(fabs(pow(y,x)+log(y))) B.sqrt(fabs(pow(x,y)+log(y))) C.sqrt(abs(pow(y,x)+log(y))) D.sqrt(abs(pow(x,y)+log(y)))

(8)有如下程序段: int a=14,b=15,x; char c=’A’;

x=(a&&b)&&(c<’B’);

执行该程序后,x的值为( D )。

A.ture B.flase C.0 D.1

(9)下面四个选项中,均是合法的标识符的是( A )。 A.B B.for C.cin D.if

B_1 1a0 a_b temp cout _a10 int b-a

(10)设变量a是整型,b是实型,c是双精度型,则表达式10+‘a’+c*b值的数据类型为(C )。

A.int B.float C.double D.不确定

(11)以下叙述中不正确的是( D )。

A.在C++程序中,name和NAME是两个不同的变量 B.在C++ 程序中,逗号运算符的优先级最低

C.若变量m,n为int型,则m=n后,n中的值不变

D.当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能诸如实型数值。

(12)sizeof(float)是(B )。

A.一个双精度型表达式 B.一个整型表达式

C.一种函数调用 D.一个不合法的表达式

(13)下面不正确的字符串常量是( A )。 A.‘rst’ B.“14‘14” C.“0” D.“ ”

(14)对代数式5ae/bc,下面不正确的C++语言表达式是( C )。

A.a/b/c*e*5 B.5*a*e/b/c C.5*a*e/b*c D.a*e/c/b*5

(15)下列运算符中优先级最高的是( C )。

A.?: B.&& C.+ D.!=

(16)设a是整型变量,则表达式(a=4*5,a*2),a+6的值是( D )。 A.20 B.26 C.40 D.46

(17)设有:int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b)&&(n=c

A.1 B.2 C.3 D.4 (18)用C++的语言表达式表示 |x3+log10x|的正确是( C )。 A.fabs(x*3+log(x)) B.abs(pow(x,3)+log(x)) C.f abs(pow(x,3.0)+log(x)) D.abs(pow(x,3.0)+log(x))

注意:double log(double num) 自然对数的,如果求log(a)b的话, f = log(b) / log(a);

(19)设int k=7,x=12;则能使值为3的表达式是__D___。 A.x%=(k%=5) B.x%=(k-k%5) C.x%=k-k%5 D.(x%=k)-(k%=5)

(20)设有语句:int a=7;float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是( A )。

A.2.500000 B.2.750000 C.3.500000 D.0.000000

(21)设有语句int x=3,y=4,z=5;则下面表达式中值为0的是(D )。 A.’x’&&’y’ B.x<=y C.x||y+z&&y-z D.!((x

(22)表达式18/4*sqrt(4.0)/8值的数据类型为( C )。

A.int B.float C.double D.不确定

(23)判断char型变量n是否为小写字母的正确表达式为(D )。 A.’a’<= n <=’z’ B.(n>=a)&&(n<=z) C.(’a’>=n)| |(’z’<=n) D.(n>=’a’)&&(n<=’z’)

10. 填空题

(1) “A”与‘A’的区别是:前者表示的是__字符串常量________,占用_2_____个内存空间,后者表示的是_字符型常量________,占用___1____个内存空间。 (2) 表达式8/4*(int)2.5/(int)(1.25*(3.7+2.3))值的数据类型为____int_____。

(3)已知c的ASCII码为十进制数99,设k为字符型变量,则表达式k=‘c’+‘9’-‘8’的值为_d(100_)______。 (4)设有说明语句 int a=6;,则运算表达式a+=a-=a*a后,a的值为___-60____。

(5)C++表达式表达:y=ax2+bx+c____y=a*x*x+b*x+c_____________, 5x3+9xy/5-xy_5*x3+9*x*y/5-x*y_____________。 (6)设a、b、c都是int型变量,则运算表达式a=(b=4)+(c=2)后,a值为__6___,b值为_4_____,c值为2______。

(7) C++语言中的标识符只能由三种字符组成,它们是__字母___,_数字__和__下划线____。 (8)有语句:char k=‘\\010’;则变量k中包含的字符个数是_1___。 (9)在C++语言中,表示逻辑“真”值用____1_________。 (10)表达式pow(2.8,sqrt(double(x)))值的数据类型为___double______。

(11)设m是一个三位数,从左到右用a、b、c表示各位是数字,则从左到右各个数字是cba的三位数的表达式是__ m=c*100+b*10+a ______________________。

(12)设有语句int a=3,b=4,c=5;则表达式:!(a+b)+c-1&&b+c/2的值为__1____,表达式a | | b+c&& b = = c的值为___0___。

(13) 请写出判断整型变量x为偶数且不小于100的表达式:__x%2==0&&x>=100____________________。

11. 编程题

(1)用C++语言写出下列要求的表达式: ? 判断char型变量ch是否为大写字母。

ch>=‘A’&&ch<=‘Z’;或ch>=65&&ch<=90; ? 设y为int变量,判断y是否为奇数。 y%2= =1||y%2==-1

? 设x、y、z都为int型变量,描述“x或y中有一个小于z”。 x>=z&&y=z或(x-z)*(y-z)<=0

? 设x、y、z都为int型变量,描述“x、y和 z中有两个为负数”。 x*y*z>0&&!(x>0&&y>0&&z.>0);

(2)编写一个程序,从键盘输入两个整型的数,在屏幕上分别输出这两个数的和、差和积。 #include void main() { int a,b,sum,difference,product; cout<<\请输入两个整数:\ cin>>a>>b; sum=a+b; difference=a-b; product=a*b; cout<<\}

(3)编写一个程序,从键盘输入两个数,分别求出这两个数的平方和和立方和,在屏幕上予以输出。

#include void main() { int a,b,square,cube; cout<<\请输入两个整数:\ cin>>a>>b; square=a*a+b*b; cube=a*a*a+b*b*b; cout<<\}

(4)编写程序,从键盘输入某一字母的ASCII码,如:97(字母a),98(字母b),65(字母A)等,在屏幕上输出给字母。 #include void main()

{ char ch; int a; cout<<\请输入65—90或97—122中的一个整数:\ cin>>a; ch=a; cout<<\该ASCII码对应的字母为:\}

附加题:

1、 自然语言描述求100内的素数

法一:

第一步:int i,j

第二步:外层循环,从2到100,即遍历100以内的数

for(i=2;i<=100;i++)

第三步:内层循环,每个数从2开始除,一直除到其本身

for(j=2;j

第四步:判断能否整除,能则不是素数,否则除下一个数

if(!(i%j))break;

第五步:判断是否所有数都除不尽,是则输出,即为素数 if(j==i-1)printf(”%d”,i); 法二:

第一步:int i,j

第二步:外层循环,从2到100,即遍历100以内的数

for(i=2;i<=100;i++)

第三步:内层循环,每个数从2开始除,一直除到其本身的开方

for(j=2;j

第四步:判断能否整除,能则不是素数,否则除下一个数

if(!(i%j))break;

第五步:判断是否所有数都除不尽,是则输出,即为素数 if(j==i-1)printf(”%d”,i);

2、 用自然语言描述求π

第一步:定义long int i=0;double sum=0,term,pi 第二步:当term>1e-12(10的-12次方)时,循环执行 i+=1; term=1.0/(i*i); sum+=term;

第三步:将sum*6的积开方,得到的结果即是所求的π

本文来源:https://www.bwwdw.com/article/8pvv.html

Top