-
计算 整数与整数的运行结果只保留整数且不四舍五入,例如:
>a = 10/3; >3 ```
-
在输入浮点数时应该用 %lf 但是输出浮点数时用 f% 就行了
double b;
scanf("%lf", &b);
printf("%f", b);
- 在C语言中10和10.0是两个完全不同的数,浮点数与整数的运算会自动将整数转换为浮点数再计算
printf("%f", 10.0/3*3);
结果:10.000000
- a++与++a的区别:a++ 与++a后 a的值都增加了,但是a++等于原来的a,++a等于a+1后的值
printf("a++ = %d\n",a++ );
printf("a = %d\n",a );
printf("++a = %d\n",++a );
printf("a = %d\n",a );
a++ = 10
a = 11
++a = 12
a = 12
-
对于while与do-while的区别:while是先判断再执行,do-while是先执行再判断 若至少一次执行则用do-while
while与for可以转换,且在嵌套循环中break只能跳出当前循环在判断中if else最好都加上{},因为编译器可能会分不清 if 跟哪一个 else 匹配
switch语句如果没有break语句,会接着运行,例如month = 4则会输出
April
May
switch ( month )
{
case 1: printf("January\n"); break;
case 2: printf("February\n"); break;
case 3: printf("March\n"); break;
case 4: printf("April\n");
case 5: printf("May\n"); break;
case 6: printf("June\n"); break;
case 7: printf("July\n"); break;
}
- 函数 应当先写函数在引用,编译器是自上而下读取代码
void sum(int begin, int end)//函数头 void位置为函数的返回类型 sum为函数名
//(int begin, int end)参数表
{
int i;
int sum = 0;
for(i = begin; i <= end; i++){
sum += i;
}
printf("%d到%d的和是%d\n",begin,end,sum)
}
int main(){
int a = 10;
int b = 100;
sum(a,b);//a,b的值分别传给begin,end,但是只是传递,没有值的改变
//例如swap(x,y)函数无法在C中实现
sum(20,30);
return 0;
}
但是可以先声明函数,后面写函数的定义
void sum(int begin, int end);//函数的声明,主要是编译器要判断函数的类型,编译器不管参数的值
int main(){
int a = 10;
int b = 100;
sum(a,b);
sum(20,30);
return 0;
}
void sum(int begin, int end)
{
int i;
int sum = 0;
for(i = begin; i <= end; i++){
sum += i;
}
printf("%d到%d的和是%d\n",begin,end,sum)
}