c语言 数组、字符串的形参格式_华中师范大学计算机考研874C语言笔记(一)

运算符优先级
  • 自右向左记忆口诀
    • 条件赋值自增减(?: =/+=/-= ++ -- )
  • 指针取址按位反 (* & ~)
  • 内存非负强制转 (sizeof ! - (type))

e984406d3340888444f3de824d200d25.png
  • define 前面的#标志着define是一个【预处理命令】而不是C语句。
  • 高字节在【高地址】存储单元,低字节在【低地址】存储单元。
  • 16位的内存中-65537-1在内存中的值是一样的。
  • 16位的内存中-655351在内存中的值是一样的。
  • 整型常量后可加字母L或l表示long int型常量,如123L, 45l, 0XAFL.
  • U或u表示无符号数
  • float占4个字节 double占8个字节 long double 占10个(TC/BC)或8个(VC)字节
  • 【转义字符】r光标到当前行首、t制表符、b退格、v竖向跳格、a鸣铃
  • ++和--不可用于常量和表达式
  • <<和>>表示位移运算符,左移值乘2,右移值除2。
  • C语言常量分为直接常量符号常量,定义符号常量需要使用预处理命令#include。
  • 不合法的浮点数[e3],[2e4.3],[.e5],[-e3]

格式化输出

  • 两个scanf函数调用之间通常需要使用【fflush库函数】清除键盘缓冲区字符
  • 除了X,E,G 其他格式转换符均为小写字母
