C语言编程入门——常用运算符

这里演示了几个常用运算符的应用

前后自增运算符的区别(注意,这个经常会考到):

# include <stdio.h>

int main(void)
{
	int i, j, k, m;

	i = j = 3;
	k = ++i; //计算后i = i + 1,即结果i值加1,
	m = j++; //计算后j = j + 1,即结果j值加1,

	printf("i = %d, j = %d, k = %d, m = %d\n", i, j, k, m);

	return 0;
}
/*
	结果:
	i = 4, j = 4, k = 4, m = 3
	Press any key to continue
	总结:
	前自增与后自增
		相同处:都是使i与j的值加1,即i = i + 1, j = j + 1;
		不同处:前自增整体表达式的值是i加1之后的值,即先计算 ++,值为i+1;
				后自增整体表达式的值是i加1之前的值,即值为i;
*/

三目运算符:

<span style="color:#000000;"># include <stdio.h>

int main(void)
{
	int i = 5;

	//?问号前的表示式为真,则执行第一个,否则执行第二个
	i > 3 ? printf("嘿嘿!\n"): printf("哈哈!\n");

	int j = 2;

	j > 3 ? printf("呜呜!\n"): printf("嘻嘻!\n");

	return 0;
}</span>

位运算符:

# include <stdio.h>

int main(void)
{
	int i = 3;
	int a[5] = {1,2,3,4,5};

	a[1] = 18;
	3[a] = 20; //因为数组名a[3]等价于*(a+3)等价于*(3+a),所以a[3]等价于3[a]。

	printf("%d\n", i<<3); //左移3位相当于乘上2的3次方
	printf("%d\n", 3[a]);

	return 0;
}

文件的操作

C语言中关于文件的操作函数已经封装好了,可直接调用,关键是文件指针的操作与文件的读写

fopen(打开文件)

相关函数 open,fclose

表头文件 #include<stdio.h>

定义函数 FILE * fopen(const char * path,const char * mode);

函数说明 参数path字符串包含欲打开的文件路径及文件名,参数mode字符串则代表着流形态。

mode有下列几种形态字符串:

r 打开只读文件,该文件必须存在。

r+ 打开可读写的文件,该文件必须存在。

w 打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件。

w+ 打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。

a 以附加的方式打开只写文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留。

a+ 以附加方式打开可读写的文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留。

fprintf()、fscanf()、fclose()等函数,网上有很多应用介绍,此处不再赘述。因为文件操作的代码放在之前Linux服务器上找不到了,所以以这里暂时没有详细的操作代码。

/*
	C语言中对文件的操作是用函数实现的,而不是用流实现的。
	需定义文件指针fp,fp = 函数
	打开文件函数fopen,关闭文件函数fclose。
*/
# include <stdio.h>

int main(void)
{
	FILE * fp;  //定义文件指针

	fp = fopen(E:\file.txt, r);   //返回文件指针fp

	return 0;
}



版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-08-28 03:07:35

C语言编程入门——常用运算符的相关文章

《Go语言编程入门》视频课程开课了

作为拥有多年工作经验的运维老鸟,我没有选择运维常用的Python作为我今后的主要使用语言.Python编写运维程序的开发效率虽然很高,但随着代码量的增大,以及Python的缩进式语法结构,可读性和维护性并不很高.加之Python本身的设计,并不原生支持多线程多核,我考虑到当程序代码达到一定规模时,必然会考虑它的执行效率和维护成本.最终放弃了Python,选择语言的过程中被Google新出的Go语言吸引了.Go本身脱胎于C,语法和C比较像,我本身就一直学习和编写C和PHP程序,习惯了大括号的语法结

linux 操作系统下c语言编程入门

2)Linux程序设计入门--进程介绍 3)Linux程序设计入门--文件操作 4)Linux程序设计入门--时间概念 5)Linux程序设计入门--信号处理 6)Linux程序设计入门--消息管理 7)Linux程序设计入门--线程操作 8)Linux程序设计入门--网络编程 9)Linux下C开发工具介绍 1)Linux程序设计入门--基础知识 Linux下C语言编程基础知识 前言: 这篇文章介绍在LINUX下进行C语言编程所需要的基础知识.在这篇文章当中,我们将 会学到以下内容: 源程序编

