当前所在位置:珠峰网资料 >> 计算机 >> 软件水平 >> 正文
2015年软件水平考试程序员辅导笔记之程序员C语言新手入门
发布时间:2012/5/21 15:25:33 来源:城市网学院 编辑:ziteng
  不知不觉,进修C说话也快一年了。虽然有C说话课,可是教员完全让我们自己看书,在自学的过程中,和四周同窗交流中,以及后来在CSDN,BCCN,百度知道看帖回帖中,也看到良多C说话新人常碰着的问题与常犯的错误。为了让新人们少走弯路少碰钉子,我便筹算写下此文。当然,因为我自己的水平也有限,其中可能自己也不知不觉犯了错误,望高手们不美判定赐正。
  下面的轨范,根基是摘安闲CSDN,BCCN,百度知道的提问帖,以及我身边的人和我自己写的轨范,限于篇幅,对于问题影响不大的部门我已山河去或改写,一些与响应问题无关的错误也一并进行了改削。对于完整的批改后的轨范都在code::blocks 10.05(编译器gcc,调试器gdb,平台windows 7旗舰版)上运行过。
  1、轨范画面一闪而过
  #include
  int main(void)
  {
  int iSignal; /*界说变量暗示旌旗灯号灯的状况*/
  printf(“the Red Light is 0,the Green Light is 1\n”); /*输出提醒信息*/
  scanf(“%d”,&iSignal); /*输入iSignal变量*/
  if(iSignal==1) /*使用if语句进行判定*/
  {
  printf(“the Light is green,cars can run\n”); /*判定结不美观为真时输出*/
  }
  if(iSignal==0) /*使用if语句进行判定*/
  {
  printf(“the Light is red,cars can’t run\n”); /*判定结不美观为真时输出*/
  }
  return 0;
  }
  解析:在XP以上的系统用win-tc,dev-cpp等IDE编译运行此轨范时,无论输入什么数字,结不美观都是一闪而过,因为轨范执行完语句后就直接退出了。
  解决方案:这里有几个法子(1)
  在轨范开首加上#include
  然后在轨范末尾加上system(“pause”);
  此体例仅合用于MS-DOS,windows,不合用于*nix等系统(2)
  在需要暂停的处所插手一个或两个getchar();
  这种体例,本色上并不是暂停轨范,而是让轨范期待用户输入若干个回车。可是效不美观和暂停是不异的。(3)
  在轨范开首加上#include
  在需要暂停的处所插手一个getch();,事理和上一种差不多。在win-tc里用得斗劲多。
  2、if,for,while的判定后直接跟;
  例如:
  #include
  int main(void)
  {
  int a;
  scanf(“%d”,&a);
  if (a == 123);////错误,if(a == 123)后面不应加上;,而应该紧跟着
  ////{ printf();}代码
  { [NextPage]   printf(“ccc”);
  }
  else
  {
  printf(“ddd”);
  }
  getchar();
  return 0;
  }
  #include
  int main(void)
  {
  int n,i;
  printf(“please input a number>2:”);
  scanf(“%d”,&n);
  for(i=2;i
  {
  if(n%i==0)
  break;
  }
  if(i
  printf(“%d not a sushu\n”,n);
  else
  printf(“%d is a sushu\n”,n);
  return 0;
  }
  解析&解决方案:见注释
  3、漏头文件,main函数名目不规范。
  例如:
  main()
  {
  int a;
  scanf(“%d”,&a);
  printf(“input %d”, a);
  }
  解析:这段轨范没有带上头文件stdio.h。即漏写了#include 。如不美观仅有scanf,printf函数的话,stdio.h是可以省略并可以正确运行的,可是这长短常欠好的习惯。而main()这种写法,C89尺度勉强充许这种形式,C99尺度是不许可的。而void main(),至今仍未有任何尺度考虑接管它。可是有些编译器简直许可。当然,这种写法广为风行,应该和老谭的书关系很是大。
  解决方案:用到的头文件应该用include包含进去。main()函数应该写成int main(void)这种形式,在main()函数尾部加上return 0;即
  #include
  int main(void)
  {
  int a;
  scanf(“%d”,&a);
  printf(“input %d”, a);
  return 0;
  }
广告合作:400-664-0084 全国热线:400-664-0084
Copyright 2010 - 2017 www.my8848.com 珠峰网 粤ICP备15066211号
珠峰网 版权所有 All Rights Reserved