【C语言学习】《C Primer Plus》第2章 C语言的概述
学习总结
1、#include是C预处理命令之一,#include指向的是头文件,如#include <stdio.h>,这个stdio.h就是程序需要引用的C标准库之一。里面包含了printf、scanf等函数。Java说:“这不是我的包吗。”
2、C90的注释只有/* 注释 */,C99后才添加//。
3、C90的声明必须在代码开始出声明,C99可以在任何使用的地方前声明,跟C++和Java一样。为了兼容,还是在代码开始出声明好。
4、C语言标准main函数:int main(int argc, char* argv[])也可以不带参int main()/int main(void),int返回值是告诉操作系统函数的执行是否正常退出(0是正常)
5、函数原型,是一个C文件包含多个函数时使用的一种声明,要提前告诉编译器要用到该函数。函数写在main函数之前,有些编译器可以不用声明函数原型也可以编译,不过C标准建议要为所有函数提供函数原型。
如:
void printTime(void); /* ISO/ANSI C函数原型 */
int main(){
…
printTime(); /* 函数调用 */
…
}
Void printTime(void){ /* 函数源码 */
….
}
6、在Linux下执行C调试可以使用gdb命令调试工具,也可以简单的使用debug宏或者printf函数打印。具体还是个人习惯。反正目标只有一个:提高代码稳定性。
7、编程练习(题7):
#include <stdio.h> void two(void);
void one_three(void); int main(void){
printf("starting now:\n");
one_three();
printf("done!\n");
return ;
} void two(void){
printf("two\n");
} void one_three(void){
printf("on\n");
two();
printf("three\n");
}
运行结果:
starting now:
on
two
three
done!
【C语言学习】《C Primer Plus》第2章 C语言的概述的更多相关文章
- 《C Primer Plus》- 第二章 C语言概述
本笔记写于2020年1月27日. 本系列文章参考的是<C Primer Plus>(第六版),其中里面会有笔者自己的相关补充. 以下示例均运行于macOS Catalina 10.15.2 ...
- C语言学习及应用笔记之二:C语言static关键字及其使用
C语言有很多关键字,大多关键字使用起来是很明确的,但有一些关键字却要相对复杂一些.我们这里要说明的static关键字就是如此,它的功能很强大,相应的使用也就更复杂. 一般来说static关键字的常见用 ...
- GO语言学习(一)Windows 平台下 Go 语言的安装和环境变量设置
1. Go 语言 SDK 安装包下载和安装 GO语言安装包下载地址:https://www.golangtc.com/download 下载 go1.9.2.windows-amd64 2. Go 语 ...
- C语言学习书籍推荐《数据结构与算法分析:C语言描述(原书第2版)》下载
维斯 (作者), 冯舜玺 (译者) <数据结构与算法分析:C语言描述(原书第2版)>内容简介:书中详细介绍了当前流行的论题和新的变化,讨论了算法设计技巧,并在研究算法的性能.效率以及对运行 ...
- GO语言学习笔记之Linux环境下安装GO语言
0x00 安装环境和GO版本 本篇是源码安装,非使用包管理工具安装. # Centos 7.4 # GO v1.11.2 0x01 下载GO安装包 # wget https://dl.google.c ...
- 《C语言程序设计现代方法》第1章 C语言概述
C语言的特点:C语言是一种底层语言.C语言是一种小型语言.C语言是一种包容性语言. C语言的优点:高效.可移植.功能强大.灵活.标准库.与UNIX系统集成. C语言的缺点:C程序更容易隐藏错误.C程序 ...
- 《C语言程序设计现代方法》第2章 C语言基本概念
C语言的基本概念 第一个C程序例子. /* pun.c */ #include <stdio.h> int main(void) { printf("To C, or not t ...
- 跨语言学习的基本思路及python的基础学习
笔者是C#出身,大学四年主修C#,工作三年也是C#语言开发.但在学校里其他的语言也有相应的课程,eg:Java,Php,C++都学过,当然只是学了皮毛(大学嘛,你懂得),严格来说未必入门,但这些语言的 ...
- Go语言学习笔记四: 运算符
Go语言学习笔记四: 运算符 这章知识好无聊呀,本来想跨过去,但没准有初学者要学,还是写写吧. 运算符种类 与你预期的一样,Go的特点就是啥都有,爱用哪个用哪个,所以市面上的运算符基本都有. 算术运算 ...
- Go语言学习笔记一: Hello World
Go语言学习笔记一: Hello World 听说Go语言又快又简单.即具有C语言的运行速度,又具有Python语言的开发效率,不知道真的假的.所以特意来学学这门"老"语言. 下载 ...
随机推荐
- C#发送邮件
以下代码已用 .yeah .qq 以及本人公司邮箱测试通过,可多发,可挂附件 本次测试邮件发送类,是用的winform 页面如下 窗口的后台代码如下: using System; using Syst ...
- 20151207Study
Liberal lawmakers proposed a bill to reduce the cost of medicine for older Americans.自由主义立法者提出一条减少老年 ...
- c++内存分布
http://www.oschina.net/translate/cpp-virtual-inheritance 编译器会加入一些代码, 指针的转换操作编译器会自动加偏移
- mvc AddImplicitRequiredAttributeForValueTypes
1.AddImplicitRequiredAttributeForValueTypes (为值类型添加隐式必填验证),默认值 为true.刚在mvc view(html)中会为model的值类型属性( ...
- handsontable组件和jqwidgets(jqxdragdrop组件)在一个页面产生调整宽高bug
修改handsontable.full.js handsontable绑定的"mouseup"事件,默认是window区域太大.引起冲突.
- UIScrollView
1.PPT介绍什么是UIScrollView 2.新建项目“大图片展示” * 尽量用storyboard,减少代码 * 设置contentSize属性 * 取消autolayout * 说明frame ...
- 标题编辑 AndroidTagGroup
地址: https://github.com/2dxgujun/AndroidTagGroup
- UI基础之UIButton相关
UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom]; 1.按钮透明效果 btn.alpha = 0.8; 2.按钮圆角处理 btn ...
- 黑马程序员-NSDictionary和NSMutableDictionary
NSDictionary和NSMutableDictionary:通过key和value进行对应,进行存储元素,能够方便提取所需的元素.key是不能够重复出现,但是value能够重复出现.NSDict ...
- 手机移动端alert替换方案
//alert ;(function () { var AlertBox = function (options){ this.defaults = { title:"", cal ...