Super Rookie C 语言帮助!! 10

发布于 科技 2024-06-02
15个回答
  1. 匿名用户2024-01-29

    #include

    void main()

    int i;

    printf("请输入等级:");

    scanf("%d",&i);

    if(i>=60&&i<=69)

    printf("通过");

    else if(i>=70&&i<=89)printf("好");

    else if(i>=90&&i<=100)printf("非常好");

    elseprintf("失败");

  2. 匿名用户2024-01-28

    如果要在C语言中输入汉字,则需要添加汉字字体。 这很麻烦。

  3. 匿名用户2024-01-27

    我看不懂,你能画个大图吗?

  4. 匿名用户2024-01-26

    这个函数的功能是找到 n 内的所有完美数(完美数)。

    例如,6 个因素,3

    和 6=1+2+3

    如果一个完整的数字恰好等于其因子之和,则称其为“完美”。 每个自然数之和小于其除数(真除数,列出某个数的除数,除去该数本身,剩下的就是它的真除数)称为完美数,也称为完美数或完整数。

    例如,第一个完成数是 6,它有一个除数,除了它自己的 6,其余 3 个数字相加,1+2+3=6。 第二个完美数是 28,它有一个近似值,除了它自己的 28,其余 5 个数字相加,1 + 2 + 4 + 7 + 14 = 28。

    第三个完整数是496,带除数,除了自己的496外,剩下的9个数字相加,1 + 2 + 4 + 8 + 16 + 31 + 62 + 124 + 248 = 496。 等等。

  5. 匿名用户2024-01-25

    #include

    int main()

    int n;

    int f[100];

    int s, x, i,count;

    scanf("%d",&n);读取一个数字 nfor(x=1; x<=n;x++) 检查从 1 到 n 的每个数字 {count = 0;

    s = 0;

    for( i=1; i

  6. 匿名用户2024-01-24

    输出 %c 和 %d 是输出字符。 一种是输出整数值,所以第一个输出肯定不是50 Le,而是字符'2'.

    2.Char c=32:将整数值 32 赋值赋给字符变量 c,编译系统会自动将 32 的值转换为对应的字符并赋值给 c,char c='32'是字符串'32'赋值变量 c

    3.主要理解if(i++=1&&(j==3||k++=3))语句 i++=1 先用 i,再用 gains,所以这句话是真的,i=2,下面(++j==3||k++=3))这也是真的,因为前面的++j==3,先把j的值加大一,j=3,这句话也是真的,所以||后面的编译器跳过不执行,所以 k 还是 3,自然输出 2, 3, 3 le。

    4. ch='\xaa'赋值语句可以编译,但输出不是你预期的,因为ch只能存储一个字符,编译器会在编译时截获一个字符并存储在其中。

    5.这道题是测试在C中除法符号“”的用法,1 3最终会被编译器计算为0,而不是,只需将其改为1即可。

    6. k=ac ? c:

    k;如果值表达式 ac 为 true,则将 c 的值分配给 k,否则将 k 的值分配给 k,我认为这句话应该印错了,应该是 k=a?b:c,最终结果为k=2,7

    这里 x 和 y 都被定义为整数变量,因此它们只能在赋值过程中被赋值为整数,y=(x+; 结果应该是 y=,但编译系统会强制转换,即 x=1, y=0所以最终结果是 0,而不是 3

    8.输出控件中“%”后面的内容是要输出的内容,所以系统不会识别%d,只是将它们输出为字符,后跟%d,系统不会将%d转换为以下变量。

    建议大家多注意一些基本的概念和规则,这些是老师在考试中最好的起点,也是最擅长演练的,其实这些错误在真正的编程中也可能是致命的错误。

    希望我的对你有帮助!

  7. 匿名用户2024-01-23

    首先需要了解的是 i++ 和 ++i 的区别,如果从 i=2 开始,那么 i++=2,i=3;如果 i 仍然 = 2,++i = 3,i = 3,老师应该强调这一点,对吧? 还有一点是字符类型和整数变量可以相互转换,如果进行加减法运算,则为该操作对应的ASCII码,如果使用%d输出,则表示使用整数输出,即书本对应的ASCII码, 如果是 %c 输出,则为字符类型的输出,对应于该字符的输出。

    这是您的问题:

    从字符'2'开始,对应一个ASCII值50,B++作为一个整体还是50,作为字符输出的是'2',但是在那之后,B的ASCII值已经是51了,然后是B-A,也就是51-49=2,输出输出为整数,所以是2, 如果将第二个 printf 更改为 %c 输出,则它应对应于 2 个字符的 ASCII 值的输出。

    c=32,表示ASCII值为32的对应字符给C,后者不应该被编译,如果是字符,应该是'3'或'2',如果是'32',应该是'32',因为“32”不再是字符,而是字符串。

    i++ 是 = 1,所以句子“i++=1”的真值是 1,然后 i 是 = 2,j 以 2 开头。 ++j=3., (以下简称 j=3) 所以"++j==3"这句话的真值也是 1,for (1&&(1||x)),这个 x 的真值是 1,不管整个公式有多少,所以 k++ 语句根本没有执行,所以它看起来像原来的 3,所以输出结果是 2、3、3。

    4。这是一个十六进制转义字符,而不是 ''x'、'a'、'a'。

    5。如果是1 3,那么就算是整数的除法,结果只取整数部分,也就是0,所以要算得准确,就写1,这样它就会做浮点除法,精度会很高, 并且它将不再是 0

    至于这些函数的用法,应该在教科书后面写!

    6。问题6:我不明白你的意思,是吧? 什么是交流电?

    7。因为你之前定义了 x,y 是整数,然后就没有强制转换了,所以 x= 实际上只是将整数部分 1 分配给 x,然后 (x+,虽然它的值是 0 点,但仍然将整数部分交给整数变量 y,所以 y=0。 所以 d*y=0。

    8。在 %%d 中,编译器认为 %% 在一起,第二个 % 替换了 %d 中通常的 d 位置,后面的 d 被认为是一个普通字符,总之,编译器就没那么聪明了,如果在两个 % 上加一个空格,它就不会这么认为了。

    打字很久了,我是新手,支持很多

  8. 匿名用户2024-01-22

    答:1、%d输出是整数数据,%c输出是字符数据,第一个输出,因为是%c,所以输出字符,而b++是第一个用b在自加,所以输出b,如果++b会输出c

    2、char c=32;是字符 c 等于 ASCII 代码 32,char c='32'这是拼写错误。

    3、 if(i++=1&&(j==3||k++=3))在第一次使用 i 然后加自己,i==1 是真值,然后 i=i+1 i=2 然后判断,先 j=j+1 j=3 然后判断 j==3 也是真值 最后,使用 k,k==3 再加 1 k=4,所以输出是 2 3 3

    4. 这是一个十六进制表示'\xaa'这意味着转义字符 a 在十六进制中为 10。

    5. 整数变量是没有小数位的 1 3=0,无法正确计算。

    6、k=a>c? c:k;它是三目算子,意思是 a>c 吗? 如果 c 的值给定给 k,如果 k 的值未给定给 k,则输出应为 0 而不是 2

    7. 由于您定义的 x y 是一个整数变量 x=actually x=1 y= (1+ 实际上,y=0 已经消失了,如上所述。

    8. 由于你在 %d 前面加了 %,编译器认为你输出的字符,以及后面的 a 和 c 被编译器忽略了,比如:

    int a=0;

    printf("",a);

    A 被忽略,因为""其中没有输出格式。

  9. 匿名用户2024-01-21

    问题 1:b='2'其中 2 的类型是字符,则 %c 输出为 2,如果 %d 输出为 50

    问题 2,'32',带单引号的数字表示它以字符的形式存在。

    问题 3,如果 i=1; +i 是加 1 然后计算,i++ 是先计算再加 1; i++=1;也就是说,先计算 i=1,计算后再加 1,所以 i=2; +j==3;j=2,先计算j的值,++j=3; 然后计算,所以++j==3;

    我也是C语言的初学者,所以我们可以一起讨论。

  10. 匿名用户2024-01-20

    ++是第一个加一个,最后一个是加一个,&&的优先级大于||,所以上面的公式可以写成以下公式:

    z = z+1;x=x+1;

    y&&z)||x;

    y = y+1;

    这样,最终表达式的值为 1,其中 y = 0、x = 2、z = 3 一次可以得到

    0&&3) 为 0,0||2 对 1

    最终结果为 x=2, y=1, z=3,整个表达式为 1

  11. 匿名用户2024-01-19

    下面这句话是判决书。

    由于 y++&z 是 y++=1 和 ++z=3,因此这是真的。

    由于 y++&z 为 true,因此不执行 ++x,并且 x 仍等于 1

  12. 匿名用户2024-01-18

    先看优先级,++是最高的,然后是&&,最多||

    最低的是 ||,同时||绑定是从左到右,即先执行y++&z,再执行++x,最后执行||

    对于 y++&z,&& 绑定从左到右执行,首先是 y++,然后是 ++z,最后是 &&

    y++,先使用,再使用 +1,所以 y++ 返回 0,但 y 的值变为 1

    由于是合乎逻辑的,&&left为0,所以无论右边的值如何,最终结果都是false(0),所以右边的短路不会被执行,也就是++z根本没有被执行,z的值保持不变。

    上面,我们可以确认 y++&z 的返回值为 0

    = 分界线。

    现在,y++&z||+x 被推导出为 0||+x 的形式。

    绑定是从左到右,先确定左边的0,然后右边执行++x,最后||

    因为左边是0,所以最终结果需要用右边来计算,所以右边没有短路,需要计算++x

    x,先+1再使用,x先变为2,然后返回x的值,即++x返回2的值

    此时,进化得到 0||2,结果为1,即整个表达式返回值为1。

    回顾这三个变量,y 为 1,z 在 2 保持不变,x 变为 2

    = 分界线。

    记住,只要是自加减法,就是&&或||,测试必须短路,知道要测试什么,然后回答问题很简单。

  13. 匿名用户2024-01-17

    数值传递只传递值,引用传递实际传递指针(地址),指针(地址)可以间接传递,也可以双向传递。

    有书。

  14. 匿名用户2024-01-16

    请记住,引用传递是将 int i; int &p=i;通俗地说,这意味着 i 和 p 是绑定在一起的。 成对相关。 如果传递该值,则应知道它不会创建绑定函数。

  15. 匿名用户2024-01-15

    数值传递意味着只有参数的值被传递到函数中,而不表示参数本身,因此不能在函数内部修改参数。 引用将参数的地址传递给函数,因此函数内部对参数的修改将直接成为对参数的修改。

相关回答
18个回答2024-06-02

拷贝到迅雷或者旋风,当然也可以拷贝到IE浏览器打开,但是因为这是直接的**地址,所以有时候是不行的,所以建议拷贝到**工具。 >>>More

15个回答2024-06-02

答案已发送到您的邮箱,请检查。 另外,建议不要依赖这种方式来完成作业。

12个回答2024-06-02

include

int main{ >>>More

2个回答2024-06-02

<>表明没有迟到的 strump,或者你玩缺乏氏族是错误的。

21个回答2024-06-02

可以这样更改它:

#include >>>More