一.语言基础

文章讲述了C语言中关于常量与变量的区别,如局部变量和全局变量的使用与内存分配,以及全局变量在头文件中的处理方式。此外,还涉及基本数据类型的运算规则,包括数据类型的转换和混合运算,以及编程中涉及的运算符和表达式处理。内容还涵盖了编程规范和程序流程控制的相关知识点。
摘要由CSDN通过智能技术生成

1.1常量与变量

1.局部变量和全局变量能否重名?

能,局部变量会屏蔽全局变量。要使用全局变量,需在变量名前添加“::”。

2.全局变量可不可以定义在可被多个.C文件包含的头文件中?为什么?

全局变量可以定义在可被多个.C文件包含的头文件中。因为在不同的C文件中以static形式来声明同名全局变量,但在这些同名的全局变量中只能有一个C文件对其赋初值,这样才不会出错。

3.如何引用一个已经定义过的全局变量?

可以用引用头文件的方式,也可以用extern关键字来引用已经定义过的全局变量。

4.全局变量和局部变量在内存中是怎样存放的?两者之间有何区别?

全局变量存储在静态数据库,局部变量存储在堆栈。全局变量在程序开始执行时分配存储区,程序执行完毕释放,在程序执行过程中全局变量始终占据固定的存储单元;局部变量是动态分配存储空间的,在调用变量所在函数时系统会给函数的局部变量分配存储空间,在函数调用结束时就自动释放这些存储空间。

5.-8在内存中的存储形式是( )。

A. 1111111111111000
B. 1000000000001000
C. 0000000000001000
D. 1111111111110111
一个正数的补码和其原码的形式相同,一个负数的补码是将该数绝对值的二进制形式按位取反再加1。A

6.数值029是一个( )。

A. 八进制数 B. 十六进制数 C. 十进制数 D. 非法数
八进制整常数必须以0开头,数码取值为0~7;D

1.2基本数据类型

1.设变量i是整型,f是实型,d是双精度型,则表达式6+‘a’-i+d*f值的数据类型为( )。

A. int
B. float
C. double
D. 不确定
在整型、实型和字符型数据间进行混合运算时,应从低精度向高精度转换,即将字符型数据先转换成整型,再将整型数据和实型数据转换成双精度型数据,然后在同类型数据间进行运算,结果为double型。C

2.写出float a与“零值”比较的if语句。

if ((a >=-0.00001) && (a <= 0.00001)),存储有误差,1e-6

3.设变量a为f1oat类型,b为int类型,则以下能实现将a中的数值保留小数点后两位,第三位进行四舍五入运算的表达式是( )。

A. a=(a100+0.5)/100.0
B. b=a
100+0.5 ,a=b/100.0
C. a=(a/100+0.5)100.0
D. a=(int)(a
100+0.5) /100.0
将float型数据赋值给int型数据时,将舍弃该float型数据的小数部分。将int型数据赋值给float型数据时,数值不变,增加小数部分(小数部分均为0)。BD

4.下面的代码输出是什么?为什么?

 void food(void)
 {
  unsigned int a = 6;
  int b = -20;
  (a+b > 6) ? puts("> 6") : puts("<= 6");
 }

代码输出的是“>6”,因为当表达式中存在有符号类型和无符号类型时所有的操作数都自动转换为无符号类型。因此-20变成了一个非常大的正整数,所以该表达式计算出的结果大于6。

1.3运算符和表达式

1.4编程规范

1.5程序流程控制

1.6static,const,sizeof

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值