首页 > 其他分享 >c语言基础篇A

c语言基础篇A

时间:2024-06-09 19:31:52浏览次数:24  
标签:10 语言 int 基础 运算符 表达式 变量

A1.程序和程序设计语言

  1. 程序
  • 程序=算法+数据结构+程序设计方法+语言工具和环境
  • 数据结构:数据的类型和数据的组织形式
  • 算法:对数据操作的方法和步骤
  1. 程序设计语言的种类
  • 第一代语言:机器语言
  • 第二代语言:汇编语言
  • 第三代语言:高级语言

——面向过程语言

——面向对象语言

  • 第四代语言:非过程化语言(mysql)
  1. 语言处理系统
  • 编译型(c,java(广义))
  • 解释型(python)
  • 混合型

A2.算法

  1. 算法的概念
  • 为解决一个问题而此采取的方法和步骤,就称为算法
  • 计算机算法两大类
    • 数值计算算法:科学计算,少量的输入和输出,复杂的运算
    • 非数值计算算法:数值管理,大量的输入和输出,简单的算术和逻辑运算
  1. 算法的特性
  • 有穷性
  • 确定性
  • 有效性
  • 有零或多个输入
  • 有一个或多个输出
  1. 算法的描述方法
  • 自然语言
  • 传统的流程图
  • N-S图
  • 伪代码:用介于自然语言和计算机语言之间的文字和符号来描述算法
  • 计算机语言

A3.程序设计的过程

  1. 分析问题
  2. 确定数学模型
  3. 算法设计
  4. 程序开发
  5. 运行和测试
  • 结构化程序的结构简单清晰,可读性好,模块化强,描述符合人们解决复杂问题的普遍规律,在应用软件开发中发挥了在应用软件中发挥了重要的作用
  • 在软件设计和实现过程中,提倡采用自顶而下、逐步细化的模块程序设计方法
  • 强调采用单入口,单出口(高内聚,低耦合)的三种基本控制结构,避免使用GOTO语句。

A4.C语言的发展、标准及特点

  1. c语言的发展及标准
  • c语言是一种通用的、面向过程的计算机程序设计语言
  • 1972年里奇在贝尔电话实验室设计开发了c语言
  • 为了全面推广,组成了c语言标准委员会
  • 1989,诞生了第一个完备的c语言“c89”
  • 2020,最新的c语言标准为18年发布的“c18”
  1. c语言的特点
  • 语言简洁
  • 运算符丰富
  • 数据类型丰富
  • 具有结构化的控制语句
  • 可直接访问物理地址
  • 生成目标代码质量高,程序执行效率高
  • 程序可移植性好
  • 语法限制不太严格,程序设计自由度大

