C语言程序设计问题答疑材料(辅导老.docVIP

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
问题答疑材料 字符串“China”在内存中占用几个字节? 答:一个字符占一个字节,另外在字符串结尾处系统补了一个\0表示字符串结束,它也占一个字节,加上5个字符,所以字符串“China”在内存中占用6个字节。 int a[2][2]={1,2,3,4}; int *p; p=a[0]; printf(%d,p[0]); 还有为什么p[0]前面不用*号呢? 答:p=a[0]表示p指向数组a[2][2]包含的一维数组a[0]的首地址,当执行printf(%d,p[0]);时,打印出p[0][0]的值,为1。实际上可以写成等价表达式printf(%d,*p);因为*p与p[0]是等价的,所以p[0]前不用*。 C语言和C++有什么区别么? 答:C语言是结构化和模块化的面向过程的语言,C++语言是面向对象的程序设计语言。C++语言是C语言的超集,也就是说C++是C语言的延伸。区别应该说表现在编程思想上,C是基于过程的,强调的是程序的功能,以函数(功能)为中心。C++是面向对象的,强调程序的分层、分类,以抽象为基础,进行对象的定义与展示,即程序设计。java语言也是一种面向对象的语言。 在C语言中运算符的优先级从高到低的排列顺序是什么 答:按运算符优先级从高到低:单目运算符-双目运算符-三目运算符-赋值运算符-逗号运算符 特别在双目运算符中,按 运算符优先级从高到低:算术运算符-移位运算符-关系运算符(其中== 和 !=优先级又较低)-逻辑运算符(按位与-〉按位异或-〉按位或-〉逻辑与-〉逻辑或)! 设char c[5]={‘a’,’b’,’\0’,’c’,’\0’};则printf(“%s”,c);的输出是? 答:输出ab\0’就表示字符串结束,printf就不输出后面的 有枚举类型的定义: enum color1{ yellow, green, blue=5,red,brown}; 则枚举常量yellow 和 red的值分别是? 答:yellow是第一项,默认为0red虽然为第四项,但是由于blue被赋值为5,所以blue后为6,7。 语言中形参到实参传递是双向的 答:不能。实参对形参是单向的值传递。也就是说形参中的值改变不会影响实参的值。以下程序的输出结果是? #include main() { int x=020,y=0x20,z=20; printf(%d,%d,%d\n,x,y,z); }=020,以0开头,表示这是一个8进制的数字。所以x=2*8^1+0*8=16=0x20,以0x开头,表示这是一个16进制的数字。所以x=2*16^1+0*8=32=20,表示这是一个10进制的数字。所以x=20请问for循环语句具体怎么应用for 循环的语法: for(条件初始化;条件;条件改变) ??{? ???需要循环执行的语句; ??}可见,for的结构中,不仅提供了的“条件”的位置,同时也提供了条件初始化,和条件改变的位置。这三者虽然在同一行上,但并不是依次连接地执行。条件初始化的表达式首先被执行(并且只被执行一次);然后程序检查条件是否成立,如果成立就执行循环体中的语句,否则直接结束循环。执行完一遍循环以后,程序执行“条件改变”语句。例如:1到100整数累加的程序,改为for循环写,是最合适的了:int sum = 0; int i; for( i=1; i = 100;i++) { ??sum += i; } 程序先执行条件初始化语句:i=1;然后立即判断条件 i = 100 吗?显示,此时该条件成立;于是程序执行循环体内的语句,此时只有一句: sum += i然后,执行改变条件因子的语句:i++; 此时,i值变为 2;程序再次判断条件 i = 100 ?,依然成立,于是开始第二遍循环……其实,你也可以从while,或do...while语句理解for循环。全局变量常量变量这几个概念不清楚全局变量也称为外部变量,它是在函数外部定义的变量。 它不属于哪一个函数,它属于一个源程序文件。其作用域是整个源程序。在函数中使用全局变量,一般应作全局变量说明。 只有在函数内经过说明的全局变量才能使用。全局变量的说明符为extern。 但在一个函数之前定义的全局变量,在该函数内使用可不再加以说明。常量是不接受程序修改的固定值,常量可为任意数据类型,比如char a ;int 21;变量是其值可以改变的量,它允许程序运行时修改其值。一个变量应该有一个名字(标识符),在内存中占据一定的存储单元,在该存储单元中存放变量的值。所有的C变量必须在使用之前定义。函数的定义不可以嵌套,但函数的调用可以嵌套C语言中,所有函数的定义都是互相平行和独立的,一个函数的定义不能包含另一个函数的定义,即不允许函数的嵌套定义,但函数的调用可以通过

文档评论(0)

ktj823 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档