黑马程序员-[C语言] 第一篇:运算符、程序结构总结

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -----
一. C语言第二天知识点总结:

1.常量: 计算机中存储不变的数据:
      1)整形常量:     10进制     如:10;18;
                                    8进制      以0 开头;如045;
                                   2进制       以0b(0B开头;
                                   16进制     以0X开头;

2.  实型小数常量的表示方法
      1)  单精度常量    以f结尾   如2.3f;
      2)     双精度常量  双精度形式表示是一个小数   2.3;
      3)   字符型常量  用单引号(’  ‘)括起来的单个字符,如:’a’,  ‘b’;
      4)     字符常量,用双引号括起来的字符,数字等;

3. 标识符的命名规则;
     1) 由字母、下划线、以及美元符号组成;
     2) 不能和关键字重名;
     3)  不能以数字开头
    4)  严格区分大小写;
    5)   标识符大多遵循驼峰命名法;

4. 变量  代表内存的莫个空间,值可变,有变量名与变量类型构成;
    变量的定义:应该遵守标识符的命名 规范 ,不能重复;

5.  格式控制符
    %d       输出一个十进制的整数;
    %f        输出一个实数类型的小数,(不可以输出整形);
   %m.nf    m表示总的位数(列数)n表示小数点后的位数,
   %c         输出一个字符;
   %S        输出一个字符串;
   %O       把一个数,以八进制的形式输出;
   %X         把一个数,以16进制的形式输出;
   %p         输出某一个变量的地址;

6   printf    使用的注意事项;
    1)%md  m为域宽
    2) %0md   表示不足部分补0;

二. C语言第三天知识点:

1.运算符的概念和分类

概念:运算符是告诉编译程序执行特定算术或逻辑操作的符号。

分类:

1)按功能分类:算术运算符、逻辑运算符、和关系运算符和按位运算符。

2) 按操作说划分:单目运算、双目运算和三目运算。

算术运算符分为:+ (加)、-(减)、 *(乘)、 /(取整)、 %(取余)

注意:在取整数时,如果有小数,则取整结果为小数

求余时:被除数的符号决定了结果的正负符号。除数不能为0  因为无意义


2.基本运算符的类型转换问题

注意:当一个很的大数加一个小数时如果小数是float型运算结果容易出现错误,因为float型只有七位数字。

数据类型间的强制转换时暂时的其实并没有改变被转换数的值。

例:floata=3.00002 ; Int b=3545;

Printf(“%d”,(int)a+b);  结果只有七位有效数字

Printf(“%f”,a);  3.00002

 

3.赋值运算符  = 自右相左结合 

Int a=b=c=10;错误 因为int a 表示定义变量 当定义a时 赋值的是未知变量b,所以要先定义 后赋值。

Int a,b,c;

a=b=c=10;正确


4.sizeof运算符

Sizeof是一个单目运算符

作用域:计算常量、变量、数据类型在内存中所占的字节数。

Int a;

a=Sizeof 1;注意:当sizeof用在常量和变量时 可以省略括号

a=sizeof (int);

Printf(“%d”,a); 结果为4 因为整数1 为整型所占字节数为4位。


5.逗号运算符

将多个表达式连接起来成为一个表达式。整个表达式的结果是最后表达式的结果

例:a=3;b=4

Result=(a+3,b+2);运算结果为6


6.关系运算符  左结合

 >、>= 、< 、<= 优先级高于 == 、!= 

关系运算符的结果只有真和假


7.逻辑运算符

&& :优先级为 11 ,||: 优先级为12(左结合)!右结合

逻辑运算的短路问题

A||B A为真 结果为真 B不执行

A&&B A为假 结果为假 B不执行

Int a=b=0,result=-1;

Result=++a||++b&&b;因为++a后为真(1),结果为真 所以后边就不在执行了。


8.三目运算符和求值方法右结合

形式:表达式1?表达式2:表达式3   如果表达式1为真结果就是表达式2的值 否则为表达式3的值


9.运算符:运算符用来连接操作数,组成有意义的式子。

分类:算术、关系、逻辑、位运算、

位运算:

用于整数的二进制之间的运算

& 按位与 :两个全为1 结果为1  否则为0

|   按位或 :两个有1 结果为1  否则为0

~  按位取反:0变1 1变0

^  按位异或:相同为0 不同为1

>> 右移位 全部相右移动低位丢失 高位补0

<< 左移位 全部向左移动  高位丢失 低位补0  可能改变原数的正负性



三. C语言第四天知识点:

1.程序的结构和分类

程序结构:由荷兰学者dijkstra提出的一套“结构化程序设计”的思想。他规定了一套方法,

使程序具有一定规则和结构。

分类:顺序结构,分支结构if,循化结构for 、do-while 、while-do。

 

2.Switch语句格式

Switch (表达式0)

Case 表达式1:语句1 break;

Case 表达式2:语句2 break;

Case 表达式3:语句3 break;

Default 语句4

注意:

