首页 > 其他分享 >8.3学习周记

8.3学习周记

时间:2024-08-03 21:06:15浏览次数:9  
标签:8.3 Java 字面 int 周记 数据类型 学习 strcpy 字符串

一.C语言学习
1.数值输出(以整数为例):数值占3位 %3d
默认为右对齐 左对齐要加负号变为%-3d
2.字符串相关函数的学习:(数组1指向字符串1,数组2指向字符串2)
a.strstr函数:strstr函数搜索字符串1是否在字符串2中出现,若未搜索到,则返回NULL;若搜索到,则该函数返回第一次出现s2的地址。
b.strcpy函数:用法:strcpy(字符串1,字符串2); strcpy函数将字符串2复制到字符串1中。
c.strcat函数:将两个字符串连接。
d.strcmp函数:用法:strcmp(数组1,数组2); 将数组1指向的字符串与数组2指向的字符串比较,比较的是各个字符的ASCII值。若字符串1>字符串2,返回值为正数;若等于,返回0;若小于,返回负数。
例题1:
7-29 删除字符串中的子串
输入2个字符串S1和S2,要求删除字符串S1中出现的所有子串S2,即结果字符串中不能包含S2。

输入格式:
输入在2行中分别给出不超过80个字符长度的、以回车结束的2个非空字符串,对应S1和S2。

输出格式:
在一行中输出删除字符串S1中出现的所有子串S2后的结果字符串。

输入样例:
Tomcat is a male ccatat
cat
输出样例:
Tom is a male
解答:

include<stdio.h>

include<string.h>

int main(){
char s1[81],s2[81],temp[81];
char *p;
gets(s1);
gets(s2);
while((p=strstr(s1,s2))!=NULL){
strcpy(temp,p+strlen(s2));
p='\0';//"\0"不是,因此要加“
strcat(s1,temp);//strcat函数将两个字符串连接
}
puts(s1);
return 0;
}

例题2:
7-30 字符串的冒泡排序
我们已经知道了将N个整数按从小到大排序的冒泡排序法。本题要求将此方法用于字符串序列,并对任意给定的K(<N),输出扫描完第K遍后的中间结果序列。

输入格式:
输入在第1行中给出N和K(1≤K<N≤100),此后N行,每行包含一个长度不超过10的、仅由小写英文字母组成的非空字符串。

输出格式:
输出冒泡排序法扫描完第K遍后的中间结果序列,每行包含一个字符串。

输入样例:
6 2
best
cat
east
a
free
day
输出样例:
best
a
cat
day
east
free
解答:

include<stdio.h>

include<string.h>

int main(){
int N,K;
char s[101][11],temp[11];//%s输出字符串,a[行][列]
scanf("%d %d",&N,&K);
for(int i=0;i<N;i++){
scanf("%s",&s[i]);
}
for(int k=N;k>N-K;k--){
for(int i=0;i<k-1;i++){
if(strcmp(s[i],s[i+1])>0){//strcmp函数将s[i]指向的字符串与s[i+1]指向的字符串比较,比较的是各个字符的ASCII值
strcpy(temp,s[i]);//strcpy函数将s[i]中的字符串复制到temp
strcpy(s[i],s[i+1]);
strcpy(s[i+1],temp);
}
}
}
for(int i=0;i<N;i++){
printf("%s\n",s[i]);
}
return 0;
}
3.约分分子最简式的方法
例题
7-24 约分最简分式
分数 15
作者 翁恺
单位 浙江大学
分数可以表示为分子/分母的形式。编写一个程序,要求用户输入一个分数,然后将其约分为最简分式。最简分式是指分子和分母不具有可以约分的成分了。如6/12可以被约分为1/2。当分子大于分母时,不需要表达为整数又分数的形式,即11/8还是11/8;而当分子分母相等时,仍然表达为1/1的分数形式。

输入格式:
输入在一行中给出一个分数,分子和分母中间以斜杠/分隔,如:12/34表示34分之12。分子和分母都是正整数(不包含0,如果不清楚正整数的定义的话)。

输入样例:
66/120
输出样例:
11/20
解答:

include<stdio.h>

int main(){
int fz,fm;
scanf("%d/%d",&fz,&fm);
if(fz<fm){
for(int i=fz;i>0;i--){//直接从大到小找
if(fm%i0&&fz%i0){
printf("%d/%d",fz/i,fm/i);
break;
}
}
}
else{
for(int i=fm;i>0;i--){
if(fm%i0&&fz%i0){
printf("%d/%d",fz/i,fm/i);
break;
}
}
}
return 0;
}
二.java学习
1.JRE、JVM、JDK:
JVM(Java Virtual Machine),Java虚拟机
JRE(Java Runtime Environment),Java运行环境,包含了JVM和Java的核心类库(Java API)
JDK(Java Development Kit)称为Java开发工具,包含了JRE和开发工具
二.基本用例
a.注释:单行注释、多行注释、文档注释//与C语言相同
b.关键字:被Java赋予了特定含义的英文单词
如:class、static、……
c.字面量:数据在程序中的书写格式
如:666、”MySoul“、……
d.变量:临时存储数据的容器
int a = 16;、double b = 10.1;、……
注意:Java中变量需要有变量类型、变量名以及分号结束
e.数据类型:
基本数据类型:byte、short、int、long、float、double、char和boolean
引用数据类型:字符串、数组、类和接口、……
区别:
基本数据类型存储在栈中,而引用数据类型存储在堆中
基本数据类型的变量之间是相互独立的,而引用数据类型的变量之间可能共享同一个对象
f.标识符:标识符是用来命名变量、方法、类、接口等程序元素的名称
注意:
必须由数字、字母、下划线_、美元符号$组成。
数字不能开头
不能是关键字
区分大小写
g.包:
定义:包是一种用于组织和管理 Java 类的机制
命名规范:

