C语言<前年笔记整理>(一)C语言初识

一些操作的说明:由于本屌是学iSO出身,So我所学的c语言大多在mac系统里敲代码的。

(一)

先介绍下mac的一些操作吧

========================================
一、mac系统使用
1.mac系统简单介绍
Mac 是一种类 Unix 的图形化界面操作系统,有两种开发环境:图形化 IDE 和终端Terminal。(简单的说就是苹果开发的一套操作系统)

2.Dock(停靠栏--一般在屏幕底部)、Finder(我的电脑)、常用软件(safari,系统偏好设置)

3.文件系统
1)windows中我的电脑--相当于Mac中的Finder

2)文件路径对比
windows           D:/shipin/后会无期.mp4
mac                /Users/mac/shipin/X战警.mp4                       ‘/‘表示根目录

4. 常用快捷键

a) Command+Tab:任意情况下切换应用程序

b) Command+~:同一应用程序多窗口间切换

c) Command+F:呼出大部分应用程序的查询功能

d) Command+C/V/X:复制/粘贴/剪切

e) Command+N:新建应用程序窗口

f) Command+Q:退出当前应用程序

g) Control+Space:呼出 Spotlight,右上角的查询图标。

h) Command+Space:切换输入法

========================================
二、常用终端命令
如何打开终端
1.通过点击finder---应用程序---实用工具---终端
2.将固定到dock中
终端介绍
                              主机名:当前目录 用户名

例如 :   admindeMacBook-Pro:~ admin$

unix命令
1.pwd显示当前目录,当前工作路径
根目录和home目录
(a)根目录:
Mac 系统没有分区的概念,整个计算机文件系统从根目录’/’开始,由一层层的目录 (windows 里的文件夹)组成,文件根据功能安装在不同的目录里。整个系统目录结 构从根目录’/’开始,形成一个倒树形结构。

(b) home 目录:
每个 Mac用户都有一个 home 目录,该用户的所有操作,例如创建的个人目录和 文件,通常放在该目录里。通常打开终端 Terminal 后,自动进入当前用户的 home 目录。

2.ls文件显示
1)通过ls显示当前目录下的文件

3.ls参数使用
1)显示当前目录下文件的信息
ls  -l        //   list
2)如何显示所有文件,包括以点开头的文件
ls -a
3)如何显示指定目录文件
ls [参数] 文件名
4.cd进入目录
1)如何进入目录
2)返回上级目录
3)cd 快速回到用户目录

5.相对路径和绝对路径
(a)绝对路径 绝对路径是从根目录’/’开始,计算的某一文件/文件夹的路径。
功目录的各级目录功能
/User/qianfeng/Public

(b)相对路径 相对路径是从当前路径开始,计算机的某一文件/文件夹的路径。
深圳-樟木头-常平-东莞-广州

(c)当前目录当前用户执行操作的工作目录,当前目录可以通过 cd 命令改变,可以通过 pwd 命令显示当前目录的绝对路径。当前目录可以用标识符’.’引用。
1)如何通过绝对路径进入目录
2)如何进入/目录

(d) 父目录 除根目录’/’外,每个目录都有一个上级目录,通常称为父目录。父目录可以用标识 符’..’引用。

cd . 当前目录
//cd ..返上一级
cd - 返上一次
cd ~ 返home

6、 目录操作:目录创建,复制和删除
1>.mkdir //创建文件
2>.rm -r //删除文件或目录
3>.cp -r //复制文件或目录
4>.mv //在不同目录下操作是剪切 在同一目录下操作是重命名

7文件操作:文件创建,删除和复制
1>.touch       创建文件
touch 文件名

重名文件什么都不会发生

open 文件名       //打开文件(夹)

2>.rm
3>.cp复制
cp 源文件 目标路径
4>.mv剪切
mv 源文件 目标路径
重命名:
mv 文件名 ./新的文件名

说明:命令其实就是一些已经编写好的应用程序
除了终端自带的之外,还有第三方的命令

终端技巧
1>.文件和命令名的补全
tab键补全
2>.历史命令
方向键的上和下查找
history
3>.clear清屏或者control+l

====================================

(二)c语言程序编写

====================================

一、第一个C程序Hello World(环境:Xcode和终端)

#include <stdio.h>          //   包含头文件
int main(void)                 //    主函数
{    //  主函数开始
     //  函数体:功能代码
    printf("Hello World\n");
    return 0;
}//主函数结束            

输出:   Hello World

步骤:

1.编写 .c 源文件(比如说,我写了个 源文件: ab.c  )

2.编译 .c源文件变成.o目标文件(   cc -c   ab.c  )

3.链接  (  cc ab.o  )  生成可执行文件

4.运行    ./a.out

(  编译链接一起,cc ab.c   )

二、C程序的开发过程

1.用Xcode编写.c源文件

C程序由函数构成 C程序的入口是main函数,只能有一个,而且必须有一个

2.用clang编译.c源文件为.o目标文件

编译过程中检测程序的语法,产生相应的错误(error)和警告(warning)信息 如果有错误(error),那么编译失败,不可能产生.o目标文件 如果有警告(warning),并不影响编译,可以产生.o目标文件(前提是没有错误) 编译过程只会检测语法,并不会检测有没有函数的定义

3.用clang链接.o目标文件为.out可执行文件

链接的时候会检测有没有函数的定义,如果没有定义,就链接失败

4.用终端运行.out可执行文件

编译:只会检测语法,并不会检测有没有主函数或者其他函数
链接:链接的时候会严格检测有没有函数的定义(linker链接器)

注意:

1)未定义 标示

