c语言题,第4题,为什么是20

作者&投稿:甫弦 (若有异议请与网页底部的电邮联系)
c语言题目在。为什么是20。急急急~

结构体内存计算有两种方式,一种是累计求和,一种是优化后的结果,也称之为考虑对齐的方式计算内存。

为啥有对起之说?如下

这张图就是CPU与内存如何进行数据交换的模型,其中,左边蓝色的方框是CPU,右边绿色的方框是内存,内存上面的0~3是内存地址。这里我们这张图是以32位CPU作为代表,我们都知道,32位CPU是以双字(DWORD)为单位进行数据传输的,也正因为这点,造成了另外一个问题,那么这个问题是什么呢?这个问题就是,既然32位CPU以双字进行数据传输,那么,如果我们的数据只有8位或16位数据的时候,是不是CPU就按照我们数据的位数来进行数据传输呢?其答案是否定的,如果这样会使得CPU硬件变的更复杂,所以32位CPU传输数据无论是8位或16位都是以双字进行数据传输。那么也罢,8位或16位一样可以传输,但是,事情并非像我们想象的那么简单,比如,一个int类型4字节的数据如果放在上图内存地址1开始的位置,那么这个数据占用的内存地址为1~4,那么这个数据就被分为了2个部分,一个部分在地址0~3中,另外一部分在地址4~7中,又由于32位CPU以双字进行传输,所以,CPU会分2次进行读取,一次先读取地址0~3中内容,再一次读取地址4~7中数据,最后CPU提取并组合出正确的int类型数据,舍弃掉无关数据。那么反过来,如果我们把这个int类型4字节的数据放在上图从地址0开始的位置会怎样呢?读到这里,也许你明白了,CPU只要进行一次读取就可以得到这个int类型数据了。没错,就是这样,这次CPU只用了一个周期就得到了数据,由此可见,对内存数据的摆放是多么重要啊,摆放正确位置可以减少CPU的使用资源。

i的取值包括1, 5, 9, 13, 共4次,j的取值包括3, 7, 11, 15, 19, 共5次,所以m++的次数是 4乘以5 = 20, m的初始值是0,所以循环结束后 m = 20

这题只能用排除法
A 0 一定不可能,结构体是有大小的
B 8 char a[10]就占10个字节了,struct st 一定比8大
D 2 同B
所以C是正确的
结构体所占空间大小,与机器和操作系统有密切的相关性,有兴趣可以查一下相关资料读读,内容较多,此处不多说了。
但结构体的大小一定不小于 结构体内各数据元素的大小之和! 这是与union不同的地方。

问的是 一共需要的字节数! a组 需要 10 个字节 。 int 类型 需要 2 个字节。 double 类型 需要8 个字节 所以一共 是 20 个字节!

a占10个字节,int b占两个字节,double型的c占8个字节,故20个字节


c语言,循环语句,3(2)和第4题
已调试,附测试图。include <stdio.h>int factorial(int n){ return (n == 1)?n:factorial(n-1)*n;}int main(void){ int S = 0,i; for(i = 1;i < 11;i++) { S += factorial(i); } printf("The result is: %d\\n",S); return 0;} include <...

C语言题 4.随机生成10道两位数的加法题,由用户给出答案,做对一道加10...
;cout<<"+";cout<<b;cout<<"="<<endl;cout<<"请输入答案~"<<endl;int A;cin>>A;if(A==(a+b)){ cout<<"正确!";total=total+10;} else cout<<"错误!"<<endl;} cout<<"你的得分为:";cout<<total<<endl;cout<<"你答错的题目数为:";cout<<10-total\/10<<endl;} ...

c语言编程题目如图第4和第5 第5注意看要求用简单基础的办法就可以了_百...
但这台机器没有操作系统,而游戏必须使用操作系统的一些功能,于是他着手为PDP-7开发操作系统。后来,这个操作系统被命名为--UNIX。1970年,美国贝尔实验室的 Ken Thompson,以BCPL语言为基础,设计出很简单且很接近硬件的B语言(取BCPL的首字母)。并且他用B语言写了第一个UNIX操作系统。1971年,同样酷爱...

大自然的语言课后题第4题,第5题
一、阅读课文,用一两句话回答下列问题.1.什么叫物候和物候学?2.物候观测对农业有什么重要意义?3.决定物候现象来临的因素有哪些?4.研究物候学有什么意义?本题目的是引导学生从课文中提取信息,训练概括能力.1.草木荣枯、候鸟去来等自然现象,古代劳动人民称它为物候;利用物候来研究农业生产的科学,就...

大自然的语言课后题第4题,第5题
一、阅读课文,用一两句话回答下列问题 1、什么叫物候和物候学?2、物候观测对农业有什么重要意义?3、决定物候现象来临的因素有哪些?4、研究物候学有什么意义?本题目的是引导学生从课文中提取信息,训练概括能力。1、草木荣枯、候鸟去来等自然现象,古代劳动人民称它为物候;利用物候来研究农业生产的...