A5.C语言程序的结构

  1. 源程序文件1
  2. 愿程序文件n
  3. 源程序文件2
  • 预处理命令
  • 数据声明
  • 函数1
    • 函数首部
    • 函数体
      • 数据声明
      • 执行语句
  • 函数n
  1. 一个c语言源程序可以由一个或多个源文件组成
  2. 每个源文件可由一个或多个函数组成
  3. 一个源程序不论由多少个文件组成,都有一个且只能有一个main函数,即主函数
  4. 源程序中可以有预处理命令,预处理命令通常应放在源程序的最前面
  5. 每一个语句都必须以分号结尾
  6. 标识符,关键字之间必须以空格符间隔
  • #include 预处理命令
  • int main()
  • {
  • printf('Hello Wrold!");
  • return 0;
  • }

A6.常量、变量与数据类型

  1. 在程序运行过程中,其值不能被改变的量称为常量
  2. 直接常量
    • 整形常量:100,125,-100.0
      • 八进制整数:以0开头
      • 十六进制:以0X或0x开头
    • 实型常量:3.14,0.125,-3.789 (浮点型)
      • 小数形式:3.14,0.125,-3.789
      • 指数形式:3e-3
      • 字母e或E之前必须有数字,e后面的指数必须有整数
    • 字符常量:‘a','b','ab'
      • 用单引号包含的一个字符
      • 只能包含一个字符,不能是字符串
      • 字符可以是任意字符,后不能参与计算
    • 字符串常量:“a”,“ab”
      • 是一对双引号括起来的字符序列
      • c规定以字符‘\0‘结束标志
    • 转义字符
      • \n 换行
      • \t 横向跳格 (一次跳8位包括已输出位,超出8调到下一个制表位)
      • \r 回车
      • \\ 反斜杠
      • \‘ 单引号
      • \“ 双引号
      • \b 退格
      • \ddd ddd表示1到3位八进制数
      • \xhh hh表示1到2位十六进制数
  1. 符号常量
  • 格式:#define 标识符 常量
  • 例如:#define PI 3.14
  • #define不是c语句,是一个预编译命令,末尾无分号
  • 符号常量名用大写,变量名用小写。
  1. 变量
  • 变量代表内存中具有特定属性的一个存储单元,它用来存放数据,这就是变量的值,在程序运行期间,这些值是可以变化的
  • 要区分变量名和变量值是不同的两个概念
  • 变量命名规则
    • c语言规定标识符只能由字母,数字和下划线3钟组成,且第一个字符必须为字母或下划线,区分大小写字母
    • 合法的标识符
      • sum,average,_total,Class,day,BASIC,li_ling
    • 不合法的标识符
      • M.D.John,¥123,#33,3D64,a>b
  • 整形变量
    • int i;(定义)
    • i=10;(赋值)
    • 变量类型
      • 基本型
        • int(类型说明符)
        • 2字节(长度)
        • -32768~32767(数的范围)
      • 短整型
        • short 2字节 2 15次方~ 2 15次方-1
      • 长整型
        • long 4字节 -2 31次方~ 2 31次方-1
      • 无符号整型
        • unsigned 2字节 0~65535
      • 无符号短整型
        • unsigned short 2字节 0~65535
      • 无符号长整型
        • unsigned long 4字节 0~ 2 32次方-1
  • 实型变量
    • double d;
    • d=1.23;
      • float(类型)
        • 32(位数)
        • 10 负37次方 ~ 10 35次方
        • 6~7位(有效位)
      • double 64 10 负307次方 ~ 10 308次方 15~16位
      • long double 128 10 负4931次方~ 10 4932次方 18~19位
  • 字符变量
    • char c;
    • c=‘a’;
    • 字符类型变量用来存放字符常量,注意只能放一个字符,一个字符变量在内存只占一个字节

A7.表达式

  1. 运算符的类型

  • 圆括号【()】
  • 下标运算符【【】】
  • 指向结构体成员运算符【->】
  • 结构体成员运算符【.】
  • 逻辑非运算符【!】
  • 按位取反运算符【~】
  • 自增自减运算符【++】【--】
  • 负号运算符【-】
  • 类型转换运算符【(类型}】
  • 指针运算符和取地址运算符【*】【&】
  • 长度运算符【sizeof】
  • 乘法运算符【*】
  • 除法运算符【/】
  • 加法运算符【+】
  • 减法运算符【-】
  • 左移动运算符【
  • 右移动运算符【>>】
  • 关系运算符【】【+】
  • 等于运算符【==】
  • 不等于运算符【!=】
  • 换位与运算符【&】
  • 换位异或运算符【^】
  • 按位或运算符【|】
  • 逻辑与运算符【&&】
  • 逻辑或运算符【||】
  • 条件运算符
    • 【=】【/=】【*=】【%=】【+=】【-=】【>=】【&=】【^=】【|=】
  • 逗号运算符【,】
  1. 算数运算符和算术表达式

  • 算术运算符
  • + 加法运算符,或正直运算符
  • - 减法运算符,或负值运算符
  • * 乘法运算符
  • / 除法运算符
  • % 求余运算符,%两侧均应为整型数据
  • 算数运算符的结合方向为左至右
    • 自加,自减运算符
      • 作用是使变量的值加(减)1
      • ++i,--i 在使用i之前,先使i的值加(减)1
      • i++,i-- 在使用i之前,使i的值加(减)1
      • j=++i 如果i为3,则i的值加(减)1
      • j=i++ 先将i的值赋予j,再加(减)1
    • C算数表达式
      • 用算数运算符和括号将运算对象(也称操作数)连接起来的,符合c语言规则的式子,称为C算数表达式。运算对象包括常量,变量,函数
        • a+b
        • (a*2)
        • (x+r)*8-(a+b)7
        • ++i
        • sin(x)+sin(y)
        • (++i)-(j++)+(k--)
  1. 强制类型转换运算符

  • 作用:将一个表达式转换成所需类型
  • 一般形式:(类型名)(表达式)
    • (double)a 将a转换成double类型
    • (int)(x+y) 将x+y的值
    • (float)(5%3) 将5%3的值换成float型
  1. 赋值运算符和赋值表达式

  • 简单赋值运算符
    • 格式:变量=表达式
    • 赋值运算符具有右结合性
    • 赋值运算符的优先级在所有运算符中排倒数第二
    • 例如a=5
  • 复合赋值运算符
    • x=x+n 等价于x+=n
    • a+=5 等价于a=a+5
    • x*=y+7 等价于x=x*(y+7)
    • r%=p 等价于r=r%p
  • 赋值表达式
    • a=5
    • b=(a=5)
    • c=10+(a=8)
    • a=(b=10)/(c=2)
      • 注意在变量说明中,不允许连续给多个变量赋初值,如下述
        • int a=b=c=5
        • int a=5,b=5,c=5正确
  • 赋值过程中的类型转换
    • 实型数据赋给整型变量,先对实数取整后赋予整型变量
      • 例如:i为整型变量,执行“i=3.56”后i的值为3
    • 将一个double型数据赋给float变量时,截取其前面7位有效数字存放到float变量中。注意数值范围不能溢出
    • 将一个占字节多的整形数据赋给一个占字节少的整型变量或字符变量只将其低字节原封不动地送到该变量(既发生截断)
  1. 逗号运算符和逗号表达式

  • 使用逗号把两个表达式连接起来组成一个表达式,称为逗号表达式
  • 其一般形式为:表达式1,表达式2
  • 逗号运算符的优先级在所有运算符中是最低的
  • 其求值过程是分别求两个表达式的值,并以表达式2的值作为整个逗号表达式的值
    • 例如 a=2,b=4,c=6,x,y;
    • y=(x=a+b),(b+c)
  1. 程序练习

  • 通过计算,将给出的五位正整数的个位,十位,百位,千位,万位分别拆分出来并输入,假设该正整数为12345
    • 从右开始拆分输入
      #include
      int main()
      {
      int x=12345;
      int a1,a2,a3,a4,a5;
      a5=x%10;
      a4=x/10%10;
      a3=x/100%10;
      a2=x/1000%10;
      a1=x/10000%10;
      printf("%d%d%d%d%%d,a1,a2,a3,a4,a5);
      return 0;
      }

  • 从左开始拆分输入
    • #include
      int main()
      {
      int x=12345;
      int a1,a2,a3,a4,a5;
      a1=x/10000;
      a2=x%10000/1000;
      a3=x%1000/100;
      a4=x%100/10;
      a5=x%10;
      printf("%d%d%d%d%%d,a1,a2,a3,a4,a5);
      return 0;
      }

标签:10,语言,int,基础,运算符,表达式,变量
From: https://blog.csdn.net/weixin_53314015/article/details/139561175

相关文章

  • c语言基础篇B
    B1.数据的输入与输出c语言本身不提供输入输出语句,输入和输出操作是由c函数库中的函数来实现的在使用系统库函数时,要用预编译命令“#include”将有关的“头文件”包括到用户源文件中include"stdio.h"或者includeB2.printf()函数(格式输出函数)函数作用:输出若干个任意类型的数......
  • 基础概念-认证授权会话
    1.1.  什么是认证进入移动互联网时代,大家每天都在刷手机,常用的软件有微信、支付宝、头条等,下边拿微信来举例子说明认证相关的基本概念,在初次使用微信前需要注册成为微信用户,然后输入账号和密码即可登录微信,输入账号和密码登录微信的过程就是认证。系统为什么要认证?......
  • 零基础非科班也能掌握的C语言知识19 动态内存管理
    动态内存管理1.为什么要有动态内存分配2.malloc和free2.1malloc2.2free3.calloc和realloc3.1calloc3.2realloc4.常见的动态内存的错误4.1对NULL指针的解引用操作4.2对动态开辟空间的越界访问4.3对非动态内存开辟的空间free4.4使用free释放⼀块动态开辟内存的⼀部分4......
  • 实验6 C语言结构体、枚举应用编程
    #defineN3//运行程序输入测试时,可以把这个数组改小一些输入测试#include<stdlib.h>typedefstructstudent{intid;//学号charname[20];//姓名charsubject[20];//考试科目doubleperf;//平时成绩......
  • 一篇文章让你让你对python函数的掌握由基础到高级
    python中函数由低级到高级一函数基础1.1函数简介functioninputprint内置函数——》可以直接使用可复用性非常差函数就是存代码的总结函数的优点:1.遇到重复功能的时候,直接调用即可,减少代码量2.提升代码的结构性,分工明确,提高代码的可读性3.遇到扩展功能的时候,修......
  • 思科配置基础代码内容针对网络构建中型局域网构建中型局域网需全面考虑企业网或校园网
    构建中型局域网需全面考虑企业网或校园网的需求。对于企业网,需确保高效数据传输、可靠设备连接及严格的安全防护;而校园网则需关注教学管理的便捷性、无线网络的覆盖以及未来扩展的灵活性。整体而言,构建与扩展需围绕用户需求、网络性能及安全性展开。一、配置三层交换机的端口......
  • 数据结构严蔚敏版精简版-线性表以及c语言代码实现
    线性表、栈、队列、串和数组都属于线性结构。线性结构的基本特点是除第一个元素无直接前驱,最后一个元素无直接后继之外,其他每个数据元素都有一个前驱和后继。1 线性表的定义和特点如此类由n(n大于等于0)个数据特性相同的元素构成的有限序列称为线性表。线性表中元素的个数n定......
  • sqli-labs 靶场闯关基础准备、学习步骤、SQL注入类型,常用基本函数、获取数据库元数据
    Sqli-labs的主要作用是帮助用户学习如何识别和利用不同类型的SQL注入漏洞,并了解如何修复和防范这些漏洞。它提供了多个不同的漏洞场景,每个场景都代表了一个特定类型的SQL注入漏洞。用户可以通过攻击这些场景来学习和实践漏洞利用技术,以及相应的修复和防御措施。Sqli-labs......
  • AI学习的基础理论路径
    目录一、基础阶段二、进阶阶段三、高级阶段四、涉及到的算法现在AI已经火了一段时间了,对于想入局AI的大伙,除了可以使用具体的AI产品外,还应可使用具体的模型训练自己的数据,最终形成自己的模型,最后,高阶的可开发自己的模型(需要大量物力财力做支撑),因此,无论在哪个层面,系统地......
  • Objective-C 学习笔记 | 基础
    Objective-C学习笔记|基础参考书:《Objective-C编程(第2版)》第1部分入门Objective-C语言是以C语言为基础的,但增加了对面向对象编程的支持。Objective-C语言是用来开发在苹果iOS以及OSX操作系统上运行的应用的编程语言。第2部分如何编程该部分讲解了C语言编程的必......