C语言中的基础的问题

kuaidi.ping-jia.net  作者:佚名   更新日期:2024-07-29
C语言基础题

**a=10,x=18.18**
用scanf函数从键盘获取数据时,键盘输入的内容只替换引号内%d %f 等等其他的都不动,当然
是不用输入的,它只是起换行的作用。要注意空格数哦,空格也是不能出错的,


亲测

%2d读2位 %*2d 空读(不计) %ld读给y一个长整形
最后结果是x=12,y=567
所以x+y=579

这个sum其实只是一个放数据的地方而已 和数学上的变量时不一样的
如果你知道计算机怎么执行这个命令的 那就很好理解了 在执行这个语句的时候 计算机首先将sum中的值取出 送入cpu 然后给这个值加上1 最后再将加上1的值送回sum中
打个比方 你可以将sum看成一个杯子 现在sum这个杯子里有一杯白开水
执行sum+1这个操作就可以想成是把sum中的水倒到一个碗里 在向碗里加糖
最后将sum+1的送回给sum就可以想成把碗中糖水倒回sum那个杯子中

sum=sum+1
这个句子运行时大概如此:
假如开始时,在sum中是存放着5
那么运行到sum=sum+1时
首先运算后面的sum+1,就是6吧
然后再把6赋值给sum,
这时sum的值就变了

sum=sum+i
求循环变量i的累加和。
sum=0,i=0 变量初始化,每次循环i++
sum=sum+i sum=0+0=0
/
|--
sum=sum+i sum=0+1=1
/
|--
sum=sum+i sum=1+2=3
/
|--
sum=sum+i sum=3+3=6
=运算符的优先级小于+运算符,所以先算后面表达式的值,算出后再赋给sum
sum=sum+i ----简写---> sum+=i

  • c语言循环基础问题,求解析for(j=0;j<3;j++)这个小循环?
    答:先看里循环:for (j = 0; j < 3; j++) k++; // k初值为0 第一次循环:j=0,满足j<3,执行k++,k变为1 第二次循环:j++变为1,满足j<3,执行k++,k变为2 第三次循环:j++变为2,满足j<3,执行k++,k变为3 最后j++变为3,不满足j<3,循环结束,此时j=3,k=3 接着...
  • 大学C语言入门基础知识点你知道多少
    答:C语言基础必定掌握知识点 第一节 对 C 语言的基础认识 1、C 语言编写的程序称为源程序,又称为编译单位。2、C 语言书写格式是自由的,每行可以写多个语句可以写多行。3、一个 C 语言程序有且只有一个 main 函数,是程序运行的起点。第二节熟悉 vc++ 1、VC 是软件,用来运行写的 C 语言程序...
  • C语言基础知识
    答:结构体中含有多个属性(结构体)结构数组 这次我们把所有的功能放在头文件中使用 新建hero.h头文件以及hero.c hero.c我们先填几个玩家以及职业,后期可以拓展进行职业类的添加函数 结果:或者传指针 我们创建两个文件一个《game.h》《game.c》game.h game.c实现文件 运行效果 1、enum ->枚举 2、...
  • c语言的基础问题
    答:这个问题是 scanf 这个 C 库函数本身的 bug(不编译器无关),scanf 可以认为是 fscanf(stdin, fmt, ...)stdin 即是他的读的数据的来源,在读到 \n 时,就是结束,但它会把 \n 再放回 stdin。吃掉的意思就是从 stdin 的这个文件(/缓冲区)中读出。读一个字符,文件(/缓冲区)指针就会移动...
  • 有关c语言的几个简单的基础问题。
    答:<<<特地写的>>> 题目不是很详细 我也只能粗略解答一下,1.浮点数有两种表示方式:(1)十进制小数形式,如0.123(2)指数形式,如123e3。注意点是字母e或E之前必须要有数字且e后面的指数必须整数。 题目中A明显不对B中(1)—.60也有问题。2整型数值如12,0,-3;实型数值如4.6,-1.23...
  • 关于c语言的基础问题
    答:?:是三元运算 条件?成立返回这个:不成立返回这个 x大于10条件不成立所以返回x -10 结果是0 w++||z++ 或运算 由于前面的w不为0 所以直接返回结果1 而后面的z++不执行 z值不变 !w>z w取反大于z !的优先级高 所以先取反w w不等于0 所以取反结果是0 而0不大于z所以返回0 w&&z w...
  • C语言程序基础问题,请看图,为什么后面加几个0?
    答:float默认小数输出6位,不足补0。你不想要那么多就在格式了指定小数位数,比如:printf("%12.2f",123.54);这样输出后面就没有0了,这里12表示整个数字占用字节宽度,不足会在数字左边补空格。.2表示小数位数2位,不足补0。
  • c语言基础问题求解 求详细分析此段代码 中a[++1]=2*i+1的意思 急!!
    答:c语言基础问题求解 求详细分析此段代码 中a[++1]=2*i+1的意思 急!!!扫描二维码下载 下载知道APP10分钟有问必答! 建议:可使用微信的“扫一扫”功能扫描下载 分享到: 2013-10-14 12:51 提问者采纳 a[i++]=2*i+1; 这一句实际上可分成以下三步:一、求2*i+1;二、将上面计算的结果赋给a[i];三...
  • c语言基础问题:计算机中补码表示的优点是什么,请看下题?
    答:计算机中的有符号数有三种表示方法,即原码、反码和补码。三种表示方法均有符号位和数值位两部分,符号位都是用0表示“正”,用1表示“负”,而数值位,三种表示方法各不相同 在计算机系统中,数值一律用补码来表示和存储。原因在于,使用补码,可以将符号位和数值域统一处理;同时,加法和减法也可以统一...
  • C语言基础题目,求助!
    答:这些题目都很基础,楼主要好好看看书了:1.若有代数式 ,则错误的C语言表达式是( c )。A a*e/c/b B a*e/b/c C a*e/b*c D a/b/c*e 2.以下程序的输出结果是( c )。main( ){ int a=7,b=5;printf(“%d\n”,b=b/a);} A 不确定值 B 5 C 1 ...