这些例子中有需要写代码,也有只判断的哦(都是比较简单容易忽略的问题)
——小白菜园子
一、下面代码中,a的值为多少?
package main
import "fmt"
func main() {
var a int = 3 / 5
fmt.Printf("a的结果为%d", a)
}
———————思————————考—————————线——————————
答案是0哦,是不是会很惊讶(因为在go语言中,除以一个比自己大的数结果为0)
二、继上个问题继续,要怎么才能让 3 / 5 = 0.6 呢?(小提示把3改为3.0)
答案:
package main
import "fmt"
func main() {
var a float32 = 3.0 / 5
fmt.Printf("a的结果为%v", a)
}
附两道题的图:
三、总时间为378分钟,它是几小时几分?
答案:
package main
import "fmt"
func main() {
var time int = 378
var hour int = time / 60
var minute int = time % 60
fmt.Printf("378分钟是%d小时%d分", hour, minute)
}
四、 如何在没有中间变量的情况下,互换a和b的值
答案:
package main
import "fmt"
func main() {
var a int = 5
var b int = 2
a = a - b
b = b + a
a = b - a
fmt.Printf("a的值为%d,b的值为%d", a, b)
}
ps:也可以采用a= a+b(求出原a,原b的和),b=a-b(和减原b结果为原a,这样现b就是原a),a=a-b(同理,因为现b是原a的值,那么和减去原a的值肯定是原b的值)
五、下面代码中会输出结果么?如果输出,结果是什么呢?(主要看细节)
package main
import "fmt"
func main() {
var a int = 5
if a > 3
fmt.Println('a大于三')
else
fmt.Println('a小于三')
}
———————思————————考—————————线——————————
会报错,因为格式是下面这样的,花括号不能丢,而且字符串不能用单引号引起来,else也不能换行哦
if 条件 {
结果1...
}else{
结果2...
}