首页 > 其他分享 >1-1 初识C语言

1-1 初识C语言

时间:2024-08-03 14:17:47浏览次数:10  
标签:函数 int max C语言 运算符 初识 main

初识C语言:

C语言主要特点:

  • 有32个关键字,9种控制语句,34种运算符;

  • 数据类型有:整形,浮点型,字符型,数组类型,指针类型,结构体类型,共用体类型等,能实现各种复杂的数据结构(如链表,树,栈等)的运算,尤其是指针类型数据,使用十分灵活;

  • 具 有 结 构化 的 控 制 语 句 ( 如 if••• else 语 句 .while 语 句 、 do•••while 语 句 、 switch 语 句 、 for 语 句 ) 。 用 函 数 作 为 程 序 的 模 块 单 位 , 便 于 实 现 程 序 的 模 块 化 。 C 语 言 是 完 全 模 块 化 和 结 构 化 的 语 言 ;

  • C 语 言 允 许 直 接 访 问 物 理 地 址 , 能 进 行 位 (bit ) 操 作 , 能 实 现 汇 编 语 言 的 大 部 分 功 能 , 可 以 直 接 对 硬 件 进 行 操 作 。 因 此 C 语 言 既 具 有 高 级 语 言 的 功 能 , 又 具 有 低 级 语 言 的 许 多 功 能 , 可 用 来 编 写 系 统 软 件 。 C 语 言 的 这 种 双 重 性 , 使 它 既 是 成 功 的 系 统 描 述 语 言 , 又 是 通 用 的 程 序 设 计 语 言 。一 般习 惯 将 c 语 言 称 为 高 级 语 言 ,是 因 为 C 语 言 程 序 也 要 通 过 编 译 、 连 接 才 能 得 到 可 执 行 的 目 标 程 序 , 这 是 和 其 他 高 级 语 言 相 同 的 ;

  • 代码可移植性好,执行效率高;

简单代码示例:

#include <stdio.h>
#include <stdlib.h>

/* 提供使用标准库函数(如输入输出函数)所需要的声明*/

int main(int argc, char *argv[]) {
    int a,b,sum
    a=10;b=15;
    sum=a+b;
	printf("sum is %d\n",sum);
	return 0;
}

注意:

  • “ % d ” 表 示 “ 以 十 进 制 整 数 类 型 ” , 用 来 指 定 输 人 输 出 时 的 数 据 类 型 和 格 式;
  • 在 执 行 输 出 时 , 双 撇 号 括 起 来 的 “ sum ” 表示按 原 样 输 出 ;
/*求3个数中较大者*/
#include <stdio.h>

void main( )   /*主函数*/
{
int max(int x,int y);    /*对被调用函数max的声明*/
int a,b,c;   /*定义变量a、b、C*/
scanf("%d,%d",&a,&b); /*输人变量a和b的值*/
c=max(a,b);    /*调用max函数,将得到的值赋给c*/
printf("max=%d\n",c);  /*输出c的值*/
}

int max(int x,int y)  /*定义max函数,函数值为整型,形式参数x,y为整型*/
{
int z;    /*max函数中的声明部分,定义本函数中用到的变量z为整型*/
if (x>y) z=x;
else z=y;
return(z);   /*将z的值返回,通过max带回到调用函数的位置*/
}

