logo
  • write-homewrite-home-active首页
  • icon-chaticon-chat-activeAI 智能助手
  • icon-pluginicon-plugin-active浏览器插件
  • icon-subjecticon-subject-active学科题目
  • icon-uploadicon-upload-active上传题库
  • icon-appicon-app-active手机APP
首页
/
计算机
题目

11 13 7本题考查的是C++语言的静态数据类型[1][1][1]。静态数据类型的变量的值在退出了函数时依然存放在内存中,且只初始化一次。39) 若x是整型变量,pb是指向整型的指针变量,则正确的赋值表达式是pb=x40) 若有说明:int i,j=2,*p=i;,则能完成i=j赋值功能的语句是*p=*j;41) 关于指针,下列说法错误的是指针根据其所指向变量的类型的不同,其所占用内存大小也不同。42) 以下程序的输出结果是6789#includevoid main()( char a[10]={'1','2','3','4','5','6','7','8','9',0),*p;int i ;i=8;p=a+i;cout<<(p-3)<}本题的考查点是通过指针引用数组元素。指针p指向数组中第8个元素,即a[8]='9'。输出时,输出字符串,且指针把a[8]作为初始位置往前指3个元素,也就是共有4个字符输出。最后指向a[5]为'6',所以输出为6789。43) 下列语句中,错误的是const int temp;44) 以下程序的输出结果是0。union myun( struct{ int x,y,z;)u;int k;}a;#includevoid main()( a.u.x=4;a.u.y=5;a.u.z=6;A. k=0; B. u.x < C. ) D. ++中,一个float类型的变量占4个字节。 E. SumColumMin的功能是:求出M行N列二维数组每列元素中的最小值,并计算它们的和值。和值通过形参传回主函数输出。请填空。 F. M 2 G. N 46)下面程序m.h>in()=10,=20, ok1=5, ok2=0;if(b!=15)if(!ok1) x=1;lse if(ok2) x=10;x=-1;out<<}的输出是-1。本题的考查点是判断语句的循环嵌套。第一个判断值为真,过渡到下一个判断,第二个判断为真,过渡到第三个判断......如此循环,在打印输出语句的前一行,程序给变量x赋了值,为-1,所以,无论前期如何变化,最后的x值依然为-1。7) 有以下程序m.h>in()=1,n;in>>n;o=a-2;}!=n);out<}若要使程序的输出值为2,则应该从键盘给n输入的值是-3hile语句此语句的一般形式为:o 语句hile (表达式)其特点为:先执行语句,后判断表达式。它是这样执行的:先执行一次指定的内嵌的语句,然后判别表达式,当表达式的值为非零("真")时,返回重新执行该语句,如此反复,直到表达式的值等于0为止,此时循环结束。=a-2=-1;a!=n不成立,结束循环,此时s值为1,不符合题意;=a-2=-1;a!=n成立,继续循环,s=s+1=2,a=a-2=-3;a!=n不成立,此时s值为2,符合题意;k语句的描述不正确的是break语句可用在if语句中,它可使执行的流程跳出当前的if语句。9) 以下程序执行后sum的值是以下程序执行后sum的值是不确定m.h>in()( int i, sum;or(i=1;i<6;i++)sum+=i;SumColumMin(int a[M][N],int *sum){ int i,j,k,s=0;N;i++){ k=0;M;j++)[k][i]>a[j][i])k=j;[k][i];)*sum =s;}in()[M][N]=(3,2,5,1,4,1,8,3),s;s);out<}out<<}变量sum在使用时未赋初值,所以无法确定sum最终的值。。10) t为int类型,进入下面的循环之前,t的值为0,hile(t=1)( ......)则以下叙述中正确的是循环控制表达式的值为111) 有如下程序m.h>in()([3][3] = {{1,2),(3,4),(5,6)}, i,j,s = 0;or(i = 1; i < 3; i++)or(j = 0; j <= i; j++)[i][j]];out<<}该程序的输出结果是18。题中的外循环只执行了2次:[1][0] = 3,a[1][1] = 4,所以s = 7;[2][0] = 5,a[2][1] = 6,a[2][2] = 0,所以s = 7 + 5 + 6 + 0 = 18。12) 有以下程序m.h>in()[3],i;=a;or(i=0;i<3;i++)[1][i]=pa[1][i]-1;[1][i]=1;[0][1]+a[1][1]+a[1][2];}执行后输出结果是7本题的考查点是二维数组和指针数组的应用。指向二维数组首地址a,接着执行下面的for循环,当i=0或i=1时,数组元素 pa[1][i]的值减1,当 i=2时,数组元素pa[1][i]的值为1,此时得到新的二维数组a[][3]=({1,2,3),(3,4,1)},最终打印结果就是2+4+1=7。所指数组中的内容进行逆置。m.h>[],int n)(int i,t;or(i=0;i[i];a[i]=a[n-1-i];a[n-1-i]=t;)}in()[10]=(1,2,3,4,5,6,7,8,9,10); int i,s=0;reverse(b,8);[i];out<}程序运行后的输出结果是22。本题的考查点是对数组的操作。[6]+b[7]+b[8]+b[9]即2+1+9+10=22。[ ][3]=({1),(3,2),(4,5,6),(0)};"中,a[2][2]的值是6本题考查二维数组的使用。数组可以在定义的时候给出其初始化的值,如果所给的比数组的大小少,则后面缺省的是0。15)下列描述中不正确的是可以对整型数组进行整体输入、输出本题的考查点是对数组的理解。++语言规定只能逐个引用数组元素而不能一次引用整个数组。字符数组的输入、输出可以将整个字符串一次输入或输出。所以,选项C的说法是不正确的。[]pa=new [10];17) 有以下程序m.h>int f1(int x,int y)( return x>y?x:y; )int f2(int x,int y)( return x>y?y:x; )in()=4,b=3,c=5,d,e,f;,b); d=f1(d,c);,b); e=f2(e,c);+b+c-d-e;out<<<","<<<","<}执行后输出的结果是5,4,3本题的考查点是条件运算符。语言中唯一的一个三目运算符。条件表达式的一般形式为表达式1?表达式2:表达式3条件运算符的执行顺序:先求解表达式1,若为非0(真)则求解表达式2,此时表达式2的值就作为整个条件表达式的值。若表达式1的值为0(假),则求解表达式3,表达式3的值就是整个条件表达式的值。弄清以上几点,本题也就不难了。18) 在一个函数中,要求通过函数来实现一种不太复杂的功能,并且要求加快执行速度,选用内联[2][2][2]函数19) 下列有关内联函数的叙述中,正确的是内联函数是通过编译器来实现的++中使用inline关键字来定义内联函数。inline关键字放在函数定义中函数类型之前。不过编译器会将在类的说明部分定义的任何函数都认定为内联函数,即使它们没有inline说明。一个内联函数可以有,也可以没有return语句。内联函数在程序执行时并不产生实际函数调用[3][3][3],而是在函数调用处将函数代码展开执行。内联函数是通过编译器来实现的。中带参数的宏,在C++中使用内联函数21) 下面程序的输出结果是1 2 3m>mespace std;dd()(tic int a;++;<<' ';)in()(or(int i=0;i<3;i++)dd();return 0;)22) 以下程序的结果是57m.h>,b;void fun()=100;=200; }in()=5,b=7;un();<<}++语言中的变量作用域[4][4][4]。,b把同名的全程变量屏蔽了。23) 执行下列程序语句后,屏幕输出为4。m>mespace std;int n=5;in()(int n=3;n++;::n++;out<<return 0;)++中变量有全局变量[5][5][5]和局部变量[6][6][6]。不在任何函数之内声明的变量即为全局变量。当在一个函数中声明的局部变量与全局变量重名时。局部变量会将全局变量屏蔽掉。如果要引用全局变量可以变量名的前面加“::”。24) 有如下程序:m>mespace std;in( )(int *p;*p = 9;t p:"<< *p;return 0;)编译运行程序将出现的情况是运行时有可能出错25) 下面程序m.h>in()([10]={1,2,3,4,5,6,7,8,9,10),*p=a;out<<*(p+2)<}的输出是3。语句是使指针p指向数组a的第一个数组元素,因此*(p+2)即是数组a的第3个元素的值,即a[2]。26) 下列程序的输出结果是10 20 30m>mespace std;[][3]=(10,20,30,40,50,60);in()([3];p=n;[0][0]<<","<<*(p[0]+1)<<","<<(*p)[2]<return 0;)[0][0]与n[0][0]对应,*(p[0]+1)与n[0][1]对应,(*p)[2]与p[0][2]对应。27) 有以下程序m.h>h>NODEnt num;NODE *next; };in()NODE *p,*q,*r;NODE *)new NODE;NODE *)new NODE;NODE *)new NODE;p->num=10;q->num=20;r->num=30;p->next=q;q->next=r;out<num+q->next->num;}程序运行后的输出结果是40。p->num即为10,q->next->num即为r->num,为30,所以p->num+q->next->num=10+30=40。28) 设有以下说明语句struct ext y;char z; } example;mple是结构体类型名mple是结构体变量名29) 以下程序的功能是:建立一个带有头结点[7][7][7]的单向链表[8][8][8],并将存储在数组中的字符依次转储[9][9][9]到链表的各个结点中,请为下划线处有号码的选择出正确的选项。h>stuct noder data;node *next;};reatList(char *s)h,*p,*q;h=(node *) new node;h;0')( p=(node *) new node;ta=*s ;q->next=p;q=p;s++;)0';h;}in()r str[]="link list";d;d=CreatList(str);...}in()函数中可知,head是"头指针"变量,它的值是由CreatList(str)带回的一个结构体类型的指针变量,指向所建立的表的第一个数据,所以第48空应该填struct node *。30) 写出执行完下列程序段[10][10][10]以后指定的变量的值:lse,z=false;x=xy||z;y=x||yz;z=!(x!=y)||(y==z);lse,z=true,则y=0/false。31) 下列语句段的输出结果是1024int k=1,n=10,m=1;hile(k<=n)(m*=2;n--;)out<<hile循环是当型循环,本题的条件是k<=n;k的初始值为1,而每次循环都会执行n--,循环执行10次,故最后输出1024。SumColumMin的功能是:求出M行N列二维数组每列元素中的最小值,并计算它们的和值。和值通过形参传回主函数输出。请填空。M 2N 4SumColumMin(int a[M][N],int *sum)( int i,j,k,s=0;N;i++){ k=0;M;j++)[k][i]>a[j][i])k=j;[k][i] ;)*sum =s;}in()[M][N]=(3,2,5,1,4,1,8,3),s;s);out<}LineMax函数,实现在N行M列的二维数组中,找出每一行上的最大值。请填空:N 3M 4LineMax(int x[N][M])( int i,j,p;N;i++){ p=0;M;j++)[i][p]t<<"The max value in line "<< i <<"is "<<<"n";)}in()[N][M]=(1,.5,7,4,2,6,4,3,8,2, 3,1);LineMax(x);}34) 以下程序的功能是调用函数fun计算:m=1-2+3-4+…+9-10,并输出结果。请填空。int fun ( int n)( int m=0,f=1,i;or(i=1; i<=n; i++){ m+=i*f;=-f;)return m;}in()n";}35) 以下程序运行后的输出结果是3,2,2,3。void fun(int x,int y)(x=x+y;y=x-y;x=x-y;out<<<","<<<",";)in()(int x=2,y=3;un(x,y);out<<<","<)被调函数fun()实现的功能是交换变量x和y的值并打印,由于该函数无返回值,所以在主函数中打印出的x和y的值仍然为2,3。36) 下面程序的运行结果是:35。p(int *a,int *b)(int *t;;a=b;b=t;)in()(int x=3,y=5,*p=x,*q=y;p(p,q);out<<*p<<*q;)p()实现的功能是交换变量的值,但由于函数不返回任何值,所以在main()函数中打印出的变量的值并没有发生交换,即仍为3和5。

