4.5 心得 体会

来源:互联网 发布:python json api接口 编辑:程序博客网 时间:2024/04/29 20:16

C primer plus

1。驱动程序是被用来测试一个函数的短小程序

2.接口部分描述了如何使用一个特性,这就是原型所做的,而实现部分说明了采取的具体动作,这正是定义所做的。  (我联想到了C++中讲的类,外部接口正是如此。) 

3.scanf函数:如果使用%C 说明符,那么所有的输入字符都是平等的,如果下一个输入字符是一个空格或者换行符。将会把这个空白或者换行符赋给指定的变量,不会跳过空白字符。   (147 8.)

4.为了避免整数除法,使用类型转换  eg:(float)x/y  x为int 。 使用类型转换可以表明你的意图。并保护程序免受不完善编译器的影响。

5.isalpha函数的参数是字母,则返回非零值。(头文件为ctype.h)

6.if、else if   使用时,建议从小到大使用 

eg:

if(x<=10)

else if (x<20)

else

。。。

7.

else与他最接近的一个if相匹配。

8。

C保证逻辑表达式是从左至右求值的,&&  || 是序列的分界点,因此在程序从一个操作数前进到下一个操作数之前,所有的副作用都会生效,而且C保证一旦发现某个元素表达式整体无效,求值将立刻停止。

9.

在进行double 运算(乘除)的时候,将整数变成实型 eg: 2.0/(int)x; 

10.

#define PAR "is marvelous name"    值得注意的是 定义字符串常量,要加双引号, 另外字符常量 应该为大写


//判断一个数是不是素数,输出所有的约数


#include<stdio.h>


int main (void)
{
bool isprime;   //素数
int inpt,i;


printf("please enter an integer for anaylysis: or enter q to quit\n");
while(1==scanf("%d",&inpt))                              //判断多个数时,解决重复运行的问题。
{
for(i=2,isprime=true;i*i<=inpt;i++)//利用BOOL 类型  判断素数
{
if(0==inpt%i)
{
if(inpt!=i*i) //避免出现 12 12 144的情况,两个约数相同
printf("%d %d is %d yueshu\n",i,inpt/i,inpt);
else
printf("%d is %d yueshu\n",i,inpt);
isprime=false;
}
}
if(isprime)
printf("%d is prime\n",inpt);
printf("please enter another integer or enter q to quit\n");
}
return 0;


}


#include<stdio.h>
#include<math.h>
int main (void)
{
int n=16;
int m,z;
m=sqrt(n);
    z=sqrt(m);
printf("%d",sqrt(4));  //结果为0
printf("%lf",sqrt(4));
  return 0;


}   这事因为 sqrt函数的参数是double 类型,转换说明符不匹配。至于Z 是 double 转换为 int



原创粉丝点击