C语言基础 第一周

C语言基础

CPU 运算和控制
内存 支持寻址,写出来的程序,在其中执行
硬盘

2GB如何执行比起更大的程序?
分段加载

片选信号 告诉单片机要使用哪一片

寻址空间:虚拟空间 从硬件上映射出虚拟信息

C是结构化语言,以函数为基本单位
语言简洁、紧凑、使用方便、灵活

下图为C语言仅有的32个关键字
C语言关键字

VC6.0新建文件步骤:
file new projects
win32 console application
file files 在右侧file下填写file.c

C语言区分大小写

标识符必须是以字母下划线开头

数据类型、运算符与表达式

常量(不可改变):
1整型常量 有十进制 八进制(开头必须是零) 十六进制
2实型常量 就是代表小数点的数
3字符常量 以单引号引起来的,如‘A’,引号起定界作用,输出时不显示。
4字符串常量 用双引号引起来,后面默认有一个\0
5符号常量 #define定义的宏定义的

宏定义的宏头必须是大写,且其参数必须有括号括起来,使其优先级平等

变量

先定义后运算

定义与声明的区别?
定义有申请空间,声明没有

三种数据类型:
1字符型
2整型
3浮点型

整型int
短整型 short
长整型 long
无符号整型 unsigned(没有负号)

宏定义中后方加入L为长整型

数据类型的转换

1自动转换
2强制转换

运算中,只要有double,得出的结果就是double类型,其优先度最高

浮点型转换为整型,舍掉后面的小数点,不进行四舍五入

运算符和表达式

算术运算符
算数运算符
5/2为2,因为它们都是int型
(float)5/2,强制转换可为2.5

关系运算符
1为真 0为假

< >= <= != ==

逻辑运算符
! && ||
非0既为真

赋值运算符

位运算符
~(按位取反) &(按位与) | << >> ^(按位异或)

~(-1)的值为0 详细看下图
原码反码补码
按位取反就最终结果就是32位补码全部取反,所以得到32个零,既为0

条件运算符
三目运算符: 表达式1?表2:表3
与if(表1)表二else表三相似

,的优先级是最低的

特殊运算符(优先级最高)
() [] . -> & *

在这里插入图片描述
在这里插入图片描述

算法概念

  1. 对数据的描述
  2. 对操作的描述

程序=算法+数据结构
1自然语言

2流程图(毕业论文要用)
在这里插入图片描述
3N-S图

4伪代码(自然语言和一种编程结合)

C语言概述

  1. 表达式语句
  2. 控制语句
    if switch …
  3. 函数调用语句
  4. 空语句
  5. 复合语句

getchar()字符输出函数,putchar()字符输入函数

printf("%5d\n",n)
5表示位宽为5
若该5改位#,则在输出二进制或十六进制输出时加上前缀(例:0x11,010)
在这里插入图片描述

scanf()中不能有转义字符,如\n
scanf("%d",&n),其中的&是为了获取到n的地址,但如果n为数组(n[10]),那么就不要加&,因为数组中的n就代表着地址

导入math.h头文件,sqrt为开根号,例:
sqrt(9)得到3

若变量为double类型,则在scanf()的括号里应该写 “%lf”,&a 添加l后才能使double类型输入正确

选择结构

1 if 语句
2 switch case 语句
switch case语句的每个case后面记得加break,因为不加的话它就回继续往下面的case执行
default就是所有case语句都不符合的情况下执行的内容
switch(i)中的i是表达式,它必须是整型或字符型

  • 当运行代码时出现报错,可以在自己认为有可能错误的地方加一个printf(“随意\n”); 若编译时没有出现该输出,则表明错误在该局之前

循环结构

  1. for
    当型循环(先判断后循环)
    for(表达式1;表达式2;表达式3)
    {循环体}
    只有表达式1只会被执行一次
    for(;;)无限循环

  2. while
    当型循环
    while(1)无限循环

  3. do while
    直到循环(先循环后判断)
    do{}while(1)无限循环

break用于跳出当前层所在循环

goto用于跳转,一般不用,因为其会打乱进程的运行顺序

数组

星期四

int a[10] 说明有十个元素个数,因为这些元素都是int型,,所以空间为40位(int为四位)
printf(‘"%d,%d,%d\n",a,&a[1]) a可以代表数组的首地址

[ ]中必须是常量,最好用宏定义 例:#define N 10
int a[N] ={1,2,3~10}; (a[0]到a[9])

数组名 函数名 变量名 统称为标识符

二维数组
int a[3][2]
总共6个元素

没赋值的地方默认为0

字符数组
char c[2] ={‘a’,‘b’}
char c[3] ={“ab”}
两种办法都可以 之所以下面的元素个数是3是因为字符串后面默认有\0,所以要加一

在scanf()中,若是字符串数组%s,后面可以不要用&进行索引

strcpy函数

用于复制
strcpy(字符数组,字符串)
将字符串复制给字符数组,不考虑放不放得下,反正它就硬放

strcmp函数

strcmp(a,b)
若a比b大输出1,等于为0,小于为负一

strlen函数

strlen(字符串)
返回字符串的实际长度,不包含最后面的\0,字符串可以是字符数组或字符串常量

strcat函数

strcat(字符数组1,字符串2)
将字符串2连接到字符数组1的字符串后面,返回字符数组1的起始地址,字符串2可以是字符数组或字符串常量

函数

1函数名 2括号 3参数(非必要) 4{}
函数名是一个地址,所以指针可以指向

return代表函数结束

全局变量和局部变量同名时,优先使用局部变量
整型全局变量初级为零,局部变量不赋值
全局变量存储在全局数据区,局部存放在栈(自动申请,自动释放)

被static修饰的局部变量只会被修饰一次,且直到整个程序结束了它才会被释放,有点类似变成全局变量了,但区别在于其存放在静态数据区

extern waibu()
用于调用一个其它.c文件一个名为waibu()的函数,除了可以调用函数,还可以调用变量

#define “a.c” 双引号是在当前目录下搜索头文件,找不到才去以安装头文件里找

#define<stdio.h> 剪头符号是在已有的头文件进行索引

被static修饰的全局变量或函数只能被本源文件内使用

#ifndef AA_C
#endif
这两句写在一个头文件里,两句中间放extern语句,当有需要的时候,就调用这个头文件即可

指针

指针就是地址 地址就是指针

指针的类型要与指向的类型相同

#define  BBB int *
typedef  int *   AAA
AAA p1,p2
BBB p3,p4

其中p123都是指针类型,但是p4不是,因为define只是简单的赋值,而typedef则是转换类型

int *p[10] 指针数组
int (*p)[10] 数组指针
void (*p) (void) 函数指针

typedef void (*ptr)(void)
ptr p;
该句与函数指针相同

数组作为形参不用指定大小,且该数组的本质是指针,所以用sizeof计算该数组大小时总是4个字节

结构体

struct ()
{}

结构体内所占空间越大的数据类型越放前面,这样最省空间

1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值