您的位置:

c语言试题及答案过程详解,c语言考试题库及答案

本文目录一览:

有关C语言的几道题,求答案及解释

1、题目倒数第二句改为“输入字符A后”的话,ch的值是'A',getchar()是从标准输入流读取一个字符,并返回这个字符,赋值给了ch,所以ch的值就是你输入的那个字符,你输入A,它的值就是A

2、暂时还不是很明白,C和D都能在win-tc下编译通过,值都存在变量str3,和str4里面,可以通过printf("%s",strX);看,但是没有字符串没有存在指针指向的地址,不懂,指针还待学习……

3、输出为goodgood;

*sp = s表示把s数组的首地址赋予指针sp,

sp = sp + 2让指针sp往前移两个位置,也就是它现在指向了s[2],原来是指向s[0]

sp = “to”我想是把“to”赋予sp,因为sp本身也是个变量,原来存储的是s数组的地址,现在变成了“to”,如果你在后面加上

printf("%s",sp);

你会发现输出的是to,

puts(s)就是输出字符串s;

可以明显发现,后面几条语句根本没有对数组S进行操作,所以输出结果就是s初始化的值

*******************************************************************************

目前的认识就这些了

C语言 程序分析题 求详解

这个程序应该是把

十进制数

转换成

二进制数

输出

#include

//

头文件

void

main()

{

int

a,b[10],c,i=0;

//

a存储待转换的十进制数,b[10]存储转换后的二进制位,

//

c

是存储

余数

printf("输入一个整数\n");

scanf("%d",a);

//

输入需转换的十进制数

while(a!=0)

//

只要a不为零,就继续转换

{

c=a%2;

//

把a除以2

的余数赋值给c

a=a/2;

//

把商存入a进行下一次循环

b[i]=c;

//

把余数存到数组中作为二进制中的一位

i++;

}

for(;i0;i--)

printf("%d",

b[i-1]);

//反向输出余数,即得到二进制

例如输入4

因为4

!=

4

/

2

=

2((商=a)...........0(余数=c=b[0])

因为2

!=

2

/

2

=

1((商=a)...........0(余数=c=b[1])

因为1

!=

1

/

2

=

0((商=a)...........1(余数=c=b[2])

因为

=

结束循环输出

b[2]

b[1]

b[0]

100,也就是二进制的

4

两道C语言题求解,知道的谢谢解答。(请写出详细分析过程!!谢谢!满意答案与解释者给分。)

第一题D项怎么有两项啊?

反正我确定*ps是绝对不能引用字母o的,因为*ps代表字母p的首地址。

第二题

没答案

因为首先j=10,然后到下一步i=9,

!(j%i)=0,是假的,所以又进行下一步, 判断(ij-1) ,实际上是99,又是假的。此次循环结束

所以又进行上一步j=11,然后又到下一步i=9,!(j%i)=0是假的,又进行下一步,910,假的。

于是返回上一步i=10,!(j%i)=0还是假的,1010还是假的。没有任何步骤被执行。

不知你有没有打错什么字?