c语言程序设计实践教程陈立潮答案(C语言编程题:用选择法对10个整数排序)

本文目录
C语言编程题:用选择法对10个整数排序
#include《stdio.h》
int main()
{
int i,j,min,t,a={2,4,8,3,6,9,7,222,64,88};
printf("排序前的序列为:\n");
for(i=0;i《10;i++)//输出排序前的序列
{
printf("%5d",a《i》);
}
printf("\n");
for(i=0;i《9;i++)
{
min=i;//把每次循环的第一个数作为最小值
for(j=i+1;j《10;j++)
{
if(a)
min=j;//交换
}
if(min!=i)//说明第一个数不是最小数,所以将a中最小值与a《i》对换
{
t=a;
a=a《i》;
a《i》=t;
}
}
printf("排序后的序列为:\n");
for(i=0;i《10;i++)//输出排序后的序列
printf("%5d",a《i》);
printf("\n");
return 0;
}
扩展资料:
return表示把程序流程从被调函数转向主调函数并把表达式的值带回主调函数,实现函数值的返回,返回时可附带一个返回值,由return后面的参数指定。
return通常是必要的,因为函数调用的时候计算结果通常是通过返回值带出的。如果函数执行不需要返回计算结果,也经常需要返回一个状态码来表示函数执行的顺利与否(-1和0就是最常用的状态码),主调函数可以通过返回值判断被调函数的执行情况。
C语言程序设计 帮帮忙,各位大虾
分别为2,30,3
第一个
j=-i++; j被赋值-i也就是-1,然后i自身加1,所以i是2;
第二个
i=(a=2*3,a*5),a+6; 括号里面的结果是逗号右边表达式的结果,即a*5的结果30 所以这句变为 i=30,a+6; 然后i就被赋给30;其实这个语句也是个表达式,此表达式的结果同样为逗号右边的表达式结果,也就是a+6,即12
如果此句写成i=((a=2*3,a*5),a+6),i就是12了。
第三个
z=x》y?++x:++y; 首先判断x》y 为FALSE 所以执行++y,y变成3,同时z也被赋值为3;++x不会被执行。次语句执行后x=1,z=y=3.
C语言 程序设计 求解析
第 1 题:12
逗号运算符是顺序点,且其结合性为从左到右。所以,该表达式可按下面的顺序计算:
x=2。值为 2,且变量 x 被修改为 2。
y=x+3。值为 5,且变量 y 被修改为 5。
z=y+x。值为 7,且变量 z 被修改为 7。
z=y+z。值为 12,且变量 z 被修改为 12。
整个表达式的值(相当于)是最后一项的值,即 12。
逗号是双目运算符,所以上面的顺序只是等价表示,编译器采用的计算方式随实现而异,但结果总是 12。
第 2 题:0
7 的二进制是 111,~7 的末位就是 000,“~”的优先级又比“&”高,所以 ~7&3 的值是 0,整个 && 表达式的值也就是 0。
第 3 题:0 或 1(见下)
x&1 即 x 的最低位,对于普遍使用的补码表示法,无论 x 的正负,如果 x 是奇数,x&1 就等于 1;如果 x 是偶数,x&1 就等于 0。但 % 运算不同,当 x 是非负数时,x%1 和 x&1 相等;但当 x 是负数时,x%1 等于负的 x&1。这是 % 运算的定义导致的结果。所以如果 x 是非负数,或 x 是偶数,则该表达式的值为 1;否则(x%1 的值为-1)该表达式的值为 0。当然,如果这里的 x 就是第 1 题中的 x,那结果是 1。
第 4 题:编译错误
“2m”不是合法的 C 标识符,“m”也不是有效的数字后缀,所以这个表达式不符合语法。
第 5 题:1
12321 的二进制表示是 0011 0000 0010 0001,012321(八进制数)的二进制表示是 0001 0100 1101 0001,& 运算的优先级高于 || 运算,所以先计算出 12321&012321 的值为 4097(0001 0000 0000 0001),它和 0x1234 进行 || 运算,二者都不为 0,结果显然是 1。
第9题求答案求解释 c语言程序设计
表达式(a=i《j)&&(b=j》k)&&(c=i,j,k)
先计算圆括号中的式子 :第一个 a=i《j 结果为1
第二个b=j》k 结果为0
由于1&&0的结果为0,逻辑假,根据逻辑运算符短路的性质,所以就不计算第三个圆括号中的式子
所以c的值,没有发生改变,还是3.

更多文章:
webservice接口集成平台(webservice接口老不老)
2025年11月21日 12:15
怎么做linux系统盘(如何制作启动u盘安装linux系统)
2026年4月20日 22:15
resume个人简历(留学个人简历resume的主要内容介绍)
2025年12月4日 21:00
transformers卡牌游戏(收藏战斗两不误变形金刚前线稀有卡牌全攻略)
2026年7月22日 21:15
命令提示符无法打开mysql(mysql命令行输入命令回车后没反应怎么回事具体如图)
2025年7月8日 13:30
怎么在字符数组后加字符串((C语言)如何将char**作为字符串数组,并且动态地添加字符串到其中)
2026年7月6日 11:30
chinesechildren是什么意思(Chinese+children是几个单词)
2025年12月17日 01:00
python版本(下载Python后发现还是之前的版本怎么办)
2025年11月29日 22:45
unix和windows的关系(WINDOWS与UNIX的联系)
2025年11月19日 16:45
powermill五轴编程(powermill编程软件!谁能详细介绍一下它的主要功能啊!还有它可以绘图么编程中要用到边界线等等…怎)
2026年8月11日 07:15
substantial变形单词(哪些英语单词可以表达 “重要的” 以及它们的区别)
2026年1月13日 17:00










