一、进制

进位方法:逢几进一(也就是几进制)

举例:十进制 12  ;  二进制  0b(计算机前缀)  0b1011  ;  八进制  0   073  ;十六进制  0x  0xABCDEF

十进制(X)转其它进制(Y)方法:连除倒取余。 用X除以Y,将获得的余数倒着排序。

其他进制转转十进制:   多项式求和。   将多进制的数上的每一个数 的 (几-1)次方 相加得到的和。

一个八进制可以转换成3个二进制位;一个十六进制可以转换成4个二进制位。

八进制和十六进制存在的意义就是为了更加方便的表示二进制。

二、注释:单行注释(//)和多行注释(/* */)

注释的作用:注释是给程序员看的,解释和说明 代码的作用,程序的运行中不参与执行,相当于一个空格。
单行注释的内容,只能写在//的后面,而不能使用enter换行。
/*
 多行注释中可以使用enter
 多行注释中可以嵌套单行注释,但多行注释不能嵌套多行注释.
 //单行注释
 单行注释中可以出现多行注释,但是多行注释中不能出现enter.
 */ 
 
 
三、简单程序的一般形式
 #import <Foundation/Foundation.h>

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

    return ;
}

#import 引入系统框架;

<Foundation/Foundation.h> 系统提供的框架。 Foundation.h 系统的头文件。头文件相当于一个说明书,引入系统框架使用<>,引入自定义框架使用""。

int main (int argc, const char *argv[]) 是main函数,是程序的入口,任何程序执行必须有main函数,而且一个函数只能有一个main函数;
int 函数的返回数据类型; main 函数的名字; int argc, const char *argv[] 函数的参数。 return 0 代表main函数的返回值,返回0,代表这个main函数正常输出,其他数字则代表函数异常。 四、数据类型

C语言数据类型(

作用:为了合理利用内存空间,

规定要存储的数据在内存中所占

的空间大小)

基本数据类型 整型 short 2个字节 %hd
int 4个字节 %d
long 4/8个字节 %ld
浮点型 float(单精度) 4个字节 %f
double(双精度) 8个字节 %lf
字符型 char 1个字节

'c' ; '1':每个字符在

ASCII表中都代表一个整数

构造数据类型 数组、结构体  
指针数据类型 地址 字符串 "hello"; "恩"
空类型 void  
定义一个变量 :   数据类型    变量名    =    初始值;
int age(赋值运算符) 21;
变量 常量 变量命名规则 初始化的作用
常量:在程序的整个运行过程中值不能发生变化的量;
变量:程序的运行过程中值能发生改变的量,变量代表的是内存中的一块存储区域,存储区域的值能够发生改变.
使用变量的时候首先要考虑的是它在内存中所要的存放的数据类型的大小(也就是占多少字节).
如何使用变量:01.确定数据类型;02.确定变量的名字;03.初始化变量.
常量存在的意义就是给变量赋值
变量命名规则:1.只能由数字 字母 下划线以及$(美元符号)组成,并且数字不能开头;  2.不能与系统关键字相同,系统关键字一共32个;  3.不能使用重复的变量名(Redefinition of 'age',指重复定义变量名'age');  4.见名知意.
初始化的作用:目的是为了防止使用上次遗留在内存中的垃圾数,赋初始值
 
 
 
五、输出函数 <printf>
 float a = 3.14;
printf ("a = %.2f\n", a);
// %.nf表示输出小数点后n位数字

%md

①当m为负数时,左对齐。如果|m|>当前数字的位数,右侧补空格;相反则正常输出。

②当m为正数时,右对齐。如果|m|>当前数字的位数,左侧补空格;相反则正常输出。

补充:

  1.输出一个百分号“%”

printf("%%");

  2.输出字符所代表的数值

    printf("%d", 'A');
// 使用%d作为字符的占位符,输出的是这个数在ASCII中所代表的数值 printf("%c", 'A');
// 使用%c作为字符的占位符,输出的是这个字符本身。

六、运算符 复合运算符 表达式 语句

运算符:
++ 自增1的运算符;  --  自减1的运算符
  • 变量在++的前面,先使用这个变量,然后再对自身加1.a++
  • 变量在++的后面,先对自身加1,然后再使用这个变量.++a
  • 变量在--的前面,先使用这个变量,然后再对自身减1.a--
  • 变量在--的后面,先对自身减1,然后再使用这个变量.--a
复合运算符 += -= *= /= %=
 
表达式:变量,常量,运算符的组合就叫做表达式,单独的表达式活着单独的常量都是表达式.
判断一个式子到底是不是表达式,就看这个式子有没有返回值.
 
语句:程序中最小的执行单位,语句必须以分号(;)结尾。
 
 
七、输入函数  scanf()
     scanf("%d", &a);
// & 取地址符,可拿到变量在内存中的地址。
// scanf 中不能输入enter,会把输入的enter抵消掉
scanf("%d %d\n", &a, &b); scanf("%c", &c)
// 输入字符,前面不能有其他的scanf函数。
// getchar 清除缓存区域的字符;rewind(stdin) 清空缓存区域全部字符。

