黑马程序员-C语言基础学习(四)
来源:互联网 发布:风机scada数据与故障 编辑:程序博客网 时间:2024/05/22 00:42
---------------------- IOS培训.期待与您交流! ----------------------
C语言学习笔记四
---既然决定14年要好好的努力一次,那么就不要再轻言放弃,不再在随波逐流。只有努力过、拼搏过,才会知道自己行还是不行!为自己加油!---
---总结的知识点可能有不正确的地方,如果有发现请留言给我,我一定及时更正,不让错误的知识去误导大家,有好的意见也可大声提出来,小弟一定愿意采纳---
函数 (C语言是由一个或者多个函数构成)
1、函数定义格式:返回值类型 函数名(形式参数列表)
{
函数体
}
2、使用中注意:
函数体内部不能定义和形参一样的变量
int test(int a)
{
int a = 19; //错误的
}
return 退出函数 返回一个具体值给函数的调用者。
如果不明确声明返回值类型,默认就是int类型
test(){ printf("123");}
就算明确声明返回值类型,也可以不返回任何值
默认情况下,C语言不允许两个函数名称一样,就是不应该有同名函数。
函数不能相互嵌套定义
函数声明最好要定义在main函数之前。 函数声明 函数定义
函数不可以重复定义,但是可以重复声明,且函数声明位置不做具体限定,只要在调用函数之前声明就可以
如果有函数声明,没有函数定义,编译可以通过,编译器只会检测语法合不合理。并不会检测是否定义,但是在链接时会报错。链接时会检测函数是否定义。
函数声明时如果是有参数的只需要指定参数的类型就可以了 如 int sumNumber(int, int);
#include <stdio.h>int test(int a, int b); 或者 int test(int, int); //这些是函数声明,最后放在main函数之前int main(){ int a,b; test(a,b);} //函数定义int test(int a,int b){ return a + b;}
3、include指令 拷贝右边文件的所有内容到#include所在的位置 自定义的文件用 "" 系统自带的文件用<> 文件的路径可以是相对路径也可是绝对路径。 如 include "c:/test/a.h"
4、当项目中多人多文件开发时,文件分类一般遵守的规则:
1). 函数的定义放在.c 文件, 函数的声明放在.h 文件
2). 如果要使用某个.c文件中定义的函数,只要#include这个.c 文件对应的.h 文件
3). .h文件作用:被别人拷贝,编译链接的时候不需要管.h文件
\n 是一个转义字符 \t tab键 \" 一个引号
(printf函数是一个返回类型为整形的函数 函数返回的字符串常量的字符数,并不是字数 一个汉字占3个字符)
5、计算机中的进制
4种进制 十 二 八 十六
int number = 1010; //默认情况为 十进制
int number2 = 0b1100; //二进制(0b或者0B开头)
int number3 = 014; //八进制(0开头)
int number4 = 0xc //十六进制(0x或者0X开头)
%d \ %i 十进制输出整数
%c 输出字符
%p 输出地址
%f 输出小数
%o 八进制形式输出整数
%x 十六进制形式输出整数
0.089 == .089 其中零可以省略
int 4字节 (最高位是符号位,所以 取值范围为 负2的31次幂 到 2的31次幂减一) char 1字节 float 4字节 double 8字节
6、类型说明符
long 、 short 、signed 、 unsigned
其中long 、 short 只能修饰int类型,在被修饰的数值后面可以添加 l 或者 s 进行区分为具体那个修饰符 如 short int c = 1231231s;
int 4字节 %d
short 2字节 %d short int == short
long 8字节 %ld long int == long
long long 8字节 %lld long long int = long
signed 最高位要当作符号位处理 unsigned 最高位不当作符号位处理
signed == signed int signed 有符号 正数 0 负数
unsigned == unsigned int unsigned 无符号 0 正数
不同类型的说明符可以相互组合,但是同类型的不可以。比如 long 和short不能相互组合使用
7、位运算
按位与 & 只有对应的两个二进制均为1 时,结果才为1,否则为0;
如 9&5 实质1001&101 = 1因此9&5=1
按位或 | 只要有一个是1结果就是1 如 1001 | 0101 = 1101
按位异或 ^ 当对应的二进制相异时,结果为1 否则为 0
如 1001 ^ 101 = 1100
相同数值异或,结果肯定为0 。 异或的数值可以交换 a^b = b^a
任何数值跟0异或,结果还是原来的数值
用异或可以进行简单两数交换 a = a ^ b; b = a^b; a = a^b;
按位取反 ~
<< 左移
把整数a 的二进制全部左移n位,高位丢弃,低位补零 实质就是乘以 2的n次方, 由于左移 高位丢弃 所以符号位也会被丢弃,最后的结果可能改变正负
>> 右移 与左移相反
判断奇偶数(用按位与& 运算判断奇偶性)
int a; a & 1 = 1 //奇数 a & 1 = 0; 偶数
用按位与& 判断奇偶数实质:
2的二进制 10 1的二进制为 00
/*
将一个数已二进制的形式输出
number << temp & 1;可以输出二进制的数字 number 为整形数值 temp为左移位数 范围为从31 到 0
*/
字符类型存储细节 内存存储的是字符对应ASCII表中的数值的对应二进制数值
如 A ASCII 为 65 在存储时 存的是 65的二进制 0100 0001
char c2 = 'A' + 33; 实质为 65 + 33 = 98 对应到ASCII表为 b
单引号'' 只能扩住单字节的字符 char c = '男'; // 错误的 汉字站3 字节 char c = "A"; //错误,不是双引号
'A' 也可以等于 65 对应ASCII表的值
char 类型也可以当作整数运用,但是范围只有 -128 ~ 127
int = 67 + '4' 字符'4' 对应ASCII表为 52 所以上式计算完结果为 67 + 52 = 119
0 0
- 黑马程序员-C语言基础学习(四)
- 黑马程序员-OC语言基础学习(四)
- 黑马程序员-C语言基础学习(一)
- 黑马程序员-C语言基础学习(二)
- 黑马程序员-C语言基础学习(三)
- 黑马程序员-C语言基础学习(五)
- 黑马程序员-C语言基础学习(六)
- 黑马程序员-c语言学习-基础语法
- 黑马程序员——C语言基础学习(四)---数组和指针的总结学习
- 黑马程序员——C语言基础(四)函数
- 黑马程序员-C语言基础四:基本运算
- 黑马程序员-C语言学习日记(四)函数
- 黑马程序员---C语言学习笔记之四
- [黑马程序员][C语言]基础
- 黑马程序员-C语言学习日记(一)基础语法
- 黑马程序员-2 ios学习历程 C语言基础回顾
- 黑马程序员-ios学习笔记 C语言基础语法
- 黑马程序员-IOS学习笔记-C语言基础选择结构
- LInux Oracle本地可以连接远程无法访问解决方法
- C++实现singleton
- Kinect开发学习笔记之(三)Kinect开发环境配置
- GetModuleFileName
- linux驱动学习-3th
- 黑马程序员-C语言基础学习(四)
- helloword
- 解决百度地图黑屏显示的问题
- 指令
- Qt内存管理机制
- C++第二周作业
- 一步步学习java并发编程模式之Active Object模式(二)java实现异步调用
- Introducing 35 Pentesting Tools Used for Web Vulnerability Assessment
- Tomcat性能调优方案