计算机二级

请读程序: include main( ) { int n[2],i,j,k; { for(i=0,i请读程序: # include<srdio.h> main( ) { int n[2],i,j,k; { for(i=0,i<2;i + + )n[i]=0; k=2; for(i=0;i<k;i+ +) {for(j=0;j<k;j+ +)n[j]=n[i]+l; print{("%d\n",n[k]); } 上面程序片段输出结果是 ( )A.不确定的值B.3C.23D.1

题目
请读程序: include main( ) { int n[2],i,j,k; { for(i=0,i<2;i + + )n[i]=0;

请读程序: # include<srdio.h> main( ) { int n[2],i,j,k; { for(i=0,i<2;i + + )n[i]=0; k=2; for(i=0;i<k;i+ +) {for(j=0;j<k;j+ +)n[j]=n[i]+l; print{("%d\n",n[k]); } 上面程序片段输出结果是 ( )

A.不确定的值

B.3

C.23

D.1

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

第1题:

【填空题】以下程序的运行结果是输出如下图形。请填空。 * *** ***** ******* ***** *** * #include <stdio.h> void a(int i) {int j,k; for(j=0;j<=7-i;j++) printf(" "); for(k=0;k<【1】;k++) printf("*"); printf("n"); } main() {int i; for(i=0;i<3;i++) 【2】; for(i=3;i>=0;i--) 【3】; }


输出结果为: value is 9.0

第2题:

以下程序运行后输出结果是()。 main() { int n[3],i,j,k; for(i=0;i<3;i++) n[i]=0; k=2; for (i=0;i<k;i++) for (j=0;j<k;j++) n[j]=n[i]+1; printf("%dn",n[1]); }

A.2

B.1

C.0

D.3


C 解析:本题考查的是对位与运算符&的理解。位与运算是将两个运算分量看作两个二进制数,然后对两个二进制数的相应位进行与运算,若同时为1则结果相应位为1,否则结果相应位为0。因此,当两个运算分量相同时,它们的相应位肯定也相同,即不同为1就同为0。所以得到的结果和运算分量也相同。所以,4个选项中选项C)符合题意。

第3题:

阅读下列程序: main() { int n[3],i,j,k; for(i=0;i〈 3;i++) n[i]=0; k=2; for (i=0;i < k;i++) for (j=0;j〈 2;j++) n[j]=n[i]+1; printf("%dn",n[1]); } 下述程序运行后输出结果是

A.2

B.1

C.0

D.3


A

第4题:

请读程序:includeint a[]={2,4,6,8,};main(){int i; int *p=a; for( i=0;i<4;i++)a[i]

请读程序: #include <stdio.h> int a[]={2,4,6,8,}; main() { int i; int *p=a; for( i=0;i<4;i++) a[i]=*p++; priatf("%d\n",a[2]); } 上面程序的输出结果是( )。

A.6

B.8

C.4

D.2


正确答案:A
解析:本题考查通过指针引用数组元素。程序通过a[i]=*p++;语句,循环地将2赋给a[0],4赋给a[1],6赋给a[2],8赋给a[3],所以输出结果为6。

第5题:

请读程序: includeint a[]={2,4,6,8};main (){ int i;int * p=a;for(i=0;i<4;i + +)a[

请读程序: # include<stdio.h> int a[]={2,4,6,8}; main ( ) { int i; int * p=a; for(i=0;i<4;i + +)a[i]=* p + +; printf("%d\n”,a[2]); } 上面程序的输出结果是 ( )

A.6

B.8

C.4

D.2


正确答案:A

第6题:

以下程序的输出结果是#include <conio.h>#include <stdio.h>#define M 100void fun(int m, int *a, int *n){ int i,j=0; for(i=1;i<=m;i++) if(i%7==0||i%11==0) a[j++]=i; *n=j;}main(){ int aa[M],n,k; clrscr(); fun(100,aa,&n); for(k=0;k<n;k++) if((k+1)%20==0)printf("\n"); else printf("%d",aa[k]); printf("\n"); }


正确答案:77
在本题中,程序首先定义一个宏M,然后定义一个fun函数,函数带有三个形参,分别是一个整型形参m和两个整型指针形参a、n。在函数体中,首先定义两整型变量i和j,并给j赋初值为0,然后执行循环,循环体中首先是一个条件判断语句,如果结果为真,则说明变量i能同时被7和11整除,并将变量i保存到数组中,循环结束后,将数组中元素的个数通过指针变量n进行返回。通过分析可以知道,fun函数的作用是求取1到m中能同时被7和11整除的整数,并将结果保存到数组a中。
在主函数中,首先定义了两个整型变量和一个整型数组aa,然后调用clrscr()函数对文本模式窗口进行清除操作。接着调用fun函数,根据上面我们对fun函数的分析,要计算1~100之间能同时被7和11整除的整数,很显然,这样的数只有77一个,那么此时数组aa中只有一个元素为77,而n的值是1。
接着执行for循环,从程序中不难看出循环的作用是将数组aa中的元素按一定的规则输出,其规则为每行最多只能输出20个值。结合上面的分析,数组aa中只有一个元素为77,因此,本题程序的最终输出结果为77。

第7题:

分析下列程序,其最终执行结果是______。 main() { int n[3],i,j,k; for(i=0;i<3;i++)n[i]=O; k=2; for(i=0;i<k;i++) for(j=0;j<k;j++) n[j]=n[i]-1; printf("%d\n",n[0]); }

A.-2

B.-1

C.0

D.-3


正确答案:D
解析:当i为0,内循环在j为0时,执行n[j]=n[i]-1;,即n[0]=n[0]-1, n[0]值变为-1:在j为1时,执行n[j]=n[i]-1;,即n[1]=n[0]-1,将-2赋给n[1]。当i为1时,内循环在j为0时,执行n[j]=n[i]-1;,即n[0]=n[1]-1,n[0]值变为-3;在j为1时,执行n[j]=n[i]-1;,即n[1]=n[1]-1,将-3赋给n[1];最后n[0]和n[1]的值均为-3。

第8题:

有以下程序:include using namespace std;int main ( ){ int n[3],i,j,k = 2; for(i

有以下程序: #include <iostream> using namespace std; int main ( ) { int n[3],i,j,k = 2; for(i = 0;i<k;i++) n[i] = O; for(i = O;i<k;i++) { for(j = O;j<k;j++) n[j] = n[i] + 1; } cout<<n [0 ] <<end1; return 0; } 上述程序运行后,输出结果是( )。

A.0

B.1

C.2

D.3


正确答案:D
解析:本题考核数组的定义、初始化及其使用。根据程序逐步分析:程序首先给数组n的所有元素赋初值0,然后执行一个嵌套的循环结构。嵌套循环的执行过程如下:①i=0时,j分别取值0、1,使得n[0]、n[1]的值分别变1、2,内层循环结束。②i=1时,对外层循环进行判断,符合循环条件,执行内层循环,j分别取值0、1,使得n[0]、n[1]的值变为3、3,退出内层循环。③i=2时,判断外层循环,不再符合循环条件,退出外层循环,执行cout语句,输出n[0]的值为3。

第9题:

该程序运行的结果是( )。

#include

#include

#define M 100

void fun(int m, int *a, int *n)

{ int i,j=0;

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

if(i%7==0||i==0)

a[j++]=i;

*n=j;}

main()

{ int aa[M],n,k;

clrscr();

fun(10,aa,&n);

for(k=0;k

if((k+1) ==0)printf("\n");

else printf("M",aa[k]);

printf("\n");}


正确答案:
7