C语言零基础入门(C Prime Plus )——初识C语言(二)

C语言零基础入门(C Prime Plus )——初识C语言(二)

简单程序的结构

下面了解一下C程序的基本结构。程序由一个或多个函数组成,必须有mian( )函数
函数由函数头和函数体组成。
函数头包括函数名、传入该函数的信息类型和函数的返回类型。通过函数名后的圆括号()可识别出函数,圆括号里可能为空,可能有参数。函数体被花括号括起来。由一系列语句、声明组成。
例:

函数头


  int main(vioid)

函数体

(
  int a;                                     //声明
  a = 1;                                     //语句
  printf("%d is champion.\n",a);             //语句
  return 0;
  )

简而言之,一个简单的C程序的格式如下:

#include <stdio.h>
int main(void)
{
        语句
        return 0;
}

(大部分语句都以分号结尾。)

提高程序的可读性技巧

  • 选择有意义的函数名和注释。注意,使用这两种技巧时应相得益彰,避免重复啰嗦。
    例如:如果变量名是height、width,就不必写注释说明该变量表示高度和宽度;但是如果变量名是video_routine_7,就要解释一下该变量名的含义。(此处变量的概念下节内容会写到)

  • 在函数中用空行分隔概念上的多个部分。
    如上节内容中的这个程序,用空行把声明部分和程序其他部分区分开来。

#include<stdio.h>
int main(void)                           
{
    int num;                                
    num = 1;                               
    
    printf("I am a simple");                 
    printf("computer.\n");
    pientf("My favorite number is %d because it is first.\n",num);
    
    return 0;
}

C语言并未规定一定要使用空行,但是多使用空行能提高程序的可读性。

  • 每条语句各占一行。同理,这并不是C语言的要求,C语言的格式比较自由,可以把多条语句放在一行,也可以每条语句独占一行。如下面这个语句,没有问题,但是不好看:
#include<stdio.h> 
int main(void)      {   int a; a = 5;
printf (
          "%d\n",
a); return 0; 
}   

分号会告诉编译器一条语句哪里结束、下一条语句在哪里开始。如按上节内容提到的程序示例来编写代码,程序的逻辑会更清晰。

命名

  • 给变量命名时要使用有意义的变量名或标识符。
    例如:程序中需要一个变量数羊,该变量名应该是sheep_count而不是×3
    如果变量名无法清楚地表达自身的用途,可在注释中进一步说明。这是一种良好的编程习惯和编程技巧。
  • C语言规定变量名(标识符)只能由字母、数字和下划线3种字符组成,且第一个字符必须为字母或下划线
  • 变量名不能包括除下划线(_)以外的任何特殊字符
    例如:%、#、逗号、空格等
  • 不可以使用保留字(关键字)(C有22+10=32个关键字,具体内容有空写,不了解请自行百度)
    有效名称和无效名称
    有效名称  | 无效名称
    |---------------|------------|
    cat2    | 2cat
    Hot_Tub  | Hot-Tub
    taxRate  | tax rate
    _kike   |don’t
  • C语言的名称区分大小写,即把一个字母的大写和小写视为两个不同的字符
    例如:stars和Stars、STARS都不同。

声明变量的理由

⑴把所有变量放在一处,方便查找和理解程序的用途;
⑵声明变量会促使你在编写程序之前做一些计划;
⑶声明变量有助于发现隐藏在程序中的小错误;
 如变量名拼写错误
⑷如果事先未声明变量,C程序将无法通过编译。

调试程序

现在,你可以试着写一个简单的程序,但是可能会犯一些简单的错误。程序的错误通常叫做bug,找出并修改错误的过程叫做调试(debug)。以下是一个错误程序:

#include<stdio.h>
int main(void)
(
   int n, int n2, int n3;
   n = 5;
   n2 = n * n;
   n3 = n2 *n2;
   printf("n = %d,n squared = %d,n cubed = %d\n", n, n2, n3);

   return 0;
)

试修改上述错误程序

语法错误
⑴main( )函数体应使用{ }
⑵变量声明应这样写:

int n, n2, n3;

或者,这样写:

int n;
int n2;
int n3;

编译器会提示错误,但也有出错的时候,也许某处隐藏的语法会导致编译器误判。
若编译器报错某行缺少分号,请检查上一行。

语义错误
语义错误是指意思上的错误。

n3 = n2 * n2;

此处,n3表示n的3次方,但是代码中的n3被设置成n的4次方(n2 = n * n)
编译器无法检测语义错误,因为这类错误并未违反C语言的规则。编译器无法了解你的真正意图,所以你只能自己找出错误。以下为修正了程序的语法错误:

#include<stdio.h>
int main(void)
{
   int n, n2, n3;
   n = ;
   n2 = n * n;
   n3 = n2 * n2;
   printf("n = %d,n squared = %d,n cubed = %d\n", n, n2, n3);

   return 0;
}

该程序的输出如下:

n = 5, n squared = 25; n cubed = 625

检查的过程可能比较麻烦,但是用这种一步一步来查看程序的执行情况,通常是发现程序问题的关键。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值