C语言编程入门——动态内存分配

内存管理,是指软件运行时对计算机内存资源的分配和使用的技术.其最主要的目的是如何高效,快速的分配,并且在适当的时候释放和回收内存资源.内存管理是C语言编程中重要的组成部分,C语言中的内存需要手动分配,手动释放,一般遵循分配多少,释放多少,以免造成内存泄漏.内存管理是一项重要且复杂的事情,理解内存管理,对后面课程及项目的学习会有很大的作用. 之前创建变量,是系统自动分配的内存,放在栈内存中,销毁后被系统自动回收,手动分配的内存,放在堆内存中,需要手动释放.千万不要忘记销毁对象手动将内存释放并将指针

C语言编程入门——综合练习(一)

至此,C语言的基础知识已经基本学完了,然而你会发现学完C语言,却什么也做不了,当时我学到这里时也是这样,学习编程是一个漫长的过程,前面只是编程语言的基础,后面还会有很长的路要走,希望能够坚持下去. 这里,我们做一些小程序练习,再大的程序也是由小程序组装起来的,正如:不不积跬步,无以至千里. 求菲波拉契亚数列: # include <stdio.h> int main(void) { int n; long f1, f2, f3; int i; f1 = 1; f2 = 2; printf(&q

C语言编程入门——枚举与宏定义

枚举是编程人员自己定义的一种基本数据类型,这种类型的变量只能取枚举中的值,好处就是能够防止变量的错误赋值.用法:enum 类型名{变量1,变量2,变量3,...} C语言中宏定义是定义在程序头部,作预处理用,有无参和有参两种,可以看作是一个过程的调用,与函数调用不一样,不涉及入栈出栈问题,调用速度快.用法:#define 替换名 原名 宏定义示例1: # include <stdio.h> #define DD "%d" //宏定义,在以下书写中可用DD代替"%d

C语言编程入门——HelloWorld!

 将我的C语言学习过程记录下来,供大家学习交流,适合C语言入门者学习,希望能对大家有帮助. 推荐学习教程:<C语言程序设计> 作者:谭浩强 推荐学习视频:C语言教程 作者:郝斌(链接) 我在学完之后,记下了自己的学习心得,大家可在我的博客中查看(链接) Hello World ,中文意思:你好,世界.世界上的第一个程序就是Hello World,由Brian Kernighan创作. 大多数程序员去学一门语言,写的第一个程序都是HelloWorld! C语言版 Hello World #

C语言编程入门——综合练习(三)学生管理系统

C语言学生管理系统: 此程序综合了链表,排序等知识,可以说是一个综合练习. # include <stdio.h> # include <malloc.h> # include <stdlib.h> typedef struct Student { char name[20]; char sex; int age; int score; char sid[20]; struct Student * pNext; }ST, *PST; void print(void);

C语言编程入门——综合练习(四)上机考试题

这份程序是我们学院C语言上机考试题库中的部分题,由我同学总结,并共享给大家.(Word中的程序,排版有些问题,还请见谅) 求n个(项)数据之和或积 //求n个数据的和(或积) #include <stdio.h> int main() { int a[100];  int i = 0; int n; printf("此程序将实现累和还有累积的功能,请输入项数\n"); scanf("%d", &n); printf("请输入各项\n&q

C语言编程入门——结构体(上)

 在C语言中,结构体(struct)指的是一种数据结构,是C语言中聚合数据类型(aggregate data type)的一类.结构体可以被声明为变量.指针或数组等,用以实现较复杂的数据结构.结构体同时也是一些元素的集合,这些元素称为结构体的成员(member),且这些成员可以为不同的类型,成员一般用名字访问. 结构体是自己定义的结构类型,为以后创建链表结点作铺垫. 定义结构体的三种方式: # include <stdio.h> //第一种方式 struct Student_1 //str