有以下程序#include <stdio.h>void func(int n){ int i;for(i=0;i<=n;i++) printf(”*”)

题目

有以下程序

#include <stdio.h>

void func(int n)

{ int i;

for(i=0;i<=n;i++) printf(”*”);

printf(”#”).

}

main( )

{ func(3); printf(”???? ”); func(4); printf(”\n”); }

程序运行后的输出结果是

A)****#????***#

B)***# ????*** *#

C)**#????*****#

D)****#????*****#

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

第1题:

程序填空,使下面程序实现输出N!(N<=10000)的十进制位数。 #include <stdio.h> #include <math.h> int main () { int i, n; double sum; sum = 0.0; scanf("%d", &n); for (i = 2; i <= n; i++) { sum +=_________; } printf ("%dn", (int)ceil(sum)); return 0; }


01234

第2题:

有以下程序:includedefine N 8void fun(int*x,int i){*x=*(x+i)+1;}main(){int a[N]=

有以下程序: #include<stdio.h> #define N 8 void fun(int*x,int i) {*x=*(x+i)+1;} main() {int a[N]={1,2,3,4,5,6,7,8},i; fun(a,2); for(i=0;i<N/2;i++) {printf("%d",a[i]);} printf("\n"); } 程序运行后的输出结果是( )。

A.1 3 1 3

B.3 2 3 4

C.4 2 3 4

D.1 2 3 4


正确答案:C
解析:函数fun(int*x,int i)的功能是把数组元素x[i]的值加1赋给x[0]。所以在主函数中执行fun(a,2)后,数组元数a[0]的值等于4。然后在for循环语句中,输出数组a中的前4个元素的值,分别是4,2,3,4。

第3题:

有以下程序,程序执行后,输出结果是【】include void fun(int*A) {a[0]=a[1];} main() {i

有以下程序,程序执行后,输出结果是【 】

include<stdio.h>

void fun(int*A)

{ a[0]=a[1];}

main()

{ int a[10]={10,9,8,7,6,5,4,3,2,1,},i;

for(i=2;i>1=0;i-) fun(&a[i]);

for(i=0;i<10;i++) printf("%d,a[i]);

printf("\n");

}


正确答案:7777654321
7777654321 解析:本题主要考查函数的调用,第—次调用把数组元素a[2]的地址赋给a,此时a[1]即是原数组的a[3]等于7,再执行赋值语句a[0]=a[1],则a[0]和a[1]中的值都是7,然后再把这个值返回给a[2]同样地第二次调用的时候函数返回值也是7,第三次调用返回值也是7,因此数组的前4个元素,即对a[0]、a[1]、a[2]和a[3]的值都为7,当执行第二个for循环时输出数组中所有元素的值7777654321。

第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; printf("%d\n",a[2]);} 上面程序输出结果是

A.6

B.8

C.4

D.2


正确答案:D
解析:在C语言中,数组元素下标是从0开始的;指针变量p指向数组的首地址。for循环语句中,指针变量p始终指向数组的首地址,因而执行循环赋值语句后数组各元素的值均变为2。

第5题:

有以下程序: #include<stdio.h> void func(int n) { int i; for(i=0;i<=n;i++)printf("*"): printf("#"); } main( ) {func(3);printf("????");func(4);printf("n\"); 程序运行后的输出结果( )。

A.****#????***#

B.***#????****#

C.**#????****#

D.****#????*****#


正确答案:D
本题考查简单的for循环,func(3)由于i是从0开始,所以会输出四个“*”和一个“#”,然后打印四个“?”func(4),会输出五个“*”和一个“#”,所以答案选择D。

第6题:

有以下程序 include define N 4 void fun(int a[][N],int b[]) { int

有以下程序 #include <stdio.h> #define N 4 void fun(int a[][N],int b[]) { int i; for(i=0;i<N;i++) b[i]=a[i][i]; } main() {int x[][N]={{1,2,3},{4},{5,6,7,8},{9,10} },Y[N],i; fun(x,y); for(i=0;i<N;i++) printf("%d,",y[i]); printf("\n"); } 程序的运行结果是______。

A.1,2,3,4,

B.1,0,7,0,

C.1,4,5,9,

D.3,4,8,10,


正确答案:B
解析:在主函数中,定义并初始化了4行4列的二维数组x。对于二维数组元素的赋值,可以只对部分元素赋初值,未赋初值的元素自动取0。x数组元素赋初值后各元素为:

fun函数的作用是将二维数组a中主对角线元素赋给数组b,由于数组a与数组x共用同一存储单元,也即将数组x中主对角线元素赋给了数组b。又因为数组b与数组y共用同一存储单元,所以主函数中通过语句“printf("%d,"y[i]);”输出的即为数组b中的值,所以程序运行结果为“1,0,7,0,”。

第7题:

有以下程序include main(){ int.i=0,a=0;while(i<20){for(;;) {if((i%10)==0)break;el

有以下程序 #include <stdio.h> main() { int.i=0,a=0; while(i<20) { for(;;) { if((i%10)==0) break; else i--; } i+=11; a+=i; } printf("%d\n",a) ; } 程序运行后的输出结果是( )

A.21

B.32

C.33

D.11


正确答案:B

第8题:

若有以下程序: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


正确答案:D
解析:在C语言中,数组元素的下标是从0开始的。for循环语句中,指针变量p始终指向数组a的首地址,因而执行循环赋值语句后数组各元素的值均变为2。

第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