1.
int型整数的最大值和最小值
//
// Created by abner on 2022/7/22.
//
#include<stdio.h>
int main(){
int n=0;
int i=0;
while(n<=i){
n=i;
i++;
}
printf("int最大值为:%d\n",n);
printf("int最小值为:%d",n+1);
return 0;
}
//参考自Alzh转载
如此看来是,21亿左右,正负。
2.
double可以精确到多少位小数
小数点后六位,因为是约数,之后的可能就很不准了。
3.
double型数最大正数值和最小正数值分别是多少
4.
或、且、非逻辑运算符优先级,&&,||,!
优先级从大到小排序:!>&&>||
5.
if(a) if(b) x++;else y++的确切含义是什么?这个else应和哪个if配套?有没有办法明确表达出配套方法?
下方是我比较认可的解答,为此,我写了一个简答的程序来验证。
像这位老哥说的就不对,最近原则匹配,想的有些理所当然了
验证代码:
//
// Created by abner on 2022/7/22.
//
#include<bits/stdc++.h>
int main(){
int x=0,y=0;
int n;
while (std::cin>>n) {
if (n > 50) if (n > 100) x++; else y++;
std::cout<<x<<" "<<y;
}
return 0;
}
很简单,但是足够验证了。
大家看这里,
输入60,只满足了第一个if,未满足第二个,y++,证明执行了else部分;
输入120,满足了两个if条件,x++,执行了前半句;
输入40,都不满足,都不++。
则证明else跟的是第一个if语句条件,
而想要执行x++,需要两个if条件都满足才可以。
证毕。
if使用规则(字数不够,导致的水文提示!!!)
-
内部是一个判断真假的条件语句,如果该语句为真,就执行其下的一条语句。若有多条语句则应用花括号括起来算作一条语句。一般if和else连用。就是说,满足if条件就执行这个,否则就执行else下的语句。
-
if是c语言的关键字,所有c语言的基本语句都是有编译器(比如VC,GCC等)将C语言翻译成机器语言(汇编语言)。比如下面简单的if语句,我们看看编译器将其转换为什么样子。对应的编译器(我用的VC)编译后的结果(汇编语言)
-
效果是一样的,第二个if语句在判断时会立刻调用函数并且将函数返回值返回到函数调用处,第一个只不过是你把返回值赋值给了一个变量。
-
-
分配长度为num_bytes字节的内存当内存不再使用时,应使用free()函数将内存块释放。函数返回的指针一定要适当对齐,使其可以用于任何数据对象。关于该函数的原型,在以前malloc返回的是char型指针,新的ANSIC标准规定,该函数返回为void型指针,因此必要时要进行类型转换
-
if语句转换为了一个比较(cmp)和一个条件跳转(jne)先比较1和i,如果不相等,就跳转到if括号的后一个语句(这儿是0x411534)。如果有兴趣,你可以找VC自己研究一下各个基本语句是如何编译的。