C语言编程中101是什么意思
发布时间:2025-05-13 06:27:02 发布人:远客网络
一、C语言编程中\101是什么意思
1、char c4='\101';这里的\101是个转义字符。
2、C语言中,一个ASCII字符用单引号括起来,表示单字符常量,如:'a','A','0','9'等
3、C语言中,还定义了一些字母前加"\"来表示常见的那些不能显示的ASCII字符,如\0,\t,\n等,称为转义字符(因为"斜杠"后面的字符,都不是它本来的ASCII字符意思了)。注意:斜杠是“\”(反斜杠),不是"/"。
4、所有的ASCII码都可以用“\”加数字(一般是8进制数字)来表示。(**)
5、八进制101转换成十进制数过程为:1*8^2+0*8+1=64+1=65,65是字符'A'的ASCII值,所以按字符输出会是A
6、printf("charc=%cdecimalc=%d",c4,c4);//%c按字符输出A%d按整数输出65
二、c语言 求101到200的素数
1、问题1:输出结果为什么是个位数是1 3 5 7 9的所有数,且还是都2个重复的。
2、首先得明白,break只是跳出一层循环,循环之后语句还得执行。
3、下来是你的逻辑:如果一个数i能被j整除就跳出内循环;如果不能就把它赋值给k,进行下一次内循环。这样的话,当i第一次不能被2整除时,它就会被赋值给k。以后即使出现能被整除的j,跳出,这时i已经赋值给k了,执行printf语句后,就会输出k的值,为i;当i第一次能被2整除时,直接跳出,没有对k进行新的赋值,k还是上一次的值(i-1),执行printf,输出k的值,为i-1。
4、举个例子吧,比如105,第一次不能被2整除,赋值给k。然后j自加到3时,105会被3整除,break。执行printf,输出k,值为105;到106,第一次能被2整除,跳出,没有对k进行新的赋值,k的值还是(106-1),即105,执行printf,输出k的值,为105。这就是为何你的程序输出了所有的奇数,而且输出了两遍的原因。
5、问题2:把i=101改为i=100,为什么输出会多一个-858993460。
6、你并没有对i、j、k进行初始化,而int变量不初始化,默认初始值为即为-858993460。与第一问题有点类似,100第一次会被2整除,直接跳出,没有对k进行新的赋值,k的值还是初始值-858993460,执行printf后,输出k的值,即为-858993460。
7、知道原因后,程序就很好改了,设置一个标志位,就用k了,k赋初值为0。然后在break之前,置k为1,表明当前i是个非素数。printf之前判断一下k,如果为1,就是非素数,就不输出了;如果为0,就是素数,printf之。
8、还有,chensunrise7朋友也提到了,判断素数,除数只要判断到小于该数的平方根即可。
三、c语言中一个数的小数如何表示
2、指数表示:e或E之前必须有数字,指数必须为整数。
注意:浮点数常量默认为double类型,如果浮点数常量表示float类型,在末尾添加小写的f或者大写的F,表示此常量为单精度浮点常量。
定点小数是纯小数,约定的小数点位置在符号位之后、有效数值部分最高位之前。若数据x的形式为x=x0.x1x2…xn(其中x0为符号位,x1~xn是数值的有效部分,也称为尾数,x1为最高有效位),则在计算机中的表示形式为:
一般说来,如果最末位xn= 1,前面各位都为0,则数的绝对值最小,即|x|min= 2^(-n)。如果各位均为1,则数的绝对值最大,即|x|max=1-2^(-n)。所以定点小数的表示范围是:2^(-n)≤|x|≤1-2^(-n)。
由于“编码总位数为8”的限制,真值-128无法用原码、反码来表示,似乎不能用上述规则来求解补码,但实际上是可行的——只要不管它的最高位即可,操作办法如下:
将128化为二进制为:1 0000000,最高位为1,可以只对舍去最高位后剩余的7位进行处理即可,首先取反得:1111111,加1得:1 0000000,最高位有进位需丢弃,即得:0000000,加上符号位就得补码:1 0000000。
又如,当编码总位数为4时,真值X=+0.101的原码、反码、补码均为:0 101。
真值X=-0.101的原码、反码、补码依次为:1 101、1 010、1 011。
同理,特例,-1的补码为:1 000。
在定点小数中,小数点隐含在第一位编码和第二位编码之间
定点小数,是指小数点准确固定在数据某个位置上的小数,从实用角度看,都把小数点固定在最高数据位的左边,小数点前边再设一位符号位。按此规则,任何一个小数都可以被写成:N= NS. N-1N-2… N-M。
参考资料来源:百度百科-定点小数的表示方法