四.基础语法与代码规范

【if语句】

1.真假与01的关系?

在C语言中,非零值被视为真,而零被视为假。因此,1代表真,0代表假

2.这个写法正确吗:else (a < 10)

不正确。正确的写法应该是 else if (a < 10)

3.if的分支有多条语句怎么办?

如果if分支中有多个语句,应该使用花括号 {} 将它们括起来形成一个复合语句

4.悬空else问题?

(1)悬空else问题发生在嵌套if语句中,编译器会根据就近原则将else与最近的未匹配的if配对

(2)为了避免歧义,应使用花括号明确配对关系

5.要注意代码规范,善用tab键,增强代码可读性噢

(1)是的,良好的代码缩进可以显著提高代码的可读性

(2)通常,每个缩进级别对应一个制表符(tab)或几个空格

【关系操作符】 >、<、>=、<=、==、!=

6.关系操作符的优先级和结合性?

关系操作符的优先级低于算术操作符,高于赋值操作符。它们从左到右结合

7.a = 5 和 a == 5 的区别?

(1)a = 5 是赋值语句,将5赋给变量a
(2)a == 5 是比较操作符,检查a的值是否等于5

8.x < y < z和 x < y && y < z是等价的吗?为什么推荐 5 == a 这种写法?

(1)x < y < z 不是有效的C语言表达式,因为它会首先计算 x < y,得到一个真假值,然后尝试比较这个真假值与z,这是不合法的
(2)x < y && y < z 是正确的,它检查x是否小于y,并且y是否小于z。
推荐 5 == a 而不是 a == 5 是因为前者可以在忘记写等号时产生编译错误,后者则可能默默地执行赋值操作,导致难以发现的错误

【条件操作符】

9.三目运算符是什么?(可以用,但不要嵌套太多噢)

(1)三目运算符是一种条件表达式它根据一个条件的真假来返回两个可能的值中的一个
(2)语法形式为 condition ? value1 : value2,如果条件为真,则返回value1,否则返回value2

【逻辑运算符】

10.有哪些逻辑操作符?你能画出他们的真值表吗?

逻辑操作符有 &&(逻辑与)、||(逻辑或)和 !(逻辑非)
真值表如下:
A | B | A && B
0 | 0 | 0
0 | 1 | 0
1 | 0 | 0
1 | 1 | 1

A | B | A || B
0 | 0 | 0
0 | 1 | 1
1 | 0 | 1
1 | 1 | 1

A | !A
0 | 1
1 | 0

11.短路是什么?有哪些情况会短路?

(1)逻辑运算中的短路是指当某个条件确定了整个表达式的值时,就不再计算后续的条件

例如,在逻辑与(&&)运算中,如果第一个条件为false,则整个表达式肯定为false,就不会计算第二个条件
(2)逻辑或(||)运算也有类似的短路效应

12.C语言如何实现判断闰年呢?

闰年的判断规则是:能被4整除但不能被100整除,或者能被400整除。可以使用以下代码:

if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) 
{
    // 是闰年
}
else 
{
    // 不是闰年
}

【switch语句】

13.如何把if-else语句改写为switch语句?

(1)if-else语句可以根据不同的条件执行不同的代码块,而switch语句则是根据表达式的值来选择执行哪个case
(2)如果if-else语句的条件是某个变量的不同取值,可以改写为switch语句

例如:

if (condition) 
{
    // do something
} else if (other_condition) 
{
    // do something else
} 
else 
{
    // do something different
}

可以改写为:

switch (variable) 
{
    case value1:
        // do something
        break;
    case value2:
        // do something else
        break;
    default:
        // do something different
}
14switch后的表达式类型可以是什么?

switch后的表达式可以是整型、字符型,以及枚举类型

15.case后面值的类型可以是什么?

case后面的值也应该是整数常量表达式

16.default是什么? switch的运行顺序?

(1)default是当所有case都不匹配时的默认分支(即default是switch语句中的一个可选部分,用于处理没有与任何case匹配的情况)

(2)switch的运行顺序是从匹配的case开始执行,直到遇到break语句或switch结束

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值