11 13 7

本题考查的是C++语言的静态数据类型[1][1][1]。静态数据类型的变量的值在退出了函数时依然存放在内存中,且只初始化一次。

39) 若x是整型变量,pb是指向整型的指针变量,则正确的赋值表达式是pb=x

40) 若有说明:int i,j=2,*p=i;,则能完成i=j赋值功能的语句是*p=*j;

41) 关于指针,下列说法错误的是指针根据其所指向变量的类型的不同,其所占用内存大小也不同。

42) 以下程序的输出结果是6789

#include

void main()

{ char a[10]={'1','2','3','4','5','6','7','8','9',0},*p;

int i ;

i=8;

p=a+i;

cout<<(p-3)<

}

本题的考查点是通过指针引用数组元素。

指针p指向数组中第8个元素,即a[8]='9'。输出时,输出字符串,且指针把a[8]作为初始位置往前指3个元素,也就是共有4个字符输出。最后指向a[5]为'6',所以输出为6789。

43) 下列语句中,错误的是const int temp;

44) 以下程序的输出结果是0。

union myun

{ struct

{ int x,y,z;}u;

int k;

}a;

#include

void main()

{ a.u.x=4;a.u.y=5;a.u.z=6;

A. k=0;
B. u.x <
C. }
D. ++中,一个float类型的变量占4个字节。
E. SumColumMin的功能是:求出M行N列二维数组每列元素中的最小值,并计算它们的和值。和值通过形参传回主函数输出。请填空。
F. M 2
G. N 4
6)下面程序
m.h>
in()
=10,
=20, ok1=5, ok2=0;

