黑马程序员—01C语言拾遗
来源:互联网 发布:和室友网络冲突怎么办 编辑:程序博客网 时间:2024/05/16 00:27
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
以前学习过c语言,对c语言语法之经典钦佩至极。后因学校课程安排原因,竟时隔多年未曾接触之。近日获李明杰老师c语言基础班视频资源,欣喜观之,有温故知新之效。下面,仅将知新之内容,以c语言拾遗为题叙之。
一、include简单使用
1> 作用 :
* 拷贝右边文件的所有内容到#include所在的位置。
* 自定义的文件用" ",系统自带的文用<>。
2> #include<stdio.h>的目的 :
* 拷贝printf 等函数的声明。
3> 举例 :
#include<stdio.h>#include "zcb.txt"#include "/Users/apple/Desktop/zcb.txt"
4> 心得 :
以前只是死板的记着,凡是c语言程序,第一行一定要写#include<stdio.h>,程序中使用到了字符串的内容,就多写一行#include<string.h>,或者用到数学知识了就再多写一行#include<math.h>等等。
现在看来,include的作用是拷贝,当程序需要调用某些函数时,便拷贝这些函数的声明所在的文件。当拷贝系统定义的文件时,用<>,当拷贝自定义的文件时,用“ ”。并且,“ “里面可以是系统文件目录下的自定义文件名,也可以是自定义的文件名的路径。
二、return的简单说明
1> 作用:
* 退出函数。
* 返回一个具体值给调用者。
2> 注意点:
* void代表没有返回值。
* 如果没有明确说明返回值类型,将默认返回int型。
* 就算明确的说明了返回值的类型,也可以不返回任何值。
3> 举例:
1.void test1(){printf("I am zcb \n");} // void型,不返回任何值。
2.int test2(){printf("I am zcb\n");}// int 型,但未返回任何值。
3.int main(){return 0 ; // 程序结束处}
4.double test3(double a, double b){return a + b;} // 可以返回表达式。
4> 心得:
从字面意思上来看,return 为“返回”的意思,在每个程序的末尾,或者在有返回值的函数末尾使用。此为以前从未在意过的知识点,被李老师扫盲了...惭愧!
三、break和continue
1> break :
1. 使用场合:
* switch语句,退出整个switch语句。
* 循环结构,退出整个循环语句。譬如:while ;do while;for语句当中。
2.注意点:
* 只对最近的循环体结构。
2> continue:
1. 使用场合:
* 循环结构,退出当前的循环趟。譬如:while ;do while;for语句当中。
2. 注意点:
* 只对最近的循环体结构。
3> 举例:
/**********break*********/switch (score/10){case 10: // 100case 9: // 90+case 8: // 80+case 7: // 70+case 6: // 60+ printf("及格\n"); break; // 这里的break,指满足 score/10的以上case执行到这里以后,退出switch。default: printf("不及格\n"); break;}
/********continue*********/int main(){int i,j;for (i = 0; i<3; i++){for (j = 0; j<2; j++){if (j==1){continue; // 这里的continue指满足j==1的话退出for(j=0;j<2;j++)这层j==1的循环,进行下一场循环}printf("A");} printf("B"); }return 0;}输出结果:ABABAB
int main(){ void putBinary(int); putBinary(-12); putBinary(13); return 0;}void putBinary(int n){ int bits = sizeof(n) * 8; while (bits-->0){ printf("%d", n>>bits&1); if (bits%4==0) printf(" "); } printf("\n");}输出结果:1111 1111 1111 1111 1111 1111 1111 0100和0000 0000 0000 0000 0000 0000 0000 1101
此算法为十进制的数在内存中存储方式!用此算法可以输出int型的十进制数在内存中的表现形式。算法用到了位的运算,说起来今天的收获最大的莫过于位运算了,之前学c语言把指针当作“主干”,位运算这些“枝叶末梢”并未放在心上,今天学完内存管理这节内容,才由衷的发现内存的重要性、进制操作、位操作的重要性!下面,将关于位运算的琐碎知识整理一下:
数组就是用来存储一组数据的,而且只能存放一种类型的数据。
// 这些是正确的写法 int ages[5] = {10 , 11, 12, 67, 56}; // 五个元素,依次为10,11,12,67,56 int ages[5] = {10, 11}; // 五个元素,依次为10,11,0,0,0 int ages[5] = {[3] = 10, [4] = 11}; // 五个元素,依次为0,0,0,10,11 int ages[] = {10, 11, 14}; // 虽然没写元素个数,但从后面赋值可知,是三个元素,依次为10,11,14</span>
// 错误写法int a[]; // 没写元素个数int a={10,11,12}; // a是整形变量,不能是数组int count=3;int a[count]={10,11,12}; // 这样写不对,虽然count=5,但是变量名不能当作数组元素里的
int main(){char a[4] = "zcb"; // 这里利用数组a[2] = 'h';printf("%s\n",a);return 0;}
int main(){char *a = "zcb"; // 这里利用指针printf("%s\n",a);return 0;}</span>
int main(){char a[80]; // 这里利用数组,长度是80,一般够用了。gets(a); // 这里的gets()是输入字符串并显示到屏幕上。printf("%s\n",a);return 0;}对于利用指针定义字符串,只是在函数中见到过,并未自己用过,属于见到认识、不知道名字的方法,是似熟非熟的那种知识,这是我c语言基础知识的新发现,也拓展了我对指针和字符串的新认识,对我以后灵活定义字符串很大帮助!
int main(){void test(); // 这个是函数的声明{void (*p)();p = test;p();} // 这是利用指向函数的指针来调用函数{test(); } // 这个是直接调用函数return 0;}void test(){printf("我要调用test啦\n");}
int main(){static void test();void (*p)();p = test;p();}static void test(){printf("我要调用内部函数test啦\n");}</span>
int main(){extern void test();void (*p)();p = test;p();}extern void test(){printf("我要调用外部函数test啦\n");}
九、交换两个变量的三种方法!
int main(){int a=10,b=20;int t;{t=a;a=b;b=t;} // 定义中间变量。return 0;}
int main(){int a=10,b=20;{a=b^a;b=b^a;a=a^b;} // 利用位运算的巧妙return 0;}
int main(){int a=10,b=20;{a=b-a;b=b-a;a=a+b;} // 利用加减法的巧妙return 0;}
- 黑马程序员—01C语言拾遗
- 黑马程序员——01-C语言基础知识总结
- 【黑马程序员】---C语言数据类型总结01
- 黑马程序员-C语言基础学习心得-01
- 黑马程序员-学习笔记C语言01
- 黑马程序员——C语言指针
- 黑马程序员——C语言基础
- 黑马程序员——C语言基础
- 黑马程序员—C语言—从零开始
- 黑马程序员—C语言—指针
- 黑马程序员——C语言数组
- 黑马程序员——C语言指针
- 黑马程序员——C语言指针
- 黑马程序员——C语言基础
- 黑马程序员——C语言总结
- 黑马程序员——C语言概述
- 黑马程序员——C语言数组
- 黑马程序员——C语言指针
- linux 图形显示流程
- openCV中 cvSeq的用法说明
- 有关“MongoDB内存使用原理”
- Lex与Yacc学习(十)之Yacc库
- android多分辨率适配
- 黑马程序员—01C语言拾遗
- Httpclient
- hdu---2035 人见人爱A^B
- CSV读取类,C++ STL实现
- import com.sun.image.codec.jpeg.JPEGCodec不通过 找不到包
- 20.枚举
- 黑马程序员—02初识Object—C
- flex查询数据时弹出正在查询,查到数据自动关闭,类似进度条
- android GridView的简单示例