第一章C语言概述
1.1程序实例
//first.程序
#include <stdio.h>
int main()
{
int num;
num = 1;
printf("I am a simple ");
printf("computer.\n");
printf("My favorate number is %d, because it is first.\n",num);
return 0;
}
2.2实例说明
1.快速简介
#include <stdio.h> <——包含另一个文件
该行告诉编译器包含文件 stdio.h 中的全部信息。文件 stdio.h 是所有C语言编译包的一个标准部分。这个文件对关键字输入和显示输出提供支持。
int main(void) <----函数名
圆括号表示mian()是一个函数的名字。int表示mian()函数返回一个整数,而void表示main()函数不接受任何参数。
2.第二遍 程序细节
这是程序的第一行。该语句的作用相当于宁在文件中该行所在的位置键入了文件 stdio.h 的完整内容。实际上,它是一种剪切和粘贴操作,这样可以方便地在多个程序间共享共用的信息。
#include语句是C预处理器指令的一个例子。
stdio.h文件作为所有C编译包的一部分提供,它包含了有关是关输入和输出函数的信息以供编译器使用。这个名字代表标准输入输出头文件(standard input/output header)。出现在文件顶部的信息集合为头,C实现通常都带有许多头文件。
最重要的是头文件包括了建立最终的可执行程序时编译器需要用到的信息。例如,他们可以定义常量,或者说明函数名以及该函数如何使用。但是函数的实际代码被包含在一个预编译代码的库文件中,而不是在头文件中。编译器的连接部分负责找到所需要的库代码。头文件指引编译器把您的程序正确地组合在一起。
为什么不内置输入输出语句?
并非所有的程序都要用到I/O(输入/输出)包,并且C语言的一个基本设计原则是避免不必要的成分。经济地使用资源的颜色使得C语言在嵌入式编程中非常流行。#include甚至不是C语言的语句!第一列中的#符号表明这一行是在编译器接手之前由C预处理器处理的语句。
2.main()函数
int main(void)
一个C程序(不考虑例外)总是从被称为main()的函数开始执行的。
int指明了main()函数的返回值类型。这意味着main()函数返回值的类型是整数。返回给操作系统。
3.注释
1.//
2./* */
/*
*/
4.花括号、程序体和代码块
所有的C函数都使用花括号来表示函数体的开始与结束。它们的存在是必不可少的
5.声明
int num;
这个特殊的例子声明两件事。第一,在函数中您有一个名为num的变量。第二,int说明num是一个整数,编译器使用这个信息为变量num在内存中分配一个合适存储空间。
本例中num是一个标识符,也就是您为一个变量、函数或其他实体所选的名字。这样该声明把一个特殊的标识符和计算机内存中的一个特殊的位置联系起来,同时确定了该位置存储的信息类型(也即数据类型)。
您可能有三个问题?数据类型是什么?可以选择什么样的名字?为什么必须对变量进行声明?
①.数据类型
C语言可以处理多个数据类型。把一个变量声明为整数或字符类型是计算机正确存储、捕获和解释该数据类型的基本前提。
②.名字的选择
尽量使用有意义的变量名(例如数羊sheep_count)。若名字无法表达清楚,可以加注释。
可供使用的字符有字母、数字、下划线。第一个字符不能是数字。字母区分大小写。
操作系统和C库通常用一个或两个下划线开始的名字,最好避免使用。
③.声明变量的4点好处
a.把所有变量放在一起,使读者更容易掌握程序的内容。配合有意义的变量名更好。
b.在编写程序前,考虑一下需要声明的变量会促使程序员做一些计划工作。
c.声明变量可以帮助避免程序中出现一类很难发现的细微错误,即变量名的错误拼写。
d.如果没有声明所有变量,将不能编译程序。
C99允许变量声明分散放置,如果在变量赋值之前声明变量,就不会忘记给变量赋值。
6.赋值
num = 1;
int num;语句在内存中为变量num分配了空间,该赋值语句在那个地方为变量存储了一个值。
7.printf()函数
printf("My favorate number is %d.\n");
圆括号表明printf是一个函数名。圆括号中包括的内容是从函数main()传递到函数printf()的信息。
printf()函数如何处理参数?程序将识别两个双引号之间的内容并把他们显示在屏幕上。
只需键入函数名字,把所需的参数放进圆括号里。当程序执行到这一行时,控制权将转给该函数(这里是printf())。当函数完成了它所要做的工作,控制权将返回给原来的函数(调用函数),这里是main()。
%d是一个占位符,其作用是指出输出num值的位置。%告诉程序把一个变量在这个位置输出,d告诉程序将输出一个十进制整数变量。实际上,printf()中f暗示着这是一种格式化(formating)的输出函数。
8.return语句
2.3一个简单程序的结构
函数头包括预处理语句和函数名。可以通过圆括号识别一个函数名,圆括号里面可能是空的。而函数体位于花括号中并由一系列语句组成,每个语句以一个分号结束。
2.4使程序可读的技巧
1.选择有意义的变量名和使用注释。
2.使用空行分割一个函数的概念上的多个部分。
3.每个语句用一行
2.5多个函数
C的惯例是把main()函数放在开头,因为它通常微程序提供了最基本的框架。
2.6调试
1.语法错误
2.语义错误
3.程序状态
跟踪程序状态的方法之一:逐步执行程序
另一种查找语义错误的方法:在程序的几个关键点处加入额外的printf()语句以监视所选变量的值。
检查程序状态的第三种方法是使用调试器。
2.7C语言的关键字和保留字
第一章C语言概述的更多相关文章
- javaSE习题 第一章 JAVA语言概述
转眼就开学了,正式在学校学习SE部分,由于暑假放视频过了一遍,略感觉轻松,今天开始,博客将会记录我的课本习题,主要以文字和代码的形式展现,一是把SE基础加强一下,二是课本中有很多知识是视频中没有的,做 ...
- [编程笔记]第一章 C语言概述
//C语言学习笔记 第一讲 C语言概述 第二讲 基本编程知识 第三讲 运算符和表达式 第四讲 流程控制 第五讲 函数 第六讲 数组 第七讲 指针 第八讲 变量的作用域和存储方式 第九讲 拓展类型 第十 ...
- 第一章 Java语言概述
1.人机交互有两种方法:一种是图形化界面,一种是命令行方式 2.如何打开命令行:开始-在运行命令行中输入cmd 3.常用的DOS命令: dir(directory):列出当前目录下文件及文件夹 md( ...
- 第一章 Java语言概述2
一.编写第一个Java应用程序 1.下载.安装JDK 官方网址:www.oracle.com java.sun.com 安装JDK 傻瓜式安装,下一步即可. 建议:安装路径不要有中文或者特殊符号,如空 ...
- 第一章 Java语言概述1
1.人机交互有两种方法:一种是图形化界面,一种是命令行方式 2.如何打开命令行:开始-在运行命令行中输入cmd 3.常用的DOS命令: dir(directory):列出当前目录下文件及文件夹 md( ...
- 疯狂java——第一章 java语言概述与开发环境
J2ME: 主要用于控制移动设备和信息家电等有限存储的设备. J2SE: 整个java技术的核心和基础,它是J2ME和J2EE编程的基础. J2EE: Java技术中应用最广泛的部分,J2EE提供了企 ...
- 第一章. ActionScript 语言基础
第一章. ActionScript 语言基础 1.0. ActionScript 3.0 Cookbook 概述 1.1. 新建一个 ActionScript project 1.2. 自己定义应用程 ...
- 第1章 Java语言概述--HelloWorld--环境搭建
SE学什么 第1章 Java语言概述 第2章 基本语法 第3章 数组 第4章 面向对象编程(上) 第5章 面向对象编程(中) 第6章 面向对象编程(下) 第7章 异常处理 第8章 枚举类&注解 ...
- 第一章.C语言简介
C语言第一章 C语言简介 目录 一.C语言介绍 二.C语言特点 三.Hello World 四.转义符 五.占位符 六.俄罗斯方块游戏 七.文件下载 一.C语言介绍 C是一种通用的编程语言,广泛用 ...
- 《驾驭Core Data》 第一章 Core Data概述
<驾驭Core Data>系列教程综合了<Core Data for iOS>,<Learning Core Data for iOS>,<Core Data ...
随机推荐
- 用shape-outside实现文字环绕、CSS圆锥色彩渐变、指定背景在容器上如何附着、长度单位vh
用shape-outside实现文字环绕 实现效果: 介绍:shape-outside是让文字从图片外部开始环绕,以及设置图片的形状. 函数定义: circle(size at x y);用于制作圆形 ...
- arthas jad 反编译 xxx类 ,报 No class found for:xxx
可能的原因: 类名不对,需要用全限定名,并且注意区分大小写 根据官方的文档,arthas jad 只能反编译已经加载的类.
- 关于CSS3中的min-height等的使用
一.min-height 当我们需要让某个容器不能低于某个高度,但是不能将高度固定在这个高度,希望其能够随着容器内内容的增多而变高时,我们可以对容器设置一个min-height来让该容器获得该特性.( ...
- Python pdb模块的使用
野路子出生,写Python也有段时间了,一般的调试都用的print, PyCharm的debug功能也用的比较少,主要一般也用不到,第二是自己也不怎么会用. 服务器开发,本地根本没有运行的环境,前面学 ...
- c++学习1 基础关键词
一 "const" 修饰变量 只能被初始化和读取,不能被赋值更改,且必需初始化,不初始化的话会因为读取到随机数而报错. example: const int date=100; c ...
- Java基础面试笔试大汇总
1面向对象的特征有哪些方面? 抽象:抽象是将一类对象的共同特征总结出来构造类的过程,包括数据抽象和行为抽象. 继承:继承就是从已有的类得到继承信息创建新类的过程 封装:封装就是把数据和操作数据的方法绑 ...
- SQL Server 还原数据库
1.备份要还原的数据库 选择要备份的数据库,右键单击,任务--备份. 2.备份完成后,将数据库还原 3.新建一个空的数据库,比如Gsy_TestNew,将备份的数据库还原到这个新的库上 4.右键单击[ ...
- nodejs的框架koa
koa:应用程序是一个包含一组中间件函数的对象,它是按照类似堆栈的方式组织和执行的 应用程序: 1.导入 const Koa = require('koa'); 2.创建koa的app实例 const ...
- 互联网架构 之备份服务器 rsync
备份服务器(Rsync) 1.介绍备份的场景 1.什么情况下需要备份 一般数据比较重要的情况下,数据如果丢失很容易找不回来了的,建议备份. 2.什么是备份 将原有的数据复制一份或几份存起来,以备不时之 ...
- OSIDP-内存管理-07
专业术语 页框:内存中固定长度的块. 页:外存中固定长度的块. 段:外存中可变长度的块. 内存管理需求 重定位:程序从内存换出到外存后,再换回内存时,在内存空间中的位置和原先的位置有极大可能不相同.此 ...