C语言程序设计基础

article/2025/10/8 11:59:44

C语言程序设计基础

  • 大纲
  • 第一章 C语言程序设计概述
      • 第一节 C语言程序设计基础知识
          • 1.1 C程序设计语言简介
          • 1.2 C程序设计语言(高级语言)
          • 1.3 C语言程序结构
          • 1.4 C语言程序的运行过程与运行环境
          • 1.5 C语言程序设计过程
      • 第二节 C语言基础语法概念
          • 2.1 数据类型
          • 2.2 常量/变量
          • 2.3 基本运算
          • 2.4 数据转换
      • 第三节 C语言的基础语法和算法基础
          • 3.1 C语言基础语法
          • 3.2 C语言库函数
          • 3.3 数据的输入
          • 3.4 数据的输出
          • 3.5 宏定义
          • 3.6 返回语句
      • 第四节 章存储形式
        • 1.C 语言最大的特点,是可以直接操作内存
  • 第二章 程序结构
          • 2.1 结构化程序:
          • 2.2 顺序结构:
          • 2.3 选择结构:
            • 2.3.1 if 选择结构
            • 2.3.2 switch 多分支语句结构
          • 2.4 循环结构while do-while for(计数控制循环)
          • 2.5 流程转移控制语句
          • 2.6 小结
  • 第三章 数组
  • 第四章 函数
  • 第五章 模块化程序设计
  • 第六章 指针
  • 第七章 结构体和共用体
  • 第八章 文件
  • 第九章 U b u n t u 和Linux 基础
  • 第十章 小结






大纲



第一章 C语言程序设计概述



第一节 C语言程序设计基础知识

1.1 C程序设计语言简介

 程序设计语言是用于编写计算机程序的语言。
    程序设计语言又分为以下几种:
      机器语言 (由二进制 0、1组成)
      汇编语言 (机器指令的符号化,类似于英语单词标记某些字符)
      高级语言 (面向过程C、面向对象C++、Java、Visual Basic)
      非过程化语言

1.2 C程序设计语言(高级语言)

 (原型)A语言(ALGOL 60语言)
      1963年剑桥大学将ALGOL 60语言发展为CPL
      1967年剑桥大学 Matin Richards对CPL进行简化产生 BCPL
      1970年美国贝尔实验室Ken Thompson 将 BCPL 进行修改,取名为B语言
      1973年美国贝尔实验室Dennis M.Ritchie 以B语言为基础创造出C语言
      1990年,ISO接受了C为ISO C的标准( ISO9899-1990 )

 C语言的特点:
      高效、便捷、灵活、功能丰富、表达力强、移植性好
      不需要了解CPU型号,也可以进行程序编制

1.3 C语言程序结构
    #include<stdio.h>               // #include< >表示预处理指令; stdio.h表示头文件int main( )                     // int main( ){ } 表示;main(主)函数,程序总是从main开始执行{/* ... */                            用于注释说明。
​          printf("Hello , C program! \n");           // { 函数 return 0返回语句 // 体 } return 0;}
1.4 C语言程序的运行过程与运行环境

      编辑: 源文件 1.c
      编译: 源文件 转换 目标文件 1.obj
      链接: 链接目标文件 转换 可执行文件 1.exe
      运行: 可执行文件 执行
      调试: 可执行文件 调试
   .cpp 是 C++语言的源文件,而 .c 是 C语言的源文件,
   因为C++兼容C语言,所有可以用.cpp代替.c(不可逆)

1.5 C语言程序设计过程
     程序设计组成部分:①确定数据结构;②确定算法;③编码;④重新调试;⑤整理并提交报告。

 算法:为解决特定问题,采取的确定且有限的步骤。
 算法具有以下特点:
                  ①有穷性; //步骤有限
                  ②确定性;//指令含义确切,有唯一确定含义
                  ③可行性; //操作可以依次有限次执行实现
                  ④有零个或多个输入; //scanf 输入次数大于等于再0
                  ⑤有一个或多个输出; //printf 输出次数大于等于1

第二节 C语言基础语法概念

2.1 数据类型

在这里插入图片描述
----基本类型:不可再分为其他类型。(包含数值型、字符型)
----构造类型:由若干基本类型组成的新类型,可分解还原为若干基本类型(包含数组型、结构体型、共同体型、)
----指针类型:表述变量地址
----空 类型:void 标识返回值为空
----布尔类型:标识正确和错误,一般0标识错误,非0为正确