1)表达式0:整型变量 整型常量 或返回值是整型的表达式 或可以转换为整型的表达式

2)Case语句 可以由多行语句 可以由花括号,也可以没有

3)Break 用来跳出switch循环

4)如果没有break  case语句 从开始位置向下穿透运行

5)Default 可以任意放、如果default放到最后 可以不加break

6)Case 后的表达式 只能放常量 或常量表达式 不能有变量

7)Case之后的第一个语句不能定义变量 除非加上花括号既定义局部变量


四. C语言第五天知识点:

1.循环结构:

分类:

1)while(表达式)  do{语句}:先判断后执行

2)Do{语句}  while(表达式):先执行后判断

3)For(表达式1; 表达式2;表达式3){语句}

构成循环的三个条件

1)控制条件

2)循环体

3)能够让控制条件为假的操作

For循环形式1:例:for(inti=0;i<3;i++) {printf(“shuchu ”)}


2.For循环省略格式:

1)int i=1;

For(;i<3;i++){语句}

2)int i=1;

  For(;i<3;;){语句;i++;}


3.Break语句用在循环中,分别用来结束循环和跳出循环

Continu跳过循环体中剩余的语句而继续下一次,用在for do-while while循环中


五. C语言第六天知识点:

1.函数:是特定功能的代码段。

2.C语言是由函数组成的, 函数是C源程序的基本模块,通过对函数模块的调用实现特定的功能。


3.函数分类

1)库函数:不需要用户定义,也不必再程序中作类型说明,只需在程序钱前包含有该函数原型的头文件。例:stdio.h \stdlib.h

2)用户定义函数:需要用户定义并进行类型说明

3)函数的基本格式

返回值类型 函数名称(函数参数)

{

   函数体;

}


4.用户定义函数

分为:无参无返回值函数、无参有返回值函数、有参无返回值参数、有参有返回值函数。

无参无返回值函数:

一般形式:void 函数名()

        {

           声明部分

           语句

         }

例:voiduser_print() {   print(“and”);  }

无参有返回值函数:

一般形式:返回值的类型 函数名()

        {  

           声明部分

           语句

           Return 返回值类型变量或常量;//返回给主调函数

         }

例:intsum(){   int num1=0; return num1; }

有参无返回值函数:

一般形式:void 函数名(形式参数表现)

         {

            声明部分

            语句

          }

例:voidprint_line(int n){ int a=n; printf(“%d”,a);

有参有返回值函数:

一般形式:返回值类型 函数名(形式参数表列)

         {

            声明部分

            语句

              Return 返回值类型变量或常量;

          }


5.形式参数:简称形参  在函数定义中,函数名后面小括号中的参数

注意:

1)形参定义后,并不立即分配存储空间,在函数调用的时候才会真正的分配存储间。

2)当有多个形参时要用逗号隔开。

3)形参类型可以不相同。

4)在函数中不能定义和形参同名的参数。


6.实际参数:简称实参,在函数调用的时候,在小括号中的参数

注意;

1)实参可以是变量,也可以是表达式。


7.实参与形参之间的值的传递过程

1)调用函数的时候,实参的值是一个确定的值

2)调用的时候,将实参的值赋值给形参。

3)实参与形参的数量和类型要一致。

4)形参的值在被调函数中可以改变,但不会影响主调函数中实参的数据。


8.函数返回值使用注意:

1)要用到关键字 return (a);

2)A 可以是常量、表达式、变量。

3)Return 后的括号可以省略

4)如果return的值和函数定义的返回值类型不一直,则以函数定义的返回值类型一致。

函数使用流程:声明——定义——调用

1)函数声明:告诉编译器这个函数存在,以及被调函数的返回值类型以便在主调函数中处理返回数据。写在调用函数之前

2) 声明格式:函数类型 函数名(参数);

注意:

1)变量名不能与函数名同名

2)函数调用可以作为另一个函数的实参


9.递归函数:(内存消耗大 能不用就不用)一个函数在自己内部调用自身叫递归调用。

注意:

1)主调函数就是被调函数

2)在递归函数中应该存在能够让递归结束的条件。

Unix系统命令

Ls:列出当前目录下的所有内容

Pwd:显示当前目录的名称

Cd:改变当前操作的目录

Who:显示当前用户名

Clear:清楚所有内容

Mkdir:创建一个目录

Rm:删除文件

Rm -r:删除文件夹 -f 强制删除

Touch:创建文件

Vi/open:打开、创建文件 -q:退出 -wq 保存并退出 -q! 强制退出

例:vi a.txt

I 进入编辑模式

Esc 退出编辑模式

:wq!保存并退出

Cat/more :可以查看文件内容

Cd  ../ 返回到上一级

 

10.手动编译过程

写源文件.c-->.o(目标文件)-->链接-->.out 可执行文件

编译步奏:

1)cc  -c 源文件.c   ———对源文件进行编译生成 源文件.o

2)Cc 源文件.o     ___对 源文件.o 进行连接生成 a.out 文件

3)./a.out           ———对文件进




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值