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

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. 或运算符||:当左侧为真时,右侧就不计算了,因为一真为真

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

相关文章:

  • 并发编程面试题二
  • 从 root 一滴水看 Spring Data JPA 的汪洋大海
  • 前端面试笔试
  • 使用 Nginx 进行前端灰度发布的策略与实践
  • Day16:数组中出现次数超过一半的数字
  • harmonyOS NEXT开发与前端开发深度对比分析
  • C语言数据类型取值范围及格式化符号
  • NVMe集群:加速数据处理
  • 【C语言】自定义类型:结构体,联合,枚举(下)
  • python函数式编程
  • 【教程】继承中的访问控制 C++
  • C 语 言 --- 三 子 棋
  • 汽车保养记录用什么软件记录,汽车维修记录查询系统,佳易王汽车保养维护服务记录查询管理系统操作教程
  • 【免费】1949-2020年各省人均GDP数据
  • 2019年12月全国POI数据分享(同源历史POI分享系列)
  • Linux 蓝牙音频软件栈实现分析
  • 单引号与双引号在不同编程语言中的使用与支持
  • 【菜鸟飞】在vsCode中安装python的ollama包出错的问题
  • 高频面试题(含笔试高频算法整理)基本总结回顾21
  • C语言【内存函数】详解
  • 三家“券商系”公募同日变更掌门人,新董事长均为公司股东方老将
  • 五大光伏龙头一季度亏损超80亿元,行业冬天难言结束
  • 市场监管总局出手整治涉企乱收费,聚焦政府部门及下属单位等领域
  • 两部门预拨4000万元支持山西、广西、陕西做好抗旱救灾工作
  • 网商银行2024年年报发布,客户资产管理规模超过1万亿
  • 内蒙古公开宣判144件毁林毁草刑案,单起非法占用林地逾250亩