IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> 23考研王道c语言初级day4 -> 正文阅读

[C++知识库]23考研王道c语言初级day4

1.vs的几个快捷键

2.作业——输出数组中同一个数出现的次数

输入N个数(N小于等于100),输出数字2的出现次数;

//增量编写法
int main() {
	int n;
	scanf("%d", &n);             //接下来输入的元素数量
    
    int arr[100];                //定义小于100个数的数组
	int i;
	for (i = 0; i < n; i++) {
		scanf("%d", &arr[i]);    //输入n个元素存放进数组
	}
	int count = 0;
	for (i = 0; i < n; i++) {    //遍历数组,出现2的次数
		if (arr[i] == 2) {       //数组中某个元素等于2,count自增
			count++;
		}
	}
	printf("%d\n", count);
}

3.作业——翻转字符串

题目:读取一个字符串,字符串可能含有空格,将字符串逆转,原来的字符串与逆转后字符串相同,输出0,原字符串小于逆转后字符串输出-1,大于逆转后字符串输出1。例如输入 hello,逆转后的字符串为 olleh,因为hello 小于 olleh,所以输出-1

1.strcmp要点

注意最后的判断一定要这么写,因为strcmp在oj标准C中并不是返回-1和1,而是负值和正值

strcmp:compare比较两个字符串的ASCII码值大小

strcmp()函数是根据ACSII码的值来比较两个字符串的;strcmp()函数首先将s1字符串的第一个字符值减去s2第一个字符,若差值为零则继续比较下去;若差值不为零,则返回差值。

int result = strcmp(c, d);

if (result < 0) {
printf("%d\n",-1);
}

else if (result > 0) {
printf("%d\n", 1);
}

else {
printf("%d\n", 0);
}

?

2.gets()和fgets()的区别:

fgets相对于gets,读取标准输入时,会把回车\n也放到字符数组中

所以用fgets要把最后一位\n替换成\0结束符,len-1就是最后一位,因为数组下标从0开始

3.题目思路:

把字符串c末尾调到字符串第0位,利用下标自增自减循环赋值:d[0]=c[4],d[1]=c[3]...

?

输出结果:

输出结果的乱码原因:反转后的数组d没有结束符\0

解决办法:i=-1跳出循环后此时j就是数组d的最后一位,在这个位置加结束符

?

int main() {
	char c[100],d[100];//定义两个字符数组
	gets(c);
    
    int i, j;
	for (i = strlen(c) - 1, j = 0; i >= 0; i--, j++) {  //翻转字符串
		d[j] = c[i];
	}
	d[j] = 0;  //加结束符
    printf("%d/n",strcmp(c,d));  //vs2022下输出1,0,-1,要通过oj还需用文章开头方法
}

?

4.指针的使用场景——传递与偏移

在这两种场景下才需要使用指针。

1.指针的传递

先看下面代码:

void change(int j) {                 //函数调用时是值传递:j=i,把i赋值给了j
	j = 5;                           //形参j
}

int main() {
	int i = 10;                           //局部变量i
	printf("before change i =%d\n", i);  
	change(i);                            //函数调用时把i称为形参   
	printf("after change i =%d\n", i);
}

//最后输出结果都是10

栈空间:每个函数都会调用内存中的一段独立的空间

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2022-01-28 11:42:41  更:2022-01-28 11:44:18 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 9:27:59-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码