C阶段【01】 - C基础的更多相关文章

  1. 002 01 Android 零基础入门 01 Java基础语法 01 Java初识 02 Java简介

    002 01 Android 零基础入门 01 Java基础语法 01 Java初识 02 Java简介 学习Java的基础语法 Java是一门编程语言,学习的逻辑其实和现实世界的语言是一样的,需要了 ...

  2. 01: tornado基础篇

    目录:Tornado其他篇 01: tornado基础篇 02: tornado进阶篇 03: 自定义异步非阻塞tornado框架 04: 打开tornado源码剖析处理过程 目录: 1.1 Torn ...

  3. 后端 - Lession 01 PHP 基础

    目录 Lession 01 php 基础 1. php 基础 2. php 变量 3. php 单引号 和 双引号区别 4. 数据类型 5. 数据类型转换 6. 常量 7. 运算符 8. 为 fals ...

  4. Jam's balance HDU - 5616 (01背包基础题)

    Jim has a balance and N weights. (1≤N≤20) The balance can only tell whether things on different side ...

  5. 086 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 03 面向对象基础总结 01 面向对象基础(类和对象)总结

    086 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 03 面向对象基础总结 01 面向对象基础(类和对象)总结 本文知识点:面向对象基础(类和对象)总结 说明 ...

  6. 075 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 07 综合案例-数组移位-主方法功能4的实现

    075 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 07 综合案例-数组移位-主方法功能4的实现 本文知识点:综合案例-数组移位-主方法功能4的实现 说明:因为 ...

  7. 074 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 06 综合案例-数组移位-主方法功能3的实现

    074 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 06 综合案例-数组移位-主方法功能3的实现 本文知识点:综合案例-数组移位-主方法功能3的实现 说明:因为 ...

  8. 073 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 05 综合案例-数组移位-主方法功能1和2的实现

    073 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 05 综合案例-数组移位-主方法功能1和2的实现 本文知识点:综合案例-数组移位-主方法功能1和2的实现 说 ...

  9. 072 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 04 综合案例-数组移位-在指定位置处插入数据方法

    072 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 04 综合案例-数组移位-在指定位置处插入数据方法 本文知识点:综合案例-数组移位-在指定位置处插入数据方法 ...

  10. 071 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 03 综合案例-数组移位-显示数组当中所有元素的的方法

    071 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 03 综合案例-数组移位-显示数组当中所有元素的的方法 本文知识点:综合案例-数组移位-显示数组当中所有元素 ...

随机推荐

  1. UTF-8 BOM头

    BOM是什么 Unicode的学名是"Universal Multiple-Octet Coded Character Set",简称为UCS.UCS可以看作是"Unic ...

  2. JAVA - HashMap和HashTable

    1. HashMap 1)  hashmap的数据结构 Hashmap本质就是一个数组,只是当key值重复时,使用链表的方式来存储重复的key值(拉链法),注意:链表中存放的仍然是key值.如下图示: ...

  3. 基于MDK-ARM创建STM32L-DISCOVERY Project

    本文只针对使用MDK-ARM建立软件开发环境,并基于STM32L1xx_StdPeriph_Lib_V1.1.1库及其Examples,其余情况可参考UM1451 User manual Gettin ...

  4. 基于MVC4+EasyUI的Web开发框架经验总结(2)- 使用EasyUI的树控件构建Web界面

    最近花了不少时间在重构和进一步提炼我的Web开发框架上,力求在用户体验和界面设计方面,和Winform开发框架保持一致,而在Web上,我主要采用EasyUI的前端界面处理技术,走MVC的技术路线,在重 ...

  5. js中的延迟执行和定时执行

    在js中,延迟执行函数有两种,setTimeout和setInterval,用法如下: function testFunction(){Console.log('hovertree.com');} s ...

  6. LeetCode3:Longest Substring Without Repeating Characters

    题目: Given a string, find the length of the longest substring without repeating characters. For examp ...

  7. 去掉Mybatis Generator生成的一堆 example

    <table tableName="%" enableInsert="true" enableDeleteByPrimaryKey="true& ...

  8. 关于JAVA堆栈的简单说明

    关于堆栈的说明: 1.栈(stack)与堆(heap)都是Java用来在Ram中存放数据的地方.与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆. 2. 堆栈的优劣势 栈: 优势:存取 ...

  9. python函数和常用模块(三),Day5

    递归 反射 os模块 sys模块 hashlib加密模块 正则表达式 反射 python中的反射功能是由以下四个内置函数提供:hasattr.getattr.setattr.delattr,改四个函数 ...

  10. CentOS 6.5/6.6 安装(install)mysql 5.7 最完整版教程

    Step1: 检测系统是否自带安装mysql # yum list installed | grep mysql Step2: 删除系统自带的mysql及其依赖命令: # yum -y remove ...