...求大神帮忙,在线等,急! 第3题跟第4题。 求快一点,采纳后
include "stdio.h"define N 5 struct student { int num;char name[20];float sco[3];float sum,ave;}stu[N];main(){ int i,j;void print(struct student stu[]);printf("请输入学生信息:\\n");printf("学号 姓名 高数 外语 计算机\\n");for(i=0;i<N;i++){ scanf("%d %s",&...

初中语文试卷分析总结
第3题为考查课文名著阅读,考查形式为读书文摘卡,此题有60%的学生由于对文段内容掌握不牢,不知如何答题。第4题为 对联 仿写,学生理解运用能力欠缺,满分率只有10%。第五题为口语交际,学生注意到称谓,但不会结合语境,委婉说话,得分率只有35%,第六题为仿照句,学生受限于语言积累及理解力,得分率为28%左右。 第...

语文试卷分析100字?
平日大家都聚在一起做一样的题目,感觉不出来有什么明显的差异。可是一当考试,才发现原来那么多考试题目是我从来看都没看过的(你就先编着吧)。只怪自己买的练习题做的少。不能允许自己再继续这样下去,所以,我一定要加倍努力,从这次考试之中汲取教训,增加力量,为下一次考试做好准备,打好基础...

一些C预言自测题,请大家帮忙
第4题 C语言中,函数返回值的类型是由( )。A、return语句中的表达式类型决定 B、调用函数的主调函数类决型定 C、调用函数时的临时类型决定 D、定义函数时所指定的函数类型决定 【我的回答】D --- 第5题 设有定义int a[ ]={1,5,7,9,11,13},*p=a+3;则*(p-2),*(a+4)的值是( ...

第四题怎么做?
动作的描写,来揭示人物性格的一种描写方法.3.语言描写,是通过个性化的人物语言来刻画人物性格的一种描写方法.4.心理描写,是通过剖析人物的心里活动(如内心感受、意向、愿望、思索、思想斗争等),挖掘人物的思想感情,以刻画人物形象内在性格特征的一种描写方法.这个题目是一个人在说话,所以是语言描写 ...

虹口区19144013900: 这个C语言题目为什么等于20,求解释,算法写详细点 -
徵怎烧伤: 1 结果不是20,是2和0,只不过连到一起了2 运行过程 第一次循环:n--=n=4,为真,判断结束后n=n-1=3,同时运行循环体内容,--n=n-1=2,所以第一次输出2 第二次循环:n--=n=2,为真,判断结束后n=n-1=1,同时运行循环体内容,--n=n-1=0,所以第一次输出0 第三次,n--=n=0,不为真,循环结束 所以输出结果为20

虹口区19144013900: c语言题,第4题,为什么是20 -
徵怎烧伤: 这题只能用排除法A 0 一定不可能,结构体是有大小的B 8 char a[10]就占10个字节了,struct st 一定比8大D 2 同B所以C是正确的结构体所占空间大小,与机器和操作系统有密切的相关性,有兴趣可以查一下相关资料读读,内容较多,此处不多说了. 但结构体的大小一定不小于 结构体内各数据元素的大小之和! 这是与union不同的地方.

虹口区19144013900: c语言问题,为什么答案是20 -
徵怎烧伤: 第一步:算出该C语言程序你需要掌握循环,跳转语句continue,以及算术运算符 第二步:读程序#include <stdio.h> int main() { int sum = 0; for (int i = 0; i<10; i++) { if (i%2) //i%2 为1 即奇数不求和 不做求和运算 continue; //结束本次循环 sum += i; //i=2 4 6 8 =20 } printf("%d\n", sum); }第三步:综合来看 循环求和,i%2 条件决定i是否用于求和,如果i%2为1,则不加入求和,即i奇数不求和 最后sum=2+4+6+8=20

虹口区19144013900: 执行下面程序中的输出语句后,a的值是20,为什么 -
徵怎烧伤: 首先a=5; 执行a=3*5 得a=15,且a=15的表达式值为15 原表达式变为(15,a*4),a+5 计算a*4,但没有影响a的值 整个表达式值为第二个表达式的值 原表达式变为60,a+5 计算a+5,得20 原表达式变为60,20 逗号表达式的值为最后一个表达式的值 整个表达式的值为20

虹口区19144013900: 玩c语言的朋友帮我回答一下这个问题,为何题目1!+2!+3!+4!...+20!为何这么写?什么意 -
徵怎烧伤: t=t*n;就完成了n!,所以最后t=n!.s=s+t;就完成了各个阶乘的累加,所以最后s就是所求之值.至于声明t和s为double型,那是因为4字节int只能完成12!,再大就溢出了.这里要到20!,所以int型变量无力承载.

虹口区19144013900: C语言第4题,y最后的值不应该是24*24么,为什么是23*23 -
徵怎烧伤: 根据优先级,先计算两个--y,导致y值从25变为23,结果就是23*23了

虹口区19144013900: C语言中一个计算题1!+2!+3!+...+20!是什么意思,怎么写程序 -
徵怎烧伤: /* Note:Your choice is C IDE *//*既然你的这问题中包含三问我就一个一个的回答:1、n!(n为自然数)表示自然数n的阶乘,所谓的阶乘就是从1一直乘到n.如1!=1,2!=1X2,3!=1X2X3!如此类推,20!=1X2X3X4……20.2、如果理解1条了,我想这...

虹口区19144013900: 计算机二级C语言的题 划线那一句没看懂 答案为什么是31 入栈出栈后top=20 不就是有20个 -
徵怎烧伤: 计算机的栈是向下生长的.栈中元素个数就是 51 - 20 = 31 个.top = 20 并不代表栈内的元素个数,而是栈指针的位置.

虹口区19144013900: 求解释下如图c语言题目. -
徵怎烧伤: 第2题选A,定义变量名只能以字母、数字和下划线组成,以字母或下划线开头,且不能定义和C语言关键字一样的变量名.第3题选A,以0开头的是八进制数,由0至7组成,而078有数字8,显然不正确.第4题选B,(x=10)||(y=20),先计算x=10...

虹口区19144013900: c语言题,为什么不对? -
徵怎烧伤: #include #include int main(){ char cTmp[20]; char a[4][20];//b[2][20]; int i,j; for(i=0; i<4; i++) ...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网