2023-10-22 22:57来源:m.sf1369.com作者:宇宇
应该是python中的关键字
最后一个执行a=fna(i)的时候,i=3,a=fna(3)=3*3+1=10,选择C
do第1次悄吵老:k=1*(234mod10)=4,num=num\10=23 do第2次:k=4*(23mod10)=12,num=num\10=2 do第3次碰仿:k=12*(2mod10)=24,num=num\启升....
这里主要是用指针变量表示字符串
语句p=(char*)malloc(sizeof(char)*20);中malloc函数是一个库函数,其主要功能是分配指定字节的内存空间,并将该内存空间的首地址返回,在程序中malloc后括号里的就是它所要分配的字节数sizeof(char)*20,其中sizeof(char)是获取char类型所需的内存单元大小,这里是1个字节,再乘以20,也就是malloc要找到一块20个字节的空闲内存并将首地址返回,由于malloc返回的地址是void *类型陵悄升,也就是一个无类型指针,而p是一个char *类型的指针,因此在赋值给p时要将malloc返回的无类型地址指针强制转换成char *类型,也就是malloc前面括号的作用,赋给p之后p就指向了这块内存的起始单元
接下来q=p,那么q和p指向的是同一块内存空间
scanf(%s%s,p,q);通过scanf对p和q所指向的那块内尺老存空间写入数据,scanf默认是用空格或回车作为两次输入的分隔符的,因此输入空格前的字符串abc被写入到p所指向的内存空间,空格后的字符串def被写入到q所指向的内存空间,特别要注意p和q指向的是同一块运渗内存空间,后一次写入该内存空间的字符串def将前面通过p写入的abc给覆盖掉,所以输入结束后该内存空间中的字符串是def,无论用p还是q去读取这块内存空间得到的字符串都是def,因此最后的printf输出p和q所指向的字符串都是def,因此输出结果是defdef
名字是叫“转义符”,举个例子你就明白了:
假若我要输含逗出:Hello,world!。那么,在printf()中本来就存在“”双引号了,假若直接写成:
printf(Hello,world!);那么,只有一个结果,就是编译器会以为第一个双引号是开始,而第二个双引号是结束,就会引起错误,因为实际上想表达的是有双引号括住的Hello,world!
那么,怎么办?用转义闹答符\来“告诉”编译器哪些是printf(“”)本身的双引号,那些是文本(你想输入的)的双引号,那样的话,就在文本的的每一个双引号【前面】输入【\】,来告诉谈弯卖编译器下一个符号不是printf()的一部分,而是作为文本。所以上面例子正确的做法是:
printf(\Hello,world!\);
Got it?
输出defdef,动态建立了一个指针p,并将p地址赋值给q,所以pq的值是一样的都是defdef
结果是defdef
defdef
写程序跑一下就行了
以下是用Java编写的判断一个年份是否是闰年的示例代码:
Copy code
import java.util.Scanner;
public class LeapYear {
public static void main(String args[]) {
Scanner sc = new Scanner(System.in);
System.out.print(请输入待判断的年份:);
int year = sc.nextInt();
boolean isLeapYear = false;
if (year % 4 == 0) {
if (year % 100 == 0) {
if (year % 400 == 0) {
isLeapYear = true;
} else {
isLeapYear = false;
}
} else {
isLeapYear = true;
}
} else {
isLeapYear = false;
}
if (isLeapYear) {
System.out.println(year + 是闰年。);
} else {
System.out.println(year + 不是闰年。盯敬则);
}
}
}
这个程序中,首先提示用户输入一个年份,然后使用一个布尔变量isLeapYear来存储程序是否判断为闰年,如果是闰年,则为true,否则为false。然后使用嵌套的if语句来判断年份是否为稿丛闰年。如果年份可以被4整除,则可能是闰年,然后判断它是否也可以被100整除。如果年份可以被100整除,则只有当它同时能被400整除时才是闰年。如果年份不是可以被4整除的,则不是闰年。
最后使用if语句和输出语句来告诉用户输入的凯棚年份是否是闰年。
public class LeapYear {
public boolean isLeap(int year) {
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0)
return true;
else
return false;
}
/**
* @param args
*/
public static void main(String[] args) {
LeapYear l = new LeapYear();
for (int i = 0; i < 2000; i++) {
if (l.isLeap(i))
System.out.println(i);
}
}
}
import java.util.Scanner;
public class LeapYear
{
public int getYear()
{
int year;
Scanner in=new Scanner(System.in);
System.out.println(please input a year:);
year=in.nextInt();
return year;
}
}
class Read{
public static void main(String[] args)
{ int i;
LeapYear y=new LeapYear();
i=y.getYear();
if((i%400==0)||(i%4==0&&i%400!=0))
System.out.println(true);
else
System.out.println(false);
}
}
python中,面向对象有利于代码复用的机制主要有以下几种:
函数:使用def关键词定义函数,可以将一段可重复使用的代码封装起来,避免重复编写相同的逻辑。
类:使用class关森游键词定义类,可以将一组相关的数据和操作封装成一个对象,实现数据的封装和抽象。
继承:使用继承关系可以让子类继承父类的属性和方此兆销法,实现代码的复用和扩展。
多态:使用多态可以让不同类型的对象具有相同的猜配接口,实现代码的通用性和灵活性。