C语言笔记

XX信息技术大赛

笔者目前学生一个,刚刚参加了信息技术大赛,重新的拾起大一学的C语言,发现大一学的东西基本忘记了,一些关于C语言的一些技巧小窍门,小细节都已经忘的差不多了,经过这次的比赛,发现还是得记一点东西,一些基础。所以,写下这遍文章。感兴趣的朋友可以看看,写的不是很好,还请各位大佬批评指正。

这遍就是一些C语言的基础。一些干货吧。

下面会简单分成几小类

C语言的一些概念

1、C语言的基本单位是函数。

2、C语言程序总是从main()函数开始执行。

3、C语言中最简单的数据类型包括整型、实型、字符型。

4、C语言中数组名代表数组首地址。

5、在宏定义#define PI 3.14159中,用宏名PI代替一个字符串。

6、在“文件包含”预处理语句的使用形式中,当#include后面的文件用了“”(双引号)时,寻找被包含文件的方式是先在源程序所在目录搜索,再按系统设定的标准方式搜索

7、C程序中各函数之间既允许直接递归调用,也允许间接递归调用

8、C语言中文件的存取方式是顺序存取,随机存取均可。

9、在C语言中,int,char和short三种类型数据在内存中所占用的字节数 由所用机器的机器字长决定。

10、C语言中的标识符只能由字母,数字和下划线三种字符组成,且第一个字符必须为字母或下划线

11、设fp为指向某二进制文件的指针,且已读到此文件末尾,则函数feof(fp)的返回值为非0值 。

12、用C语言编写的程序称为源程序,它以ASCII代码形式存放在一个文本文件中。

13、指针的*号只是一个说明符

14、C语言中的文件类型只有 ASCII码文件和二进制文件两种。

15、C语言中用"r"方式打开的文件只输入不能输出。

运算符

运算符的优先级:
赋值运算符<逻辑运算符<关系运算符<算术运算符

这里就给出一个小例子吧

设有语句int a=3,则执行语句a+=a-=a*a以后变量a的值是-12。
这个是首先算a * a然后在从右往左,得出结果。

i++,++i
i++是先运算,后加一。++i是先加一后运算。就是数在前就先运算,+在前,就先加。

/与%
/是得到它的商的整数部分,%是得到商的余数部分。
小列子:
设有 int x=11; 则表达式 (x++ * 1/3) 的值是3,这个就是从左往右算就行。

x ? y : z
当x为真时,就取y的值,当x为假时,就取z的值。

&& 与 ||
&&就是逻辑与,||逻辑或。

int i=(1,2,3)
此时i=3
i=1,2;
此时i=1。

变量命名规则

1、变量名的开头必须是字母或下划线,不能是数字。实际编程中最常用的是以字母开头,而以下划线开头的变量名是系统专用的。
2、 变量名中的字母是区分大小写的。比如 a 和 A 是不同的变量名,num 和 Num 也是不同的变量名。
3、变量名绝对不可以是C语言关键字。
4、 变量名中不能有空格。

来个小例子:
下列标识符中不合法的是()。
s_name
_e
fox
3DS

char字符数组

char a[]="123"与char b[]={‘1’,‘2’,‘3’}
数组a的大小为4,因为后面还有一个\0字符;
数组b的大小为3。

字符数组中的字符串可以整体输入、输出
不可以在赋值语句中通过赋值运算符"="对字符数组整体赋值

若有定义:int b[5];则以下对b 数组元素的正确引用是*(b+2)。

循环结构

switch循环结构
在case 后面如果没有break;会继续执行下一个case。
上个小例子:
设有声明语句:int a=1,b=0;则执行以下语句后输出() 。
switch (a)
{
case 1:
switch (b)
{
case 0: printf(“0”);break;
case 1: printf(“1”);break;
}
case 2: printf(“2”);break;
}

结果为0****2

联合体

最后介绍一下联合体
在C语言编程中,变量的定义是分配存储空间的过程,一般情况下,每个变量都具有自己的存储空间,但是,使用联合体可以实现在同一个内存空间中存储不同的数据类型,任一时刻存储一种数据类型,不是同时存储。

union unions{
    int n;
    char ch;
    short m;
};


在这里插入图片描述
这个联合体所占大小就是联合体中最大数据类型的大小。
三个类型共用一段存储空间。
ch的值会影响到n与m 的值,而n 的值可以影响ch与m 的整个的值。

1

目前就这些了。乐与分享,喜分享之乐。
感谢阅读的每一位。


  1. ↩︎
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值