2.2 常量/变量

      常量:在程序的运行过程中,其值不允许改变的数据对象,称为常量。
      整型常量:
            十进制整数:以正负号开头,后接0~9。
            八进制整数:以正负号开头,第一位数字为0,后接0~7。
            十六进制整数:以正负号开头,前两位接0x,后接09以及af(10~15)
      实型常量:
            小数形式:有小数点。
            指数形:科学计数法表示,分为指数部分(E或e后接一个整数)和位数部分(整数或者小数)
      字符型常量:
            符常量:‘a’ ‘A’ (字符常量占一个字节,’’,不属于字符的一部分,A,a不同,,区分大小写 'a’对应一个ascii值)
            字符串常量:“hello” (长度为5(n),占6(n+1)个字节,最后一个字节存放NULL字符,称为空字符。)
      变量:在程序的运行过程中,其值均允许改变的数据对象,称为变量。
            变量值:存储单元存放的数据。(变量值可以是整数、实数、字符)
            变量名:给变量值分配内存地址时的地址符号,一般取合法标识符作为变量名,两者在一定程度上可以替代。
            标识符:由AZ、az、0~9、_ 组成,必须以字母和下滑线开头,数字不能开头,也不能有空格,不能包含运算符或者关键字。
            变量的使用:变量名一般取合法标识符作为变量名。定义变量可以在main函数或函数外或者形参定义。且定义是要求说明数据类型。
            变量初始化在C语言中很有必要,可以是在定义后,赋个变量一个值 。

32个关键字:
      auto break case char const continue default
      do double else enum extern float for
      goto if int long register return short
      signed static sizof struct switch typedef union
      unsigned void volatile while

2.3 基本运算

 优先级:
      其他运算符()、[ ]、. 、->
      逻辑运算符 &&、|| 、!
      算数运算符 +、- 、* 、/ 、%、++ 、–
      关系运算符 > 、< 、== 、>= 、<= 、!=
      赋值运算符 = 、+= 、-= 、*= 、%= 、&= 、|= 、^= 、>>= 、<<=

2.3.1关系运算
      关系运算符:>、>=、<、<=、==、!=(前4中同优先级,后两种同优先级)
2.3.2逻辑运算
      逻辑运算符:&&、|| 、!
2.3.3位运算
      位操作运算符:& 、| 、~ 、^ 、<< 、>>
2.3.4赋值运算
      赋值运算符: = 、+= 、-= 、= 、%= 、&= 、|= 、^= 、>>= 、<<=
2.3.5算数运算符
      算数运算符: +、- 、
、/ 、%、++ 、–
2…3.6其他运算
      其他运算符:()、[ ]、. 、->
2.3.7条件运算
      条件运算符:?、 :
2.3.8三目运算
      三目运算符:?: eg:x= a>b? a:b( ); (比较a和b谁大,如果a大 ,执行 把a 给到x ,否则,把b给到x)
2.3.9特殊运算
      特殊运算符:sizeof //计算数据大小
      ?: //三目运算符
      , //逗号运算符,多个变量使用
      & 取址符 * 取值符 解引用 //地址运算符
      -> . 结构体使用 -> 访问结构体里的数据 . 访问结构体数据的地址

2.4 数据转换

2.4.1自动数据转换
            将占空间少的数据(整型)转换 成占空间多的数据(实型)(简单顺畅,无冲突)
2.4.2强制数据转换
            将占空间多的数据(实型)转换 成占空间少的数据(整型)(只保留整数小数弃掉,不是四舍五入)
            整型和整型运算结果取整型
            整型和实型运算结果一般为实型
            实型和实型运算,结果也为实型

第三节 C语言的基础语法和算法基础

3.1 C语言基础语法

      预处理指令 #include< >
      头文件 stdio.h (库文件)
      主函数 main( )
      输入语句 scanf(" %d,%d “,&a,&b);
      输出语句 printf(”%d+%d=%d",a,b,sum);
      返回语句 return 0;
      连续输入需要加英文逗号隔开。

3.2 C语言库函数

            C语言库函数是把自定义函数放到库里,是别人把一些常用到的函数编完放到一个文件
里,供程序员使用。程序员用的时候把它所在的文件名用#include<>加到里面就可以了(尖括号内填写文件名),例如#include<math.h>。

3.3 数据的输入

            输入:这里的输入指的是从键盘等外部设备输入,C语言本身没有输入功能,需要借用C语言标准库函数来实现。调用:#include<stdio.h>或#include"stdio.h"

scanf("%d",&number); 
  1. 控制串中的非空白符; 2. 格式串中可以修改控制域宽; 3. 可以输入实型数据; 4. scanf格式串中的其他用法。5. 如果一次性输入多个同种类型的数据,要注意使用符号分隔开6. scanf("%d, %d",&x,&y);  scanf("可用逗号或者空格",必须用逗号);   分号内是啥就是啥7. printf("%d, %d",x,y);        printf("可用逗号或者空格",必须用逗号);   分号内是啥就是啥

      格式转换说明符用法
            %d或%i 输出十进制整数
            %o 输出八进制整数
            %x 输出十六进制整数
            %c 输出一个字符,空白字符(包含空格、回车、制表符)也作为有效字符输出
            %s 输出字符串,遇到的第一个空白字符(包含空格、回车、制表符)时结束
            %f或%e 输出浮点数,或科学计数法,以小数或指数形式输入均可
            %% 输入一个白分号%
            %p 输入指针(当前指针变量里面储存地址)

3.4 数据的输出

            输出:这里的输出指的是从显示屏等外部设备输出,C语言本身没有输出功能,需要借用C语言标准库函数来实现。调用:#include<stdio.h>或#include"stdio.h"

printf("*******%d",number); 
1. 字符宽度控制; 
2. 精度控制; 
3. L或者h; 
4. 显示位置默认为右看齐,若加上符号(-),则认为左对齐。

      格式转换说明符用法
            %d或%i 输出十进制整数
            %o 输出八进制整数
            %x 输出十六进制整数
            %c 输出一个字符,空白字符(包含空格、回车、制表符)也作为有效字符输出
            %s 输出字符串,遇到的第一个空白字符(包含空格、回车、制表符)时结束
            %f或%e 输出浮点数,或科学计数法,以小数或指数形式输入均可
            %% 输入一个白分号%
            %p 输入指针(当前指针变量里面储存地址)

3.5 宏定义

            在 C 语言中,允许用一个标识符来表示一个字符串,称为:”宏“。
            宏分为 有参数和无参数两种。
            无参宏的宏名后不带参数,其定义的一般形式为:
            #define 标识符 字符串 (用“标识符”替代“字符串”)
​ #define M (xyyz) (定义宏定义后,程序中所有的xyz都可以用M代替)
            #表示这是一条预处理命令(在C语言中凡是以#开头的均为预处理命令)

  1. 宏定义用宏名代替字符串,展开时又以字符串代替宏名,字符串可以是任何字符、常熟、表达式,预处理不会检查。
  2. 不是说明或者语句,不用加分号,且应该在函数外。
  3. 宏定义命令起到源程序结束,如要终止其作用域可使用#undef命令。
  4. 程序中的宏若被引号(" ")包裹,着不做宏替换。
3.6 返回语句
return 0

第四节 章存储形式

1.C 语言最大的特点,是可以直接操作内存

            1.数据需要一定的内存空间来保存,位置随机性
            2.所有使用到的内存空间,必须得经过申请,如果使用未经申请的内存就会出现内存错误 ,段错误。

数据的 原码 反码 补码
char a = 5;//0000 0101 原码
a = -5;//1000 0101 原码
反码(正数 反码 = 原码)
5 0000 0101
-5 1111 1010

 补码(正数  补码 = 原码)5       0000 0101-5       1111 1011

数据存储时,就是以补码形式存储,方便对于负数操作
-128 ---- 127















第二章 程序结构



2.1 结构化程序:
  1. 顺序结构

  2. 选择结构

  3. 循环结构

    ——————————————————————————

2.2 顺序结构:

          顺序结构: 从上往下依次循环执行。

2.3 选择结构:
2.3.1 if 选择结构
单分支选择if(){语句;}双分支选择if(){语句1;}else{语句2;}多分支(嵌套)选择if(){语句1;}else if(){语句2;}else{语句3;}
2.3.2 switch 多分支语句结构

//switch语句允许嵌套

switch(表达式)                              //switch表达式类型只能是整型或字符型
{case  常量表达式1:  语句1; break;    //case后面必须接常量或者常量表达式,且唯一,要加:号case  常量表达式2:  语句2; break;case  常量表达式3:  语句3; break;case  常量表达式4:  语句4; break;    //break跳出switch语句,不是跳出case,可要可不要default :    语句5;                 //最多只能有一个default,一般放在末尾} 
2.4 循环结构while do-while for(计数控制循环)
while(表达式)
{语句;
}do
{语句;
}while(表达式);for(表达式1;表达式2;表达式3)
{语句序列;
}
2.5 流程转移控制语句
goto语句                   //无条件转向语句              goto   语句标号;>>>语句标号:  语句;        
break语句                 //switch 中跳出语句           while    do  while    for    提前终止循环  
continue语句             //结束“本次”循环,只适用于switch     do-while     for    ,注意区分break   
return语句                //返回值
2.6 小结
模块化结构:将一个大型程序分成若干个独立功能模块(函数),来减轻程序设计的困难程度。

第三章 数组

第四章 函数

第五章 模块化程序设计

第六章 指针

第七章 结构体和共用体

第八章 文件

第九章 U b u n t u 和Linux 基础

第十章 小结


http://chatgpt.dhexx.cn/article/qLWn3ndT.shtml

相关文章

在Linux系统中运行C语言程序

正式学习c语言的第一天 2022/1/10 在之前的学习中已经在Windows系统中用Microsoft VC上实现了C语言程序的运行&#xff0c;现在将在Linux系统上运行C语言程序。 首先明确C语言程序开发的4个步骤&#xff1a;编辑、编译、链接、运行 在Microsoft VC中编译和运行都可以直接用…

【C语言】初识C语言——认识第一个C语言程序

目录 一、第一个C语言程序剖析1、观察下面第一个C语言程序2、剖析第一个C语言程序 二、几种不常见但正确的写法三、几种常见的错误 一、第一个C语言程序剖析 1、观察下面第一个C语言程序 2、剖析第一个C语言程序 a.我们可以先观察此函数的主体&#xff0c;其主体的框架是 b.…

C语言程序设计知识点总结归纳(全书)

C知识点总结归纳目录 第一章 程序设计和C语言一、C的入门小概念二、程序设计的问题三、首先要搞清楚编译器、编辑器和IDE的区别 第二章 算法——程序的灵魂一、程序算法数据结构二、算法的特性三、怎样表示一个算法四、结构化程序的设计方法 第三章 C程序设计——顺序程序设计一…

运行一个C语言程序的步骤

在Visual C 6.0集成开发环境中&#xff0c;运行一个C语言程序的步骤如下。 (1) 新建源程序文件单击“文件”→“新建”命令&#xff0c;打开“新建"对话框&#xff0c;选择“工程”选项卡&#xff0c;显示新建对话框如图所示。 [在右侧输入工程名称&#xff0c;如pro&…

C语言程序设计----C语言基础知识

学习了《C语言程序设计》一书的第二章——C语言基础知识&#xff0c;现将本章小结如下&#xff1a; 一、简单的C语言程序 我们将通过若干个简单的C语言程序&#xff0c;初步认识到C语言程序的结构&#xff0c;了解C语言的基本语法元素&#xff0c;并且学习编写简单的C语言程序…

一些简单好玩的C语言程序

C/C程序举例 打印素数表 // 输出前500个素数 #include<stdio.h> #include<math.h> #define N 500 //判断是否为素数 int isprime(int y) {int i,ret1;for(i2;i<sqrt(y);i){ if(y%i0){ret0;break;}}return ret; }//求第n个素数 int ThePrime(int n){int num …

手把手教你写第一个C语言程序

目录&#xff1a; 一、C语言项目的创建&#xff1a; 二、写第一个C语言程序——在屏幕上输出Hello World&#xff1a; C语言是所有编程语言的基础&#xff0c;历经50多年的发展依然被众多编程者使用&#xff0c;那么怎么写C语言程序呢&#xff1f;下面我将从项目的创建开始一…

c语言的一些程序

c语言-浪漫 程序员的浪漫 程序员的浪漫 #include<stdio.h> #include<windows.h> int main(){float x,y,a;for(y1.5;y>-1.5;y-0.1){for(x-1.5;x<1.5;x0.05){ax*xy*y-1;putchar(a*a*a-x*x*y*y*y<0.0?*: );}system("color 0c");putchar(\n);}ret…

C语言入门程序

1.找零 #include <stdio.h> int main() {int price0;printf("请输入金额 &#xff08;元&#xff09;"); scanf("%d", &price);printf("找您%d元\n", 100-price);return 0; } 基本函数的意义认识 int 整函型数 printf输出 scan…

简单的C语言程序示例

经典的C语言程序示例是在屏幕上打印出hello world。 但是这多少有点简单&#xff0c;为了更加深入的了解C语言程序&#xff0c;让我们搞点更加“高级”的程序。 #include <stdio.h> /*把stdio.h文件的所有内容都输入到该行所在位置*/ int main()…

C语言程序设计-基础

C语言的发展及特点&#xff1a; 发展&#xff1a; 创始人&#xff1a;美国的丹尼斯.里奇(DennisRitchie) 特点&#xff1a; C语言是高级语言 C语言是结构语言 C语言简洁灵活、易于学习和应用 C语言具有很强的构造数据类型的能力 C语言生成的目标代码质量高,程序执行效率高 C…

c语言程序从哪里开始执行

c语言程序的执行总是起始于main函数。在一个C语言源程序中&#xff0c;无论main函数书写在程序的前部&#xff0c;还是后部&#xff0c;程序的执行总是从main函数开始&#xff0c;并且在main函数中结束。但需要注意的是&#xff0c;也是有特殊情况的&#xff0c;若是代码中出现…

C语言程序设计,流程图

三种常见结构&#xff1a; 流程图&#xff08;Flowchart&#xff09;&#xff1a;使用图形表示算法的思路是一种极好的方法&#xff0c;因为千言万语不如一张图。流程图在汇编语言和早期的BASIC语言环境中得到应用。相关的还有一种PAD图&#xff0c;对PASCAL或C语言都极适用。 …

C语言程序基础

目录 一、main函数只能有一个1、关于main函数过时二、数据类型 一、main函数只能有一个 你可以用 “\n” 代替以上代码里的 endl。 int是整型的意思 main前顶的int表云mainA数调用返回.众整型值 cout 用于在计算机屏幕上显示信息 cout语句的一般格式为&#xff1a; cout<…

7个大一C语言必学的程序 / C语言经典代码大全

嗨~大家好,这里是可莉! 今天给大家带来的是7个C语言的经典基础代码~ 那一起往下看下去把 【程序一】打印100到200之间的素数 #include<stdio.h> int main() {int i;for (i = 100; i <= 200; i++) {int j;for (j = 2; j < i; j++) {if (i % j == 0)break;}if (…

C语言必背18个经典程序(含免费源码大全)

一、C语言必背18个经典程序 你所看到的那些几千甚至上万行的C语言程序代码&#xff0c;都是用一些基本语句和关键词来编写的。只是他们逻辑功能不一样&#xff0c;那如何快速的上手C语言代码&#xff0c;建议多看多写&#xff0c;下面是小编整理的C语言必背18个经典程序。 二、…

【C程序设计】——最简单的C语言程序

目录 &#x1f34a;&#x1f34a;一、最简单的C语言程序 1.1 最简单的C语言程序举例 1.2 C语言程序的结构 首先&#xff0c;让我们先了解一下C语言的特点&#xff1a; 语言简洁、紧凑&#xff0c;使用方便、灵活&#xff1b;运算符丰富&#xff1b;数据类型丰富&#xff1b…

C语言程序设计

姓 名&#xff1a;毕天硕 学 号&#xff1a;2018510466 班 级&#xff1a;计算机科学与技术一班 C语言程序设计 目录 第一章 程序设计和C语言例1.1要求在屏幕上输出以下一行信息例1.2求两个整数之和例1.3求两个整数中较大者 第2章 算法——程序的灵魂例2.1求5的阶乘例2.2&…

MySQL数据库命令大全

1.数据库结构: 数据库–>数据表–>行&#xff08;记录&#xff09;&#xff1a;用来描述一个对象的信息列&#xff08;字段&#xff09;&#xff1a;用来描述对象的一个属性1 打开数据库 show databases 2 创建数据库 create database数据库名 3 删除数据库 drop data…

MySQL查询命令

MySQL查询命令 1、select * from数据表 2、查询表指定数据记录列 3、查询不重复 4、查询区间 例1 查询user表中id在2-3的记录 或者使用命令select * from user where id >2 and id < 3;也可以实现。 例2 查询user表中id为1或3的记录 或者使用命令select * from user…