C基础

1.标示符:


    标示符不能与c编译系统已经预定义的、具有特殊用途的保留标识符(即关键字)同名。比如,不能将标识符命名为float,auto,break,case,this,try,for,while,int,char,short, unsigned,等等;
注意:
C 语言规定,标识符可以是字母(A~Z,a~z)、数字(0~9)、下划线_组成的字符串,并且第一个字符必须是字母或下划线。在使用标识符时还有注意以下几点:


(1)标识符的长度最好不要超过8位,因为在某些版本的C中规定标识符前8位有效,当两个标识符前8位相同时,则被认为是同一个标识符。 


(2)标识符是严格区分大小写的。例如Imooc和imooc 是两个不同的标识符。 


(3)标识符最好选择有意义的英文单词组成做到"见名知意",不要使用中文。


(4)标识符不能是C语言的关键字。想了解更多C语言关键字的知识,


2.变量及赋值
    变量就是可以变化的量,而每个变量都会有一个名字(标识符)。变量占据内存中一定的存储单元。使用变量之前必须先定义变量,要区分变量名和变量值是两个不同的概念。就好比:住在房间里的客人与房间号是两个不同的概念。


    (1) 变量定义的一般形式为:数据类型 变量名;


    (2)多个类型相同的变量:数据类型 变量名, 变量名, 变量名...;
    注意:在定义中不允许连续赋值,如int a=b=c=5;是不合法的
    (3)变量的赋值分为两种方式:1.先声明再赋值  2.声明的同时赋值.


3.基本数据类型
   C语言中,数据类型可分为:基本数据类型,构造数据类型,指针类型,空类型四大类。
   
   注:int、short int、long int是根据编译环境的不同,所取范围不同
      C语言中不存在字符串变量,字符串只能存在字符数组中


4.格式化输出语句


    格式化输出语句,也可以说是占位输出,是将各种类型的数据按照格式化后的类型及指定的位置从计算机上显示。这样做的好处,是有利于计算机能够准确的将我们所要类型数据给我们


    其格式为:printf("输出格式符",输出项);
     格式符                 说明                        举例
        %d 带符号十进制数 int a=10;printf("%d",a);输出结果为10
%c 单个字符 char x='a';printf("%c",x);输出结果为a
%s 字符串 printf("%s","哈哈哈");输出结果为哈哈哈
%f 6位小数 float a=1.23;printf("%f",a);输出结果为1.230000
    注意:格式符的个数要与变量、常量或者表达式的个数一一对应  


5.不可改变的常量
   在程序执行过程中,值不发生改变的量称为常量。C语言的常量可以分为直接常量和符号常量。
       


    符号常量的标示符一般习惯使用大写字母,变量的标示符一般习惯使用小写字母,加以区分。
           #define 表示符  常量值
例:#define PI 3.14  


6.自动类型转换


自动转换发生在不同数据类型运算时,在编译的时候自动完成。自动转换遵循的规则就好比小盒子可以放进大盒子里面一样,


注:字节小的可以向字节大的自动转换,但字节大的不能向字节小的自动转换




7.算术运算符


#include <stdio.h>


    int main()
{
   
     int x,y;
   
   x = 10;
    y = -3;
 
   printf("x+y=%d\n", x+y );  
 
   printf("x-y=%d\n", x-y );
 
   printf("x*y=%d\n", x*y );
  
   printf("x/y=%d\n", x/y);
  
   printf("x%%y=%d\n", x%y );  


    return 0;    
}


(1).自增与自减运算符
注意:无论是a++还是++a都等同于a=a+1,在表达式执行完毕后a的值都自增了1,无论是a--还是--a都等同于a=a-1,在表达式执行完毕后a的值都自减少1。


(2).赋值运算符
C语言中赋值运算符分为简单赋值运算符和复合赋值运算符,复合赋值运算符就是在简单赋值符“=”之前加上其它运算符构成,例如+=、-=、*=、/=、%=。
例:int a=3;
    a +=5;
分析:定义整型变量a并赋值为3,a += 5;这个算式就等价于a = a+5; 将变量a和5相加之后再赋值给a
注意:复合运算符中运算符和等号之间是不存在空格的。


8.关系运算符


注意:>=,<=,==,!=这种符号之间不能存在空格。    
      b++先取值后运算  例:b=9     b++>=10(先取值后运算)即9>=10为假




9.逻辑运算符
C语言中的逻辑运算符:
&& 逻辑与         ||  逻辑或      !逻辑非
逻辑运算的值也是有两种分别为“真”和“假”,C语言中用整型的1和0来表示。其求值规则如下:
1) 与运算(&&)
参与运算的两个变量都为真时,结果才为真,否则为假。
2) 或运算(||)
参与运算的两个变量只要有一个为真,结果就为真。 两个量都为假时,结果为假
3) 非运算(!)
参与运算的变量为真时,结果为假;参与运算量为假时,结果为真。




10.三目运算符
C语言中的三目运算符:“?:”,其格式为:


 表达式1 ? 表达式2 : 表达式3; 


执行过程是:


先判断表达式1的值是否为真,如果是真的话执行表达式2;如果是假的话执行表达式3。
优先级别为1的优先级最高,优先级别为10的优先级别最低。


11.分支结构之简单if语句
简单if语句的基本结构如下:


其语义是:如果表达式的值为真,则执行其后的语句,否则不执行该语句。 其过程可表示为下图


判断闰年的规则是能被4整除并且不能被100整除,或者能被400整除的年份是闰年,否则是平年。