整型
  • 有符号整型输出 --- %[-/+][0][宽度][.至少输出位数][l/h][u/o/x/X]
  • 无符号整型输出 %[-/+][#][0][宽度][.至少输出位数][l/h][u/o/x/X]
  • - 表示左对齐
  • + 表示有正号显示正号
  • 0 表示空格补0
  • # 表示16进制数要输出0x或0X,八进制数要输出0
  • %hd表示输出短整型,%o输出八进制,%x或%X输出十六进制
int a = 123;
print("a=%06dn", a);   // a=000123;
print("a=%+06dn", a);  // a=+00123;
print("a=%-06dn", a);  // a=123; 
print("a=%6dn", a);    // a=□□□123;
print("a=%+6dn", a);   // a=□□+123;
print("a=%-6dn", a);   // a=123;
print("a=%6.4dn", a);  // a=□□0123;
print("a=%-6.5dn", a); // a=00123;
浮点型
  • 实数输出 %[-/+][#][0][宽度][.precision][l/L][f/e/E/g/G]
    • %f 表示小数点后要输出六位,不够补0
  • %g 不输出无意义的0
  • %e 指数形式输出
  • #表示必须输出小数点
  • [.precision]输出小数部分的位数(要四舍五入)
字符的输入输出
  • %.3s输出字符串前3个字符
  • getchar:读取键盘输入一个字符,回车键结束,回显
  • getc:读入流文件一个字符,回车键结束,回显
  • getche:读取键盘输入一个字符,任意键结束,回显
  • getch:读取键盘输入一个字符,任意键结束,不回显
  • putchar:输出一个字符
  • putc:输出一个字符到流文件
  • puts:输出字符串(自动换行)
一些错误的用法
scanf("%d5.2f",&f);  //输入浮点数不可规定精度
scanf("%d",&(a+b));  //表达式没有地址,不能用取地址符

选择结构

switch-case语句注意事项
switch(A);  //A可以是int、char或者枚举,不可为浮点数
case 1:{b=b+1; break;} // {}可加可不加
case x:   //错误❌,case后面不可为变量
case; // 错误❌,case后面直接跟分号是错误的
switch a // 错误,switch后面的括号不可省略
/*swith语句可以嵌套*/
  • C语言语句可分为表达式语句、复合语句、函数调用语句、空语句、控制语句。
  • 逻辑运算符两侧的运算对象数据类型可以是任何类型的数据。

数组

一维数组
  • 数组名不可被赋值
  • memset的使用---实现对某内存块各字节单元整体赋同样的值
  • memcpy的使用---实现两个数组间的赋值
// 每个数据单元的值为‘a’
char str[10];
memset(str,'a',10);
// 每个数据单元的值清0
int a[10];
memset(a,0,10*sizeof(int));
//[思考题]下面程序执行后数组a的各元素值是多少?
short a[10];
memset(a,2,10*sizeof(short));//值为514【00000010 00000010】// memcpy的用法
memcpy(b,a,5*sizeof(int));
二维数组
  • 二维数组的赋值
// 数组元素的整体赋值
int a[2][3] = {{1,2,3},{1,2,3}};  //{1,2,3,1,2,3}
// 数组元素的整体赋值
int a[2][3] = {1,2,3,1,2,3};      //{1,2,3,1,2,3}
// 数组元素的部分赋值
int a[2][3] = {{1},{3};  //{1,0,0,1,0,0}
// 数组元素的部分赋值
int a[2][3] = {1,2,3};  //{1,2,3,0,0,0}
// 数组元素的部分赋值,省略一维
int a[][3]  = {{1,2},{4}} //{1,2,0,4,0,0}
// 数组元素的部分赋值,省略一维
int a[][3]  = {{1,2,3,4} //{1,2,3,4,0,0}

函数

填空题
  • 当函数返回值缺省时,函数的返回值类型为【int
  • 静态局部变量若在定义是未赋初值,则系统赋初值为【0】,其生存周期是【整个源程序】,其作用域是【在该变量的函数内或复合语句中】。
  • 形参只能是【变量】。
  • C语言中,函数的隐含存储类别是【extern】。
四种变量的存储类型
  • 动态存储类型:auto, register
  • 静态存储类型:extern, static
  • auto 只能在函数内或符合语句中定义(局部变量)
  • register 只有局部变量和形式参数可以定义
  • extern是函数的隐含存储类别

指针

表示a[i][j]的几种形式
a[i][j]
*(a[i]+j)
*(*(a+i)+j)
(*(a+i))[j]
数组指针
int (*p)[4];
// 表示指向含有4个int型元素的一维数组指针
// 可用来表示二维数组的行指针// 利用p访问数组元素的四种形式
p[i][j]
*(p[i]+j)
*(*(p+i)+j)
(*(p+i))[j]
动态内存分配
  • malloc() 分配若干个字节的内存空间
  • calloc() 分配若干个连续的存储空间
  • realloc() 改变原来分配的存储空间大小
int *p = (int*) malloc( 4 *sizeof(int));
int *p = (int*) calloc( 4, sizeof(int))int *p = (int*) malloc( 4 *sizeof(int));
p = (int*) realloc(6 *sizeof(int));
指针函数---- 函数类型 *函数名(形参1,形参2,...)
  • 【注意】如果函数返回一个指针,不能返回auto型的局部变量地址,但可以返回static型的局部变量地址
函数指针---- 函数类型 (*指针变量)(形参1,形参2,...)

结构体与共用体

间接定义法

struct 结构体类型名
{数据类型名   成员名
};
// 结构体的变量的定义
struct 结构类型名  变量列表名;
// 可定义多个结构类型变量
struct students_info stu1, stu2;
// 可定义指向结构体类型的指针变量
struct students_info *p;

直接定义法

struct 结构体类型名
{数据类型名   成员名
}变量名列表;

结构体类型不分配内存,结构体变量分配内存;结构体类型不能被赋值、存取和运算,结构体变量可以。

结构体变量的引用

// 非指针类型
结构体变量名.成员名
// 指针变量类型
结构体指针->成员名
(*结构体指针).成员名

文件

文件的打开与关闭
  • fopen 发生错误时,函数的返回值是【0(NULL)】打开成功返回【文件结构体指针】
  • fcolse正常关闭文件是,返回值是【0】,否则是【非0】。
  • feof() 遇到文件尾返回【真(非零值)】,否则返回【假(0)】
打开文件的方式
  • r 只读
  • w 创建新文件,只写
  • a 打开已有文件,在末尾追加,只写(若文件不存在,创建新文件,只写)
  • r+ 打开已有文件,可读写
  • w+ 创建新文件,可读写(若已有,则覆盖)
  • a+ 可读写,其余同a
  • t 打开文本文件
  • b 打开二进制文件
文件的读写
  • 字符读写函数:【fget】和【fputc】。
  • 字符串读写函数:【fgets】和【fputs】。
char str[] = "123456789";
fputs(str, fp);
fgets(str, 8, fp);
  • 数据块读写函数:【fread】和【fwrite】一般用于二进制文件的输入和输出
fread(指针,数据项的大小,移动的n个数据项的字节,文件指针)
fread(a, sizeof(short),10, fp); // 从文件中读10个整型数据到数组a
  • 格式化读写函数【fscanf】和【fprintf】一般用于文本文件的输入和输出
int fscanf (文件指针, 格式字符串,输入列表);
fscanf(fp, "%d,%d",&i,&t);
int fprintf (文件指针, 格式字符串,输入列表);
fprintf(fp, "%d,%d",i, t);
文件的定位读写
  • rewind:将指针指向文件开头
  • fseek: 将指针指向特定的位置
    • SEEK_SET 0 文件开始处
  • SEEK_CUR 1 文件当前处
  • SEEK_END 2 文件末位处
int fseek(文件指针,位移量,起始点);
fseek (fp, 2*sizeof(int),SEEK_SET);
  • ftell: 将指针指向当前处

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

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

相关文章

前端分页_前端分页

1、适合情形前端分页一般用于数据量较小的情况&#xff0c;一次请求把数据全部从后端请求回来。2、前端分页例子前端分页代码示例​github.comcd front-end-page 进入front-end-page 文件夹下npm install 安装依赖npm run dev …

服务器分发系统如何做性能测试,怎么做软件性能测试,完整的性能测试流程有哪些内容?...

原标题&#xff1a;怎么做软件性能测试&#xff0c;完整的性能测试流程有哪些内容&#xff1f;一、做性能测试前的准备工作1.要清楚服务器的ip地址和账号密码(目的是用于监控)2.服务器的系统是什么3.是否需要多级联合4.服务器一共有几台5.了解服务器的配置情况6.本机的配置(16g…

cocos怎么把res文件夹放服务器上,cocos2d 三合一跑胡子房卡+服务器组件+后台控制+安装教程+棋牌完整源码...

cocos2d 三合一跑胡子房卡服务器组件后台控制棋牌完整源码安装方法&#xff1a;1将工程下的res和src目录复制到version/fromSource 目录中2使用cocos2dx命令 把src目录下的js文件转换成jsc文件在fromSource目录下执行cocos jscompile -s . -d .3删除掉src目录下的js 文件 只保留…

优秀自我简介200字_急需稿件,稿费200元起/篇 | 公众号【深夜秘杏酱】长期征稿(可签约)...

“深夜秘杏酱”征稿函新号大量收稿 欢迎写手大大们踊跃投稿哦Hi&#xff01;我们是一个专注女生性知识科普及女生情感生活的新号——深夜秘杏酱&#xff01;我们希望能在这个新成立的公众号上跟各位小姐姐分享各种搞怪有趣但又干货满满的性知识,一起偷摸“开车”&#xff0c;顺…

kafka中topic默认属性_分享:Kafka 的 Lag 计算误区及正确实现

前言消息堆积是消息中间件的一大特色&#xff0c;消息中间件的流量削峰、冗余存储等功能正是得益于消息中间件的消息堆积能力。然而消息堆积其实是一把亦正亦邪的双刃剑&#xff0c;如果应用场合不恰当反而会对上下游的业务造成不必要的麻烦&#xff0c;比如消息堆积势必会影响…

手机系统安装打印机服务器错误代码,OKI打印机报错?各型号代码故障解决方法...

原标题&#xff1a;OKI打印机报错&#xff1f;各型号代码故障解决方法这一期干货贴邀请大家一起看看OKI打印机常见报错代码↓↓↓1、报错代码 610/611/612/613黄色/品红色/青色/黑色碳粉盒未安装产生原因&#xff1a;◆可替代芯片安装不正确、芯片触点上有异物遮挡、鼓组件探针…

python3 批量定义多个变量_Python 3.8 新功能大揭秘

Python 3.8是Python语言的最新版本&#xff0c;它适合用于编写脚本、自动化以及机器学习和Web开发等各种任务。现在Python 3.8已经进入官方的beta阶段&#xff0c;这个版本带来了许多语法改变、内存共享、更有效的序列化和反序列化、改进的字典和更多新功能。Python 3.8还引入了…

div独占一行 html_web前端基础-HTML及CSS选择器

HTML及CSS选择器一、html基本结构二、html标签1、标题标签2、a标签3、img标签4、div和span标签5、列表标签6、表格标签7、form表单8、select下拉框标签9、textarea标签三、CSS1、css样式引入方式2、标签嵌套3、css选择器一、html基本结构html是一种超文本标记语言&#xff0c;进…

监控系统服务器如何配置,监控系统服务器的配置

监控系统服务器的配置 内容精选换一换裸金属服务器安装Agent后&#xff0c;裸金属实例出现在云监控服务管理控制台的“主机监控 > 弹性云服务器”列表中。主机监控Agent根据169.254.169.254提供的服务来判断是弹性云服务器还是裸金属服务器。如果该地址的路由被修改&#xf…

解析markdown_markdown-it 原理浅析

前言最近使用 markdown-it 比较多&#xff0c;也开发了一些插件&#xff0c;在这个过程中对源码进行了研读&#xff0c;最终写了这篇文章。需要了解细节的读者可以自行阅读文档。此文分为两个部分&#xff1a;原理剖析和原理应用&#xff08;编写插件&#xff09;。markdown-it…

第一次失效_特斯拉螺栓腐蚀失效分析_搜狐汽车

本文车型速览除了文章作者的主观观点外&#xff0c;我们正尝试基于全网可查的客观数据&#xff0c;为您提供中立、客观的参考依据&#xff1a;本文部分车型速览&#xff1a;展开微信扫码&#xff0c;直接一次看完附近所有城市低价(附近城市均有经销商可售卖至本市) 提交成功&am…

c#计算长方形的周长和面积公式_Java面向对象练习题之计算圆的面积和周长

创建一个圆Circle类。为该类提供一个变量r表示半径&#xff0c;一个常量PI表示圆周率&#xff1b;同时为该类提供两个方法&#xff1a;方法一用于求圆的面积&#xff0c;方法二用于求圆的周长&#xff1b;为该类提供一个无参的构造方法&#xff0c;用于初始化r的值为4。在main方…

简单计算机面试题库及答案_试讲可以看教案吗?必看的面试考前问题解答

“皮卡皮卡&#xff01;”教资面试倒计时4天啦快使尽全力发出你的十万伏特胜利就在前方部分小伙伴们还对教资面试存在种种疑惑下面牛奶为大家一一作出解答教师资格面试题目是如何确定的?答&#xff1a;面试题目分为试讲题目、结构化题目和答辩题目。▲试讲题目是考生在备课前&…

python输出读取的空格数目_Python 3基础教程: 输入和输出具体代码实例

在前面文章中&#xff0c;我们其实已经接触了 Python 的输入输出的功能。本章节我们将具体介绍 Python 的输入输出。输出格式美化Python两种输出值的方式: 表达式语句和 print() 函数。(第三种方式是使用文件对象的 write() 方法; 标准输出文件可以用 sys.stdout 引用。)如果你…

点击button后改变文字_27. 教你零基础搭建小程序:小程序的常见组件—button

筒子们&#xff0c;这一章接着讲Button 标签。开放能力的属性button标签的开放能力是指open-type 属性。其中&#xff0c;这个属性的合法值包括如下&#xff1a;这一部分呢&#xff0c;需要分为两个方式来演示。一是可在模拟器中直接看效果&#xff1b; 二是要通过真机调试看效…

语言把数据写入csv文件_把JSON/CSV文件打造成MySQL数据库

生活中&#xff0c;你我一定都看到过这种「xx元爆改出租屋」&#xff0c;「爆改小汽车」之类的文章&#xff0c;做为IT人&#xff0c;折腾的劲头一点也不差。软件开发过程中&#xff0c;你是否有时候&#xff0c;会拿着业务提供的一个个CSV或者JSON的数据文件&#xff0c;写个解…

图片饱和度_摄影后期完全调色指南(三):饱和度与自然饱和度有什么区别?...

泼辣年度大课 | 摄影后期完全调色指南(一)摄影后期完全调色指南(二)&#xff1a;详解色温与色调在上一篇教程里面我们讲到了全局色彩调整中的色温和色调工具&#xff0c;今天来讲解剩下的两个工具&#xff1a;饱和度与自然饱和度工具&#xff0c;这两个工具使用的频率也非常的高…

windows 下的文件对比工具

deffinity,一款专用于文件对比的工具,安装简单,使用方便 下载链接如下: https://www.appinn.com/diffinity-for-win/

点名册_骑士新书《万界点名册》十万收藏火爆气势不减当年修真聊天群

最近好多人都在讨论圣骑士的传说新书《万界点名册》&#xff0c;新书还没有发布&#xff0c;起点就给了闪屏推荐&#xff0c;引得的很多读者心痒痒的想要看看到底是怎样的神作。所以才发布两万多字的新书投资人就快一万人了&#xff0c;收藏也突破了十万。这速度好像是坐了火箭…

500张思维导图记38000单词_思维导图记单词,环环相扣难遗忘——2020奇速英语夏令营第三天...

2020年8月6日&#xff0c;是奇速英语19期夏令营第二批单词阅读营正式上课的第3天&#xff0c;为了激发各班学员学习兴趣&#xff0c;保证学习效果&#xff0c;奇速英语专门制定了小组PK的积分奖励制在今天的学习当中发挥了极大的效果。在这一机制的刺激和奇速英语老师们的高效教…