C primer plus(学习笔记)——第二章 C语言概述

2.1 简单的C程序示例


//一个简单的C程序,可以在VS2017之类的集成开发环境下写这个程序。另外,如果程序运行时一闪而过,可以在return 0;语句前面加一句getchar();  ,可以让程序等待按下一个按键。

//初学者会有很多地方看不懂,有个印象就行。
first.c 程序

#include<stdio.h>
int main(void)                /*一个简单的C程序*/
{
    int num;                  /*定义一个名为num的变量*/
    num = 1;                  /*为num赋一个值*/
 
    printf("I am a simple "); /*使用printf()函数*/
    printf("computer.\n");
    printf("My favorite number is %d because it is first. \n", num);
 
 
    return 0;
}

2.2 示例解释

1. #include指令和头文件


#include<stdio.h>
相当于把stdio.h文件的所有内容复制到这里
stdio文件是标准输入\输出头文件,包含了输入和输出函数。

#include这一行代码是一条C预处理器指令


2. main()函数


Int main(void);
C程序总是从main()函数开始执行 //当前就这样认为
Int 是main()函数的返回类型,// int 是整数
这个值将返回给操作系统
()内的是传入函数的信息,该例没有传递信息,所以写void
或者就直接空着


3. 注释


注释是对程序的解释,为了让人能看懂程序。对机器来讲没有意义。
/* 一句注释 */
/* */中间的部分是程序的注释,
也可使用另一种方式写注释
// 双斜杠后面可以写一行注释


4.花括号、函数体和块


{
  …
}
C函数使用花括号来标记函数体的开始和结束。
此外,花括号还可将多条语句合并成一个语句块(相当于一条语句)。


5.声明


Int num;
这句声明了一个类型为int(整数)的变量num
C语言的变量要先声明才能使用
C99之前要求声明置于块的顶部。
C99之后允许在需要时才声明,位置更加灵活。

声明变量的理由:

  • 把所有的变量放在一处,方便读者查找和理解程序的用途
  • 声明变量会促使你在编程之前做一些计划
  • 声明变量有助于发展隐藏在程序中的小错误,如变量名的拼写错误
  • 如果事先未声明变量,C程序将无法通过编译

在C99之前的标准要求把声明都置于块的顶部        优点:把声明放在一起方便理解程序的用途

C99允许在需要时声明变量 优点:在给变量赋值之前声明变量,就不会忘记给变量赋值

                                            缺点:许多编译器都还不支持C99


6.赋值


num = 1; //将值1 赋给变量 num

PS:C语言是通过赋值运算符而不是赋值语句来完成赋值操作的


7. printf函数


printf(“I am a simple “);
这是一个标准库函数,用于打印信息。

printf("My favorite number is %d because it is first. \n", num);

参数中的%在提醒程序,要在该处打印一个变量,d表明把变量作为十进制整数打印

printf()函数名中的f提醒用户,这是一个格式化打印函数


8. return 0;


函数返回 0;

2.3 简单程序的结构

程序由函数组成。
必须有main函数(main是入口函数,可以认为程序从main函数开始)
函数由函数头 和 函数体组成。
函数头格式为 返回值类型 函数名(需要传入的参数)
函数体格式是{ …} 即花括号括起来的一些语句

一般的简单C程序格式如下:
 

#include<stdio.h>
Int main(void)
{
 语句
return 0;
}

2.4 提高程序可读性的技巧


1.选择有意义的函数名和变量名 //特别是程序较大时,尽量给变量和函数起个好名字,不会混淆
2.合理的注释
3.空行分隔 概念上的多个部分
4.每条语句独占一行

2.5 进一步使用C


这里又举了一个和上面的差不多的例子,略

2.6 多个函数


一个程序可以包含多个函数,也可以包含自己定义的函数。

#include<stdio.h>
void butler(void);
int main(void)
{
 printf(“。。。。。。 ”);
butler();  //自己定义的函数 butler()
 
return 0;
}
void butler(void)
{
  printf(“You rang, sir?\n”);
}

2.7 调试程序(debug)

有两种常见的错误


语法错误 和 逻辑错误
语法错误就是没有遵循C语言的规则 例如,int 1var;
这里就有2个语法错误:

一是数字做变量名的开头,
二是符号用了中文符号 。注意C语言的符号都是英文符号,所以最好在编写代码时关闭中文输入法。
//如果在IDE中,有语法错误的地方会有波浪线
逻辑错误比较难找,编译时能通过,但是程序得不到正确的结果,需要分析程序流程才能找到。

定位错误的常用办法:

1.在关键点插入 printf(),打印当前值

2.调试器(debugger),

2.8 关键字和保留标识符

关键字是C语言的词汇,不能用作变量名 例如int3

具体有哪些关键字不需要特别记忆

关键字:链接内容

保留标识符

 如果使用关键字不当,如用关键字作为变量名,编译器会将其视为语法错误。还有一些保留标识符。C语言已经指定了它们的用途或保留它们的使用权,如果你使用这些标识符来表示其它意思会导致一些问题。因此,尽管他们也是有效的名称,不会引起语法错误,也不能随意使用。保留标识符包括那些以下划线字符开头的标识符和标准库函数名,如printf()。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值