if(b!=15)
if(!ok1) x=1;
lse if(ok2) x=10;
x=-1;
out<<
}
的输出是-1。
本题的考查点是判断语句的循环嵌套。
第一个判断值为真,过渡到下一个判断,第二个判断为真,过渡到第三个判断......如此循环,在打印输出语句的前一行,程序给变量x赋了值,为-1,所以,无论前期如何变化,最后的x值依然为-1。
7) 有以下程序
m.h>
in()
=1,n;
in>>n;
o
=a-2;}
!=n);
out<
}
若要使程序的输出值为2,则应该从键盘给n输入的值是-3
hile语句
此语句的一般形式为:
o 语句
hile (表达式)
其特点为:先执行语句,后判断表达式。
它是这样执行的:先执行一次指定的内嵌的语句,然后判别表达式,当表达式的值为非零("真")时,返回重新执行该语句,如此反复,直到表达式的值等于0为止,此时循环结束。
=a-2=-1;a!=n不成立,结束循环,此时s值为1,不符合题意;
=a-2=-1;a!=n成立,继续循环,s=s+1=2,a=a-2=-3;a!=n不成立,此时s值为2,符合题意;
k语句的描述不正确的是break语句可用在if语句中,它可使执行的流程跳出当前的if语句。
9) 以下程序执行后sum的值是以下程序执行后sum的值是不确定
m.h>
in()
{ int i, sum;
or(i=1;i<6;i++)sum+=i;
SumColumMin(int a[M][N],int *sum)
{ int i,j,k,s=0;
N;i++)
{ k=0;
M;j++)
[k][i]>a[j][i])k=j;
[k][i];
}
*sum =s;
}
in()
[M][N]={3,2,5,1,4,1,8,3},s;
s);
out<
}
out<<
}
变量sum在使用时未赋初值,所以无法确定sum最终的值。
。
10) t为int类型,进入下面的循环之前,t的值为0,
hile(t=1)
{ ......}
则以下叙述中正确的是循环控制表达式的值为1
11) 有如下程序
m.h>
in()
{
[3][3] = {{1,2},{3,4},{5,6}}, i,j,s = 0;
or(i = 1; i < 3; i++)
or(j = 0; j <= i; j++)
[i][j]];
out<<
}
该程序的输出结果是18。
题中的外循环只执行了2次:
[1][0] = 3,a[1][1] = 4,所以s = 7;
[2][0] = 5,a[2][1] = 6,a[2][2] = 0,所以s = 7 + 5 + 6 + 0 = 18。
12) 有以下程序
m.h>
in()
[3],i;
=a;
or(i=0;i<3;i++)
[1][i]=pa[1][i]-1;
[1][i]=1;
[0][1]+a[1][1]+a[1][2];
}
执行后输出结果是7
本题的考查点是二维数组和指针数组的应用。
指向二维数组首地址a,接着执行下面的for循环,当i=0或i=1时,数组元素 pa[1][i]的值减1,当 i=2时,数组元素pa[1][i]的值为1,此时得到新的二维数组a[][3]={{1,2,3},{3,4,1}},最终打印结果就是2+4+1=7。
所指数组中的内容进行逆置。
m.h>
[],int n)
{int i,t;
or(i=0;i
[i];a[i]=a[n-1-i];a[n-1-i]=t;}
}
in()
[10]={1,2,3,4,5,6,7,8,9,10}; int i,s=0;
reverse(b,8);
[i];
out<
}程序运行后的输出结果是22。
本题的考查点是对数组的操作。
[6]+b[7]+b[8]+b[9]即2+1+9+10=22。
[ ][3]={{1},{3,2},{4,5,6},{0}};"中,a[2][2]的值是6
本题考查二维数组的使用。
数组可以在定义的时候给出其初始化的值,如果所给的比数组的大小少,则后面缺省的是0。
15)下列描述中不正确的是可以对整型数组进行整体输入、输出
本题的考查点是对数组的理解。
++语言规定只能逐个引用数组元素而不能一次引用整个数组。字符数组的输入、输出可以将整个字符串一次输入或输出。所以,选项C的说法是不正确的。
[]pa
=new [10];
17) 有以下程序
m.h>
int f1(int x,int y)
{ return x>y?x:y; }
int f2(int x,int y)
{ return x>y?y:x; }
in()
=4,b=3,c=5,d,e,f;
,b); d=f1(d,c);
,b); e=f2(e,c);
+b+c-d-e;
out<<<","<<<","<
}
执行后输出的结果是5,4,3
本题的考查点是条件运算符。
语言中唯一的一个三目运算符。条件表达式的一般形式为
表达式1?表达式2:表达式3
条件运算符的执行顺序:先求解表达式1,若为非0(真)则求解表达式2,此时表达式2的值就作为整个条件表达式的值。若表达式1的值为0(假),则求解表达式3,表达式3的值就是整个条件表达式的值。
弄清以上几点,本题也就不难了。
18) 在一个函数中,要求通过函数来实现一种不太复杂的功能,并且要求加快执行速度,选用内联[2][2][2]函数
19) 下列有关内联函数的叙述中,正确的是内联函数是通过编译器来实现的
++中使用inline关键字来定义内联函数。inline关键字放在函数定义中函数类型之前。不过编译器会将在类的说明部分定义的任何函数都认定为内联函数,即使它们没有inline说明。一个内联函数可以有,也可以没有return语句。内联函数在程序执行时并不产生实际函数调用[3][3][3],而是在函数调用处将函数代码展开执行。内联函数是通过编译器来实现的。
中带参数的宏,在C++中使用内联函数
21) 下面程序的输出结果是1 2 3
m>
mespace std;
dd()
{
tic int a;
++;
<<' ';
}
in()
{
or(int i=0;i<3;i++)
dd();
return 0;
}
22) 以下程序的结果是57
m.h>
,b;
void fun()
=100;
=200; }
in()
=5,b=7;
un();
<<
}
++语言中的变量作用域[4][4][4]。
,b把同名的全程变量屏蔽了。
23) 执行下列程序语句后,屏幕输出为4。
m>
mespace std;
int n=5;
in()
{
int n=3;
n++;
::n++;
out<<
return 0;
}
++中变量有全局变量[5][5][5]和局部变量[6][6][6]。不在任何函数之内声明的变量即为全局变量。当在一个函数中声明的局部变量与全局变量重名时。局部变量会将全局变量屏蔽掉。如果要引用全局变量可以变量名的前面加“::”。
24) 有如下程序:
m>
mespace std;
in( )
{
int *p;
*p = 9;
t p:"<< *p;
return 0;
}
编译运行程序将出现的情况是运行时有可能出错
25) 下面程序
m.h>
in()
{
[10]={1,2,3,4,5,6,7,8,9,10},*p=a;
out<<*(p+2)<
}
的输出是3。
语句是使指针p指向数组a的第一个数组元素,因此*(p+2)即是数组a的第3个元素的值,即a[2]。
26) 下列程序的输出结果是10 20 30
m>
mespace std;
[][3]={10,20,30,40,50,60};
in()
{
[3];
p=n;
[0][0]<<","<<*(p[0]+1)<<","<<(*p)[2]<
return 0;
}
[0][0]与n[0][0]对应,*(p[0]+1)与n[0][1]对应,(*p)[2]与p[0][2]对应。
27) 有以下程序
m.h>
h>
NODE
nt num;NODE *next; };
in()
NODE *p,*q,*r;
NODE *)new NODE;
NODE *)new NODE;
NODE *)new NODE;
p->num=10;q->num=20;r->num=30;
p->next=q;q->next=r;
out<num+q->next->num;
}
程序运行后的输出结果是40。
p->num即为10,q->next->num即为r->num,为30,所以p->num+q->next->num=10+30=40。
28) 设有以下说明语句
struct ex
t y;char z; } example;
mple是结构体类型名
mple是结构体变量名
29) 以下程序的功能是:建立一个带有头结点[7][7][7]的单向链表[8][8][8],并将存储在数组中的字符依次转储[9][9][9]到链表的各个结点中,请为下划线处有号码的选择出正确的选项。
h>
stuct node
r data;
node *next;};
reatList(char *s)
h,*p,*q;
h=(node *) new node;
h;
\0')
{ p=(node *) new node;
ta=*s ;
q->next=p;
q=p;
s++;
}
\0';
h;
}
in()
r str[]="link list";
d;
d=CreatList(str);
...
}
in()函数中可知,head是"头指针"变量,它的值是由CreatList(str)带回的一个结构体类型的指针变量,指向所建立的表的第一个数据,所以第48空应该填struct node *。
30) 写出执行完下列程序段[10][10][10]以后指定的变量的值:
lse,z=false;
x=xy||z;
y=x||yz;
z=!(x!=y)||(y==z);
lse,z=true,则y=0/false。
31) 下列语句段的输出结果是1024
int k=1,n=10,m=1;
hile(k<=n)
{
m*=2;
n--;
}
out<<
hile循环是当型循环,本题的条件是k<=n;k的初始值为1,而每次循环都会执行n--,循环执行10次,故最后输出1024。
SumColumMin的功能是:求出M行N列二维数组每列元素中的最小值,并计算它们的和值。和值通过形参传回主函数输出。请填空。
M 2
N 4
SumColumMin(int a[M][N],int *sum)
{ int i,j,k,s=0;
N;i++)
{ k=0;
M;j++)
[k][i]>a[j][i])k=j;
[k][i] ;
}
*sum =s;
}
in()
[M][N]={3,2,5,1,4,1,8,3},s;
s);
out<
}
LineMax函数,实现在N行M列的二维数组中,找出每一行上的最大值。请填空:
N 3
M 4
LineMax(int x[N][M])
{ int i,j,p;
N;i++)
{ p=0;
M;j++)
[i][p]
t<<"The max value in line "<< i <<"is "<<<"\n";
}
}
in()
[N][M]={1,.5,7,4,2,6,4,3,8,2, 3,1};
LineMax(x);
}
34) 以下程序的功能是调用函数fun计算:m=1-2+3-4+…+9-10,并输出结果。请填空。
int fun ( int n)
{ int m=0,f=1,i;
or(i=1; i<=n; i++)
{ m+=i*f;
=-f;
}
return m;
}
in()
\n";}
35) 以下程序运行后的输出结果是3,2,2,3。
void fun(int x,int y)
{x=x+y;y=x-y;x=x-y;
out<<<","<<<",";}
in()
{int x=2,y=3;
un(x,y);
out<<<","<
}
被调函数fun()实现的功能是交换变量x和y的值并打印,由于该函数无返回值,所以在主函数中打印出的x和y的值仍然为2,3。
36) 下面程序的运行结果是:35。
p(int *a,int *b)
{int *t;
;a=b;b=t;
}
in()
{int x=3,y=5,*p=x,*q=y;
p(p,q);
out<<*p<<*q;
}
p()实现的功能是交换变量的值,但由于函数不返回任何值,所以在main()函数中打印出的变量的值并没有发生交换,即仍为3和5。

