C语言基本知识点归纳

C语言基本知识点归纳

  引导语:C语言既具有高级语言的特点,又具有汇编语言的特点。以下是小编分享给大家的C语言基本知识点归纳,欢迎阅读!

  一、C语言知识点归纳:

  1、C语言程序是由多个函数构成的。

  2、每个C语言程序中有且只有一个main函数。

  3、C语言不使用行号,无程序行的概念。

  4、程序中可使用空行和空格。

  5、C语言程序格式常用锯齿形书写格式。

  6、C语言程序中可加任意多的注释,注释形式/*……*/,并且注释形式不能嵌套,即不能注释里面又有另一个注释。//行注释是C++当中新增加的内容。

  7、引用C语言标准库函数,一般要用文件包含预处理命令将其头文件包含进来。

  8、用户自定义的函数,必须先定义后使用。

  9、变量必须先定义后使用。

  10、变量名,函数名必须是合法的标识符,标识符习惯用小写字母,C语言是字母大小写敏感的语言。

  11、不能用关键字来命名变量和函数。

  12、C语言的语句都是以分号结尾的。

  13、计算机中使用的进制数是二进制数,而不是十进制数,因为二进制只有两个数码,运算简单便于硬件实现,同时二进制便于逻辑运算。将十进制数转换成二进制数应分为整数部分转换和小数部分转换,整数部分转换可采用基数除法来实现,小数部分转换可采用基数乘法来实现。八进制和十六进制也是C语言中经常表示数据的进制,因为它们与二进制之间的转换非常方便,但要注意他们不是计算机中使用的进制。

  14、机器数的表示形式有原码、反码和补码几种形式,计算机中通常使用补码的形式来表示一个数,因为补码运算可以连同符号位一起参与运算,这便于运算器的设计与实现。

  二、编程过程中初学者极易犯的错误:

  1、书写标识符时,忽略了大小写字母的区别。例如把变量a写成A。

  2、忽略了变量的类型,进行了不合法的运算。例如floata,b;printf(“%d”,a%b);,其中%运算只能是整形变量或常量。

  3、将字符常量与字符串常量混淆。例如charc;c=”a”;,应该是c=’a’;

  4、语句末尾忘记加分号。

  5、容易多加不需要的分号,例如{inta,b;printf(“%d,%d”,a,b);};这里花括号外是不能加分号的。

  6、将C语句写在{}的外面。

  7、变量未定义就使用。

  8、在执行部分定义变量。在TC下,函数由生命部分和执行部分组成,并且这两部分不能交叉,也就是说,不能在C语言中间定义变量。下面程序中,变量b的定义放到了执行部分。

  voidmain()

  {

  inta;

  a=10;

  intb;

  b=a;

  }

  但要记住VC6.0中没有这样的规定,只要变量定义在前,使用在后就行。

  9、给变量赋值时忽视了变量的表示范围。例如charch=130;char类型的取值范围是-128~127,这里130超出了ch的表示范围。

  10、定义变量时,变量名之间用了空格或分号分隔。例如:intab;应改为:inta,b;

  11、输入字符常量时漏掉单引号,认为A、B就是’A’、’B’。例如charch=A;

  12、C语句末尾的分号用了中文的分号(;)而不是英文的(;),导致编译错误。

  13、误将字母o当成数字零0。

  14、编程中经常漏掉}、)、’、”。

  15、定义变量时数据类型名与变量名之间无空格。例如inta;

  16、对于float型变量,使用%运算符。

  17、对表达式进行强制类型转换时漏掉了(),例如:int(3.2+a),应该为:(int)(3.2+a)。

  18、赋值运算符的左边使用表达式:例如:a+b=30;或者是30=a+b;

  19、语序颠倒。例如下列程序中初学者会误认为程序的输出为a=21:

  main()

  {

  inta,b;

  a=b+1;

  b=20;

  printf(“a=%d”,a);

  }

  20、#include或#define命令用分号结束。

  #开头的是预处理命令,而不是C语句,因此,不用用分号结尾。例如#include;就是错误的,多了个分号。

  21、利用scanf函数输入变量值时漏掉取地址符&。

  22、利用printf函数和scanf函数时,格式控制符与表达式类型不一致,或数量不相等。例如:

  inta,b;

  scanf(“%d”,&a,&b);//格式控制符与表达式的数量不相等

  printf(“a=%d,b=%f”,a,b);//%f应改为%d。

  23、调用scanf函数输入浮点数时规定了精度。

  例如:

  floatf;

  scanf(“%5.2f”,&f);//应改为scanf(“%5f”,&f);

  24、对算数表达式取地址。

  取地址运算符&只能用于变量。

  下面做法是错误的:

  inta,b;

  scanf(“%d”,&(a+b));//错误

  25、利用printf打印单引号、双引号、反斜杠时,没有在这些字符前利用反斜杠构成转义字符。

  例如printf(”youshouldsay”bye”!”);

  应改为:printf(”youshouldsay”bye”!”);

  三、C语言编程习惯。

  1、一行只放一条语句。尽管C语言允许在一行放置多条语句,但一行只放一条语句有助于程序的调试。

  2、养成随时给程序加注释的习惯。一边别的程序员或自己日后对程序的快速理解。

  3、程序的书写要有层次感,及锯齿形。

  4、编写函数时,变量定义部分和函数的执行部分之间增加一空行,或者在程序的执行部分按照完成的功能块增加相应的空行,会增加程序的易读性。

  5、为变量起有意义的.名字,既可以帮助程序员读懂程序,也可以避免变量的重复乱用,导致程序的逻辑错误。

  6、在运算符和赋值符号的两边加上一个空格会增加程序的易读性。

  例如a=a+b;写成a=a+b;更好。

  C语言基本算法:  1.交换(两量交换借助第三者)

  例1、任意读入两个整数,将二者的值交换后输出。

  main()

  {int a,b,t;

  scanf("%d%d",&a,&b);

  printf("%d,%d ",a,b);

  t=a; a=b; b=t;

  printf("%d,%d ",a,b);}

  程序中加粗部分为算法的核心,如同交换两个杯子里的饮料,必须借助第三个空杯子。

  假设输入的值分别为3、7,则第一行输出为3,7;第二行输出为7,3。

  其中t为中间变量,起到“空杯子”的作用。

  注意:三句赋值语句赋值号左右的各量之间的关系!

  

  例2、任意读入三个整数,然后按从小到大的顺序输出。

  main()

  {int a,b,c,t;

  scanf("%d%d%d",&a,&b,&c);

  if(a>b){ t=a; a=b; b=t; }

  if(a>c){ t=a; a=c; c=t; }

  if(b>c) { t=b; b=c; c=t; }

  printf("%d,%d,%d ",a,b,c);}

  2.累加

  累加算法的要领是形如“s=s+A”的累加式,此式必须出现在循环中才能被反复执行,从而实现累加功能。“A”通常是有规律变化的表达式,s在进入循环前必须获得合适的初值,通常为0。

  例1、求1+2+3+……+100的和。

  main()

  {int i,s;

  s=0; i=1;

  while(i<=100)

  {s=s+i;

  i=i+1;

  }

  printf("1+2+3+...+100=%d ",s);}

  程序中加粗部分为累加式的典型形式,赋值号左右都出现的变量称为累加器,其中“i = i + 1”为特殊的累加式,每次累加的值为1,这样的累加器又称为计数器。

  3.累乘

  累乘算法的要领是形如“s=s*A”的累乘式,此式必须出现在循环中才能被反复执行,从而实现累乘功能。“A”通常是有规律变化的表达式,s在进入循环前必须获得合适的初值,通常为1。

  例1、求10!

  [分析]10!=1×2×3×……×10

  main()

  {int i; long c;

  c=1; i=1;

  while(i<=10)

  {c=c*i;

  i=i+1;

  }

  printf("1*2*3*...*10=%ld ",c);}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 yyfangchan@163.com (举报时请带上具体的网址) 举报,一经查实,本站将立刻删除