小白再也不用为了找教程发愁!一篇文章让你快速入门C语言!

C语言永远不会过时

其实学编程关键是学习其思想,如果你精通了一门,再去学其他的时候也很容易上手。C不会过时的,尤其是在unix、linux操作平台上,学好C是必须的。

C跟C++在很多方面也是兼容的,c是c++的基础。

再者c能从很大的程度上帮你了解计算机的发展史,数据结构等方面的知识,很多软件、甚至操作系统中的很大部分是用c来实现的。

还有一些电器芯片的程序,比如电冰箱内制冷系统……可以说用c可以解决一切可能遇到的问题,关键是你要能精通它。

所以放开手脚去大胆的学吧,c永远不会过时

1 C语言的程序构成方式

1)c语言程序由函数构成,每个函数可以实现一个或多个功能。

2)一个正规程序可以有多个函数,但是有且只有一个主函数。

3)函数只有在被调用的时候才执行,主函数由系统调用执行。

4)函数的格式必须按照规范书写。

5)C 语言程序文件的后缀为 .c

2 一个简单的C程序。

1)在Xcdoe中创建c语言程序,打开Xcode-- 点击 create a new xcode project--点击 os X-- 右边选择 commad line tool --next--product name填项目名称,organization name填公司名称,organization identifier填公司网址的倒序。language选择C。小编推荐一个学C/C++的学习裙【六二七,零一二,四六四】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有很多干货和技术分享

简单打印一句话。

[html] view plain copy

//

// main.c

// 一个简单的C程序

//

// Created by ywxkdz on 15/11/14.

// Copyright (c) 2015年 itcast. All rights reserved.

//

#include

int main(int argc, const char * argv[]) {

printf("Hello, World! ");

return 0;

}

3 c语言的执行过程

源程序---编译--链接--执行

编译:将源程序编译生成 .o的目标文件(快捷方式 command +b)

链接:链接库文件,将目标文件生成 .out的可执行文件。(快捷方式 command +r)

4 c语言的标识符

标识符分关键字,预定义标识符和用户标识符。

1)标识符命名原则

a,只能有字母,数字,下划线和美元($)组成。

b,不能以数字开头。

c,不能与关键字重名。

d,严格区分大小写。

2)标识符命名规范

a,驼峰命名法。(第一个单词首字母小写,其他单词首字母大写)。getName。

b,名称简练,望文知意

c,避免出现数字编号。name1,name2.

d,多个文件共同使用的全局变量或者函数名称加范围限定符。UI_name

3) 关键字就是C本身使用的,不能作他用的字。总共有32个。

数据类型关键字:void int char float double (5)

类型修饰符关键字:short long signed unsigned(4)

复杂类型关键字:struct enum union(3)

流程控制关键字:for break continue do while if else goto suitch case default return(12)

存储类型关键字:auto extern static regist ( 4)

其他关键字:const sizeof typedel volatile(4)

5 注释

对代码的解释性文字。

作用:方便程序员之间交流。

特点:不参与编译。

注释分类

1)单行分类(//注释内容)。只注释单行

2)多行分类(/* 注释内容*/)。注释多行,注释文字间可以换行。快捷键(command + ?)

6 数据类型


常用基本数据类型占用空间(64位机器为例)

char : 1个字节

int :4个字节

float:4个字节

double:8个字节

基本类型书写

整数

a,默认为10进制 ,10 ,20 .

b,以0开头为8进制,045,021.

c.,以0b开头为2进制,0b11101101。

d,以0x开头为16进制,0x21458adf。

小数

单精度常量:2.3f 。

双精度常量:2.3 .默认为双精度。

字符型常量

用英文单引号括起来,只保存一个字符‘a’,‘b’ ,‘*’ 还有转义字符 ‘ ’ 。‘’

字符串常量

用英文的双引号引起来 可以保存多个字符。“abc”

7 变量的概念

变量代表某个内存空间,取值可以改变。是数据的基本单元,由类别和变量名构成。

