c语言突击

一:前序

1.一个c语言程序有且只有一个main函数,是程序运行的起点!

        每个c语言程序写完后,都是先编译(.c---),后链接(.obj---),最后运行(.exe);

注意.c与.obj文件是无法运行的,只有.exe文件才可以运行

2.标识符的概念:

标识符是由字符、数字、下划线组成,并且第一个必须是字母或下划线

标识符分为关键字、预定义标识符、用户标识符

严格区分大小写,尽量采用能说明程序对象意义的标识符!

3.进制转换

十进制转换二进制、八进制、十六进制;

二进制、八进制、十六进制转成十进制;

1)c语言中只有八、十、十六进制,没有二进制

但是在运行时候,所有进制都要转成二进制来进行处理

八进制规定要以0开头,没有8,逢8进1;十六进制规定以0x开头;

2)小数的合法写法:c语言小数点两边有一个零的话,可以不用写;

3)实型数据的合法形式

  • 2.333e-1是合法的,且数据是2.333*10\frac{}{}的负一次方
  • 口诀:e前e后必有数,e后必为整数

4)整型一般是4个字节,字符型是1个字节,双精度型一般是8个字节

4.算术表达式和赋值表达式

1)算术表达式:+ - * / %

“/”两边都是整型的话,结果就是一个整型;如:3/2=1;

“/”若有一边为小数,那么结果为小数;如:3/2.0=1.5

“%”符号请一定要注意是余数,%符号两边要求是整数

8%5=3        8/5=1

在c程序中,两个整数相除(整除),会自动舍去小数部分!

2)赋值表达式

表达式数值2是最右边的数值,a=b=5;该表达式为5,常量不可以赋值;赋值的左边只能是一个变量!

3)复合的赋值表达式:

int a=2;
a*=2+3; //a=10,相同于a=2*(2+3);

算术运算符与“=”结合在一起,形成的复合赋值运算符

4)自加表达式:

自加、自减表达式:假设a=5;++a(是为6),a++(为5);

运行的机理:++a是先八变量的数值加上1,然后吧得到的数值放到变量a中,然后再用这个++

a表达式的数值为6;

                      a++是先用该表达式的数值为5,然后再把a的数值加上1为6,再放到变量a中,进行了++a和a++后,在下面的程序中再用到a的话都是变量a中的6了;

口诀:++在前,先加后用;++在后,先用后加

           ++a,先取值,后执行;a++,先执行,后取值; 

5)逗号表达式:优先级最低,表达式的数值是逗号最右边的那个表达式的数值

                        如:(2,3,4)的表达式的数值就是4;

                        z=(2,3,4) (整个是赋值表达式)这个时候z的值是4;

                        z=2,3,4        (整个逗号表达式)这个时候的z值是2;

 x=(a=3,6*a);                //a=3,x=18;x=(a=3*5,a*4),a+15;        // 表达式值30,x=60 

运算次序,将3*5结果15赋值给变量a,再计算括号内第二个表达式的值,结果为60。

60是运算至此括号所构成表达式的值,此时a的值仍为15,最后计算整个表达式的值为30。 

 补充:

  1. 空语句不可以随意执行,会导致逻辑错误!
  2. 注释不是c语言,不占运行时间,没有分号,不可以嵌套!
  3. 强制类型转换:一定是(int)a不是int(a)注意类型上一定要有括号的!但要注意(int)(a+b)和(int) a+b的区别,前是吧a+b转变,后是吧a转型后再加b
  4. 三种取整去小数的情况:1.int a=1.6;   2. b=(int) a;  3.1/2; 3/2;

5.字符

1)字符数据的合法形式

‘1’是字符占一个字节;“1”是字符串占两个字节(含有一个结束符号);

‘0’的ASCII数值表示为48,‘a’的ASCII的数值是97,‘A'的ASCII数值为65;

一般考试表示单个字符错误的形式:’65‘,“1”;

