除了下面的,都可以使用auto :声明自动变量 一般不使用
成都创新互联专注为客户提供全方位的互联网综合服务,包含不限于成都做网站、成都网站设计、沁源网络推广、小程序开发、沁源网络营销、沁源企业策划、沁源品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;成都创新互联为所有大学生创业者提供沁源建站搭建服务,24小时服务热线:028-86922220,官方网址:www.cdcxhl.com
double :声明双精度变量或函数
int: 声明整型变量或函数
struct:声明结构体变量或函数
break:跳出当前循环
else :条件语句否定分支(与 if 连用)
long :声明长整型变量或函数
switch :用于开关语句
case:开关语句分支
enum :声明枚举类型
register:声明积存器变量
typedef:用以给数据类型取别名(当然还有其他作用)
char :声明字符型变量或函数
extern:声明变量是在其他文件正声明(也可以看做是引用变量)
return :子程序返回语句(可以带参数,也看不带参数)
union:声明联合数据类型
const :声明只读变量
float:声明浮点型变量或函数
short :声明短整型变量或函数
unsigned:声明无符号类型变量或函数
continue:结束当前循环,开始下一轮循环
for:一种循环语句(可意会不可言传)
signed:生命有符号类型变量或函数
void :声明函数无返回值或无参数,声明无类型指针(基本上就这三个作用)
default:开关语句中的“其他”分支
goto:无条件跳转语句
sizeof:计算数据类型长度
volatile:说明变量在程序执行中可被隐含地改变
do :循环语句的循环体
while :循环语句的循环条件
static :声明静态变量
if:条件语句
1)*q是指针所指向的一个字符,所以把一个字符串赋值给一个字符,显然是错误的.
2)C语言不进行强制的类型识别,所以一个字符可以以数值形式赋值,实际你赋值的内容是它的ASCII码,也就是'd'
3)C语言中字符串不能直接给指针赋值,而应该使用函数:strcpy,strncpy.函数原型为:
char
*strcpy(
char
*strDest,
const
char
*strSource
);
char
*strncpy(
char
*strDest,
const
char
*strSource,
size_t
count
);
4)printf函数中使用字符串时,应该直接使用指针.而不带*
5)从这句:*p=x;来看,p是指针的指针,所以*p是指针,所以用法是正确的.
从以上分析得出几点结论:
1)C语言对数据类型不会进行强制识别,字符型数据可以赋值为数字,字符指针可以指向数字,指针本身也会有指针.
2)指针只是指的一个地址,这个地址本身也是数据.如果把这个地址当作字符串使用的话,一定要直接使用指针,如果使用形如*p这样的用法的话,只是指的p指向的首地址的字符.
Any
more
problems?
可以使用C语言标准库中的pow函数来表示q的n次方。
原型:double pow( double x, double y );
用法:#include math.h
功能:计算x的y次幂。
说明:x应大于零,返回幂指数的结果。
示例代码如下,用于计算2的3次方。
#include stdio.h
#include math.h
int main()
{
double q = 2.0, n = 3.0;
printf("%lf\n" , pow(q,n));
return 0;
}
C语言中,函数调用的一般形式为:函数名(实际参数表)
对无参函数调用时则无实际参数表。实际参数表中的参数可以是常数,变量或其它构造类型数据及表达式。各实参之间用逗号分隔。
在C语言中,可以用以下几种方式调用函数:
1、函数表达式:函数作为表达式中的一项出现在表达式中,以函数返回值参与表达式的运算。这种方式要求函数是有返回值的。例如:z=max(x,y)是一个赋值表达式,把max的返回值赋予变量z。
2、函数语句:函数调用的一般形式加上分号即构成函数语句。例如: printf ("%d",a);scanf ("%d",b);都是以函数语句的方式调用函数。
3、函数实参:函数作为另一个函数调用的实际参数出现。这种情况是把该函数的返回值作为实参进行传送,因此要求该函数必须是有返回值的。
C语言,是一种通用的、过程式的编程语言,广泛用于系统与应用软件的开发。具有高效、灵活、功能丰富、表达力强和较高的移植性等特点,在程序员中备受青睐。最近25年是使用最为广泛的编程语言。
C语言是由UNIX的研制者丹尼斯·里奇(Dennis Ritchie)于1970年 由 肯·汤普逊(Ken Thompson)所研制出的B语言的基础上发展和完善起来的。目前,C语言编译器普遍存在于各种不同的操作系统中,例如UNIX、MS-DOS、Microsoft Windows及Linux等。C语言的设计影响了许多后来的编程语言,例如C++、Objective-C、Java、C#等。
C语言输入输出函数有很多,标准I/O函数中包含了如下几个常用的函数:
scanf,printf,getc,putc,getchar,putchar,gets,puts,fgets,fputs,fgetc,fputc,fscanf,fprintf等.
int
getc(FILE
*fp)
getc主要是从文件中读出一个字符.常用的判断文件是否读取结束的语句为
(ch
=
getc(fp))
!=
EOF.EOF为文件结束标志,定义在stdio.h中,就像EXIT_SUCCESS,EXIT_FAILURE定义在stdlib.h中一样,文件也可以被理解为一种流,所以当fp为stdin时,getc(stdin)就等同于getchar()了.
int
putc(int
ch,FILE
*fp)
putc主要是把字符ch写到文件fp中去.如果fp为stdout,则putc就等同于putchar()了.
int
getchar(void)
getchar主要是从标准输入流读取一个字符.默认的标准输入流即stdio.h中定义的stdin.但是从输入流中读取字符时又涉及到缓冲的问题,所以并不是在屏幕中敲上一个字符程序就会运行,一般是通过在屏幕上敲上回车键,然后将回车前的字符串放在缓冲区中,getchar就是在缓冲区中一个一个的读字符.当然也可以在while循环中指定终止字符,如下面的语句:while
((c
=
getchar())
!=
'#')这是以#来结束的.
int
putchar(int
ch)
putchar(ch)主要是把字符ch写到标准流stdout中去.
char
*
gets(char
*str)
gets主要是从标准输入流读取字符串并回显,读到换行符时退出,并会将换行符省去.
int
puts(char
*str)
puts主要是把字符串str写到标准流stdout中去,并会在输出到最后时添加一个换行符.
char
*fgets(char
*str,
int
num,
FILE
*fp)
str是存放读入的字符数组指针,num是最大允许的读入字符数,fp是文件指针.fgets的功能是读一行字符,该行的字符数不大于num-1.因为fgets函数会在末尾加上一个空字符以构成一个字符串.另外fgets在读取到换行符后不会将其省略.
int
fputs(char
*str,
file
*fp)
fputs将str写入fp.fputs与puts的不同之处是fputs在打印时并不添加换行符.
int
fgetc(FILE
*fp)
fgetc从fp的当前位置读取一个字符.
int
fputc(int
ch,
file
*fp)
fputc是将ch写入fp当前指定位置.
int
fscanf(FILE
*fp,
char
*format,
输入列表)
fscanf按照指定格式从文件中出读出数据,并赋值到参数列表中.
int
fprintf(FILE
*fp,
char
*format,
输出列表)
fprintf将格式化数据写入流式文件中.
数据块读写函数
fread
(buffer,size,count,fp);
fwrite(buffer,size,count,fp);
参数说明:
buffer:是一个指针。
对fread
来说,它是读入数据的存放地址。
对fwrite来说,是要输出数据的地址(均指起始地址)。
size:
要读写的字节数。
count:
要进行读写多少个size字节的数据项。
fp:
文件型指针。
long f1(int p)//第一次传入2,第二次传入3
{
int k;
long r;
long f2(int q);//声明函数
k=p*p; //K为p的平方
r=f2(k);
return r;返回R的值
}
long f2(int q)
{
long c=1;
int i;
for(i=1;i=q;i++) //用循环求阶乘
c=c*i;//C为q的阶乘
return c;返回C的值
}
main()
{
int i;
long s=0;
for (i=2;i=3;i++)
s=s+f1(i);//循环调用f1(),参数为 第 一次为2,第二次为3;
s为f1(2)+f1(3)的和;
printf("\ns=%ld\n",s);
}