C语言 百文网手机站

C语言的基本要点

时间:2021-04-15 11:35:57 C语言 我要投稿

C语言的基本要点

  【摘要】:本文主要提C语言的几个基本点,从而为C语言学习者提供便捷的学习方法。

  0, 逗号表达式:

  int a=(b=1,c=2,d=3);printf("%d",a) //a=3

  整个逗号表达式的值等于最后一个子表达式的值。

  1、 条件表达式:exp1?exp2:exp3

  a、条件表达式的优先级高于赋值运算

  b、条件表达式的结合方向是自右向左(先计算右边的表达式)

  c、exp2和exp3不仅可以是数值表达式,还可以是赋值或函数表达式。如a>b?(a=100):(b=200);或a>b?(printf("%d",a)):(printf("%d",b));

  d、exp1,exp2,exp3的类型可以不一样。如x?'a':'b';x>y?1:1.5

  2、闰年的条件:

  if((year%400==0)||(year%4==0&&year%100!=0))leap = 1;else leap=0;

  3、多维数组:

  a、二维数组的存放顺序:按行存放。

  b、多维数组在内存中的排列顺序:最右边的下标变化最快。

  4、C语言变量类型

  a、按存储形态分

  i 静态变量(全局变量和static修饰的变量,存于内存的静态存储区,在编译区被初始化,程序的执行期间一直有值)

  ii 动态变量(声明在"{}"之间的变量和形参,存于内存的动态存储区的栈空间,动态分配空间,函数调用结束内存回收)

  b、按作用域分

  i 内部变量(作用域仅限于"{}"内)

  ii 外部变量(作用域:从声明处到文件结束,在其它文件中使用extern声明外部变量还可以把作用域扩展到该文件中)

  a+b、

  i 静态内部变量(内部变量的作用域没变,只是程序执行期间一直有值)

  ii 静态外部变量(该外部变量只属于本文件,无法使用extern扩展作用域)

  5、函数类型

  a、内部函数(使用static修饰,只能被本文件中的其它函数调用)

  b、外部函数(使用extern修饰或不用修饰,可以被其它文件中的函数调用)

  6.循环结构

  for循环结构是c语言中最具有特色的循环语句,使用最为灵活方便,它的一般形式为:for(表达式1;表达式2;表达式3)循环体语句 。(其中;不能省略)表达式表达式1为初值表达式,用于在循环开始前为循环变量赋初值。表达式2是循环控制逻辑表达式,它控制循环执行的条件,决定循环的次数。表达式3为循环控制变量修改表达式,它使for循环趋向结束。循环体语句是在循环控制条件成立的情况下被反复执行的语句。但是在整个for循环过程中,表达式1只计算一次,表达式2和表达式3则可能计算多次,也可能一次也不计算。循环体可能多次执行,也可能一次都不执行。先执行表达式2,然后执行循环结构,最后表达式3,一直这样循环下去。for循环语句是c语言种功能最为强大的语句,甚至在一定程度上可以代替其他的循环语句。

  do循环结构,do 1 while⑵;的执行顺序是1->2->1...循环,2为循环条件。

  while循环结构,while(1) 2; 的执行顺序是1->2->1...循环,1为循环条件以上循环语句,当循环条件表达式为真则继续循环,为假则跳出循环。

  关于指针和指针变量

  指针

  指针及内存地址。对于32位机来说,内存地址需要32bit也就是4Byte的二进制数来表示,所以指针是一个4Byte的`二进制数。

  指针变量

  用于存储指针的变量,也就是说指针变量的内容是一个内存地址是一个4Byte的二进制数。无论指针变量指向的是什么类型的数据,它的值永远只会是一个4Byte的二进制内存地址。

  存储的内容都是长度一样的内存地址,那为什么声明的时候还要写明该指针变量的类型呢?我们知道不同类型的数据在内存中占用的字节数是不一样的,所以通过指针访问数据时

  指针变量移动的步长也是不一样的。例如:一个指针变量p指向了某整型数组的第一个元素a[0],此时我想用这个指针变量p来访问a[1]时只需要将p+1也就是*(p+1)就能取得a[1]的

  值。我们在编码的时候让p+1而实际上内存地址移动了4个字节(一个整型数据所占的内存空间),也就是说p+i代表内存地址要移动p+i*c(c为p指向数据类型所占的内存空间的字节数),

  所以如果指针变量没有类型的话遇到这种情况时内存地址就不知道该移动多少字节才能正确访问到一下数据。

【C语言的基本要点】相关文章:

c语言的基本特性10-07

C语言的基本构成10-07

C语言基本语法示例10-06

C语言函数的基本学习教程11-20

c语言中map的基本用法03-17

c语言指针的基本概念10-07

C语言基本知识整理10-03

C语言入门的基本学习方法11-22

二级C语言考试复习五要点11-12

C语言中读取时间日期的基本方法09-30