C语言_数据类型及运算符_PAGE3

顺序程序设计

例题

华氏度转化为摄氏度

#include<stdio.h>
int main()
	{
		float f,c;//定义f和c为单精度浮点型变量
		f=64.0;
		c=(5.0/9)*(f-32);
		printf("f=%f\n",f,c);
		return 0;
	}

计算存款利息

#include<stdio.h>
int main()
	{
		float p0=1000,r1=0.0036,r2=0.0225,r3=0.0198,p1,p2,p3;
		p1=p0*(1+r1);
		p2=p0*(1+r2);
		p3=p0*(1+r3/2)*(1+r3/2);
		printf("p1=%f\np2=%f\np3=%f\n",p1,p2,p3);
		return 0;
	}

数据的表现形式及运算

常量和变量

  1. 常亮

    1. 整型常量

    2. 实型常量

    3. 字符常量

      1. 普通字符(用单撇号括起来的一个字符)
      2. 转义字符
      \’,\",\?,\\     //输出反斜线后的字符
      \a              //警告
      \b              //退格
      \f              //换页
      \n              //换行
      \r              //回车
      \t              //水平制表符(移到下一个Tab位置)
      \v              //垂直制表符(移到下一个垂直制表对齐点)
      \o,\oo,...      //与八进制对应,一个o代表一个八进制字符
      \xh,\xhh,...    //与十六进制对应,一个h代表一个十六进制字符
      
    4. 字符串常量

    5. 符号常量

  2. 变量(先定义后使用)

  3. 常变量

    const int a=3;//定义a为一个整型变量,值为3,且在变量存在期间值不能改变
    
    #define Pi 3.1415926
    //#define是预编译指令,预编译后符号常量不存在
    
    const float pi=3.1415926;//常变量占用存储单元,有变量值
    
  4. 标识符(只能由字母,数字和下划线组成)

数据类型

确定常亮类型的时候要注意有效范围

  1. 基本类型
    1. 整型(int,unsigned int,short int,long int,long long int,char,bool)
    2. 浮点型(float,double,float_complex,double_complex,long long_double)
  2. 枚举类型(enum)
  3. 空类型(void)
  4. 派生类型
    1. 指针类型
    2. 数组类型([])
    3. 结构体类型(struct)
    4. 共用体类型(union)
    5. 函数类型

运算符和表达式

基本算术运算符

+   //正号;加号
-   //负号;减号
*
/   //取整;除数和被除数中有一个负数,则舍入方向不定(多数“向零取整”)
%   //求余

自增自减运算符

++i;//使用i之前,先使i的值加1,相当于先执行i=i+1,再用i的值
--i;

i++;//使用i之后,使i的值加1,相当于先用i的值,再执行i=i+1
i--;

#include<stdio.h>
int main()
	{
		int i=3;
		printf("++i=%d\n",++i);//输出结果为4
		return 0;
	}
	
#include<stdio.h>
int main()
	{
		int i=3;
		printf("i++=%d\n",i++);//输出结果为3
		return 0;
	}

算术表达式和运算符的优先级与结合性

算术运算符为左结合性

赋值运算符为右结合性(a=b=c,c的值先赋值给b,b再赋值给a)

不同类型数据间的混合运算

  • 四则运算中有一个数为float型或double型,结果都是double型
  • int型与float型或double型运算,都是先转换成double型运算,结果是double型
  • char型与整型进行运算,就是把字符的ASCII代码与整型数据进行运算
    • 大写转换成小写

      #include<stdio.h>
      int main()
      	{
      		char c1,c2;
      		c1='A';
      		c2=c1+32;
      		printf("%c\n",c2);//输出‘a’
      		printf("%d\n",c2);//输出97
      		return 0;
      	}
      

强制类型转换运算符

(所需类型)(被转换的表达式)

(double) a;
(int) (x+y);
(float) (5%3);

//%运算符要求两侧均为整型
//若x为float型
(int)x%3;//强制类型转换运算符优先于%运算符
posted @   郭珮媛  阅读(26)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示