C语言学习笔记 第1章 C语言概述

  • 1.1 C语言的发展过程(了解)
    • C语言在70年代初问世。1978年由美国电话电报公司(AT&T)贝尔实验室正式发表了C语言。同时由B.W.Kernighan和D.M.Ritchit合住了著名的《THE C PROGRAMMING LANGUAGE》一书。通常简称为《K&R》,也有人称之为《K&R》标准。但是在《K&R》中没有定义一个完整的标准C语言,后来由美国国家标准协会(American National Standards Institute)在此基础上制定了一个C语言标准,于1983年发表,通常称之为ANSI C。
  • 1.2 当代最优秀的程序设计语言(了解)
    • 早期的C语言主要是用于UNIX系统。由于C语言强大的功能和各方面的优点,逐渐为人们认识,到了80年代,C语言开始进入其他操作系统,并且很快在各类大、中、小和微型计算机上得到广泛使用,成为当代最优秀的程序设计语言之一。
  • 1.3 C语言的特点(了解)
    • ①C语言简洁、紧凑、使用方便、灵活。ANSI C一共有32个关键字(掌握),9种控制语句,程序书写自由,主要用小写字母表示,压缩了一切不必要的成分( C语言中,关键字都是小写的)。

    • ②运算符丰富。共有34种,把括号、赋值、逗号等都作为运算符处理,从而使C的运算类型极为丰富,可以实现其他高级语言难以实现的运算。
    • ③数据结构类型丰富。
    • ④具有结构化的控制语句。
    • ⑤语法限制不太严格,程序设计自由度大。
    • ⑥C语言允许直接访问物理地址,能进行位(bit)操作,能实现汇编语言的大部分功能,可以直接对硬件进行操作。因此有人称它为中级语言。
    • ⑦生成目标代码质量高,程序执行效率高。
    • ⑧与汇编语言相比,用C语言写的程序可移植性好。
  • 1.4 简单的C程序介绍(重点理解)
    • 这几个程序由简到难,表现了C语言源程序在组成结构上的特点。可以从这些例子中了解到组成一个C语言程序的基本部分和书写格式。
    • 例1.1


      ⑴main是主函数的函数名,表示这是一个主函数。
      ⑵每一个C语言程序都必须有,且只能有一个主函数(main函数)。
      ⑶函数调用语句,printf函数的功能是把要输出的内容送到显示器上面显示。
      ⑷ printf函数是一个由系统定义的标准函数,可在程序中直接调用。
      注:所有输出字符必须是英文字符,逗号和分号也必须是英文。
    • 例子1.2


      ⑴ include称为文本包含命令。
      ⑵扩展名为.h的文件称为头文件。
      ⑶定义两个实数变量,以便背后面程序调用。
      ⑷显示提示信息。
      ⑸从键盘获得一个实数x。
      ⑹求x的正弦,并把它赋给变量s。
      ⑺显示程序运算结果。
      ⑻main函数结束。
    • main()之前的两行称为预处理命令,预处理命令还有其他的几种。
    • 这里的include成为文件包含命令,意义是把尖括号<>或引号""内指定的文件夹包含到本程序来,成为本程序的一部分。
    • 被包含的文件通常是由系统提供的,其扩展名为.h,因此也称为头文件或首部文件。
    • C语言的头文件中包括了各个标准库函数的函数原型,因此凡是在程序中调用一个库函数时,都必须包含该函数原型所在的头文件。
    • 在本例中,使用了三个库函数:
      • 正弦函数sin:数学函数,其头文件为math.h文件,因此在程序的主函数前用include命令包含了math.h。
      • 输入函数scanf和输出函数printf:是标准输入输出函数,其头文件为stdio.h,在主函数前也用include命令包含了stdio.h文件。
    • 注: C语言规定对scanf和printf这两个函数可以省去对其头文件的包含命令,所以例1.2中可以删去第二行的包含命令#include<stdio.h>。例1.1中使用了printf函数,省略了包含命令。
    • 主体函数分为两部分:
      • 说明部分:指变量的说明类型。在例1.1中未使用任何变量,因此无说明部分。 C语言规定,语言程序中所有用到的变量都必须先说明,后使用,否则将会出错。这一点是编译型,高级程序设计语言的一个特点,与解释型的BASIC语言是不同的。说明部分是C源程序结构中很重要的组成部分。例1.2中使用了两个变量x,s,用来表示输入的自变量和sin函数值,由于sin函数要求这两个变量必须是双精度浮点性,故用类型说明符double来表说明这两个变量。
      • 执行部分(执行语句部分):例1.2说明部分后的四行为执行部分或称为执行语句部分,用以完成程序的功能。执行部分的第一句是输出语句,调用printf函数在显示器上输出提示字符串,请操作人员输入自变量x的值。第二行为输入语句,调用scanf函数,接受键盘上输入的数并存入变量x中,第三行是调用sin函数并把函数值送到变量s中,第四行是用printf函数输出变量s的值,即s的正弦值。程序结束。
    • 运行本程序时,首先在显示屏幕上给出提示串input a number,这是由执行部分的一行完成的。用户在提示下,从键盘上进入某一个数,如5,键下回车键,接着在屏幕上给出计算结果。
  • 1.5 输入和输出函数(重点理解)
    • ①输入输出函数scanf和printf是使用最频繁的函数,必须重点掌握。
    • ②尤其是格式输入输出,是C语言的重难点。
    • 输入和输出函数scanf和printf格式:
      • scanf(格式输入函数)和printf(格式输出函数):意义是按指定的格式输入输出值。这两个函数在括号中的参数表都有以下两部分组成:
        • "格式控制串",参数表
          格式控制串是一个字符串,必须用双引号括起来,表示了输入输出量的数据类型。
      • 在printf函数中还可以在格式控制串内出现非格式控制字符,这是在显示屏幕上将原文照应。参数表中给出了输入或输出的量。当有多个量时,用逗号间隔:
        • printf("sin of %lf is %lf\n",x,s);
          其中%lf为格式字符,表示按双精度浮点数处理。在格式串中出现了两次,对应了x和s两个变量。其余字符为非格式字符则照原样输出在屏幕上。
    • 例1.3


      本程序由两个函数组成主函数和max函数。
      函数之间是并列关系,可以从主函数中调用其他函数。
      max函数的功能是比较两个数,然后把较大的数返回给主函数。max函数是一个用户自定义函数,因此在主函数中要给出说明。在程序说明部分中,不仅可以有变量,说明还可以有函数说明。
      在程序的每行后面,用/*和*/括起来的内容为注释,部分程序不执行注释部分。
  • 1.6 C源程序的结构特点(理解)
    • 1.一个C语言源程序可以有一个或多个源文件组成。
    • 2.每个源文件可由一个或多个函数组成。
    • 3.一个源程序不论由多少个文件组成,都有一个且只能有一个main函数,即主函数。
    • 4.源程序中可以有预处理命令(include命令仅为其中的一种),预处理命令通常应放在源文件或源程序的最前面。
    • 5.每一个说明,每一个语句都必须以分号结尾。但预处理命令、函数头和花括号之后不能加分号。
    • 6.标识符,关键字之间必须至少加一个空格以示间隔。若已经有明显的间隔符,也可不加空格来间隔。
  • 1.7 书写程序时应遵循的规则(了解)
    • 从书写清晰、便于阅读、理解、维护的角度出发,在书写程序时应遵循以下原则:
    • 1.一个说明或一个语句占一行。
    • 2.用花括号{}括起来的部分,通常表示程序的某一层次结构。
    • 3.第一层次的语句或说明可比高一层次的语句或说明缩进若干格后书写。以便看起来更清晰,增加程序的可读性。
    • 编程时应力求遵循这些规则,以养成良好的编程风格。
  • 1.8 C语言的字符集。(了解)
    • 字符组成语言的最基本的元素。C元字符集由字母、数字、空格、标点和特殊字符组成,在字符常量,字符串常量和注释中还可以使用汉字或其他可表示的图形符号。
      • 1.字母
        • 小写字母a~z共26个
        • 大写字母A~Z共26个
      • 2.数字
        • 0~9共10个
      • 3.空白符
        • 空格符、制表符、换行符统称为空白符。空白符只在字符常量和字符串常量中起作用。在其他地方出现时,只起间隔作用,编译程序对它们忽略不计。在程序中使用空白符与否,对程序的编译不发生影响,但在程序中适当的地方使用空白符,将增加程序的清晰性和可读性。
      • 4.标点和特殊字符
  • 1.9 C语言词汇(考点)
    • 在C语言中使用的词汇分为6类:标识符、关键字、运算符、分隔符、常量、注释符等。
    • 1.标识符
      • 在程序中使用的变量名、函数名、标号等统称为标识符。除库函数的函数名由系统定义外,其余都由用户自定义。
      • C语言规定标识符只能是字母(A~Z,a~z)、数字(1~9)、下划线(-)组成的字符串,并且其第一个字符必须是字母或下划线。
      • 以下标识符是合法的:
        • a,x,x3,BOOK_1,sum5
        • 以下标识符是非法的:
        • 3x 以数字开头
        • s*T 出现非法字符*
        • -3x 以减号开头
        • bowy-1 出现非法字符-(减号)
      • 在使用标识符时还必须注意以下几点:
        • ①标准C不限制标识符的长度,但它受各种版本的C语言编译系统限制,同时也受到具体机器的限制。例如在某版本C中,规定标识符前8位有效,当两个标识符前8位相同时,则被认为是同一个标识符。
        • ②在标识符中,大小写是有区别的。例如BOOK和book是两个不同的标识符。
        • ③标识符虽然可由程序员随意定义,但标识符是用于标识某个量的符号。因此命名应尽量有相应的意义,以便于阅读理解做到“顾名思义”。
    • 2.关键字
      • 关键字(保留字)是由C语言规定的具有特定意义的字符串,通常也称为保留字。用户定义的标识符不应与关键字相同。
      • C语言的关键字分为以下几类:
        • ①类型说明符:用于定义、说明变量、函数或其他数据结构的类型。例如前面例题中用到的int,double等。
        • ②语句定义符:用于表示一个语句的功能。如力一点三中用到的if else就是条件语句的语句定义符。
        • ③预处理命令字:用于表示一个预处理命令。如前面各例中用到的include。
    • 3.运算符
      • C语言中含有相当丰富的运算符。运算符与变量,函数一起构成表达式,表示各种运算功能。运算符由一个或多个字符组成。
    • 4.分隔符
      • 在C语言中采用的分隔符有逗号和空格两种。逗号主要用在类型说明和函数参数表中,分隔各个变量。空格多用于语句各单词之间,作间隔符。在关键字,标识符之间必须要有一个以上的空格符作间隔,否则将会出现语法错误。,例如把int a;写成inta;C编译器会把inta当成一个标识符处理,其结果必然出错。
    • 5.常量
      • C语言中使用的常量可分为数字常量、字符常量、字符串、常量、符号、常量、转义字符的多种。
    • 6.注释符
      • C语言的注释符是以/*开头并以*/结尾的串。在/*和*/之间的即为注释(注释的另一种形式是“//”,之后的即为注释)。
      • 程序编译时,不对注释做任何处理。
      • 注释可出现在程序中的任何位置。
      • 注释用来向用户提示或解释程序的意义。
      • 在调试程序中对暂不使用的语句,也可用注释符括起来,使翻译跳过不做处理,待调试结束后再去掉注释。

猜你喜欢

转载自blog.csdn.net/qq_51607668/article/details/119755225