以下()表达式是不合法的。A.string x="hello";int y=9;x+=y;B.string x="hello";int y=9;if(x=y){

题目

以下( )表达式是不合法的。

A.string x="hello";int y=9;x+=y;

B.string x="hello";int y=9;if(x=y){}

C.string x="hello";int y=9;x=x+y;

D.string x=null;inty=(x!=null)&&(x.length()>0)?x.length():0;

如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

有以下定义:“int a;long b;double X,Y;”,则以下选项中正确的表达式是( )。 A.a%(int x—y)SXB

有以下定义:“int a;long b;double X,Y;”,则以下选项中正确的表达式是( )。

A.a%(int x—y)

B.a=x!=Y;

C.(a*y)%b

D.y=x+y=X


正确答案:D
选项A、C,取模运算符(%)用于计算两个整数相除所得的余数,intx-y与a*y的结果是双精度,因此不能使用取模运算符;选项B,a是属于整型变量,x、Y属于双精度变量,因此不能将x赋值给a。

第2题:

以下程序运行后的输出结果是【】。 include void fun(int x,int y) {x=x+y;y=x-y

以下程序运行后的输出结果是【 】。

include<iostream.h>

void fun(int x,int y)

{ x=x+y;y=x-y;x=x-y;

cout<< x << "," <<y << " ,";}

void main( )

{ int x=2,y=3;fun(x,y);

cout<< x << "," << y << endl;}


正确答案:3223
3,2,2,3 解析:main函数和fun函数中的变量x和y都是局部变量,它们各自独立,在本题 fun函数中:接入实参的值传递:x=2,y=3,执行:x=x+y后,x=5,y=3,执行:x=x-y后,x=5,y=3,执行:y=x-y后,x=3,y=2。所以,第一次执行cout显示结果是3和2返回到main函数中,输出main函数中的x和y的值2,3。

第3题:

有以下程序:includeint f(int x){int y;if(x==0||x==1)return(3);y=x*x-f(x-2);return

有以下程序: #include<stdio.h> int f(int x) {int y; if(x==0||x==1)return(3); y=x*x-f(x-2); return y; } main() {int z; z=f(3);printf("%d\n",z); } 程序的运行结果是( )。

A.0

B.9

C.6

D.8


正确答案:C
解析:本题主要考查函数的递归调用。当x=0或者x=1时返回值为3,即f(0)=3,f(1)=3;否则返回值为x*x-f(x-2)。f(3)=3*3-f(1)=9-3=6。

第4题:

设有定义语句:double x=2.5, y=4.7;int a=7;那么表达式x+a%3*(int)(x+ y)%2/4的值为【 】。


正确答案:2.5
2.5 解析:本题考核运算符的使用(包括类型、优先级、结合性)。强制类型转换符()将表达式x+y的值转换为int型,那么表达式“a%3*(int) (x+y)%2/4”结果将为整型,计算:7%3*7%2/4的结果为0,而x为double型,所以最后的结果为2.5

第5题:

以下程序段的执行结果为【】。includedefine PLUS(x, y) x+ yvoid main() { int x=1, y

以下程序段的执行结果为【 】。

include<iostream.h>

define PLUS(x, y) x+ y

void main()

{

int x=1, y=2,z=3,sum;

sum=PLUS(x+ y, z)*PLUS(y, z);

cout<<"SUM="<<sum;

cout<<end1;

}


正确答案:SUM=12
SUM=12

第6题:

以下程序执行后的输出结果是( )。include usingnamespacestd;void try(int,int,int,in

以下程序执行后的输出结果是( )。 #include <iostream> using namespace std; void try(int,int,int,int); int main ( ) { int x,y,z,r; x=1; y=2; try(x,y,z,r); cout<<r<<end1; return 0; } void try(int x,int y, int z,int r) { z = x+y; x = X*X; y = y*y; r = z+x+y; }

A.18

B.9

C.10

D.不确定


正确答案:D
解析:本题常见的错误解答是:把x=1,y=2代入到函数try中,逐步计算出r=8。最后得到r的输出值是8。下面是正确解答。根据程序逐步分析:①程序中定义了一个名为try的void型函数,即函数try()没有任何返回值。②而try()函数在主函数中是以一条独立语句的方式被调用的,且主函数最后输出变量r的值。③但在主函数中,并没有对变量r赋值。④在C++语言中,数据只能从实参单向传递给形参,称为按值传递。也就是说,当简单变量作为实参时,用户不能在函数中改变对应实参的值。所以,虽然在函数try()中,r的值为8,但它并不能传递给实参,当然最终的输出肯定是不确定的随机数了。

第7题:

下列函数定义中,会出现编译错误的是 ______。

A.max(int x,int y,int *z) { *z=x>y? x:y;}

B.int max(int x,y) {int z; z=x>y? x;y; return z; }

C.max(int x,int y) { int z; z=x>y? x:y; return(z); }

D.int max(int x,int y) { return(x>y?x:y);}


正确答案:B
解析:本题考查函数的定义。选项B中函数形参y没有说明数据类型。

第8题:

( 9 )有如下的函数定义:

int Xfun(int x){

int y=x;

{int x=10; y+=x;}

return x+y;

}

通过表达式 Xfun(5) 调用该函数,则得到的返回值为 【 9 】 。


正确答案:

第9题:

下列函数定义中,会出现编译错误的是

A.max(int x,int y,int *z) { *z=x>y ? x:y; }

B.int max(int x,y) { int z; z=x>y ? x:y; return z; }

C.max(int x,int y) { int z; z=x>y?x:y; return(z); }

D.int max(int x,int y) { return(x>y?x:y); }


正确答案:B
解析:定义函数时,若需要声明形式参数时,则每个形式参数都必须单独声明类型。

第10题:

主调函数中的两个变量a和b,要求调用函数交换a、b的值,返回交换结果,则以下正确的函数是______。

A.funa(int*x,int*y) {int*p; *p=*x;*x=*y;*y=*p; }

B.funb(int x,int y) {int t; t=x;x:y=y=t;}

C.func(int*x,int*y) {*x=*y;*y=*x;}

D.fund(int *x,int*y) {*x=*x+*y;*y=*x-*y;*x=*x-*y;}


正确答案:D
解析:选项A中指针变量p没有明确的指向,选项B是值传递方式,显然不能改变实参中的值,选项C不能完成交换,实参中的值都变成一样的,只有选项D是正确的。

更多相关问题