两题C语言,高手求助啊

供稿:hz-xin.com     日期:2025-01-12
两道C语言题

第一题选D,int *a声明变量a是一个int指针,对应实参必须是个地址,所以是&v1,long &b声明变量b是一个long型变量的引用(别名,无任何实质变化),所以实参选变量v2。
第二题选B,先看fun(b,c),带入数值得fun(5,6)=(5+6)/2=5,然后看fun(2*a,fun(b,c)得到fun(8,5)=(8+5)/2=6。/在整型运算中是整除的意思,不计算余数。

main()
{
int m,n=0,p;
scanf("%d",&m);
while(m)
{
n=10*n+m%10;m=m/10;
}

printf("%d",n);
}













main()
{
int x=10,y=12,t;
t=x;x=y;y=t;
printf("%d,%d",x,y);
}

第一题:

第一次5%2=1,所以执行i--,得i=4,因continue继续,所以用4%2=0,执行case0,i--得3,跳出,跳出后继续--得2,打印输出。下一次循环用2%2=0,执行case 0,i--得1,跳出继续--,得0;所以输出为2和0

第二题:

调用函数后,主要看里面的循环情况,第一次循环i=0;c=8;当j=8时,跳出,i=7,此时得b[0]=-8,m=1;b[1]=4,m=2;

执行i++,得i=8,进入第二次外层循环,a[j]=a[9]不等于a[8]直接break跳出,i=j-1=8;此次执行c==1时,b[2]=a[8]=1,m=3;

执行i++,得i=9,进入第三次外层i循环,a[i]=a[9],此时j=10,不小于10,所以内层循环不执行,跳出执行当j>=n,i=j,所以此时i=10;因为c=1,所以继续执行b[3]=a[9]=2,m=4;

最后i=10,不执行循环,所以返回m值为4.即n=4.

主函数里面当i%2==0时,换行输出,所以最后的输出结果应该为

y[0]=-8   y[1]=4

y[2]=1    y[3]=2

你的程序排版太不规范了,呵呵



第一道5%2=1,之后运行 case 1:i--;continue得5-1=4,因为分号后面是continue,所以继续i=4,4%2=0,运行case 0:i--;break得3,退出开关语句得i--=2。之后2大于0,得按第一一样继续循环得第二行为0

1.
int i=5;
do{
switch(i%2)
{
case 0:
i--;
break;
case 1:
i--;
continue;
}
i--;
printf("%d\n",i);
}while(i>0);
第一次进来时,i==5, i%2==1,故i--后为4,continue继续执行while循环,并且跳过了printf,所以第一次没有输出; 这次i%4==0了,同样i--后为3,break跳出switch循环,到外面的i--为2,并输出2
继续while循环,i==2,i%2==0,执行i--,break 跳出switch,
执行i--,printf,并是1了。
2.
fun函数是用来计算数组a中的连续的元素个数,如果连续的元素个数超过一个,则在一行输入这个连续元素出现的次数,为了与数值以示区别,在前面加一个负号; 其他不连续元素则直接输出,规定每行只能输出两个数。

两题C语言,高手求助啊
第一题:第一次5%2=1,所以执行i--,得i=4,因continue继续,所以用4%2=0,执行case0,i--得3,跳出,跳出后继续--得2,打印输出。下一次循环用2%2=0,执行case 0,i--得1,跳出继续--,得0;所以输出为2和0 第二题:调用函数后,主要看里面的循环情况,第一次循环i=0;c=8;当j=8时...

几道简单的C语言编程题,请高手帮忙
if(a>b&&a>c)printf("最大值为:%d",a);else if(b>a&&b>c)printf("最大值为:%d",b);else printf("最大值为:%d",c);}

C语言菜鸟求高手解答...
1. 第一个问题似乎是一个关于C语言条件判断的疑问。你需要明确表达你的问题,以便得到具体的解答。2. 在C语言中,`m++` 表示先使用变量 `m` 的值,然后将 `m` 的值加1。所以,表达式 `m++ > 5` 首先将 `m` 的值(初始为5)用于比较,然后 `m` 自增。3. 由于 `m` 的初始值是5,...

c语言的简答题!求高手解答
1 C 外部extern 2 A 函数中有递归函数 void型函数为无返回值函数 C语言程序有函数体组成 main函数 到各个子函数等 3 D 数组名做形参传的是数组首地址 B C不解释 被调函数在主调之前可以不声明 4 D 5 D 6 B 7 B static 可以修饰任意位置变了 全局和静态变态存在数据区 初值为0 8 B...

20道C语言选择题,请教高手
您好,很高兴回答你的问题!20道c语言选择题如下(附答案):1.设int m1=5,m2=3;表达式m1>m2?(m1=1): (m2=-1)运算后,m1和m2的值分别是 A. 1和-1 B. 1和3 C. 5和-1 D. 5和3 答案:B 2.设float m=4.0,n=4.0;使m为10.0的表达式是 A. m-=n*2.5 B. m\/=n+9 ...

有一道C语言习题烦高手帮忙指点,给出答案及说明过程!
x++,+在后面是使用完x在+1 x--,-在前面是x-1后再使用x 开始x=6,x++先不使用,--x,x=5,同理y=6 z=(5+6)+(5+6)=22 然后x=x+1=6;y=y+1=7 有些东西不能只靠思考,要实际试一下,其实关于这种顺序的问题,建议在机子上多试几次,这些单凭记忆是很难记清的 ...

c语言问题,高手请进谢谢!!!
即i+i--->这两个i些时都是3;而不是一个2,一个3;4。再一个++i 此时i加1得到i,i=3+1=4;由上面的理解知道i此时已经是4,5、由上面四步得到一个i=4,i+i+i的式子,写入数据得到12 今天上课还在纠结这个问题,一看到你的问题突然想起来了!呵呵 ...

C语言高手帮忙做这三道题,要详解 谢谢拉!!
1、A while()是判断括号里的是真还是假,若表达式为0,就是假,若表达式非0,就是真。"!"是非逻辑运算符,简单说就是把非0变成0,把0变成1。。。"while(!x)”就是"(!x)"取真是进行循环,就是"!x"的值为非0时,就是"x"的值为0时。所以就是x==0.2、C 这题和上题一样,就是(m...

C语言选择题,求高手解答,急急。。
1、C语言的基本数据类型不包括 。D、数组类型 2、以下叙述不正确的是 。C、C程序的基本组成单位是函数 3、以下叙述不正确的是 。D、表达式x++和++x的值是相同的 4、设x=10,y=3,则x+=y运算后x,y的值分别为 。B、13,3 5、实现将一个串“Tom”输出到终端,下面程序段正确的...

c语言编程问题,求高手解答(高分)
你的程序没有大的问题,可以执行,只是以下几个小问题:一、第一行包含的文件不存在,这一行应该删除。二、定义了argc、argv两个变量没有使用,编译会有警告,可以删除他们或者不管,最好改为:int main()三、scanf输入n和k的时候,中间有个逗号分隔,这样输入的时候会麻烦,最好改为:scanf("%d%d...