- 2
- 0
- 约2.59千字
- 约 5页
- 2018-04-05 发布于河南
- 举报
2.C语言基础语法学习教程_函数.doc
函数
一、函数功能
C语言的函数可以理解为,汇编语言中的子程序。
fun printf “Hello world!” ; 上面函数作用是打印“Hello world!”。
二、函数使用
要使用函数要对函数进行定义。
比如,要实现一个功能为返回两个整型数据中较大的一个(如果相等,返回第一个)。
有下面两种方式:
程序1
int f int,int ;
main int a 6;int b 8;
printf The bigger one is %d in %d,%d .,f a,b ,a,b ; int f int a,int b return a b?a:b; 程序2
int f int a,int b return a b?a:b; main int a 6;int b 8;
printf The bigger one is %d in %d,%d .,f a,b ,a,b ; 有三点需要注意:
使用Tc提供的库函数要包含函数声明。
函数返回值的类型匹配
参数的类型匹配
第一个问题,库函数使用要包含声明。看一个例子。
下面程序3用到了strcyp函数,它的声明在string.h头文件中。
程序3
#include
int n 0;
int pnttime int ;
main n++;
pnttime n ;
if n 4 return;
else
main ; int pnttime int t char str[10] ;
char time[6] time;
if t 0 return 0;
time[4] t 1?s:\0;
switch t case 1: strcpy str,st ; break;
case 2: strcpy str,nd ; break;
case 3: strcpy str,rd ; break;
default: strcpy str,th ; break; printf \n%d%s %s\n,t,str,time ;
return t; 第二个问题,返回值类型的匹配。
举两个例子:
程序e1
void fun ;
main int a;
a fun ; void fun printf no return. ;
return 0; 注意这个程序e1能通过编译吗,提示什么错误?如何解决?
再看一个例子,malloc函数返回值是void *
如果char *p malloc 20 ;编译将提示错误。如何解决?可以进行类型设置。char *p (char *)malloc 20 ;
第三个问题,在使用参数时要注意类型与函数声明的一致。
程序4
#include
char str[10] hello;
int setch char [],int,char ;
main printf \nbefore set str:%s\n,str ;
setch str,0,H ;
setch str,20,A ;
printf \nafter set str:%s\n,str ; int setch char p[],int idx,char ch int len;
len strlen p ;
if len 0 printf \nstr error\n ;
return -1; if idx len-1||idx 0 printf \nidx error\n ;
return -1; p[idx] ch;
return idx; 思考问题:如果程序4中把语句setch str,0,H 中H改成513,会是什么结果,为什么?
程序5
#include
char str[3][5] year,mon,day ;
int date[2][3] 2011,4,10 , 2010,12,5 ;
struct Date int year;int mon;int day; mydate;
int setdate struct Date *,char *,int ;
int gettype char * ;
main int i;
struct Date md[2];
for i 0;i 2;i++ printf \nbefore set mydate%d y:%d m:%d d:%d\n,i,md[i].year,md[i].mon,md[i].day ;
setdate md[0],year,date[0][0] ;
setdate md[0],mon,date[0][1] ;
setdate md[0],day,date[0][2] ;
setdate md[1],year,date[1][0] ;
se
您可能关注的文档
- !secure-vehicular-communication-system-vanet-security-cm1.pdf
- (1小时学会C语言51单片机)C语言入门教程____2016下载.doc
- (Chinese)DB2+DPF-HA.ppt
- (CMR - Hau Lee) Aligning Supply Chain Strategies with Product Uncertainties.pdf
- (Communication+English)通信与信息工程专业英语教程[习题解答].doc
- (CSF) Dilute Sulfuric Acid Pretreatment of Corn Stover in a Pilot-Scale Reactor.pdf
- (CSF) Fractionation of lignocellulosics bysteam-aqueous pretreatments [and discussion.pdf
- (CSF)Pretreatment-Catalyst Effects and the combined severity parameter.pdf
- (ebook) - Physics - Tesla - How To Make Tesla's Coil.pdf
- (麻省理工2016课程)C语言内存管理和C++面向对象编程_lec01.pdf
- 2025年新能源汽车铝合金型材表面处理报告.docx
- 2025_2026学年新教材高中历史第四单元资本主义制度的确立9资产阶级革命与资本主义制度的确立课时作业含解析新人教版必修中外历史纲要下.doc
- 2026版高考历史一轮训练课后限时集训10近代西方民主政治的确立与发展含解析人民版.doc
- 2025年光伏支架轻量化研发趋势与材料创新报告.docx
- 2025_2026学年新教材高中英语UNIT3SPORTSANDFITNESS预习新知早知道学案含解析新人教版必修第一册.doc
- 初中道德与法治八年级上册《爱我中华》单元教学设计(1).docx
- Unit9IlikemusicthatIcandancetoSectionA(3a3c)(教学课件)人教版(0)九年级英语全册().pptx
- 四年级下册《我的“自画像”》习作指导课教学设计——基于例文支架的精准表达训练.docx
- 星火燎原:新中国“两弹一星”伟业的奠基与精神传承.docx
- 中考英语一轮复习:解锁单项选择的逻辑与策略(第一讲).docx
原创力文档

文档评论(0)