导图社区 大学C语言学习
大学C语音学习指导,提升学习效率,帮助你快速理解。包括:变量与表达式、控制语句、数组、函数与指针、C语言概述、结构体文件、位运算。
编辑于2023-02-03 22:41:49 安徽C语言 大学基础
变量与表达式
简单表达式
算术运算
+
-
*
/整除与小数除
%取余
数学运算函数#include <math.h>
变量
定义与初始化
整型变量 int
十进制
八进制025
十六进制0x63
浮点数
单精度l
双精度double
字符型常量
'a' 单字符
转义符 \0 \b \t \r \\
字符串常量 以'\0'结尾
数据类型
基本类型
整型(signed/unsigned int )
字符型char
浮点型
构造类型
数组[]
结构体(struct)
共用体(union)
枚举(enum)
指针类型(*)
空类型(void)
赋值运算与赋值表达式
变量=表达式
增强运算符+= -= /=
复杂表达式
自增自减i++ i--
关系运算符< > <= >= !=
逻辑运算符 && || !
条件运算 式1?式2:式3
运算优先级 !>算数>比较>比较>逻辑
sizeof() 占用字节
基本输入输出函数
单字符
putchar()
getchar()
多字符
printf("%c %s $d %p %f",a)
scanf("%c %s %d %p %f",&a)
控制语句
顺序结构
选择结构
if条件分支语句
switch(a){case}多路开关
循环结构
for()
while()
循环嵌套
break/countinue
数组
一维数组
定义赋值 int a[10]={}
引用a[i]
二维数组
定义 int a[10][5]={{},{},{}}
引用a[i][j]
字符数组 char a[]
gets(a)
puts(a)
strcmp()比较大小
strcat(a1,a2)连接字符串
strcpy(a1,a2)复制字符串
strlen()求字符串长度
strupr/strwr 大小写转换
函数与指针
存放地址 含义
定义 int *P
赋值 p=&a
引用
p a的地址
*p a的值
&p 指针地址
指针与数组
引用p+i
指向 p=&a[0] p=a
指针数组
int *p[]
指针与函数
指针做函数参数
按地址调用
指针函数
返回值为指针
函数指针
指向函数的指针 int (*p) ()
函数
函数定义 int 函数名(参数){}
函数调用
函数递归
变量作用域与生存期
C语言概述
基本用途
操作系统开发
数据库应用软件
特点
执行高效
使用指针
main()主函数
区分大小写
编码风格
;结尾、缩进与对其
编译环境
VS code +gcc
codeblocks
DEV c++
结构体
结构体
定义struct 结构名{成员} 结构变量;
初始化
引用
stu.num
结构指针变量
struct stu *pstu
访问形式
(*pstu).num
pstu->num
单链表
共用体union
枚举类型 enum
类型定义符 typedef old new
文件
文件类型指针
FILE *fp
文件基本操作
打开关闭
fopen()
fclose(fp)
读写
顺序读写
字符读写
写:fputc(char,*fp)
读:c=fgetc(*fp)
判断是否结束feof(*fp)
字符串读写
fputs(char[],*fp)
fgets(char[],字符数,*fp)
数据块读写
fprintf(*fp,格式控制符,输出项表)
fscanf(*fp,格式控制符,输入项表)
格式化读写
fwrite(数据地址,写数据字节数,数据项数目,*fp)
fread(数据地址,读数据字节数,数据项数目,*fp)
随机读写
文件定位:fseek(*fp,偏移量,起始点)
位运算
计算机内部整型数据表示方法
二进制
有符号和无符号的表示
位运算及运算规则
位段结构
预处理
预处理指令
文件包含#include指令
语法 #include <stdio.h>或#include "path-spec"
预编译生成.i文件
gcc -E main.c -o main.i
宏定义#define指令
宏移除#undef指令
条件编译#if,#ifdef,#ifndef,#else,#elif,#endif
#error指令
预处理运算符
字符串化运算#(number sign or "stringizing"
标识符粘贴运算符 ##
预定义宏
pragma指令
#pragma message(messagestring)
#pragma once 头文件只编译一次
warning 警告程序信息
comment 允许插入注释
进阶学习
浙江大学c语言进阶
b站小甲鱼
CSDN博客