注意:

  • 本程序包括两个函数:主函数main和被调用的函数max。max函数的作用是将x和y中较大者的值赋给变量z。return语句将z的值返回给主调函数main。返回值是通过函数名max带回到main函数中的调用max函数的位置;

  • 为了使编译系统能够正确识别和调用max函数,必须在调用max函数之前对max函数进行声明;

  • 程序中scanf函数的作用是输人a和b的值。&a和&b中的“&”的含义是“取地址”,此scanf函数的作用是:将两个数值分别输入到变量a和b的地址所标志的单元中,也就是输人给变量a和b;

  • “max=”原样输出“%d”将由c的值取代;

  • C程序是由函数构成的。一个C源程序至少且仅包含一个main函数,也可以包含一个main函数和若干个其他函数。因此,函数是C程序的基本单位。被调用的函数可以是系统提供的库函数(例如printf和scanf函数),也可以是用户根据需要自已编制设计的函数(如例子里的max函数);

  • C的函数相当于其他语言中的子程序。用函数来实现特定的功能。程序全部工作都是由各个函数分别完成的。编写C程序就是编写一个个的函数。C的函数库十分丰富,ANSIC提供百多个库函数,TurboC提供三百多个库函数。

  • 一个函数由两部分组成:
    函数的首部,即函数的第1行,包括函数名、函数类型、函数属性、函数参数(形式参数)名、参数类型。

    一个函数名后面必须跟一对圆括号,括号内写函数的参数名及其类型。函数可以没有参数,如main()。

    函数体,即函数首部下面的花括号内的部分。如果一个函数内有多个花括号,则最外层的一对花括号为函数体的范围。
    函数体一般包括以下两部分。
    声明部分。在这部分中定义所用到的变量和对所调用函数的声明。如例中
    main函数中对变量的定义“int a,b,c;”和对所调用的函数的声明“int max(int x, int y);"。
    执行部分。由若干个语句组成。
    当然,在某些情况下也可以没有声明部分(例如,例1.1),甚至可以既无声明部分也无执行部分。如:

    void  dump ()
    {
    
    }
    

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

  • 一个C程序总是从main函数开始执行的,而不论main函数在整个程序中的位置如何(main函数可以放在程序最前头,也可以放在程序最后,或在一些函数之前,或在另一些函数之后);

  • C程序书写格式自由,一行内可以写几个语句,一个语句可以分写在多行上,C程序没有行号;

  • 每个语句和数据声明的最后必须有一个分号,分号是C语句的必要组成部分。

C语言的知识结构

C语言的知识可以分为以下几个主要部分,我会逐个进行详细解释:

  1. 基本语法和数据类型

    • 关键字:C语言中有一些特殊的单词,如 intforif 等,它们有特殊的含义。
    • 标识符:标识符是程序员自定义的名称,用于表示变量、函数等。
    • 数据类型:C语言支持不同的数据类型,如整数 (int)、字符 (char)、浮点数 (float) 等。
    • 变量:用于存储数据的容器,必须先声明后使用。
    • 常量:固定不变的值,可以是整数、浮点数、字符等。
  2. 运算符和表达式

    • 算术运算符:用于执行基本算术操作,如加、减、乘、除。
    • 关系运算符:用于比较两个值的关系,如等于、不等于、大于、小于等。
    • 逻辑运算符:用于组合多个条件,如与 (&&)、或 (||)、非 (!)。
    • 赋值运算符:用于给变量赋值,如 =+=-= 等。
    • 位运算符:用于处理二进制位,如位与 (&)、位或 (|) 等。
    • 条件表达式:一种简洁的方式来表示条件。
    • 运算符优先级:确定运算符执行的顺序。
  3. 控制结构

    • 条件语句:用于根据条件执行不同的代码块,如 ifelse ifelse
    • 循环语句:用于重复执行代码块,如 forwhiledo...while
    • 跳转语句:用于改变程序的执行流程,如 breakcontinuegoto
  4. 函数

    • 函数定义和声明:函数是可重用的代码块,可以通过定义和声明来创建和使用。
    • 函数参数:用于向函数传递数据。
    • 函数返回值:函数可以返回一个值给调用它的地方。
  5. 数组和指针

    • 数组:用于存储多个相同类型的数据。
    • 指针:用于存储变量的地址,允许直接访问内存。
  6. 结构和联合

    • 结构体:允许组合不同类型的数据成员,创建新的数据类型。
    • 联合体:类似于结构体,但所有成员共享内存。
  7. 文件操作

    • 文件读写:C语言支持文件的打开、读取和写入操作,通过标准I/O库函数来实现。
  8. 预处理指令

    • #include:用于包含头文件。
    • #define:用于定义常量和宏。
    • 其他预处理指令:如条件编译、文件包含等。
  9. 内存管理

    • 动态内存分配和释放:使用 malloccallocreallocfree 来管理内存。
  10. 标准库函数

    • C语言提供了许多标准库函数,用于执行常见的任务,如字符串操作、数学运算、输入输出等。

这些是C语言的主要知识领域,每个领域都有其特定的语法和规则。学习C语言需要掌握这些基本概念,以便编写有效的程序。