路径名.路径名.xxx.xxx
// 例如:com.itheima.oa>
导包:不是在java.lang包下,都需要导包。因为Java开发环境,默认为lang包
三.java字面量
a.整数字面量:表示整数值,可以使用十进制、八进制(以0开头)和十六进制(以0x或0X开头)表示法。例如:42, 012, 0xFF。
b.浮点数字面量:表示浮点数值,包括普通的浮点数和科学计数法表示。例如:3.14, 2.0e-5。
c.字符字面量:表示单个字符,使用单引号括起来。例如:'A', '1', '@'。
d.字符串字面量:表示一个字符串,使用双引号括起来。例如:"Hello, World!", "Java"。
e.布尔字面量:表示布尔值,只有两个取值:true 和 false。
f.null 字面量:表示空引用,用于表示对象引用不指向任何有效的对象。
g.转义序列:一些特殊的字符序列,以反斜线 \ 开头,用于表示无法直接输入的字符,如换行符 \n、制表符 \t 等。
h.数组字面量:用花括号 {} 表示,用于初始化数组。例如:{1, 2, 3}。
i.枚举常量:枚举类型的常量值,表示枚举中的特定选项。
j.字符编码字面量:表示字符的Unicode编码,以 \u 开头,后面跟着四个十六进制数字。例如:\u0041 表示字符 ‘A’。

标签:8.3,Java,字面,int,周记,数据类型,学习,strcpy,字符串
From: https://www.cnblogs.com/1222carnivore/p/18341097

相关文章

  • Java毕业设计基于微信小程序的在线学习和测试系统 Uniapp
    文末获取资源,收藏关注不迷路文章目录项目介绍技术介绍项目界面关键代码目录项目介绍随着信息时代的快速发展,互联网的优势和普及,人们生活水平的不断提高,工作时间的繁忙,使得在线学习平台的开发成为必需。在线学习平台主要是借助计算机,通过对在线学习平台管理所需的信......
  • 【iOS】——NSOperation和NSOperationQueue学习总结
    NSOperation、NSOperationQueue简介NSOperation、NSOperationQueue是基于GCD更高一层的封装,完全面向对象。但是比GCD更简单易用、代码可读性也更高。NSOperation、NSOperationQueue的优点可添加完成的代码块,在操作完成后执行。添加操作之间的依赖关系,方便的控制......
  • 学习Java的第五周
    第五周的学习记录来啦!!先说个好消息,历时五周,我终于把B站黑马程序员的Java基础学完了,本周从数组的学习和练习开始,到方法的学习和练习结束,其中数组的两种初始化、地址值、元素的访问和存储、以及最重要的数组的遍历,难度都属实不小,但最难理解的还属方法中的最后一个练习题--拷贝数组,......
  • 8.3
    一、学习内容反射:在运行时动态地获取类的信息,并可以通过该信息来操作类或对象。(能够动态地创建对象、调用方法、访问和修改字段的值)1.反射核心类(1)class类:获取class对象(接口)Class.forName:将字节码文件加载进内存,返回Class对象类名.class:通过类名的属性class获取(2)Constructor(......
  • 结构体与共用体,链表的学习
    结构体定义        C语言允许用户自己定义一种数据结构,称为结构体。        声明一个结构体类型一般形式为:                strcut 结构体名                {                    成员列表......
  • 第五周学习报告
    又经过了一周的学习,今天对本周学习进行总结本周学习了Java面向对象进阶内容static静态变量无论创建了多少个类的对象,静态变量都只有一份拷贝,被该类的所有对象共享。静态变量通过在变量声明前加上static关键字来声明。publicclassMyClass{//静态变量static......
  • JAVA学习第五周
    这周也是我在学习Java道路上的第五周了,在这一周里并没有学太多新的东西,更多的还是复习了之前所学的东西,在Java这几周的学习中更多的不懂的地方还是集中在面向对象那几章节,尤其是面向对象的三大特点封装,继承和多态。这几部分刚开始看感觉还可以看懂一点,越看越看不懂,有时候多态和继......
  • 嵌入式学习---DAY18:shell脚本
    shell脚本文件进程网络HtmlDbshell脚本是一系列shell命令的集合。  shell  命令解释器shell编程:解释型语言、边翻译边执行、擅长文件处理,操作系统管理、开发效率高  cp 1  2、执、效率低、移植性好C语言:编译型语言、先编译再执行、擅长数据计算和数据处理、开发......
  • 矩阵树定理学习笔记
    用来求和一个图的生成树个数相关的算法,时间复杂度\(O(n^3)\)。你要会求一个矩阵的行列式,这是和行列式有关的前置知识。定理阐述对于无向图定义度数矩阵\(D_{i,j}=[i=j]\deg_i\),其中\(\deg_i\)表示\(i\)的度数。定义邻接矩阵为\(E_{i,j}\)为边\((i,j)\)的个数。定......
  • OpenCV计算机视觉学习(16)——仿射变换学习笔记
    如果需要其他图像处理的文章及代码,请移步小编的GitHub地址传送门:请点击我如果点击有误:https://github.com/LeBron-Jian/ComputerVisionPractice在计算机视觉和图像处理中,仿射变换是一种重要的几何变换方法。它可以通过线性变换和平移来改变图像的形状和位置,广泛应......