C语言实验指导与习题参考答案含运行界面完全本.pdf_第1页
C语言实验指导与习题参考答案含运行界面完全本.pdf_第2页
C语言实验指导与习题参考答案含运行界面完全本.pdf_第3页
C语言实验指导与习题参考答案含运行界面完全本.pdf_第4页
C语言实验指导与习题参考答案含运行界面完全本.pdf_第5页
已阅读5页,还剩60页未读 继续免费阅读

C语言实验指导与习题参考答案含运行界面完全本.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

习题参考答案以及附录 2010 年 3 月 28 日 程序设计基础(C 语言版 ) (第 2 版)实验指导与习题 参考答案 目 录 3.1 C 语言初步1 1选择题.1 2填空题.1 3简答题.1 4编程题.2 3.2 数据类型、运算符与表达式4 1选择题.4 2填空题.4 3简答题.4 4编程题.7 3.3 简单 C 程序设计.10 1选择题.10 2填空题.10 3程序改错题.11 4编程题.11 3.4 程序结构13 1选择题.13 2填空题.13 3程序分析题.13 4. 程序设计题:.14 3.5 数 组21 1选择题.21 2填空题.21 3程序分析题.21 4程序设计题:.23 3.6 函 数29 1选择题.29 2填空题.29 3程序分析题.29 4程序设计题:.30 3.7 指 针35 1选择题.35 2填空题.35 3. 程序分析题.35 4. 程序设计题:.37 3.8 结构体与共用体42 1选择题.42 2. 程序分析题.42 3. 程序设计题:.43 3.9 文 件45 1选择题.45 程序设计基础(C 语言版 ) (第 2 版)实验指导与习题 参考答案 2填空题.45 4.1 模拟试题 1.46 1选择:(共 40 分,每题 2 分).46 2阅读程序,写出运行结果:(共 40 分,每题 4 分).46 3编写程序:(共 20 分).46 4.2 模拟试题 2.48 1选择:(共 20 分2 分10)48 2阅读程序,写出运行结果:(共 40 分4 分10)48 3在下面程序空白处填入适当语句,完成题目要求:(共 16 分4 分4)48 4编写程序:(共 24 分8 分3)48 4.3 模拟试题 3.50 1选择:(共 20 分2 分10)50 2阅读程序,写出运行结果:(共 40 分4 分10)50 3在下面程序空白处填入适当语句,完成题目要求:(共 16 分4 分4)50 4编写程序:(共 24 分6 分4)50 附录 A 常用字符与 ASCII 代码对照表.53 附录 B C 语言中的关键字54 附录 C 运算符和结合性.54 附录 D 常用的 C 库函数55 D.1 数学函数.55 D.2 字符函数和字符串函数.57 D.3 输入输出函数.58 D.4 动态存储分配函数.62 程序设计基础(C 语言版 ) (第 2 版)实验指导与习题 参考答案 1 3.1 C 语言初步 1选择题 题号 答案 题号 答案 题号 答案 题号 答案 题号 答案 (1) B (2) D (3) C (4) B (5) D (6) C (7) A (8) B (9) A (10) B (11) B (12) B (13) A (14) D 2填空题 题号 答案 (1) 中级语言、 低级语言、高级语言、系统程序、应用程序 (2) scanf、 printf (3) 函数 (4) main (5) 关键字 (6) 标识符是字母、下划线和数字的排列,但必须用字母或下划线开头。 (7) 以符号 /* (书上漏掉一空)作为开始标记,以 */ 符号作为结束标记。 3简答题 (1) 机器语言、汇编语言、高级语言各有什么特点? 机器语言:是二进制代码形式表示的机器基本指令的集合。 汇编语言:用助记符代表机器指令的编程语言。 高级语言:采用类似自然语言的抽象的编程语言。在一定程度上与机器无关,给编程带来了 极大方便。但是计算机不能直接识别,需经过翻译才能执行。 (2) 程序翻译的方式有哪两种?各有哪些特点? 将高级语言程序翻译为目标程序,有编译(Compile)与解释(Interpretation)两种方法。 使用编译方法翻译高级语言程序时,需要用到一个称为“编译程序”的软件。编译过程包括 翻译和查错两个功能。包括:词法分析、语法和语义分析、生成目标程序、优化目标程序。 解释也是将高级语言源程序翻译为机器指令的一种方式,但它与编译方式不同,不是把整个 高级语言源程序一起翻译成一个目标程序。而是翻译一句,执行一句,不产生整个的目标程 序。 (3) 常见的程序设计有哪些结构? 常见的程序设计主要有顺序结构、分支结构(选择结构) 、循环结构。 (4) 什么是结构化程序设计? 结构化程序设计以模块功能和处理过程设计为主的详细设计为基本原则。 它主要采用自顶向 下、逐步求精的设计方法,使用三种基本控制结构(顺序、选择、循环) 编制程序。 (5) C 语言具有哪些特点? C 语言相对于其它语言有很多的优点,概括来讲,其主要特点如下: 语言简洁紧凑 程序设计基础(C 语言版 ) (第 2 版)实验指导与习题 参考答案 2 表达能力强 数据结构丰富 结构化程序设计语言 可直接对硬件进行操作 执行效率高 可移植性好(与汇编语言比 (6) C 语言程序具有哪些基本组成部分? C 语言程序一般由:编译预处理语句、自定义类型或全局变量定义、main 函数、标准库函数与 自定义函数组成。 (7) C 语言程序的书写规则主要有哪些? 代码必须符合语法规则,标识符一般用小写字母,大小写敏感 尽量不把多条语句写在程序的同一行上 适当地可使用空行和空格,增强程序的可读性 常用缩进书写格式,使得程序结构清晰 增加相应的输入输出提示信息,增强程序运行的友好性 函数体内采用分层缩进和模块化的书写方式,增强代码的可维护性 (8) 一个 C 语言应用程序上机过程一般要经过哪几个步骤?简述各步的作用。 一个 C 语言应用程序上机过程一般要经过 4 个重要的步骤:编辑(edit)、编译(Compile)、连接 (Link)、装入执行(load printf(“#n“); printf(“#n“); printf(“#n“); printf(“#n“); 程序设计基础(C 语言版 ) (第 2 版)实验指导与习题 参考答案 3 (2) 编写 C 语言程序,运行后输出以下信息。 * 欢迎进入 C 语言的天地! * # include void main() printf(“*n“); printf(“ 欢迎进入 C 语言的天地! n“); printf(“*n“); (3) 编写一个程序,在屏幕上输出你的姓名。 # include void main() printf(“张小五n“); 程序设计基础(C 语言版 ) (第 2 版)实验指导与习题 参考答案 4 3.2 数据类型、运算符与表达式 1选择题 题号 答案 题号 答案 题号 答案 题号 答案 题号 答案 (1) B (2) A (3) B (4) A (5) A (6) C (7) C (8) A (9) B (10) D (11) C (12) A (13) A (14) C (15) D (16) C (17) D (18) D 2填空题 题号 答案 (1) 2 、 1 (2) #define 符号 常量 (3) 类型 变量; (4) 1 、 0 (5) 使用“#define 符号 常量” 的形式,其中符号一般用大写 (6) unsigned int 、 double 、 char (7) + 、 printf(“请输入一个合法的大写字母:n“); ch=getchar(); if (ch=A int r1,r2,r3,r4;/*存放表达式运算结果*/ i=12, j=25, k=56;/*表达式计算前变量初始值*/ printf(“表达式执行之前 i=%d, j=%d, k=%d n“,i,j,k); r1=( +i ) * ( +j ) * ( + k); printf(“表达式=%d n“,r1); printf(“表达式执行之后 i=%d, j=%d, k=%d n n“,i,j,k); i=12, j=25, k=56;/*表达式计算前变量初始值*/ printf(“表达式执行之前 i=%d, j=%d, k=%d n“,i,j,k); r2=( i+ ) * ( +j ) * (k+) ; printf(“表达式=%d n“,r2); printf(“表达式执行之后 i=%d, j=%d, k=%d n n“,i,j,k); i=12, j=25, k=56;/*表达式计算前变量初始值*/ printf(“表达式执行之前 i=%d, j=%d, k=%d n“,i,j,k); r3=(i=i+j,j=j+k,k=k+i); printf(“表达式=%d n“,r3); printf(“表达式执行之后 i=%d, j=%d, k=%d n n“,i,j,k); i=12, j=25, k=56;/*表达式计算前变量初始值*/ printf(“表达式执行之前 i=%d, j=%d, k=%d n“,i,j,k); r4=! ( i = j ) printf(“表达式=%d n“,r4); 程序设计基础(C 语言版 ) (第 2 版)实验指导与习题 参考答案 9 printf(“表达式执行之后 i=%d, j=%d, k=%d n n“,i,j,k); 程序设计基础(C 语言版 ) (第 2 版)实验指导与习题 参考答案 10 3.3 简单 C 程序设计 1选择题 题号 答案 题号 答案 题号 答案 题号 答案 题号 答案 (1) D (2) D (3) B C (4) A (5) A (6) B B (7) D (8) D (9) D (10) B (11) D (12) D (13) B (14) A (15) A (16) B (17) A 注意:选择题的第(10)题前三个选项 printf 语句中漏掉了“%” 2填空题 题号 答案 (1) (2) (3) (4) (5) (6) (7) (8) 注意:本题书中的%514f 应该为%5.1f (9) b 、 b 、 b (10) t=a 、 c=t (11) 32766 、 -1 、 -1 (12) -14 (13) 交换两个变量 a 与 b 的数值 (14) 忽略当前的输入数据 、 a1,a2,a3 的值分别为:a1=10, a2=20, a3=40 注意:本题书中的 scanf(“%d%d*%d%d“, 应该改为 scanf(“%d%d%*d%d“, 执行结果改为语句执行后 a1,a2,a3 的值分别为 (15) AB (这里的表示空格) 程序设计基础(C 语言版 ) (第 2 版)实验指导与习题 参考答案 11 (16) 3程序改错题 将程序修改如下: #include void main() float a,b,s,l; scanf(“%f,%f“, s=a*b; l=a+b; printf(“l=%f,s=%fn“,l,s); 4编程题 (1) 编写程序,从键盘输入梯形的上下底边长度和高,计算梯形的面积。 #include void main() float a,b,h,area; printf(“请输入梯形的上下底边长度和高:n“); scanf(“%f%f%f“, area=(a+b)*h/2; printf(“面积为=%10.2fn“,area); (2) 编写程序,从键盘输入某学生的四科成绩,求出总分和平均分。 #include void main() float a,b,c,d,sum,aver; printf(“请输入四科成绩:n“); scanf(“%f%f%f%f“, 程序设计基础(C 语言版 ) (第 2 版)实验指导与习题 参考答案 12 sum=a+b+c+d; aver=sum/4; printf(“总成绩为=%5.2fn“,sum); printf(“平均分为=%5.2fn“,aver); (3) 编写摄氏温度、华氏温度转换程序。要求:从键盘输入一个摄氏温度,屏幕就显示对应的 华氏温度,输出取两位小数。转换公式:F=(C+32)9/5 #include void main() float C,F; printf(“输入一个摄氏温度:n“); scanf(“%f“, F=(C+32)*9/5; printf(“对应华氏温度为=%5.2fn“,F); 程序设计基础(C 语言版 ) (第 2 版)实验指导与习题 参考答案 13 3.4 程序结构 1选择题 题号 答案 题号 答案 题号 答案 题号 答案 题号 答案 (1) B (2) C (3) B (4) A (5) B (6) A (7) A (8) D (9) C (10) D (11) C (12) C (13) D (14) B (15) C (16) D (17) A 更正:选择题的第(12)题前 1 个选项中的“b+a-b”应该改为: “b=a-b” 2填空题 题号 答案 (1) 顺序 、 选择 、 循环 (2) (3) if ( a 0 ; y - ) if ( y%3 = 0 ) printf( “%d” , - y ) ; cintinue ; 4. 程序设计题: (1) 编程序,输入一个整数,输出其符号(若0,输出 1;若0,输出-1) 。 #include void main ( ) int x,sign ; printf(“请输入一整数:n“); scanf(“%d“, if (x=0) sign=1; else sign=-1; printf(“它的符号为:%dn“,sign); (2) 编程序,输入三个数,输出其中最小值。 程序设计基础(C 语言版 ) (第 2 版)实验指导与习题 参考答案 15 #include void main ( ) float a,b,c,min ; printf(“请输入 3 个数:n“); scanf(“%f%f%f“, if (a void main ( ) int a; printf(“请输入 1 个正整数:n“); scanf(“%d“, if (a void main ( ) float x,y; printf(“请输入行车里程数:n“); scanf(“%f“, if (x3) y=6+(x-3)*1.5; else y=6; printf(“应付车费%f 元!n“,y); (5) 有一分段函数: )100(1 )0(1 )05.(. xx xx xx y 编写程序,要求输入 x 的值后,输出 y 的值。 #include void main ( ) float x,y; printf(“请输入分段函数 x:n“); scanf(“%f“, if (x=10) 程序设计基础(C 语言版 ) (第 2 版)实验指导与习题 参考答案 17 printf(“输入错误,x 超出范围!n“,y); return; /*返回操作系统*/ else if (x=0) y=x-1; else if (x void main ( ) int i, x,pos=0,neg=0,zero=0; printf(“请输入输入 10 个整数:n“); for(i=1;i0) pos+; else if (x void main ( ) int i=1,j; while(i void main ( ) int i,j; 1(a)* * * * * (b) * * * * * * * * * * * * * (c) 1 1 2 3 1 2 3 4 5 1 2 3 4 5 6 7 1 2 3 4 5 6 7 8 9 程序设计基础(C 语言版 ) (第 2 版)实验指导与习题 参考答案 19 for (i=1;i=1;i-) for (j=1;j void main ( ) int i,j; for (i=1;i void main ( ) int red,white,yellow; printf(“任意取四个球,其中必须有一个红球方案如下:n“); for (red=0;red=1) printf(“红:%d, 黄:%d, 白:%d n“,red,yellow,white); (9) 编程统计从键盘输入的字符中数字字符的个数,用换行符结束循环。 #include void main ( ) char ch,num=0; printf(“从键盘输入一行字符:n“); ch=getchar(); for (;ch!=n;) if (ch=0 (4) i=0, j=strlen(str)-1; i #define N 10 void main( ) float aN, sum=0.0, aver; int i; printf(“请输入 10 个单精度型的数:n“); for ( i = 0 ; i #define N 10 void main( ) int aN; int i,j,k; printf(“请输入 10 个整数:n“); for ( i = 0 ; i #define N 100 void main( ) char aN,bN; int i,j; printf(“请输入两个字符串(长度须 void main( ) char a255; int i; printf(“请输入一个字符串(长度须=a int i,sum=0,flag=0; printf(“请输入一个合法的整形数:n“); scanf(“%s“,a); for ( i=0 ; ai!=0; i + ) if (ai9) /*如果输入有非法的字符*/ printf(“错误:输入的是非法的整形数!n“); flag=1; break; sum=sum+(ai-0); if (!flag) printf(“该各位数字之和:%dn“,sum); (6) 编写一个班级成绩统计程序,要求: 读入全班学生的 4 门成绩,并计算每个人的平均成绩; 统计班级各门课程的平均分 程序设计基础(C 语言版 ) (第 2 版)实验指导与习题 参考答案 26 #include #define N 5 /*定义班级学生人数常量*/ #define M 4 /*定义 4 门课*/ void main( ) float aMN ,studentN, lessonM,sum ; int i,j; for ( i=0 ; i #define N 10 /*定义数组长度*/ void main( ) float aN=5.1, 2.3, 78,0 ,-55, 75; int i,k=0; for ( i=0 ; i #define N 4 /*定义数组长度*/ void main( ) 程序设计基础(C 语言版 ) (第 2 版)实验指导与习题 参考答案 28 float aNN=1, 52, 3,4,5,56.9,7,8,9.1,10,13.8,15,16; int i,j; float sum1=0,sum2=0; for ( i=0 ; i float power(float x, int y) 程序设计基础(C 语言版 ) (第 2 版)实验指导与习题 参考答案 31 int i; float result=1; for (i=1;i int isleap(int year) int leap=0; if(year%4=0 return leap; void main() int year; printf(“请输入一个合法的年份:n“); scanf(“%d“, if ( isleap(year) ) printf(“%d 是闰年!n“,year); else printf(“%d 不是闰年!n“,year); 程序设计基础(C 语言版 ) (第 2 版)实验指导与习题 参考答案 32 (3) 编一个名为 countc 函数,要求如下: 形式参数:array 存放字符串的字符型数组名 功能: 统计 array 数组中大写字母的数目 返回值: 字符串中大写字母的数目 仅红色部分即自定义函数为本题所有求的答案 #include int countc(char array ) int i,len=0; for(i=0; arrayi!=0 ; i+ ) if (arrayi=A for(i=0; s1i!=0; i+ ) s3len=s1i; len+; for(i=0; s2i!=0; i+ ) s3len=s2i; len+; s3len+1=0; return len; void main() char s140,s240,s380; int len; printf(“请输入要连接的 2 个字符串:n“); scanf(“%s%s“,s1,s2); len=link(s1,s2,s3); printf(“连接后的字符串为:%sn“,s3); printf(“其长度为:%dn“,len); (5) 编一个函数,返回一维实型数组前 n 个元素的最大数、最小数和平均值。数组、n 和最大 数、最小数和平均值均作为函数的形式参数,本函数无返回值。 注意:本题答案等学完指针章节后才能理解。 #include void find(float a,int n, float* max, float* min, float* aver) int i; *max=a0, *min=a0 ,*aver=0; for(i=0;iai) *min=ai; *aver=*aver+ai; *aver=*aver/n; void main() float a10; float max, min, aver; int i; printf(“请输入 10 个浮点数:n“); for (i=0;i #define convert(ch) (ch=A p - ) printf ( “%d n” , *p ) ; 程序功能:输入 10 个数存到数组中,然后按照相反的顺序输出所有的元素 (3) 阅读下列程序,写出程序运行的输出结果 char s = “ABCD” ; main ( ) char *p ; for ( p = s ; p = *( a+i ) ) c = *( a + i ) ; p_c = i = *a ; *a = *p_b ; *p_b = i ; i = *( a+5 ) ; *( a+5 ) = *p_c ; *p_c = i ; 程序设计基础(C 语言版 ) (第 2 版)实验指导与习题 参考答案 37 printf (“%d, %d, %d, %d, %d, %dn” , a 0 , a 1 , a 2 , a 3 , a 4 , a 5 ) ; 4. 程序设计题: (1) 编程序,输入 15 个整数存入一维数组,再按逆序重新存放后再输出。 #include void nx(int* a, int n) int *p,*q,t; for (p=a,q=a+n-1;p void main( ) 程序设计基础(C 语言版 ) (第 2 版)实验指导与习题 参考答案 38 char a255; char *p=a; printf(“输入一个字符串:n“); scanf ( “%s“, a) ; printf(“按相反次序输出其中的所有字符为:n“); while (*p!=0) p+;/*移动字符串的结束标志*/ p-;/*移动字符串的最后一个有效字符*/ for (; p=a; p- ) printf ( “%c“ , *p ) ; putchar(n); (3) 输入一个一维整型数组,输出其中的最大值、最小值和平均值。 #include #define N 10 void main( ) int aN,max,min; float aver; int *p; printf(“输入%d 个整型数:n“,N); for (p=a;p*p) min=*p; aver+=*p; aver/=N; printf(“最大值为:%dn“,max); printf(“最小值为:%dn“,min); printf(“平均值为:%fn“,aver); 程序设计基础(C 语言版 ) (第 2 版)实验指导与习题 参考答案 39 (4) 输入 3 个字符串,输出其中最大的字符串。 #include #define N 255 /*设计函数比较字符串,若 s1s2 返回 1,若 s1*q) return 1; if (*p=0 else if (stringcmp(s2,s1)=0 else printf(“最大的字符串为:%sn“,s3); 程序设计基础(C 语言版 ) (第 2 版)实验指导与习题 参考答案 40 (5) 输入 2 个字符串,将其连接后输出。 #include #define N 255 void stringcat(char* s1,char* s2) char *p,*q; p=s1;q=s2; while(*p) p+; for ( ;*q; p+,q+ ) *p=*q; *p=0; void main( ) int s1N,s2N; printf(“输入要连接的 2 个字符串:n“,N); scanf (“%s%s“,s1,s2) ; stringcat(s1,s2); printf(“连接后的目标字符串为:%sn“,s1); (6) 输入 10 个整数,将其中最大数和最后一个数交换,最小数和第 1 个数交换。 #include #define N 10 void main( ) int sN ,i,t,max,min; int *p=s; printf(“请输入 10 个整数:n“,N); for (;psi ) min=i; t=smax; smax=sN-1; sN-1=t; t=smin; smin=s0; s0=t; printf(“交换后的数组为:n“); for (p=s;pname,p-k1+p-k2) ; printf ( “nname:%s total=%f ”,a1-name,a1-k1+a1-k2) ; 更正:最后一行“printf ( “nname:%s total=%f ”,a1-name,a1-k1+a1-k2) ;” 应该改为: “printf ( “nname:%s total=%f ”,,a1.k1+a1.k2) ;” 程序设计基础(C 语言版 ) (第 2 版)实验指导与习题 参考答案 43 3. 程序设计题: (1) 设计一个程序,用结构类型实现两个复数相加。 #include typedef struct complex float real; float imag; COMP; COMP add(COMP x,COMP y) COMP z; z.real=x.real+y.real; z.imag=x.imag+y.imag; return z; void main( ) COMP a,b,c; printf ( “请输入第 1 个复数的实部与虚部:n“); scanf(“%f%f“, printf ( “请输入第 2 个复数的实部与虚部:n“); scanf(“%f%f“, c=add(a,b); printf ( “这两个复数的和为:n“); printf ( “(%f+%fi)+(%f+%fi)=(%f+%fi)n“,a.real,a.imag,b.real,b.imag,c.real,c.imag); (2) 定义一个结构类型变量(包括年、月、日)实现:输入一个日期显示它是该年第几 天。 #include struct time int year ; int month; int day; ; 程序设计基础(C 语言版 ) (第 2 版)实验指导与习题 参考答案 44 void main( ) struct time a; int i,total,monthnum12=31,28,31,30,31,30,31,31,30,31,30,31; printf ( “请输入某个日期的年月日:n“); scanf(“%d%d%d“, if(a.year%4=0 total=0; for (i=0;i*p ) *min = *p; (3) 编写函数实现对数组的前 n 个整数进行排序(7 分) void selectsort ( int *a, int n ) 程序设计基础(C 语言版 ) (第 2 版)实验指导与习题 参考答案 47 int i,j,min,t; for( i=0;i1e-6 ) pi=pi+k*t;n=n+2;t=1.0/n;k=k; /*数据处理: 4 分 */ printf ( “%f” ,pi*4 ) ; /*数据输出: 1 分 */ (3)编写函数向有序数组 a 插入一个整数 k,插入后数组仍然有序。 程序设计基础(C 语言版 ) (第 2 版)实验指导与习题 参考答案 51 void fun ( int *a,int n,int k ) /*函数首部: 1 分*/ int *p ; for(p=a+n-1;p=a;p - -) if (*pk)*(p+1)=*p;else break; /*插入前处理: 4 分 */ *(p+1)=k; /*数据插入: 1 分*/ (4)输入 10 个字符串,找出其中最长的字符串 #include “stdio.h” /*文件包含: 1 分*/ #include “string.h” void main ( ) char s1020,*p; int i; for( i=0;i 63 ? 64 65 A 66 B 67 C 68 D 69 E 70 F 71 G 72 H 73 I 74 J 75 K 76 L 77 M 78 N 79 O 80 P 81 Q 82 R 83 S 84 T 85 U 86 V 87 W 88 X 89 Y 90 Z 91 92 93 94 95 - 96 , 97 a 98 b 99 c 100 d 101 e 102 f 103 g 104 h 105 i 106 j 107 k 108 l 109 m 110 n 111 o 112 p 113 q 114 r 115 s 116 t 117 u 118 v 119 w 120 x 121 y 122 z 123 124 | 125 126 127 附 录 54 附录 B C 语言中的关键字 auto break case char const continue default do double else enum extern float for goto short signed sizeof static struct switch typedef union unsigned void volatile while 附录 C 运算符和结合性 优先级 运算符 含 义 要求运算对象的个数 结合方向 1 () 圆括号 下标运算符 指向结构体成员运算符 结构体成员运算符 自左至右 ! 逻辑非运算符 按位取反运算符 + + 自增运算符 自减运算符 负号运算符 (类型) 类型转换运算符 * 指针运算符 & 取地址运算符 2 sizeof 长度运算符 1 (单目运算符) 自右至左 * 乘法运算符 / 除法运算符 3 % 求余运算符 2(双目运算符) 自左至右 + 加法运算符 4 减法运算符 2(双目运算符) 自左至右 右移运算符 2(双目运算符) 自左至右 6 = 关系运算符 2(双目运算符) 自左至右 (续表) 附 录 55 优先级 运算符 含 义 要求运算对象的个数 结合方向 = = 等于运算符 7 != 不等于运算符 2(双目运算符) 自左至右 8 & 按位与运算符 2(双目运算符) 自左至右 9 按位异或运算符 2(双目运算符) 自左至右 10 | 按位或运算符 2(双目运算符) 自左至右 11 & 逻辑与运算符 2(双目运算符) 自左至右 12 | 逻辑或运算符 2(双目运算符) 自左至右 13 ?: 条件运算符 3(三目运算符) 自右至左 14 = += = *= /= %= = 或#include “math.h” 函数名 函 数 原 型 功 能 返 回 值 说 明 abs int abs(int x) 求整数 x 的绝对值 计算结果 acos double acos(double x) 计算 cos 1(x)的值 计算结果 x 应在1 到 1 范围内 asin double asin(double x) 计算 sin 1(x)的值 计算结果 x 应在1 到 1 范围内 atan double atan(double x) 计算 tan 1(x)的值 计算结果 atan2 double atan2 (double x, double y) 计算 tan 1/(x/y)的值 计算结果 cos double cos(double x) 计算 cos(x)的值 计算结果 x 的单位为 弧度 (续表) 附 录 56 x 函数名 函 数 原 型 功 能 返 回 值 说 明 cosh double cosh(double x) 计算 cosh(x)的值 计算结果 exp double exp(double x) 求 ex的值 计算结果 fabs double fabs(double x) 求 x 的绝对值 计算结果 floor double floor(double x) 求不大于 x 的最大整数 该 整 数 的 双 精 度 实 数 fmod double fmod (double x) 求整除 x/y 的余数 返 回 余 数 的 双 精 度 数 frexp double frexp ( double val,int *eptr) 把双精度数 val 分解为数 字部分(尾数)x 和以 2 为 底 的 指 数n , 即 val=x*2n,n 存放在 eptr 指向的变量中 返 回 数 字 部分 x 05x或#include “stdio.h” 函数名 函 数 原 型 功 能 返 回 值 说 明 clearerr void clearerr ( FILE *fp) 清除文件指针错误。指 示器 无 close int close(int fp) 关闭文件 关闭成功,返回 0 不成功,返回1 非 ANSI C 标准 附 录 59 (续表) 函数名 函 数 原 型 功 能 返 回 值 说 明 creat int creat(char *filename,int mode) 以 mode 所指方式建立 文件 成功,返回正数 否则,返回1 非 ANSI C 标准 eof int eof (int fd) 检查文件是否结束 文件结束,返回 1, 否则返回 0 非 ANSI C 标准 fclose int fclose(FILE *fp) 关闭 fp 所指文件,释 放文件缓冲区 有错返回非 0 值, 否则返回 0 feof int feof(FILE *fp) 检查文件是否结束 文件结束返回非 0 值,否则返回 0 fgetc int fgetc(FILE *fp) 从 fp 所指文件中取得 下一个字符 返 回 所得 到 的 字 符,若读入出错, 返回 EOF fgets char *fgets (char *buf, int n,FILE *fp) 从 fp 所指文件读取一 个长度为 n-1 的字符 串,存入起始地址为 buf 的空间 返回地址 buf, 若遇 文件结束或出错, 返回 NULL fopen FILE *fopen ( char filename, char *mode) 以 mode 指定方式打开 名为 filename 的文件 成功,返回一文件 指针,否则返回 0 fprintf int fprintf(FILE *fp, char *format, args) 把 args 的值以 format 指定格式输出到 fp 所 指文件中 实际输出的字符数 fputc int fputc(char ch, FILE *fp) 将 ch 输出到 fp 所指文 件 成功, 返回该字符, 否则返回非 0 值 fputs int fputs(char *str, FILE *fp) 将 str 所指字符串输出 到 fp 所指文件 返回 0,若出错返 回非 0 fread int fread(char *pt, unsigned size, unsigned n, FILE *fp) 从 fp 所指文件中读取 长度为size的n个数据 项, 存到 pt 所指内存区 返回所读的数据项 个数,如遇文件结 束或出错返回 0 fscanf int fscanf(FILE *fp, char format, args) 从 fp 所指文件中按 format格式将输入数据 送到 args 所指的内存 单元 已输入的数据个数 附 录 60 (续表) 函数名 函 数 原 型 功 能 返 回 值 说 明 fseek int fseek(FILE *fp, long offset,int base) 将 fp 所指文件的位置 指针移到以 base 为基 准、以 offset 为位移量 的位置 返回当前位置,否 则返回1 ftell long ftell(FILE *fp) 返回 fp 所指文件中的 读写位置 返回fp 所指文件中 的读写位置 fwrite int fwrite(char *ptr, unsigned size, unsigned n, FILE *fp) 把 ptr 所指的 n*size 个 字节输出到 fp 所指文 件中 写到fp 文件中的数 据项个数 getc int getc(FILE *fp) 从 fp 指文件中读入一 个字符 返 回 所读 的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论