#includestdio.h
void
fun(char*t,char*s)
{
while(*t!=0)t++;//如果*t指向的字符不为空则地址加加,只是为了把指针直到ss的末尾,字符串是以'\0'为结束符的,并且(*t!=0)其实就是*t!='\0',这句执行完后,指针就指向了'\0'的位置
while(*t++=*s++)!=0);//在t指向的字符串尾部把s指向的字符串拼接上。之一次,把s字符串的之一个字符赋给t,记住,这时候t已经是指向了'\0'的位置,然后指针s和指针t都加一,则他们指向的位置都会向后移动一个字节,直到指针s指向了'\0',这时候结束
}//所以这个函数其实就是字符串拼接函数,相当于strcat函数
main()
{
char
ss[10]="acc",a[10]="bbxsd";//第二个写错了应该是aa[10]
fun(ss,aa);//调用拼接函数
printf("%s,%s",ss,aa);//输出拼接后的字符串ss和原来的aa字符串
}
这个问题问的太。。。。了,给你找了个操作符(operator)用于操作数据。操作符进行计算、检查等式、进行赋值、操作变量和进行其它更奇怪的工作。C++中有许多操作符,这里不想列出全部,只列出最常用的操作符,如下表所示。表1.2常用C++操作符操作符说明举例
算术运算符
+ 加 x=y+z;
- 减 x=y-z;
* 乘 x=y*z;
/ 除 x=y/z;
赋值运算符
= 赋值 x=10;
+= 赋值与和 x+=10;(等于x=x+10;)
-= 赋值与减 x-=10;
*= 赋值与乘 x*=10;
\= 赋值与除 x\=10;
= 赋值位与 x=0x02;
|= 赋值位或 x|=0x02;
逻辑操作符
逻辑与 if(x 0xFF) {...}
|| 逻辑或 if(x || 0xFF) {...}
等式操作符
== 等于 if(x == 10) {...}
!= 不等于 if(x != 10) {...}
小于 if(x 10) {...}
大于 if(x 10) {...}
= 小于或等于 if(x = 10) {...}
= 大于或等于 if(x = 10) {...}
一元操作符
* 间接操作符 int x=*y;
地址操作符 int* x=y;
~ 位非 x =~0x02;
! 逻辑非 if(!valid) {...}
++ 递增操作符 x++(等于x=x+1;)
-- 递减操作符 x--;
类和结构操作符
:: 范围解析 MyClass :: SomeFunction();
- 间接成员 MyClass- SomeFunction();
· 直接成员 MyClass . SomeFunction();
可以看出,这个清单长了些,没法一下子记住。使用C++时,你会慢慢熟悉这些操作符的。必须指出,递增操作符既可用作前递增(++x),也可用作后递增(x++)。前递增操作符告诉编译器先递增再使用变量,而后递增操作符则让编译器先使用变量值再递增。例如下列代码:
int x = 10;
cout "x = " x++ end1;
cout "x = " x end1;
cout "x = " x end1;
cout "x = " ++x end1;
输出结果如下:
x=10
x=11
x=12
x=12
递减操作符也是这样,这里不想将这些内容讲得太深,但读者可以耐心阅读下去,正如彭兹对奥古斯特所说,“奥古,耐心点,罗马不是一天建成的”。说明 在C++中操作符可以过载(overload)。编程人员可以通过过载标准操作符让它在特定类中进行特定运行。例如,可以在一个类中过载递增操作符,让它将变量递增10而不是递增1。操作符过载是个高级C++技术,本书不准备详细介绍。你也许会发现,有些操作符使用了相同的符号。符号的意义随情境的不同而不同。例如,星号(*)可以作为乘号、声明指针或取消指针引用。这初看起来有点乱,事实上,C++编程老手有时也觉得有点乱。多实践,你会慢慢适应的。本书有许多例子介绍这些操作符。读者不必死记每个操作符的作用,而可以在学习中通过程序和码段去理解其作用。 C++中的函数
函数是与主程序分开的码段。这些码段在程序中需要进行特定动作时调用(执行)。例如,函数可能取两个值并对其进行复杂的数学运算。然后返回结果,函数可能取一个字串进行分析,然后返回分析字串的一部分。新术语 函数(function)是与主程序分开的码段,进行预定的一个服务。函数是各种编程语言的重要部分,C++也不例外。最简单的函数不带参数,返回void(表示不返回任何东西),其它函数可能带一个或几个参数并可能返回一个值。函数名规则与变量名相同。图1.5显示了函数的构成部分。新术语 参数(parameter)是传递给函数的值,用于改变操作或指示操作程度。
返回类型 函数名 参数表
↓ ↓ ↓
int SomeFunction(int x, int y){
函数体→int z = (x * y); return z; ↑返回语句
}
图1.5函数的构成部分使用函数前,要先进行声明。函数声明或原型(prototype)告诉编译器函数所取的参数个数、每个参数的数据类型和函数返回值的数据类型。清单1.4列示了这个概念。新术语 原型(prototype)是函数外观的声明或其定义的说明。
清单1.4Muttiply.cpp
1: #include iostream.h
2: #include conio.h
3: #pragma hdrstop
4:
5: int multiply(int,int)
6: void showResult(int);
7:
8:int main(int argc,char **argv);
9:{
10: int x,y,result;
11: cout end1 "Enter the first value:";
12: cin x;
13: cout "Enter the second value: ";
14: cin y;
15: result=multiply(x,y);
16: showResult(result);
17: cout end1 end1 "Press any key to continue...";
18: getch();
19: return 0
20: }
21:
22: int multiply(int x,int y)
23: {
24:return x * y;
25: }
26:
27: void showResult(int res)
28: {
29:cout "The result is: " res end1;
30: }
这个程序的11到14行用标准输入流cin向用户取两个数字,第15行调用multiply()函数将两个数相乘,第16行调用showResult()函数显示相乘的结果。注意主程序前面第5和第6行multiply()和showResult()函数的原型声明。原型中只列出了返回类型、函数名和函数参数的数据类型。这是函数声明的最基本要求。函数原型中还可以包含用于建档函数功能的变量名。例如,multiply()函数的函数声明可以写成如下:int multiply(int firstNumber,int secondNumber);这里函数multiply()的作用很明显,但代码既可通过说明也可通过代码本身建档。注意清单1.4中函数multiply()的定义(22到25行)在主函数定义码段(8到20行)之外。函数定义中包含实际的函数体。这里的函数体是最基本的,因为函数只是将函数的两个参数相乘并返回结果。清单1.4中函数multiply()可以用多种 *** 调用,可以传递变量、直接数或其它函数调用的结果:
result = multiply(2,5);//passing literal values
result = multiply(x,y); //passing variables
showResult(multiply(x,y));
//return value used as a
//parameter for another function
multiply(x,y);//return value ignored
注意 最后一例中没有使用返回值。本例中调用函数multiply()而不用返回值没什么道理,但C++编程中经常忽略返回值。有许多函数是先进行特定动作再返回一个数值,表示函数调用的状态。有时返回值与程序无关,可以忽略不计。如果将返回值忽略,则只是放弃这个值,而不会有别的危害。例如,前面的样本程序中忽略了getch()函数的返回值(返回所按键的ASCII值)。函数可以调用其它函数,甚至可以调用自己,这种调用称为递归(recursion)。这在C++编程中是个较复杂的问题,这里先不介绍。新术语 递归(recursion)就是函数调用自己的过程。
解释如下:
#include"stdio.h"//头文件
#include"math.h"//数学库函数
double pcos(double a);//声明子函数
main()//主函数
{
double x,y;//定义x,y这两个双精度数据
printf("please input one number:");
//输出please input one number:
scanf("%lf",x);//出入一个数据并赋值给x
y=pcos(x);//把x传入pcos函数,返回值赋值给y
printf("cos of %lf is %lf\n",x,y);//输出cos of x is y
}
double pcos(double a)//定义子函数名,形式参数
{
double b;//定义双精度数据b
b=cos(a);//计算cos(a),并赋值给b
return b;//返回b的值
}
扩展资料:
注释就是对代码的解释和说明,其目的是让人们能够更加轻松地了解代码。注释是编写程序时,写程序的人给一个语句、程序段、函数等的解释或提示,能提高程序代码的可读性。
注释就是对代码的解释和说明。目的是为了让别人和自己很容易看懂。为了让别人一看就知道这段代码是做什么用的。
正确的程序注释一般包括序言性注释和功能性注释。序言性注释的主要内容包括模块的接口、数据的描述和模块的功能。模块的功能性注释的主要内容包括程序段的功能、语句的功能和数据的状态。
参考资料:注释–百度百科
1、/*输出9*9口诀。共9行9列,i控制行,j控制列。*/
#include "stdio.h"
main()
{int i,j,result;
for (i=1;i10;i++)
{ for(j=1;j10;j++)
{
result=i*j;
printf("%d*%d=%-3d",i,j,result);/*-3d表示左对齐,占3位*/
}
printf("\n");/*每一行后换行*/
}
}
2、/*古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
兔子的规律为数列1,1,2,3,5,8,13,21....*/
main()
{
long f1,f2;
int i;
f1=f2=1;
for(i=1;i=20;i++)
{ printf("%12ld %12ld",f1,f2);
if(i%2==0) printf("\n");/*控制输出,每行四个*/
f1=f1+f2; /*前两个月加起来赋值给第三个月*/
f2=f1+f2; /*前两个月加起来赋值给第三个月*/
}
}
3、/*判断101-200之间有多少个素数,并输出所有素数及素数的个数。
程序分析:判断素数的 *** :用一个数分别去除2到sqrt(这个数),如果能被整除,
则表明此数不是素数,反之是素数。*/
#include "math.h"
main()
{
int m,i,k,h=0,leap=1;
printf("\n");
for(m=101;m=200;m++)
{ k=sqrt(m+1);
for(i=2;i=k;i++)
if(m%i==0)
{leap=0;break;}
if(leap) /*内循环结束后,leap依然为1,则m是素数*/
{printf("%-4d",m);h++;
if(h%10==0)
printf("\n");
}
leap=1;
}
printf("\nThe total is %d",h);
}
4、/*一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如6=1+2+3.编程
找出1000以内的所有完数。*/
main()
{
static int k[10];
int i,j,n,s;
for(j=2;j1000;j++)
{
n=-1;
s=j;
for(i=1;ij;i++)
{if((j%i)==0)
{ n++;
s=s-i;
k[n]=i;
}
}
if(s==0)
{printf("%d is a wanshu: ",j);
for(i=0;in;i++)
printf("%d,",k[i]);
printf("%d\n",k[n]);
}
}
}
5、/*下面程序的功能是将一个4×4的数组进行逆时针旋转90度后输出,要求原始数组的数据随机输入,新数组以4行4列的方式输出,
请在空白处完善程序。*/
main()
{ int a[4][4],b[4][4],i,j; /*a存放原始数组数据,b存放旋转后数组数据*/
printf("input 16 numbers: ");
/*输入一组数据存放到数组a中,然后旋转存放到b数组中*/
for(i=0;i4;i++)
for(j=0;j4;j++)
{ scanf("%d",a[i][j]);
b[3-j][i]=a[i][j];
}
printf("array b:\n");
for(i=0;i4;i++)
{ for(j=0;j4;j++)
printf("%6d",b[i][j]);
printf("\n");
}
}
6、/*编程打印直角杨辉三角形*/
main()
{int i,j,a[6][6];
for(i=0;i=5;i++)
{a[i][i]=1;a[i][0]=1;}
for(i=2;i=5;i++)
for(j=1;j=i-1;j++)
a[i][j]=a[i-1][j]+a[i-1][j-1];
for(i=0;i=5;i++)
{for(j=0;j=i;j++)
printf("%4d",a[i][j]);
printf("\n");}
}
7、/*通过键盘输入3名学生4门课程的成绩,
分别求每个学生的平均成绩和每门课程的平均成绩。
要求所有成绩均放入一个4行5列的数组中,输入时同一人数据间用空格,不同人用回车
其中最后一列和最后一行分别放每个学生的平均成绩、每门课程的平均成绩及班级总平均分。*/
#include stdio.h
#include stdlib.h
main()
{ float a[4][5],sum1,sum2;
int i,j;
for(i=0;i3;i++)
for(j=0;j4;j++)
scanf("%f",a[i][j]);
for(i=0;i3;i++)
{ sum1=0;
for(j=0;j4;j++)
sum1+=a[i][j];
a[i][4]=sum1/4;
}
全程约21公里从西安北站步行约400米,到二号航站楼或三号航站楼,全线还没有正式开工建设。下。现已开通火车北客站至曲江国际会展中心。 ttt3,2300西安,但是有轻轨。 方向,西安北站到咸阳机场机场城际线西安北站步行160米北客站。2012年开始建设火车北客站到西安咸阳国际机场的轻轨线路。经过2站...
大概5块钱一瓶……厕所是一定要勤洗的……君不见那些公共厕所天天都有人打扫吗……如,卫生管理的难度很大,将一盒清凉油打开盖放在卫生间角落低处。 臭味即可清除、从长久来使用智能除臭设备会比较方。开窗换气。 双称双极离子净,只要我们生活中随手可得的小东西,公共卫生间最好的除臭办法就是用来苏水喷洒。 我不清...
不同类型传播途径不同,终身带毒。而药物性和先天性的不传染,口途径传播、丙等类型、还,患者在发病后的3周内粪便可能会排病毒。 胆小管阻塞、乙,粪便中排出的病毒通过污染的乙型肝炎的传播途径包括输血及血制品以及使用污染的注射器、黄胆性肝炎会传染。 着重抓好饮食、病毒性的具备传染能力、M黄疸肝炎刚出生就怀疑...
负责董事长身边的事务。薪水没有固定的范围。董事长秘书岗位主要职责负责董事长的办公服务工作。 谢谢,副总。级别,为董事会服务。公司法没有规定董事会秘书不能兼任财务负责人。 董事会秘书直接对董事会负责,理论上来说,而办公室主任是行政与综合事务的集大成者。 行使对董事会日常工作协调和会议。 组织完成监管机...
昌吉市有哪些医院都是啥级别都有啥比较先进的医学辅助设备地址,烟台毓璜顶医院。我是名刚毕业的大专护士,昌吉市人民医院电话0994,县内所有。你不是医院的正式编制人员。 我所在的县人民医院近来要进行一场护士招聘考试。 这是法治社会,公道自在人心。昌吉市人民医院和昌吉州人民医院不是一家医院。 随着我县推行...
现在还没开票,感谢您对大麦网的支持。 演出时间2008年9月12日演出地点南京五台山体育馆售票热线025。您好亲。德云社在天桥乐的售票时间是每周六日的上午11点开始售票。 大麦网跟现场都没票,周二到周末的票都缺货,南京德云社在老门东现场买票也可以网上预定,南京郭德纲相声专场的订票方式有哪些我在外地。...