标签:函数,int,max,C语言,运算符,初识,main
From: https://www.cnblogs.com/liu-liu-88/p/18340411

相关文章

  • 【C语言】详解feof函数和ferror函数
    文章目录前言1.feof1.1feof函数原型1.2正确利用函数特性读写文件1.2.1针对文本文件1.2.2针对二进制文件1.3feof函数实例演示2.ferror2.1ferror函数原型前言或许我们曾在网络上看过有关于feof函数,都说这个函数是检查文件是否已经读取结束了。但事实却并非......
  • 【C语言】文件操作(下)
    文章目录前言1.文件的读和写2.文件的顺序读写2.1顺序读写函数的介绍2.1.1fgetc和fputc2.1.2fgets和fputs3.文件缓冲区4.总结前言在之前文件操作(上)和文件操作(中)的文章中,我从为什么要使用文件再到文件的打开和关闭操作给大家解读了文件在内存中运行的底层......
  • E25.【C语言】练习:修改二进制序列的指定位
    十进制13-->二进制01101现要求二进制序列的第5位修改为1,再改成0复习:逻辑运算非(NOT)(C语言:~)x==0,NOTx-->1;x==1,NOTx-->0与(AND)(C语言:&)x=0或1,xAND0-->0,0ANDx-->0或(OR)(C语言:|)x=0或1,xOR1-->1,1ORx-->1异或(XOR)(C语言:^)x==0或1,xXOR1-->NOTx和1XORx-->......
  • 衡庐浅析·C语言程序设计·第四章·数组
        本文适用于大学的期中期末考试、专升本(专接本、专插本)考试、408等考研预科。如有相关题目疑问或建议欢迎在评论区进行互动。    转载请标明出处。在深入学习C语言的数组之前,我们先回顾一下C语言的三大基本结构:顺序结构、选择结构和循环结构。这些结构构成......
  • c语言位运算符和位运算,位运算举例,位段
    位运算符1.按位与运算符(&)按位与运算符对两个整数的每一位进行“与”操作,只有当两个位都是1时,结果才为1,否则为0。inta=5; //二进制:00000101intb=3; //二进制:00000011intresult=a&b; //结果:00000001(1)2.按位或运算符(|)按位或运算符对......
  • 【C语言】操作符详解
    目录一、操作符分类二、移位操作符(1)左移位操作符(2)右移位操作符三、位操作符四、移位、位操作符的综合练习(1)不用临时变量,交换两个整数(2)求内存中整数的二进制中1的个数(3)二进制位置0或置1五、单目操作符六、逗号表达式七、结构体成员访问操作符(1)结构体(2)结构体的声明......
  • C语言——函数
    C语言——函数函数的语法函数的调用关系递归函数的主要思想是:函数其实是从上到下逐步求解的过程,把一个大的问题拆成多个小的子问题或者说把一个大的功能拆成小的功能模块,通过实现小的功能最终实现大的功能的过程。函数的语法类型标识符函数名(形式参数){函数体......
  • 【C语言】程序环境,预处理,编译,汇编,链接详细介绍,其中预处理阶段重点讲解
    目录程序环境翻译环境1.翻译环境的两个过程2.编译过程的三个阶段 执行环境 预处理(预编译) 1.预定义符号2.#define 2.1用#define定义标识符(符号)2.2用#define定义宏 2.3#define的替换规则 2.4#和##的用法2.5宏和函数2.6#undef3.命令......
  • C语言指针与数组
    在上一篇对指针介绍的文章当中,我们初次了解到了指针,并且知道了地址和内存间的关系,懂得了如何取地址和对指针的解引用,算是对指针有了一个初步的了解。而今天让我们对指针进行更深一步的了解吧~一、指针与数组名我们知道,指针变量是一个用来存放地址的变量,比如我们定义一个整形......
  • 嵌入式软件--C语言高级 DAY 8.5 相关函数
    递归函数在嵌入式中应用不常见,但对于学习C语言的我们,也要时刻记得它的作用和用法。此外还要记住sprintf尤其重要!还有时间戳!一、递归函数1.概念一个函数在函数体内又调用了本身。但必须满足两个条件:具有明显的结束条件;趋近于结束条件的趋势。2.递归原理#include<stdio.h>......