1)变量的定义格式: 变量类型 变量名,变量名......; 可以一次定义多个变量,中间用逗号隔开。

int a ,b,c;

注意:变量名命名规范遵守标识符命名规范。

2)变量的初始化

a ,定义变量同时初始化

完全初始化 。变量类型 变量名=值, int a=10,b=20;

·部分初始化。 int a =10,b; a初始化 ,b未初始化。

b , 先定义变量后初始化。

int a,b,c;

a=10;

b=20;

c=30;

c ,使用变量对变量初始化。

int a=10;

int b=a;

d,变量连续赋值

int a=b=10;

注意:变量定义的时候一定要进行初始化,未初始化的变量使用时可能会产生随机数。

3)变量的作用域

变量分全局变量和局部变量。

局部变量:在函数内或者代码块内定义的变量,作用域是从变量定义位置到代码块结束。代码块结束时,变量销毁

全局变量:在函数外定义的变量,作用域是从定义位置到程序最后,只有在整个程序运行结束时,变量才销毁。

注意:代码块内部定义的变量屏蔽代码块外部的变量。

8 printf函数使用。

使用时需要引入标准输入输出头文件 # includ 没有分号

1)格式 printf(“格式占位符”,变量列表); 格式占位符的数量要和变量列表的数量一致。

2)常用占位符

%d 输出10进制整数

%md 输出m位,不足左补空格,其他正常输出。

%0md 输出m位,不足补 0 ,其他正常输出。

%c 输出字符串

%f 输出实数

默认为6位小数,有效数位为7 ,不足末尾补0。

%.2f 输出两位小数的实数,四舍五入。

%m.nf 输出m位其中小数n位。四舍五入,小数不足补0 ,整数不足(m-n)位左补空格。

%m.nf 输出m位其中小数n位。四舍五入,小数不足补0 ,整数不足(m-n)位右补空格。

%s 输出字符串。

%o 输出8进制数

%x 输出16进制数

%p 输出变量内存地址

转义字符

输出制表符

输出换行

\ 输出

%%输出 %

9 变量为什么区分类型

1) 合理使用内存

2) 数据的存储格式不同

3) 数据的运算方式不同

10 scanf函数(阻塞式函数)

阻塞式函数执行时会等待用户输入之后才能进行。

作用:接收键盘输入的内容

格式: scanf(“格式控制符”,变量地址列表); & 取变量的地址。

使用注意事项

1)接收单个变量时在输入值之前,输入的空格,回车和制表符都会被忽略。

2)默认多个值之间用空格分隔。中间的空格回车制表符都会被忽略。

3)如果格式控制符设置为,分隔,在输入的时候需要使用,。

4) %*c 跳过一个字符 %d 跳过一个整数。

5)在使用scanf 不能使用 。

11 scanf运行原理

1)当用户输入内容后,这些内容会被存到scanf的输入缓冲区中,然后会根据格式控制符要求从缓冲区中依次取值

如果缓冲区的值与要求的格式一直,会把值赋值给变量,如果格式不一致则无法赋值。

例: scanf(“%d%c%d”,&a,&b,&c);

控制台输入 10 a 20 回车

此时缓冲区中存储了 10 a 20 包含空格。

取值时先取%d格式的10赋值给变量a

之后向下取%c格式的值,此时缓存区会把空格赋值给变量 b

之后取%d格式的值,此时缓冲区会取a字符 此时格式不对,不赋值

赋值之后 a=10,b=‘a' c未赋值。

建议输入混合型数值的时候加逗号进行分隔

2)如果缓冲区中有内容,不会提示我们输入值。输入时回车也会接收。

scanf(“%c”,ch);可以接收回车。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,904评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,581评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,527评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,463评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,546评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,572评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,582评论 3 414
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,330评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,776评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,087评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,257评论 1 344
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,923评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,571评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,192评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,436评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,145评论 2 366
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,127评论 2 352

推荐阅读更多精彩内容