题目解答

答案

4 -1 本题的考查点是判断语句的循环嵌套。 第一个判断值为真,过渡到下一个判断,第二个判断为真,过渡到第三个判断 ...... 如此循环,在打印输出语句的前一行,程序给变量 x 赋了值,为 -1 ,所以,无论前期如何变化,最后的 x 值依然为 -1 。 -3 本题的考查点是 do-while 语句 此语句的一般形式为: do 语句 while (表达式) 其特点为:先执行语句,后判断表达式。 它是这样执行的:先执行一次指定的内嵌的语句,然后判别表达式,当表达式的值为非零( " 真 " )时,返回重新执行该语句,如此反复,直到表达式的值等于 0 为止,此时循环结束。 当 n=-1 时, s+=1,s=1; a=a-2=-1;a!=n 不成立,结束循环,此时 s 值为 1 ,不符合题意; 当 n=-3 时, s+=1,s=1; a=a-2=-1;a!=n 成立,继续循环, s=s+1=2,a=a-2=-3;a!=n 不成立,此时 s 值为 2 ,符合题意; break 语句可用在 if 语句中,它可使执行的流程跳出当前的 if 语句。 不确定 A[k][i] *sum x,s 变量 sum 在使用时未赋初值,所以无法确定 sum 最终的值。 本题答案为 C 。 循环控制表达式的值为 1 18 题中的外循环只执行了 2 次: 第 1 次 : a[1][0] = 3 , a[1][1] = 4 , 所以 s = 7 ; 第 2 次 : a[2][0] = 5 , a[2][1] = 6 , a[2][2] = 0 , 所以 s = 7 + 5 + 6 + 0 = 18 。 7 本题的考查点是二维数组和指针数组的应用。 在所给的程序中, pa 指向二维数组首地址 a ,接着执行下面的 for 循环,当 i=0 或 i=1 时,数组元素 pa[1][i] 的值减 1 ,当 i=2 时,数组元素 pa[1][i] 的值为 1 ,此时得到新的二维数组 a[][3]={{1,2,3},{3,4,1}} ,最终打印结果就是 2+4+1=7 。 22 本题的考查点是对数组的操作。 本题并不是将整个数组中的内容逆置,而是逆置前 8 个元素。逆置后的数组为: 8 , 7 , 6 , 5 , 4 , 3 , 2 , 1 , 9 , 10 通过 for 循环计算 b[6]+b[7]+b[8]+b[9] 即 2+1+9+10=22 。 6 本题考查二维数组的使用。 数组可以在定义的时候给出其初始化的值,如果所给的比数组的大小少,则后面缺省的是 0 。 可以对整型数组进行整体输入、输出 本题的考查点是对数组的理解。 C++ 语言规定只能逐个引用数组元素而不能一次引用整个数组。字符数组的输入、输出可以将整个字符串一次输入或输出。所以,选项 C 的说法是不正确的。 16) delete []pa 17) 5,4,3 本题的考查点是条件运算符。 条件运算符要求有三个操作对象,称三目(元)运算符,它是 C 语言中唯一的一个三目运算符。条件表达式的一般形式为 表达式 1? 表达式 2: 表达式 3 条件运算符的执行顺序:先求解表达式 1 ,若为非 0 (真)则求解表达式 2 ,此时表达式 2 的值就作为整个条件表达式的值。若表达式 1 的值为 0 (假),则求解表达式 3 ,表达式 3 的值就是整个条件表达式的值。 弄清以上几点,本题也就不难了。 18) 内联函数 19) 内联函数是通过编译器来实现的 在 C++ 中使用 inline 关键字来定义内联函数。 inline 关键字放在函数定义中函数类型之前。不过编译器会将在类的说明部分定义的任何函数都认定为内联函数,即使它们没有 inline 说明。一个内联函数可以有,也可以没有 return 语句。内联函数在程序执行时并不产生实际函数调用,而是在函数调用处将函数代码展开执行。内联函数是通过编译器来实现的。 20) 内联函数 21) 1 2 3 22) 57 本题主要考查的是 C++ 语言中的变量作用域。 全程变量是可以在子函数中对其值作改变,且它也可作为函数间的值传递。但当函数或子函数中定义了与全程变量名称相同的局部变量,则全程变量将被屏蔽。所以本题主函数的局部变量 a , b 把同名的全程变量屏蔽了。 23) 4 C++ 中变量有全局变量和局部变量。不在任何函数之内声明的变量即为全局变量。当在一个函数中声明的局部变量与全局变量重名时。局部变量会将全局变量屏蔽掉。如果要引用全局变量可以变量名的前面加 “ :: ” 。 运行时有可能出错 *p=a 语句是使指针 p 指向数组 a 的第一个数组元素,因此 * ( p+2 )即是数组 a 的第 3 个元素的值,即 a[2] 。 10 20 30 二维数组每一行都对应一个指针,这个指针指向每行第一个元素。题中 p[0][0] 与 n[0][0] 对应, *(p[0]+1) 与 n[0][1] 对应, (*p)[2] 与 p[0][2] 对应。 27) 40 p->num 即为 10 , q->next->num 即为 r->num ,为 30 ,所以 p->num+q->next->num=10+30=40 。 28) example 是结构体变量名 29) node * 本题要求建立一个 struct node 类型的数据链表,从 main() 函数中可知, head 是 " 头指针 " 变量,它的值是由 CreatList(str) 带回的一个结构体类型的指针变量,指向所建立的表的第一个数据,所以第 48 空应该填 struct node * 。 30) 0/false 31) 1024 while 循环是当型循环,本题的条件是 k<=n ; k 的初始值为 1 ,而每次循环都会执行 n-- ,循环执行 10 次,故最后输出 1024 。 32) a[k][i] *sum x,s 33) p=i; x[i][p] LineMax(x) 34) -f fun(10) 35) 3,2,2,3 被调函数 fun() 实现的功能是交换变量 x 和 y 的值并打印,由于该函数无返回值,所以在主函数中打印出的 x 和 y 的值仍然为 2,3 。 36) 35 观察本题的程序可以看出,被调函数 swap() 实现的功能是交换变量的值,但由于函数不返回任何值,所以在 main() 函数中打印出的变量的值并没有发生交换,即仍为 3 和 5 。

