C语言
2022-01-27 08:33:52 20 举报
C语言基础,适合通识课复习,个人整理
作者其他创作
大纲/内容
01序列中每一位都是一个比特(bit)。8个比特为一个字节(B)。
机器语言(一串01序列表示的语言)
低级语言(也叫汇编语言)
高级语言(计算机不能直接读取,C语言是一种高级语言)
计算机语言
编译:把高级语言转换成机器语言的过程叫做编译
计算机执行C语言代码流程
C语言三种结构:顺序结构、选择结构(分支结构)、循环结构
十进制 0 1 2 3 4 5 6 7 8 9
二进制(0b) 0 1 (例如:0b11010)
十六进制(0x) 0 1 2 3 4 5 6 7 8 9 A B C D E F (例如:0x5d12)
八进制(0) 0 1 2 3 4 5 6 7 (例如:005124)
数制及表示
'a'对应97,'A'对应65
char和int类型可以直接运算,也可以互相赋值
A~Z,a~z,0~9的ASCII码值依次增加
ASCII码表规定了字符和整数之间的关系
所有符号都由英文输入法输入
int main 之间有空格
return 0 后面有分号表示语句结束
大括号位置不影响程序操作
C程序基本单位是函数
编译预处理是编译源程序之前的操作,以#开头
编译预处理命令包括:文件包含,宏定义,条件编译
文件包含(#include):可以嵌套
宏定义(#define):#define 名称 内容(使用规则:把所有名称替换成对应的内容)
编译预处理
一、基础
以字母或下划线 _ 开头
只能使用字母、数字、下划线_的任意组合
大小写字母表示不同的字符
规定32个关键字不能作为标识符
标识符
C语言中数据类型有三种:字符型、整型、实型
每种数据类型都有变量和常量
数据类型
整型常量:整数,如1,5
实型常量:小数,如1.3,-3.12
用单引号括起来,以\\开头的特殊字符序列,也表示一个字符,占一个字节
‘a’字符常量,占一个字节
字符常量
用双引号括起来的字符组合,如“hello,word”,“a”
每个字符串结尾都有隐藏的'\\0'表示字符串的结束,占2个字节
\"a\"字符串常量,占2个字节
字符串常量
字符型常量:包括字符常量和字符串常量
常量
定义:类型 变量名;
赋值:变量名=常量;
初始化:类型 变量名=常量;
所有变量在使用前都必须定义
连续赋值必须保证=左边是变量
变量
二、基本数据类型
优先级规定了运算的先后顺序:算术>关系>逻辑
C语言逻辑判断:真~整数1或非零数,假~整数0
运算符
i++或++i 相当于 i=i+1
i--或--i相当于i=i-1
参与赋值时有以下两种情况
++ --运算符
从左往右依次运算,最右边的值是最终的值
逗号运算符
三、运算符
\ 表示换行
把固定的内容输出到屏幕上
%md 输出m位整数
%.nf 输出小数点后n位
把变量的值输出到屏幕上
scanf语句 scanf(\"键盘输入的内容\",变量地址);
&+变量名获得变量的地址
scanf语句 scanf(\"键盘输入的内容\",变量地址);
if-else语句运行嵌套
当if或else后面有多个语句时,用{}把这个语句括起来
C语言对嵌套语句的规定:else总是与其之前最近且不带else的if配对
if-else语句 if(条件为真) 执行操作1;else 执行操作2;
使用规则:先判断A,如果A为真,?:的值为B;如果A为假,?:的值为C
?: 运算 A?B:C
switch-case语句找到第一个匹配到的case语句开始执行,直到break语句或整个switch-case语句结束
case后面的表达式只能是常量
switch-case语句
作用:重复执行操作直到不满足该条件为止
执行操作为循环体
步骤:定义循环变量i并赋值→写while(){}→写循环执行操作→更新变量i的值
求阶乘n!
while语句 while(条件为真){执行操作}
do-while语句的循环体至少执行一次
do-while 语句 do{执行操作}while(条件为真)
编程计算1*2*3+3*4*5+5*6*7+...+99*100*101的值
输出1-100,每行输出八个数
for语句 for(初始值;条件为真;变量更新){执行操作};
结束switch语句;结束循环,直接进入后面的语句
break语句 break;
结束本次循环,进行下一次的循环
continue语句 continue;
sizeof() 用来求括号内容占多少字节
getchar() 从键盘获取一个字符
sqrt(x) 表示对x进行根号运算
fabs(x) 表示对x进行绝对值运算
font color=\"#0c6399\
以上使用时需要加上#include<math.h>
sin(x);cos(x);tan(x) 表示对x求正弦余弦正切
font color=\"#1b5e20\
strlen(str) 计算str中的非'\\0'字符个数
gets(字符数组名); 从键盘上输入字符串。 scanf(\"%s\
以上使用时要加上#include<string.h> 注意:计算时,以\"\\0'为字符串结束标志。
puts(字符数组名); 把字符串输出到屏幕上。printf(\"%s\
一些其他语句或函数
四、语句
定义数组:数据类型 数组名[元素个数];
从键盘上输入数组的元素,用for循环逐个赋值
单独使用数组中的某个元素:数组名[标号]
长度为n的数组内元素的下标范围是0~n-1
一维数组 int a[];
数据类型 数组名[数组长度2][数组长度1]
未被赋值的元素会自动设置为0
二维数组 int a[i][j];
定义:char 字符数组名[元素个数];
牢记每一个字符串后面有一个'\\0'占一个字节
字符串数组 char str[i];
五、数组和字符串
返回类型 函数名(数据类型 形式参数...) { }
形式参数可以定义在main函数前面也可以后面
函数的定义不允许嵌套
函数的调用可以嵌套
main函数不能被其他函数调用
只有被main函数调用时,函数才会执行
形式参数和实际参数之间是单向值传递
在函数内对形参的任何修改都不会影响main函数内的实参
返回类型为void(空)时, 函数没有return语句
函数内定义的变量只在本函数中有效
函数的定义与声明
函数的递归
main函数就是主函数
每一个C程序只有一个main函数
C程序从main函数开始执行
判断:return语句的作用是结束整个程序的执行(×)
C程序在main函数中的return 0;结束执行
整个main函数被{}包围起来
main函数
六、函数
指针的定义
七、指针
year是闰年(year能被4整除但不能被100整除,或year能被400整除)
分段函数
求学生成绩等级:
while语句
for语句
形参函数
输出水仙花数(每一位数字的立方和等于这个数)
嵌套for循环
形式参数
输出100以内的素数
选择法排序
冒泡法排序
变换字母大小写
经典例题
C语言
0 条评论
回复 删除
下一页