12.循环结构之while循环
使用while语句应注意以下几点:


1、while语句中的表达式一般是关系表达或逻辑表达式,当表达式的值为假时不执行循环体,反之则循环体一直执行。


2、一定要记着在循环体中改变循环变量的值,否则会出现死循环(无休止的执行)。


3、循环体如果包括有一个以上的语句,则必须用{}括起来,组成复合语句。


13.循环结构之do-while循环
    do-while循环语句的语义是:它先执行循环中的执行代码块,然后再判断while中表达式是否为真,如果为真则继续循环;如果为假,则终止循环。因此,do-while循环至少要执行一次循环语句。


14.循环结构之for循环(一)
它的执行过程如下:


第一步:执行表达式1,对循环变量做初始化;


第二步:判断表达式2,若其值为真(非0),则执行for循环体中执行代码块,然后向下执行;若其值为假(0),则结束循环;


第三步:执行表达式3;


第四步:执行for循环中执行代码块后执行第二步;


第五步:循环结束,程序继续向下执行。


13.循环结构之for循环(二)


   在for循环中,表达式1是一个或多个赋值语句,它用来控制变量的初始值;表达式2是一个关系表达式,它决定什么时候退出循环;表达式3是循环变量的步进值,定义控制循环变量每循环一次后按什么方式变化。这三部分之间用分号(;)分开.
   使用for语句应该注意:


1、for循环中的“表达式1、2、3”均可可以缺省,但分号(;)不能缺省。


2、省略“表达式1(循环变量赋初值)”,表示不对循环变量赋初始值




14.循环结构之三种循环比较
while、do-while和for三种循环在具体的使用场合上是有区别的,如下:


1、在知道循环次数的情况下更适合使用for循环;


2、在不知道循环次数的情况下适合使用while或者do-while循环,如果有可能一次都不循环应考虑使用while循环,如果至少循环一次应考虑使用do-while循环。


但是从本质上讲,while,do-while和for循环之间是可以相互转换的.






15.结束语句之break语句


使用break语句时注意以下几点:


1、在没有循环结构的情况下,break不能用在单独的if-else语句中。


2、在多层循环中,一个break语句只跳出当前循环。
注:所谓素数就是只能被1和它本身整除的数字,比如:7,13,23等。




16.结束语句之continue语句


continue语句的作用是结束本次循环开始执行下一次循环。


在C语言中,关于循环跳出语句,continue只能用在循环体内。


break语句与continue语句的区别是:break是跳出当前整个循环,continue结束本次循环开始下一次循环。 


17.分支结构之switch语句


在使用switch语句时还应注意以下几点:


1、在case后的各常量表达式的值不能相同,否则会出现错误。


2、在case子句后如果没有break;会一直往后执行一直到遇到break;才会跳出switch语句。


3、switch后面的表达式语句只能是整型或者字符类型。


4、在case后,允许有多个语句,可以不用{}括起来。


5、各case和default子句的先后顺序可以变动,而不会影响程序执行结果。


6、default子句可以省略不用。


18.臭名远扬之goto语句


goto语句是一种无条件分支语句,goto 语句的使用格式为:


     goto 语句标号;


    其中语句标号是一个标识符,该标识符一般用英文大写并遵守标识符命名规则,这个标识符加上一个“:”一起出现在函数内某处,执行goto语句后,程序将跳转到该标号处并执行其后的语句。


   goto语句通常不用,主要因为它将使程序层次不清,且不易读,但在特定情况下,可以使用goto语句来提高程序的执行速度,所以还是少用为妙。




19.自创函数




注意:


1、[]包含的内容可以省略,数据类型说明省略,默认是int类型函数;参数省略表示该函数是无参函数,参数不省略表示该函数是有参函数;


2、函数名称遵循标识符命名规范;


3、自定义函数尽量放在main函数之前,如果要放在main函数后面的话,需要在main函数之前先声明自定义函数,声明格式为:[数据类型说明] 函数名称([参数]);


20.函数调用


自定义的函数不是放在程序中摆着看的,我们需要用到自定义的函数的时候,就得调用它,那么在调用的时候就称之为函数调用。


在C语言中,函数调用的一般形式为:


 函数名([参数]); 


注意:


1、对无参函数调用的时候可以将[]包含的省略。


2、[]中可以是常数,变量或其它构造类型数据及表达式,个参数之间用逗号分隔。




21.有参与无参


在函数中不需要函数参数的称之为无参函数,在函数中需要函数参数的称之为有参函数.


有参函数和无参函数的唯一区别在于:函数()中多了一个参数列表。


22.形参与实参


函数的参数分为形参和实参两种,形参是在定义函数名和函数体的时候使用的参数,目的是用来接收调用该函数时传入的参数,就类似小明,说了的话而不实际行动;实参是在调用时传递该函数的参数,就如小刚能实际行动起来。


函数的形参和实参具有以下特点:


形参只有在被调用时才分配内存单元,在调用结束时,即刻释放所分配的内存单元。因此,形参只有在函数内部有效。函数调用结束返回主调函数后则不能再使用该形参变量。
实参可以是常量、变量、表达式、函数等,无论实参是何种类型的量,在进行函数调用时,它们都必须具有确定的值,以便把这些值传送给形参。因此应预先用赋值等办法使实参获得确定值。
在参数传递时,实参和形参在数量上,类型上,顺序上应严格一致,否则会发生类型不匹配”的错误。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值