相关问题

  • 由脸书(Facebook)公司开发的深度学习编程框架是()A. TensorFlowB. PaddlePaddleC. PyTorchD. Mindspore

  • 2.单选题 讯飞星火可以实现多种文案类型和语言风格的文本写作。讯飞星火(网页版)“内容写作”功能可选的“语言风格”不包括( )。A. 口语化B. 高情商C. 专业D. 热情

  • 下列哪个方法属于知识图谱推理方法()A. 广度优先搜索B. 深度学习推断C. 路径排序算法D. 归纳逻辑程序设计

  • 网络诈骗中常见的“钓鱼网站”目的是()?A. 传播病毒B. 窃取个人信息C. 提供免费电影

  • 网络安全包括物理安全[1]、逻辑安全、操作系统安全及联网安全,其中逻辑安全包括访问控制[2]、加密、安全管理及用户身份认证。A. 正确B. 错误

  • 下列不属于量子机器学习算法的是()A. 量子支持向量机B. 量子主成分分析C. 薛定谔方程求解D. 深度量子学习

  • 下列哪个方法属于知识图谱推理方法()A. 路径排序算法B. 深度学习推断C. 广度优先搜索D. 归纳逻辑程序设计

  • 下列哪项属于因果推理模型()A. 因果图B. 神经符号推理C. 符号推理模型D. 结构因果模型

  • 3.判断题K-means聚类算法对数据的尺寸敏感。()A. 对B. 错

  • 7、 加强电脑安全防护,及时升级病 毒库,安装防火墙,及时查杀病毒和木马,是防范 电信网络诈骗的有效做法。A. 正确B. 错误

  • 在决策树建立过程中,使用一个属性对某个结点对应的数集合进行划分后,结果具有高信息熵(highentropy),对结果的描述,最贴切的是()。A. 纯度高B. 纯度低C. 有用D. 无用E. 以上描述都不贴切

  • 4/5 以下属于人工智能实际应用的是()。A. 机器视觉B. 人脸识别C. 计算机辅助自动规划D. 智能工业机器人E. 刷卡门禁

  • Windows中“复制”操作的快捷键是Ctrl+V。

  • 下列哪项不是求解对抗搜索问题的基本算法( ) A.反向传播算法 B.广度优先排序算法 C.Alpha-Beta剪枝算法D.最小最大搜索算法

  • 程序=算法+()A. 数据结构B. 程序结构C. 控制结构[1]D. 体系结构

  • AdaBoosting采用多个单一分类器组成一个强分类器()A. 错误B. 正确

  • 网络安全包括物理安全[1]、逻辑安全、操作系统安全及联网安全,其中逻辑安全包括访问控制[2]、加密、安全管理及用户身份认证。A. 正确B. 错误

  • 下列哪项贪婪最佳优先搜索算法的描述正确()A. 贪婪最佳优先搜索不属于启发式搜索算法B. 贪婪最佳优先搜索是一种A*搜索算法C. 贪婪最佳优先搜索是一种广度优先搜索算法D. 贪婪最佳优先搜索属于有信息搜索算法

  • 下列哪项关于监督学习算法的描述正确()A. 强化学习的训练效果一定优于监督学习B. 主要的监督学习方法包括生成方法和判别方法C. 广度优先搜索算法是一种监督学习算法

  • 以下哪种方法属于卷积神经网络的基本组件()。A. 卷积层B. 池化层C. 激活函数D. 复制层

上一页下一页
logo
广州极目未来文化科技有限公司
注册地址:广州市黄埔区揽月路8号135、136、137、138房
关于
  • 隐私政策
  • 服务协议
  • 权限详情
学科
  • 医学
  • 政治学
  • 管理
  • 计算机
  • 教育
  • 数学
联系我们
  • 客服电话: 010-82893100
  • 公司邮箱: daxuesoutijiang@163.com
  • qt

©2023 广州极目未来文化科技有限公司 粤ICP备2023029972号    粤公网安备44011202002296号