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

c语言初阶测评

c语言初阶测评

  • 选择一
  • 选择二
  • 选择三
  • 编程题一
  • 编程题二

选择一

int i = 10; 
int j = 20;
int k = 3;
k *= i + j;

上面k运行的结果是

因为k*=是一个赋值操作符

它的优先级比较低 所以要先算i+j

所以说k的值是90

选择二

假定 x 和 y 为 double 型,则执行 x=2; y=x+3/2; 后y的值为()
A 3.500000
B 3
C 2.000000
D 3.000000

这里要注意的是3/2因为是两个整数相除

所以说得到的值是1

所以说最终的值会是3.000000

选择三

若有定义语句:int year=1009,*p=&year;以下不能使变量 year 中的值增至 1010 的语句是()
A *p+=1;
B (*p)++;
C ++(*p)
D *p++
首先A 显然可以
B显然可以
C显然可以
D中 两个单目操作符进行运算 按照先右后左的顺序使用

首先是解引用p的值 然后将指针p的位置加加

总结: 主要是操作符的先后顺序这一块的知识比较薄弱

编程题一

还是老朋友 求最大公因数和最小公倍数

这里提供一个求最小公倍数的另一种解法

思路分析

对于两个整数m n
它们的最小公倍数k肯定有
k / m ==i
k / n == j
那么我们就假设这个i的值为1
则有k=im
如果此时的k模上n刚好等于0 那么这个k就是最小公倍数
那么此时的最大公因数即为 (m*n)/k

完成代码如下

#include<stdio.h>
int main()
{
    int m = 0;
    int n = 0;
    scanf("%d %d", &m, &n);
    int i = 1;
    while ((i * m) % n != 0)
    {
        i++;
        
    }

    printf("%d", i * m);
    return 0;
}

这道题的主要是一个技巧问题

记住这个求最大公倍数数的技巧就可以

编程题二

在这里插入图片描述

题目分析

对于这道题目我们可以首先逆序整个字符串 然后再通过空格和‘\0’对于其中的每个单词进行逆序

// 逆序函数
void my_reverse(char* str, char* end)
{
	
	char tmp = 0;
	while (end>str)
	{
		tmp = *str;
		*str = *end;
		*end = tmp;
		str++;
		end--;
	}

}
int main()
{
	char arr[105] = { 0 };
	gets(arr);
	int len = strlen(arr)-1;
	char* end = arr+len;
	// 逆序字符串
	my_reverse(arr,end);
	// 测试逆序字符串是否成功
	//for (int i = 0; i < len; i++)
	//{
	//	printf("%c", arr[i]);
	//}
	// 逆序每个单词
	char* start = arr;
	char* end2  = arr;
	int i = 0;
	for (i = 0; i <= len+1; i++)
	{
		if (*end2==' '||*end2 =='\0')
		{
			my_reverse(start, end2 - 1);
			start = end2 + 1;
		}
		end2++;
	}
	for (int i = 0; i <= len; i++)
	{
		printf("%c", arr[i]);
	}
	return 0;
}

实现代码如上

以上就是本篇博客的全部内容啦 由于博主才疏学浅 所以难免会出现纰漏 希望大佬们看到错误之后能够

不吝赐教 在评论区或者私信指正 博主一定及时修正

那么大家下期再见咯

相关文章:

  • Loss上升,精度却也上升?
  • 【Linux---06】远程登陆 「ssh登陆 | Xshell登陆 | 上传下载文件」
  • 基于阶梯式Tent混沌和模拟退火的樽海鞘群算法
  • 【Linux 基础笔记】(二)
  • 关于gdb调试: 你的问题可能会在这里找到答案
  • J9数字论:什么是Web3.0概念?
  • MediaCodec_Analyze-1-create
  • vue3中<script setup> 和 setup函数的区别
  • c语言进阶 数据的存储(上)
  • A8.2022年全国数学建模竞赛 B题-赛题分析与讨论
  • Vue指令总结
  • 离开二线城市石家庄(勉强算二线吧)去北漂,入职外包测试岗一个月想辞职了~
  • 瑞康医药与亚马逊云科技达成战略合作,全国上百家子公司业务上云
  • 内存取证工具Volatility学习
  • MySQL 中的排序在底层是怎样实现的呢?
  • 【译】React性能工程(下) -- 深入研究React性能调试
  • 230. Kth Smallest Element in a BST
  • canvas绘制圆角头像
  • Hexo+码云+git快速搭建免费的静态Blog
  • JavaScript异步流程控制的前世今生
  • java中具有继承关系的类及其对象初始化顺序
  • Netty+SpringBoot+FastDFS+Html5实现聊天App(六)
  • Promise初体验
  • Python 反序列化安全问题(二)
  • SpringCloud集成分布式事务LCN (一)
  • 码农张的Bug人生 - 初来乍到
  • 浅谈Kotlin实战篇之自定义View图片圆角简单应用(一)
  • 驱动程序原理
  • 算法-图和图算法
  • 怎样选择前端框架
  • ​LeetCode解法汇总2304. 网格中的最小路径代价
  • ​LeetCode解法汇总2696. 删除子串后的字符串最小长度
  • # Panda3d 碰撞检测系统介绍
  • $forceUpdate()函数
  • $NOIp2018$劝退记
  • (2)STL算法之元素计数
  • (6)【Python/机器学习/深度学习】Machine-Learning模型与算法应用—使用Adaboost建模及工作环境下的数据分析整理
  • (阿里云万网)-域名注册购买实名流程
  • (二)fiber的基本认识
  • (非本人原创)史记·柴静列传(r4笔记第65天)
  • (附源码)ssm捐赠救助系统 毕业设计 060945
  • (附源码)基于SSM多源异构数据关联技术构建智能校园-计算机毕设 64366
  • (四)JPA - JQPL 实现增删改查
  • (未解决)macOS matplotlib 中文是方框
  • (转)拼包函数及网络封包的异常处理(含代码)
  • (转)四层和七层负载均衡的区别
  • ****** 二十三 ******、软设笔记【数据库】-数据操作-常用关系操作、关系运算
  • .Net 8.0 新的变化
  • .net core IResultFilter 的 OnResultExecuted和OnResultExecuting的区别
  • .NET Remoting学习笔记(三)信道
  • .NETCORE 开发登录接口MFA谷歌多因子身份验证
  • .NET版Word处理控件Aspose.words功能演示:在ASP.NET MVC中创建MS Word编辑器
  • @Autowired和@Resource的区别
  • [<事务专题>]
  • [20150707]外部表与rowid.txt