当前位置: 首页 > article >正文

c语言zixue

该文主要是记录我学习中遇到的一些重点、易出问题的内容

教材p16.17

先从一个简单的例子开始吧

#include <stdio.h>  //编译预处理命令
int main()  //程序的主函数
{
	printf("To C");  //输出语句
	return 0;  //返回语句
}

#include <stdio.h>是编译预处理命令,功能是包含标准输入输出头文件  预处理命令必须以#开头

int main()是主函数的函数首部,每个c程序有且只有一个主函数

左花括号表示函数起始,右花括号表示函数结束

第二章知识

标识符:只能含有字母,数字和下划线,且数字不能做第一个字符

格式说明符:

格式:

%[标志][宽度修饰符][.精度][长度]格式字符

其中的方括号是可选项,格式字符是必选项

%---表示格式说明符开始

标志---+,-, # ,空格

+ ---输出结果右对齐,左边补齐空位,正负数都输出符号

-  ---输出结果左对齐,右边补齐空位,负数输出符号,正数不输出正号

# ---在输出o类八进制整数时加前导0,在输出x类十六进制的整数时前导0x或是0X,其余无影响

空格 ---输出值为正数时冠以空格,输出值为负数时冠以负号

输入函数scanf

#include <stdio.h>
int main()
{
	int a,b,sum;
	printf("请输入两个整数:");
	scanf("%d,%d", &a, &b);
	sum=a+b;
	printf("求和:%d+%d=%d\n",a, b,sum);
	return 0;
}

此时中文输入,可以看到出现了问题,但是换成英文输入经过查询,要了解到scanf函数的输入时是区分中英文输入的

字符的输入:

  1. getchar()函数直接获取字符,但是需要输入换行符才获取并回显
  2. getch()函数直接获取,即不需输入换行符就直接读取,但是不回显
  3. getche()函数直接获取字符,不需输入换行符直接获取并且直接回显,即输入将会显示两个所输入的字符,其中第一个是输入的,第二个是输出回显的
  • getch()函数和getche()函数需要头文件conio.h,否则将会报错

单字符------用单引号(定界符)引用

字符串------用双引号(定界符)引用

表达式值的类型,c语言会自动转换,比如1/2时,由于1,2都是整数,原得到的计算值应该时0.5,但是由于自动转换就会保存为整数,导致得到的时0

自动类型转换:1.同类型的运算结果类型不变

                          2.混合运算中,运算结果取高一级的数据类型

强制类型转换:利用转换值类型运算符(),将运算对象的类型转换为指定类型

(类型名)运算对象
eg.
(int)3.1415----->3
(float)3.1415---->3.141500

自动转换的解决办法——将其中一个的类型转换为更高的类型

eg.height=1/2a*t*t(这里的结果无论a,t多大都一定为0),为了改变这个情况,我们就将1

或者2改为1.0或者2.0

第三章

关系运算符

关系运算符==与赋值运算符=的比较

===
比较运算符,比较左右两边是否相等赋值运算符,将右侧的值赋给左侧

int a=1,b=3,c=4

  1. a+b==c   正确
  2. c==a+b  正确

int a=1,b=3,c;

  1. c=a+b  正确,将a+b的值赋给了c
  2. a+b=c  错误,赋值运算符的左侧只可以是变量

不可以写'A'<=x<='Z',虽然等价于'A'<=x以及x<='Z',但是c语言中运行错误,因为不能如python语言一样,要改为'A'<=x&&x<='Z'[c语言不支持连续判断大小,只能用&&连接]

逻辑运算符

运算符名称
&&
||

其中与和或运算符可能存在“短路的情况”:

  1. 与运算符&&:当左侧为假时,右侧就不用再次计算了,因为一假为假
  2. 或运算符||:当左侧为真时,右侧就不计算了,因为一真为真

连续的关系判断尽量用逻辑运算符连接


http://www.kler.cn/a/586944.html

相关文章:

  • Java基础编程练习第31题-String类和StringBuffer类
  • 【八股文】ArrayList和LinkedList的区别
  • 【Python 语法】排序算法
  • 个人博客系统测试报告
  • C++程序设计语言笔记——抽象机制:模板
  • eclipse-mosquitt之docker部署安装与使用
  • 现在有分段、句子数量可能不一致的中英文文本,如何用python实现中英文对照翻译(即每行英文对应相应的中文)
  • MySQL事务及索引复习笔记
  • Qt从入门到入土(十) -数据库操作--SQLITE
  • JAVA EE(10)——线程安全——synchronized JUC(java.util.concurrent) 的常见类 线程安全的集合类
  • 机器学习编译器(二)
  • Java中的访问修饰符有哪些
  • Swagger 从 .NET 9 中删除:有哪些替代方案
  • 洛谷 P4933 大师
  • LRU(最近最少使用)算法实现
  • 探索Maas平台与阿里 QWQ 技术:AI调参的魔法世界
  • 车载软件刷写工具vFlash --- 自动化接口(Automation API)应用简介
  • 德语A1学习
  • 批量ip反查域名工具
  • 删除有序数组中的重复项(26)