码迷,mamicode.com
首页 > 编程语言 > 详细

黑马程序员——C语言知识小节------初学者容易忽略的知识点

时间:2015-05-25 23:50:51      阅读:147      评论:0      收藏:0      [点我收藏+]

标签:

  这两天复习了之前学习的C语言基础知识,发现了许多对于初学者来说重要但是却容易被忽略的问题,在此总结一下,与君共勉。

1、程序中如果用到头文件stdio.h的内容,即使不写#include <stdio.h>程序也可以正常运行,只会警告,不会报错。这是因为链接程序会自动链接库函数。所以如果使用了非库函数的头文件,就必须要写头文件,不然程序就会报错。

2、在使用scanf函数输入参数时,若以空格作为分隔,如:

int a, b;
scanf("%d %d", &a, &b);

  在输入参数时,不仅可以使用空格作为分隔符,实际输入tab、回车都可以作为分隔符。

3、在程序中我们经常用到自加运算符(如:a++),但是如果有人问你10++的写法对吗?好多人就不确定了。实际上10++的写法是错误的,因为 a++ 等价于 a=a+1,所以 10++ 应该等价于 10=10+1,显然是错误的。

4、在switch中,我们经常这样写:

int a = 0;
int b;
switch(a)
{
   case 0:
        b=1;
        break;
 
    default:
        b=2;
        break;
}         

  但是如果这样写呢?

int a = 0;
switch(a)
{
   case 0:
        int b=1;
        break;
 
    default:
        int b=2;
        break;
} 

  事实上,这样的写法是错误的,因为如果在case中定义了新的变量,必须用{}包住,不然会发生变量作用域不明确的错误。正确的写法应该为:

int a = 0;
switch(a)
{
   case 0:
        { 
            int b=1;
            break;
         }
    default:
         {
             int b=2;
             break;
           }
} 

  哦,对了。其实呢,switch 中的 default也常被大家忽略,当 所有 case 中的值都不等于 a 的时候,就可以用到 default 啦!

5、同样作为分支结构的 if 语句也应该注意,在 if 语句中定义新的变量时,必须用{}括起来,不然也会报作用域不明确的错误。如:

if10>6)
{
    int a=5;          
}

  当然,记得 if(10>6)后边不要加";"哦。
6、在比较大小是,应注意最好将常量值放在运算符的左边,变量放在右边。如: if(2 == a),注意C语言中等于是“==”,若写为“=”则为赋值操作。

7、在是使用sizeof()函数时,注意传入的参数,如:

int a = 10;
sizeof (10);      // 正确
sizeof 10 ;       //  正确
sizeof (a);      //  正确
sizeof  a;       //  正确
sizeof (int);    //  正确
sizeof int;      //  错误

 

黑马程序员——C语言知识小节------初学者容易忽略的知识点

标签:

原文地址:http://www.cnblogs.com/zhangxiaoshan/p/4528987.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!