字符是可以进行算数运算的:’0‘-0=48;

大写字母和小写字母转换方法:’A'+32=‘a'    相互之间差32;

2)转义字符:分为一般转义字符,八进制转义字符,十六进制的转义字符

1.一般转义字符:\t        \n        \'        \"        \\

2.八进制转义字符:’\141‘是合法的,前导0是不能写的

3.十六进制转义字符:'\x6d'是合法的,前导0不能写且x为小写

3)字符型和整数是近亲:两个有很大的相似之处

char a=65;    
printf("%c",a);    //输出结果:A
printf("%d",a);    //输出结果:65
字符形式含义ASCII码
\n换行   10
\t        水平制表(下一个Tab)9
\b退格8
\r回车13
\f换页12
\\反斜杠\92
\'单引号(撇)39
\"双引号34
\ddd1到3位八进制代表的字符
\xhh1到2位十六进制代表的字符

二:输入输出函数 

1.数据输出printf()

1)使用printf和scanf函数,在最前面加上#include<stdio.h>

2)  pirntf可以只有一个参数,也可以有两个参数

格式说明表示内容格式说明表示内容
%d

整型int

%c        字符char
%ld长整型long int%s字符串
%f浮点型float%o八进制
%lfdouble%#o带前导的八进制
%%输出一个百分号%x十六进制
%5d%#x带前导的十六进制
转换描述对应参数类型实现的转换
%mdint

输出十进制整数,m为输出最小宽度

(如数据的位数小于m,则左端补空;若数据位数大于m,则按实际长度输出)

%m.nf

float,double按带小数形式输出实数,m为输出最小宽度,n为小数点后位数。(如数据的位数小于m,则左端补空;若数据位数大于m,按实际长度输出。小数位数被截断时按四舍五入输出)
printf("%2d",123);    //第二部分有三位,大于指定的两位,原样输出123printf("%5d",123);    //第二部分有三位,小于指定的五位,左边补两个空格  123printf("%10.6f",1.25);//小数要求补足6位的,没有6位的补0,结果位1.250000printf("%5.3f",1.25); //小数三位,整个五位,结果1.250(小数点算一位)printf("%3.1f",1.25); //小数一位,整个三位,结果为1.3(要进行四舍五入)

 2.数据输入scanf()

1)scanf(”a=%d,b=%d“,&a,&b);    重点

