突然发现自己C语言忘记的差不多了,连帮别人做程序题都不会了[捂脸]。刚好要帮朋友看下C语言考试,明天考今天复习,压力山大。于是将以前C语言的笔记翻出来,紧急复习一下。
文章目录
为什么学习C语言
无坚不摧的C语言
C语言应用广泛,学习C语言在当下仍是一个不错的选择。
编者有话说:尽管我是以C语言做基础,然后转学其他语言。但是真正会C的大佬是真的厉害。
什么是“程序设计”
程序设计的步骤
步骤1:
需求分析:弄清楚让计算机做什么
步骤2:
设计:弄明白计算机该怎样做
- 设计算法、数学建模,用数学方法求解问题
- 设计程序代码的结构
步骤3:
编写程序:将设计的结果变成代码,输入到程序编辑器中
步骤4:
调试程序:将源代码编译、运行,分析错误、修改代码
本课程主要讲述步骤3和4,步骤1和2并非没有涉及,只因程序小,感受不深而已
C语言程序的编辑器
常用的有:Visual C++、Code::Blocks、Dev-C++等。
编者有话说:讲真,现在基本都是Win10系统,对那些老程序兼容性不是很好,(win7也一样),因此个人推荐使用VS或VScode。
以上程序我基本都上传到我的另一篇文章分享了,蓝蓝的传送门
请自行选择程序下载,我只可以保证我上传的程序无毒无木马,你在其他地方(指非官方)下载的则请慎重。中毒重装系统太折腾。
C语言程序的基本结构
以下是以最简单的输出Hello,World!的小程序做的分析:
说明:
- include是文件包含命令,扩展名为.h的文件称为头文件 ,表示在程序中要用到这个文件中的函数。
- main是主函数的函数名。
注意:1个C语言源程序只允许有1个main函数。 - main函数中的内容必须放在一对花括号“{}”中。
- printf函数是系统定义的标准函数,其功能是把要输出的内容送到显示器上显示。在stdio.h库函数中。
C语言程序的执行过程
对于一个以.c为尾缀的C语言程序,它的执行分为三步:
我们来运行两个示例体会一下所讲内容。
示例1
编写程序,设计一个简单的加法器,能够实现两数相加。
#include <stdio.h>
main()
{
int a,b,c; /*声明语句,int表示整型*/
a=5; /*赋值语句,=为赋值号,*/
b=a*2-1; /*将右边表达式的值赋给*/
c=a+b; /*左边的变量*/
printf("c=%d",c); /*输出语句,%d是十进制一般整数的占位符*/
}
示例2
编写程序,输入两个整数,输出它们的和。
#include <stdio.h>
main()
{
int a,b,c;
scanf("%d%d",&a,&b); /* scanf为输入语句,从键盘输入值给变量,需对变量寻址,变量前必须加& */
c=a+b;
printf("c=%d",c);
}
好的,接下来介绍C语言的数据类型。
C语言数据类型
定义:
具有相同特征的值的集合以及定义在这个值集上的一组操作
注:数据类型还决定了取值范围、在内存中占用字节数
C的基本数据类型一览表
为了方便看,以图表形式进行展示(下同):
常量与变量
常量
即在程序中不能改变的量
在C语言中,常量包括以下四种形式:
- 整型常量
- 实型常量
- 字符常量
- 字符串常量
整型常量(整常数)
整型常量有三种形式,分别是:
- 十进制整数:由数字0~9和正负号表示.
如 123,-456,0 - 八进制整数:由数字0开头,后跟数字0~7表示.
如 0123,011 - 十六进制整数:由0x开头,后跟0 ~ 9,A ~ F表示.
如 0x123,0xEF
实型常量
表示形式:
-
十进制数形式:(必须有小数点)
如0.123, .123, 123.0, 0.0, 123. -
指数形式:(e或E之前必须有数字;指数必须为整数)
如12.3e3 ,123E-2, 1.23e4 , e-5 , 1.2E-3.5
字符常量
定义:用单引号括起来的普通字符或转义字符.
字符常量的值:该字符的ASCII码值
转义字符:反斜线后面跟一个字符或一个代码值表示。主要的转义字符有:
字符串常量
定义:用双引号("")括起来的字符序列
存储:每个字符串尾自动加一个 ‘\0’ 作为字符串结束标志
字符常量与字符串常量不同
变量
概念:程序执行过程中,其值可以改变的量。
变量定义的一般格式:
数据类型 变量1[,变量2,…,变量n];
变量初始化:定义时赋初值
变量的使用:先定义,后使用
注:
- 变量名是表示变量的符号,由程序员定义
- 变量名的命名规则
- 只能由英文字母、数字和下划线组成
- 必须以字母或下划线开头
- 不可以使用C关键字
整型变量
占字节数随机器不同而不同,一般占一个机器字
可用sizeof(类型标识符)测量
实型变量
float:占4字节,提供7位有效数字
double:占8字节,提供15 ~ 16位有效数字
字符型变量
字符变量存放字符ASCII码
char与int数据间可进行算术运算
没有字符串变量,用字符数组存放
不同类型数据间的转换
隐式转换
什么情况下发生:
- 运算转换------不同类型数据混合运算时
- 赋值转换------把一个值赋给与其类型不同的变量时
- 输出转换------输出时转换成指定的输出格式
- 函数调用转换------实参与形参类型不一致时转换
运算转换规则:不同类型数据运算时先自动转换成同一类型
显式转换(强制转换)
一般形式:(类型名) 表达式或变量
例
(int)(x+y)
(int)x+y
C语言运算符和表达式
运算符和表达式
- 运算符是表示某种运算规则的符号,主要有:
- 赋值运算、算术运算
- 逻辑运算、关系运算、条件运算
- 位运算
- 表达式是由运算符及其所操作的数据(称操作数)组成的式子。表达式还可以是运算符的操作数
运算符不仅表示某种运算规则,还有优先级和结合性的特征
算术运算符和算术表达式:
例:
计算并输出一个三位数的个位、十位和百位数字之和
分析:该问题的核心是如何分解出各个位置的数
百位:整除100即可 表达式为:n/100
个位:模取10即可 表达式为:n%10
十位:将三位数去头(百位)或掐尾(个位),再整除或模取10即可 表达式为:n%100/10或n/10%10
示例
计算并输出一个三位数的个位、十位和百位数字之和
#include <stdio.h>
int main()
{
int number = 153, b0 , b1 , b2 , sum ;
b2 = number / 100;
b0 = number % 10 ;
b1 = number %100 /10;
sum = b2 + b1 + b0 ;
printf("b2=%d,b1=%d,b0=%d, sum=%d\n",b2,b1,b0,sum);
return 0;
}
复合赋值运算符和复合赋值表达式
今天写到这里吧,明天继续
转载请注明出处。如果您觉得对您有所帮助,麻烦点赞支持。