C语言概述

本文是C语言的基础介绍,包括预处理命令、主函数、函数、格式输出函数printf和格式输入函数scanf的使用,以及注释和语句的概念,强调了函数作为C程序基本单位的重要性。

§1  C语言概述

C语言是学习计算机的基础,是通向计算机王国的必经之路,同时也是各类IT考试的必考科目。

本次C语言串讲所用书目是清华大学出版社出版的谭浩强教授编写的《C程序设计(第三版)》,本教材共分十四章,其中第1、2、3、12、14章为基础章节,第4、5、6、7、8、10章为重点章节。

下面让我们从最基本的知识学习C语言。

先看一个简单的C程序

例 1.1

#include<stdio.h>

void main()

{

printf(“This is a C program.\n”);

}

本程序的作用是输出以下信息:

This is a C program.

分析:1.#include<studio.h>:预处理命令。预处理命令还有其它几种,这里的include 称为文件包含命令,其意义是把尖括号<>或引号""内指定的文件包含到本程序来,成为本程序的一部分。被包含的文件通常是由系统提供的,其扩展名为.h。因此也称为头文件或首部文件。(详细内容在第九章中讲解)。

2.void main():main是函数的名字,表示主函数,void是函数的类型,void表示此函数时空类型,即执行此函数后不产生一个函数值。

3.{}:函数体用花括号{}括起来。

4.printf(“This is a C program.\n”);:输出函数,表示输出一串内容。“\n”为换行符,即在输出“This is a C program.”后换行回车。

练习:依葫芦画瓢,编写一个C程序,输出以下信息:

***********************************************

                Very  good!

***********************************************

再看一个例题。

例 1.2

int max(int a,int b);             /*函数说明*/

main()                       /*主函数*/

{

  int x,y,z;                   /*变量说明*/

int max(int a,int b);          /*函数说明*/

  printf("input two numbers:\n");

scanf("%d,%d",&x,&y);       /*输入x,y值*/

  z=max(x,y);                /*调用max函数*/

  printf("maxmum=%d",z);     /*输出*/

 }

int max(int a,int b)             /*定义max函数*/

{

  if(a>b)return a;else return b;   /*把结果返回主调函数*/

 }

上面例中程序的功能是由用户输入两个整数,程序执行后输出其中较大的数。本程序由两个函数组成,主函数和max 函数。函数之间是并列关系。可从主函数中调用其它函数。max 函数的功能是比较两个数,然后把较大的数返回给主函数。max 函数是一个用户自定义函数。因此在主函数中要给出说明(程序第三行)。可见,在程序的说明部分中,不仅可以有变量说明,还可以有函数说明。关于函数的详细内容将在以后第五章介绍。在程序的每行后用/*和*/括起来的内容为注释部分,程序不执行注释部分。

上例中程序的执行过程是,首先在屏幕上显示提示串,请用户输入两个数,回车后由scanf函数语句接收这两个数送入变量x,y中,然后调用max函数,并把x,y 的值传送给max函数的参数a,b。在max函数中比较a,b的大小,把大者返回给主函数的变量z,最后在屏幕上输出z的值。

运行:8,3↙  (输入8和3赋给x和y)

maxmum=8      (输出最大值z)

练习:依葫芦画瓢,编写一个C程序,输入a、b、c3个值,输出其中的最大者。

例如输入1、2、3,输出3。

总结:通过以上几个例子,可以看到:

一、函数

(1) C程序是由函数构成,一个C源程序至少且仅包含一个main寒暑,也可以含一个main函数和若干个其它函数。因此,函数是C程序的基本单位。Main函数不一定出现在程序的开始处,但不管main函数位于程序的何处,程序运行时总是从main函数开始。

(2) 一个函数由两部分组成:

①     函数的首部,包括函数名、函数类型、函数属性、函数参数(形参)名、参数类型。

例如:例1.2中max函数首部为

int       max      (int         a,          int               )

↑        ↑        ↑           ↑          ↑               

函数类型  函数名  函数参数类型   函数参数名   函数参数类型    函数参数名

函数后可以没有参数,但一个函数后必须跟一对圆括号,如main()。

②     函数体,即函数首部下面最外层花括号内的部分。

函数体一般包括:

"声明部分(所有变量和所调用函数的定义)

例如:int x,y,z;                   /*变量说明*/

int max(int a,int b);          /*函数说明*/

"执行部分,这部分由若干语句组成。

注:在某些情况下可以没有声明部分,也可以没有执行部分。

如:void dump()

{

}

        它是一个空函数,什么也不做,但是合法的。

(3)       格式输出函数printf()

格式输出函数printf用来按指定的格式输出数据,是与显示器之间进行数据交换的主要手段,也是用户获得运行结果的主要途径,其一般调用形式为:

printf(“格式控制字符串”,输出项目清单);

例如:

     printf(“%f,%d”,x,y);      /*用十进制实数输出,用十进制整数输出*/

     printf(“This is a C program.\n”);  /*输出This is a C program.后换行*/

其中,%d用来输出十进制整数,

      %f 用来输出十进制实数,

“\n”是换行符。

(4)格式输入函数scanf()

格式输出入函数scanf用来按指定的格式输入数据,是内存与键盘之间进行数据交换的主要手段,也是用户为程序运行提供原始数据的主要途径,其一般调用形式为:

scanf(“格式控制字符串”,输入项目清单);

例如:scanf("%d,%d",&x,&y);       /*输入x,y值*/

注:输入项目清单中至少包含一个输入想,且必须是变量的地址(变量地址的表示形式是在变量名前面加一个“&”),当有多个输入项时,相互之间用逗号隔开。

二、语句

(1)语句分类

①表达市语句

任何C表达式末尾加上分号后,就构成一条表达市语句。如

i=0;

x=x+1;

等。

②复合语句

一组C语句用花括弧括住,就构成复合语句。如

while(i<10)

{ sum=sum+i;

  i++;

}

复合语句被视为一个整体,通常用在条件分支或循环语句中。

③空语句

只有一个分号的语句成为空语句。如:

   for(i=0;i<1000;i++)

           ;

由一条for语句(循环语句)和一条空语句组成。空语句用作循环语句的循环体,表示什么也不干。事实上,这个循环的功能是延迟一段时间。有时,空语句被用作转向点。

(2)语句数量

    每个程序行中的语句数量人意,既允许一行内写几条语句,也允许一条语句分几行书写,但每条语句都必须以分号(;)结束。有时还可以在程序适当的地方(如两个函数之间)加进一个或多个空行,使程序结构更加清晰。

三、注释

注释总是从“/*”开始,到“*/”结束。注释可以出现在程序的任何位置。注释不是C语句,它对程序的编译和运行没有影响,使用注释的唯一目的是增加程序的可读性。

四、书写格式

尽管C程序的书写几乎没有限制,但为使程序清晰易读,通常每行写一条语句,不同结构层次的语句从不同的位置开始,即按缩进式格式书写成阶梯形状,可以用Tab键或空格键调整各行的起始位置。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值