2)指针在scanf         int x=2;          int *p;          p=&x;        scanf("%d”,p);

星号取数值,&取地址!

3.指定输入的长度(重点)

//终端输入:1234567
scanf(“%2d%4d%d”,&x,&y,&z);
//x为12,y为3456,z为7
//终端输入1 234567      1 2中间有空格,所有只有1给了x
scanf(“%2d%4d%d”,&x,&y,&z);
//x为1, y为2345,z为67

 4.输入时候字符和整数的区别(重点)

scanf("%d", &x);	//输入1,表示整数1
scanf("%c", &x);	//输入字符’1‘,为整数49;

putchar,getchar函数的考点 

 char a=getchar()没有参数的,从键盘得到你输入的一个字符给变量a;

putchar(”y“)吧字符y输出到屏幕!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/232986.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JAVA的三大版本

&#x1f34e;个人主页 &#x1f3c6;​​​​​​​个人专栏&#xff1a;日常聊聊 ⛳️ 功不唐捐&#xff0c;玉汝于成 目录 前言 一、Java 二、JavaSE&#xff08;Java Standard Edition&#xff09; 三、JavaME&#xff08;Java Micro Edition&#xff09; 四、JavaE…

文件操作(下)

标题的顺序是接着之前写的&#xff0c;希望这篇博客对你有帮助 七. 随机读写函数 实际上&#xff0c;无论是读还是写&#xff0c;在一次调用顺序读写函数&#xff0c;文件指针会移到已经读过或者写过的下一个位置&#xff0c;从那个位置开始下一次读和写&#xff08;在文件没有…

liteflow规则引擎 执行Javascript脚本

LiteFlow规则引擎主要基于Java&#xff0c;而在Java中直接执行JavaScript脚本的功能相对有限。通常&#xff0c;Java并不直接支持JavaScript的执行。但是&#xff0c;你可以使用一些第三方库来实现在Java中执行JavaScript脚本的功能。 一个常见的选择是使用Nashorn引擎&#x…

inner join / left join / right join

inner join 1.语法 语法1&#xff1a;SELECT * FROM table1 INNER JOIN table2 ON table1.column table2.column; 语法2&#xff1a;SELECT * FROM table1,table2 WHERE table1.column table2.column; 2.查询方式及结果 &#xff08;1&#xff09;查询会对 table1 的每一行…

制作RK3568 ubuntu20.04桌面版镜像

平台 主控: RK3568 编译主机: Ubuntu 20.04 AMD64 目标版本: Ubuntu 20.04 概述 RK3568是极具性价比的高能国产“芯“ , 是Rockchip面向与AIOT和工业市场打造的一款高性能、低功耗、功能丰富的国产化应用处理器。采用四核64位Cortex-A55架构&#xff0c;主频高达2.0GHz&#x…

基于车载ESAM(ETC)系统设计(程序+原理图+PCB源文件+硬件资料+元器件清单等)方案

OBE-SAM 安全模块&#xff0c;通过车规 AEC-Q100 Grade1 认证。主要应用于 ETC&#xff08;不停车收费&#xff09;系统&#xff0c;内 嵌于车载设备 OBU 中。 OBE-SAM安全模块中保存了车辆相关信息&#xff0c;收费站出入口信息&#xff0c;以及交易记录等等&#xff0c;模块采…

MacBook磁盘清理妙招一:使用清理工具CleanMyMac X4.14.6中文版

笔记本电脑在是我们工作和生活中重要组成部分&#xff0c;磁盘清理是常有的事&#xff0c;而macbook作为其中的代表之一&#xff0c;也越来越受到人们的青睐。然而&#xff0c;如何进行macbook磁盘清理&#xff0c;也是许多人都会遇到的问题&#xff0c;特别是被提示“磁盘已满…

复习linux——安全加密

1.对称加密算法特性 常见对称加密算法&#xff1a;DES、AES 2.非对称加密特性 常见非对称加密算法&#xff1a;RSA、DSA、ECC 3.单向哈希算法特性 常见算法&#xff1a;md5、sha1、sha224、 常见工具&#xff1a;md5sum、openssl CA和证书 获取证书方法 自签名的证书&…

WeChatMsg中文版开源软件 提取导出微信聊天记录为文档-提取微信聊天记录,将其导出成HTML、Word、CSV文档永久保存

功能 提取微信聊天记录&#xff0c;将其导出成HTML、Word、CSV文档永久保存&#xff0c;对聊天记录进行分析生成年度聊天报告 支持导出视频、表情包 导出联系人到CSV 导出视频到HTML 导出表情包到HTML 显示和导出拍一拍等系统消息 说明 &#xff1a;如果出现闪退问题&#…

AMEYA360:海凌科个位数微安级功耗蓝牙WiFi模块 BLE5.2蓝牙+2.4G WiFi二合一

蓝牙WiFi模块优势 蓝牙技术大多用来做短距离的设备间通信&#xff0c;例如无线耳机和智能手环等产品&#xff0c;WiFi技术则为产品提供了相对更高速的长距离数据传输能力&#xff0c;适用于连接互联网和局域网。 在各种场景的实际应用中&#xff0c;会经常出现需要多个设备之间…

Linux命令行控制小米电源开关

飞灵科技产品 flyelf-tech.com&#xff0c;flyelf.taobao.com 最近有需求通过命令控制局域网内小米电源开关&#xff0c;以便于写脚本对产品进行反复上电的启动测试。参考了这篇文章&#xff1a;https://blog.csdn.net/2301_77209380/article/details/129797846 获取小米设备的…

化学性质Vamagloxistat乙醇酸氧化酶抑制剂 2408241-62-1科研

Vamagloxistatist&#xff0c;也被称为乙醇酸氧化酶抑制剂&#xff0c;是一种有机化合物&#xff0c;化学式为C35H42N6O6。它是一种药物化学成分&#xff0c;被应用于医药科研领域用。 Vamagloxistatist是一种具有高度活性的化合物&#xff0c;具有多种化学性质。它是一种弱酸…

计算机服务器中了mkp勒索病毒怎么办,mkp勒索病毒解密恢复

在计算机技术飞速发展的今天&#xff0c;越来越多的企业走向了数字化办公模式&#xff0c;极大地方便了企业的生产运营&#xff0c;为企业带来了更高的效率。但网络威胁无处不在&#xff0c;网络威胁手段随着计算机技术的不断发展也在不断增加。近期&#xff0c;云天数据恢复中…

C#拼接JSON

一、业务背景 最近项目需要与U8c对接&#xff0c;实现增删改查&#xff0c;借此机会&#xff0c;梳理一下C#解析Json字符串的问题。 这篇文章&#xff0c;先以新增接口为例。 二、新增接口 查看需要传入的json格式。 拼接json&#xff0c;无非就是{}和[]的来回嵌套。 首先&am…

node.js事件循环相关步骤

Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境&#xff0c;它使用事件驱动、非阻塞式 I/O 模型&#xff0c;使其轻量和高效。Node.js 的核心特性之一是其事件循环机制。下面是对 Node.js 事件循环每个步骤的讲解&#xff1a; 1. 定时器阶段&#xff08;Timers Pha…

Java,自带的排序方法

假如定义了一个学生类&#xff0c;想根据学生的总分对学生进行排序 案例&#xff08;进去是Student类的定义&#xff0c;用ctrlf 搜Collection&#xff0c;可以找到具体应用&#xff09; Collection.sort(要排序的集合&#xff0c;new 一个比较器(){ 大括号里是让重写比较器的…

C++数据结构——二叉搜索树详解

目录 一&#xff0c;关于二叉搜索树 1.1 概念 1.2 基本结构 二&#xff0c;二叉搜索树接口实现 2.1 插入 2.2 查找 2.3 打印 2.4* 删除 三&#xff0c;二叉搜索树接口递归实现 3.1 查找 3.2 插入 3.3 删除 四&#xff0c;二叉搜索树的默认成员函数 五&#xff0c;…

Kotlin中object关键字的使用

定义 在 Kotlin 中&#xff0c;object 关键字可以用来声明对象。对象可以分为两种&#xff1a; 对象表达式&#xff1a;一种表达式&#xff0c;可以直接赋值给变量或常量。对象声明&#xff1a;一种类似于 Java 中的静态类的声明。 用途 对象可以用于以下场景&#xff1a; …

bootstap table表格, 获取当前点击的table元素在该行是第几个

背景 有这样一个需求, table表格中是统计数据, 要求点击每个单元格可实现导出统计的底层数据 数据都是可点击导出的, 思路 获取行bootstap 有个index参数, 所哟要获取当前行第几列, 要获取当前点击的table元素在其所在行中的位置&#xff08;即第几个&#xff09;&#xff…

【ARM 嵌入式 编译系列 4.3 -- GCC 编译设置 单个函数优化等级】

文章目录 设置特定函数的优化等级设置特定函数的优化等级 在使用 GCC (GNU Compiler Collection) 编译程序时,有时可能需要指定某个函数不要被编译器优化,以便进行调试或其他目的。GCC 提供了几种方法来防止对特定函数的优化。 最常用的方法是在函数声明前使用 __attribute…