一.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 类的机制
命名规范:
标签:8.3,Java,字面,int,周记,数据类型,学习,strcpy,字符串 From: https://www.cnblogs.com/1222carnivore/p/18341097路径名.路径名.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’。