Undefined symbols for architecture x86_64:
"_main", referenced from:
错误描述:因为没有主函数
2)编译含有空格的.c文件 用Tab键补全
3)在终端生成出来的文件处在终端的当前目录

时间: 2024-11-05 18:48:46

C语言<前年笔记整理>(一)C语言初识的相关文章

python语言学习笔记整理

什么是程序? 程序等于数据结构加算法,那么数据结构是一个静态的东西,算法是一个动态的东西,我们用一个新的语言编写这个程序,我们要考虑到语言也主要由数据结构和算法相关的东西,或静态或动态的东西来构成,所以我们可以把一门语言进行拆解,比如现在这门语言就是Python,那么Python这门语言是就拆解为面向对象和面向过程,那么我们知道以前的程序语言C语言就是面向过程的语言,而C++就是面向对象的语言,然后横向的我们还要考虑数据结构和算法.这样我们可以把一门语言的学习氛围四大块,第一款就是面向过程的数据

【学习ios之路:C语言】总结整理:学好Object-C---C语言必备知识点

一.基本数据类型.常量.变量.运算符 1.数据类型 int. short.char.long.float.double. 2.常量的分类.(1).整型常量 (2)浮点型常量 (3)字符常量 (4)字符串常量. 3.常量的特性:常量存储在常量区,常量区的内容不可被更改. 4.变量的定义与本质.数据类型 变量名 = 初值 . 本质变量就是一个容器. 5.变量名的命名规范 6.运算符. (1)赋值运算符 = (2)算数运算符 +  -  *  /  %  ++  -- (3)复合运算符  +=  -+

JavaScript语言精粹笔记

JavaScript语言精粹笔记 掌握语言的每个特性可以让你出风头,但是并不推荐,因为一部分的特性带来的麻烦可能远超本身的价值.正如书中所言,坏的材料并不能雕刻出好的作品,要成为一名更好的程序员,要取其精华去其糟粕.当你知道要做什么的时候,它还能表现的更好,编程时一件相对困难的事情,绝不应该在懵懂的状态下开始编程之旅. JS中的注意为//或者/*content*/,注释一定要精确地描述代码,不然没有用的注释比没有注释更糟糕. JS中的代码块不会创建新的作用域,因此变量应该被定义在函数的头部,而不

从0开始学Swift笔记整理(五)

这是跟在上一篇博文后续内容: --Core Foundation框架 Core Foundation框架是苹果公司提供一套概念来源于Foundation框架,编程接口面向C语言风格的API.虽然在Swift中调用这种C语言风格的API比较麻烦,但是在OS X和iOS开发过程中,有时候使用Core Foundation框架的API是非常方便的,例如在与C语言混合编码的时候. Core Foundation框架与Foundation框架紧密相关,他们具有与相同的接口,但是不同.Core Founda

笔记整理--C语言

linux下错误的捕获:errno和strerror的使用 - Google Chrome (2014/2/26 17:31:39) linux下错误的捕获:errno和strerror的使用 2011-08-09 13:44:12 经常在调用linux 系统api 的时候会出现一些错误,比方说使用open() write() creat()之类的函数有些时候会返回-1,也就是调用失败,这个时候往往需要知道失败的原因.这个时候使用errno这个全局变量就相当有用了.    在程序代码中包含 #i

go语言学习笔记

go语言学习笔记 go语言学习笔记(初级) 最近一直在学习go语言,因此打算学习的时候能够记录 一下笔记.我这个人之前是从来没有记录笔记的习惯, 一直以来都是靠强大的记忆力去把一些要点记住. 读书的时候因为一直都是有一个很安静和很专心的环境, 因此很多事情都能记得很清楚,思考的很透彻.但是随着 年纪不断增加,也算是经历了很多的事情,加上工作有时会让人 特别烦闷,很难把心好好静下来去学习,去思考大自然的终极 奥秘,因此需要记录一些东西,这些东西一方面可以作为一种自我激励 的机制,另一方面,也算是自

Perl语言学习笔记 9 正则表达式处理文本

1.替换 s/PATTERN/REPLACE/; #返回是否替换成功的布尔值 可以使用捕获变量,如:s/(\w)/$1/ 匹配失败则不做任何处理 2.定界符 对于没有左右之分的定界符,重复三次即可,如:s///.s### 对于有左右之分的定界符,需使用两对,一对包含模式,一对包含替换字符串,这两对可以不一样,如:s{}{}.s[]{}.s<>[] 3.可选修饰符 /g可进行全局替换,替换所有匹配到的字符串,如:s/ / /g /s:使得 . 匹配所有字符 /i:大小写无关 4.绑定操作符 $f

sqlite学习笔记8:C语言中使用sqlite之创建表

前面已经说了如何打开和关闭数据库,这次要说得是如何执行SQL语句,来创建一张表. 要用的的函数: sqlite3_exec(sqlite3* db, const char *sql, sqlite_callback callback, void *data, char **errmsg) 参数: db:已经打开的数据库实例 sql:SQL语句,是一个字符串 callback:是一个回调函数 data:做为回调函数的第一个参数 errmsg:用于带回错误信息 该回调函数有两种返回值类型. 1.返回

C语言细节笔记2

C语言常见问题笔记:    1. 指针的声明     char * p1, p2;  p1 是一个指向char类型的指针,而p2是一个char类型变量  这是由于 * 并不是基本类型的一部分,而是包含被声明标识符的声明符的一部分.    2. 储存类型     同一个静态函数或静态变量最好在所有的声明和定义出都包含(static)  extern 作为一个格式上的提示,表明函数的定义可能出现在另一个源文件中  关健字auto毫无用处,已经过时了   3. 在一个文件中定义了一个extern数组,