




文档简介
1 一、 目录 一、 目录 一、 目录.1 二、 编程环境介绍.2 1. 前言:.2 2. 编程环境介绍.2 三、 福建省高等学校计算机应用水平等级考试 二级(C 语言)考试大纲3 四、 理论习题.6 1. 第一章 第二章.6 2. 第三章 数据类型、运算符和表达式.7 3. 第四章 顺序程序设计.10 4. 第五章 选择程序设计.11 5. 第六章 循环控制.14 6. 第七章 数组.15 7. 第八章 函数.18 8. 第九章 预处理命令.21 9. 第十章 指针.23 10. 第十一章 结构体与共用体.27 11. 第十二章 位运算.30 12. 第十三章 文件.30 五、 实验部分.32 1. 编程题.32 2. 填空题.40 3. 改错题.47 六、 真题训练(历届试题选编).54 1. 数据类型、运算符与表达式.54 2. 分支语句.58 3. 循环.65 4. 数组.72 5. 综合题.79 6. 程序改错.89 1) 要求.89 2) 习题.89 七、 教学大纲.99 2 二、 编程环境介绍 二、 编程环境介绍 1.1. 前言: 前言: C 是最常见的一种高级程序设计语言,高等院校理工科专业都开设“C 程序设计”课程 作为程序设计入门语言。 为此, 福建省高校计算机水平考试委员会将其列入福建省高等院校 计算机应用水平等级考试(二级 C)考试科目,旨在让学生初步掌握程序设计的方法,为今 后学习其他计算机课程打下基础,也为今后工作打下计算机应用基础。 目前,以 Turbo C 为平台介绍各种算法、试题解答的书还不多。笔者从 2005 年担任诚 毅学院工科类专业的“C 程序设计”课程教学,多年来注意搜集、整理、编写 Turbo C 有关 的算法例题、试题解答,在课堂上进行融通讲解,系统地从数值处理、图形输出、数据处理、 过程模拟、算式求值、文件(字符、 )指针处理、数字组合、图形设计八个方面详细地介绍 算法例题、试题解答程序,着重培养学生分析问题、解决问题、调试纠错的能力,让学生在 扩大计算机知识面的同时,提高实际编程能力、操作能力。 编写仓促,错误之处难免,欢迎指正。 2.2. 编程环境介绍 时间: 编程环境介绍 时间:共 120 分钟。 编程环境:编程环境:Turbo C2.0 常用快捷键:常用快捷键: ? Alt 键菜单上的红色字母可打开相应的菜单,例如: Alt+F 打开文件菜单(加载一个已存在的程序、保存程序均在此菜单下) Alt+R 打开运行菜单 ? Alt+Tab 切换考试程序与turbo C Alt+Enter 切换turbo C 窗口大小 ? Alt+F5 查看程序运行结果 F5:全屏/恢复 F6:切换活动窗口 本学期作为非计算机专业学生具体要求 19 章要求学生掌握理论的基础上自己设计程序 10 章以后要求学生理解知识点,能够读懂程序 3 三、 福建省高等学校计算机应用水平等级考试 二级(C 语言) 考试大纲 I、考试目的 三、 福建省高等学校计算机应用水平等级考试 二级(C 语言) 考试大纲 I、考试目的 本考试考查考生以下知识与能力: 本考试考查考生以下知识与能力: 1掌握语言的基本概念和语法知识; 2了解 C 语言程序与函数的结构特点,主函数及程序执行流程; 3正确使用顺序、选择、循环三种结构,具有结构化程序设计的能力; 4掌握常用算法,能运用算法描述工具流程图; 5能使用 Turbo C 集成开发环境,完成源程序的编写、编译,运行与调试程 序; 6具有综合运用以上知识编写程序,解决计算与数据处理类问题的初步能力。 II、考试内容 II、考试内容 一语言基础 一语言基础 1C 语言特点(识记); 2C 语言程序基本组成(识记): C 语言程序的结构与主函数,程序的书写格式与规范; 3基本数据类型: 标识符与基本数据类型(识记), 常量与变量(领会), 内存的概念(识记); 4基本输入、输出函数(领会): 格式输入和格式输出函数, 非格式化输入、输出函数; 5运算符与表达式(简单应用): 算术运算,增 1 与减 1 运算,关系运算,逻辑运算,条件运算, 位运算,赋值运算,类型转换,逗号运算,长度运算符, 运算符的优先级与结合性。 二程序控制结构 二程序控制结构 1C 语言的语句(识记): C 语言语句的语法及书写规范; 2顺序结构(领会): 程序设计的流程图,程序控制结构中的顺序结构,复合语句; 3分支结构(简单应用): if 结构、if 结构的多种形式,switch 结构与多分支结构; 期末复习题集 4 4循环结构(综合应用): 当型循环,直到型循环,break 语句与 continue 语句。 三构造型数据 三构造型数据 1数组(综合应用): 一维数组,字符数组,二维数组; 2结构类型: 结构类型的概念, 结构类型定义及结构变量说明, 结构变量的使用 (领会) , 结构变量的初始化,结构数组的初始化(识记); 3联合类型(识记): 联合类型的概念,联合类型定义和联合变量说明,联合类型的使用; 4枚举型(识记): 枚举型的定义和使用枚举型变量; 5typedef 的用途(识记): 使用 typedef 定义新类型名。 四指针 四指针 1指针与指针变量(识记): 指针的基本概念,指针变量的定义,指针变量的赋值; 2指针运算符(领会): 地址运算符与指针运算符、间接寻址; 3指针与数组(简单应用): 指针与一维数组,移动指针及两指针相减运算,指针比较, 指针与字符串, 指针与二维数组; 4指针数组与指向指针的指针(识记): 指针数组,定义指针数组,指针数组的应用, 指向指针的指针,定义指向指针的指针变量,指向指针的指针变量的应用; 5指针与结构(领会): 指向结构变量的指针变量,指向结构数组的指针变量。 五函数 五函数 1常见的系统库函数(识记): 输入、 输出函数 (stdio.h) : printf, scanf, getchar, putchar, puts,gets; 字符与字符串函数(string.h):strcpy, strcat, strcmp, strlen; 简单数学函数(math.h):sqrt, fabs, sin, cos, exp, log, log10, pow; 2用户自定义函数(简单应用): 函数定义、调用和说明,函数返回值,函数参数; 3函数之间的数据传递(领会): 函数数据按数值传递,函数数据按地址传递, 利用函数返回值和外部变量进行函数数据传递,结构变量作为函数参数传 递; C 语言练习题 5 4函数的嵌套调用及递归调用(领会): 函数的嵌套调用、函数的递归调用; 5局部变量与全局变量(识记): 局部变量与全局变量的定义、初始化及作用范围; 6变量的存储类型与变量的初始化(领会): 局部变量与全局变量的生存期, 静态变量与动态变量的定义、初始化、作用范围及生存期; 7编译预处理(领会): 文件包含,无参宏定义。 六文件 六文件 1文件的基本概念,C 语言中的两种文件(识记); 2文件的打开、关闭和文件结束测试,文件的读写,文件的定位(识记)。 七算法与编程(综合应用) 七算法与编程(综合应用) 1用 C 表达式或函数计算相对应的数学表达式; 2连加与连乘的计算,级数的计算; 3冒泡法排序与选择法排序; 4矩阵的简单运算与显示; 5字符串操作; 6文件编程应用。 八使用 Turbo C 集成开发环境调试程序 八使用 Turbo C 集成开发环境调试程序 1源程序的编写、编辑与改错(领会); 2集成环境下的求助 Help(识记); 3程序的编译与目标代码的生成(识记); 4程序的调试(综合应用): 单步运行程序,运行到光标处,断点设置,变量内容的跟踪、显示与修改; 5了解 Turbo C 程序的常见错误提示(识记)。 、考试说明 、考试说明 一考试形式 一考试形式 采用无纸化上机考试; 考试环境: Windows XP 简体中文版, Turbo C 2.0 或以上集成环境(IDE); 考试时间: 90 分钟。 二试卷题型结构二试卷题型结构 1选择题(20 小题) 40%; 2程序改错题(2 小题) 20%; 3程序填空题(2 小题) 20%; 4编程题(2 小题) 20%。 期末复习题集 6 四、 理论习题 四、 理论习题 1.1. 第一章 第二章 第一章 第二章 1. C 语言的函数体由( )括起来。 A) B) | C) 则表达式 !x|y 的值为( ) 。 A) 1 B) 0 C) 3 D) 4 5. 若有定义:int i=7,j=8;则表达式 i=j|ib)语句(t=a0) D) a=0 12. 以下程序段运行后 x 的值为( ) int a=3,b=6,x; x=(a=b)?a+;-b; A) 4 B) 2 C) 5 D) 6 13. 若有定义:int a=1,b=2,c=3;则执行以下程序段后 a,b,c 的值分别为( ) 。 if (a10) y=a+6; printf(“%dn”,y+a); A) 10 B) 16 C) 15 D) 11 17. 以下程序的运行结果是() 。 void main() int a,b=2,c=6; a=3; if(a6) a=a+b; else if(a=6) b=a+c; else a=b+c; printf(“%dn“,a); A) 8 B) 9 C) 5 D) 6 18. 以下程序段的运行结果是(). int s = 15; switch(s/4) case 1: printf(“One “); case 2: printf(“Two “); case 3: printf(“Three “); default: printf(“Over “); A) Three Over B) One Over C) Two Over D) Three C 语言练习题 13 19. 以下程序段的运行结果是() 。 int s=15; switch(s/4) default: printf(“Over “); case 1: printf(“One “); break; case 2: printf(“Two “); A) Two B) Over Two C) Over One D) One 期末复习题集 14 5.5. 第六章 循环控制 第六章 循环控制 1. 下面叙述正确的是( ) A) 在 for 循环中,不能用 break 语句跳出循环体 B) For 循环的循环体可包含多条语句,但必须用花括号括起来 C) For 循环是先执行循环体语句,后判断表达式 D) For 循环只能用于循环次数已经确定的情况 2. 若有定义:int i,x=0;语句 for(i=1;i0;x-); D) for(;i+=2); 5. 以下程序运行后 x 的值为() 。 int i=0,x=2; while(i+ int f(int x,int y) return(x+y); main() int a=2,b=3,c; c=f(a,b); printf(“%d+%d=%dn“,a,b,c); A) 0 B) 2+3=0 C) 3+2=5 D) 2+3=5 8. 以下程序运行后屏幕输出为( ) 。 #include int a=2,b=3; int max(int a,int b) int c; c=ab?a:b; return(c); main() int a=4; 期末复习题集 20 printf(“%d“,max(a,b); A) 2,3 B) 2 C) 3 D) 4 9. 以下程序的运行结果是( ) 。 int fun(int array44) int j; for(j=0;j void f(int i) int a=2; a=i+; printf(“%d,“,a); main() int a=1,c=3; f(c); a=c+; printf(“%d“,a); A) 4,3 B) 3,3 C) 4,5 D) 3,5 C 语言练习题 21 8.8. 第九章 预处理命令 第九章 预处理命令 1. 若有定义:#define F 2+3 ,则表达式 F*F 的值为( ) A) 17 B) 11 C) 13 D) 25 2. 下面叙述错误的是() A) “define PRICE 30”命令的作用是定义一个与 30 等价的符号常量 PRICE B) “#include”命令的作用是在预处理时将 stdio.h 文件中的实际内容代替该命令 C) C 源程序中加入一些预处理命令是为了改进程序设计环境,提高编程效率 D) 宏定义也是 C 语句,必须在行末加分号 3. 下面叙述正确的是() A) 预处理命令也是 C 语句,必须以分号结束 B) 宏展开不占用运行时间,只占用编译时间 C) 宏名必须用大写字母表示 D) 一个源程序只能有一个预编译处理命令行 4. 以下程序运行后,屏幕输出为( ) 。 #define MIN(a,b) (a)name0 C) t1-name D) 3. 下列程序段运行后,表达式()的值为 3。 struct point int x; int y; *p; struct point a3=1,2,3,4,5,6; p=a; A) *(p+2) B) p2.x C) p1.x D) p3.x 4. 若有定义: struct teacher int num; char sex; int age; teacher1; 则下面叙述错误的是() 。 A) num、sex、age 都是结构变量 teacher1 的成员 B) struct 是结构类型的关键字 C) teahcer1 是结构类型名 D) struct teacher 是用户定义的结构类型 5. 设有以下定义语句: 期末复习题集 28 struct student int num; char name10; float score; wang,zhang; 则不正确的叙述是( ) 。 A) struct 是结构体类型的关键字 B) zhang 是结构体变量名 C) wang 是结构体类型名 D) num,name,score 都是结构体类型 student 的成员名 6. 设有以下定义语句: struct student int num; char name10; float score; wang,zhang; 则变量 wang 所占的内存字节数是( ) 。 A) 14 B) 16 C) 18 D) 20 7. 若有定义: struct teacher int num; char name10; char sex; int age; float score; teacher1; 则变量 teacher1 所占用的内存字节数是( ) 。 A) 5 B) 14 C) 19 D) 20 8. 以下程序段的运行结果是() union int num1; int num2; s; s.num1=20; s.num2=30; printf(“%d”,s.num1); A) 2030 B) 30 C) 20 D) 50 9. 若有定义: union u_type int x; float y3; char z; C 语言练习题 29 a; 则变量 a 的长度是() A) 12 B) 15 C) 1 D) 4 10. 对枚举类型进行定义,不正确的是( ) 。 A) enum b1, 2, 3; B) enum aA, B, C; C) enum cD=3, E, F; D) enum dX=0, Y=5, Z=9; 11. 若有定义:enum daysun,mon,tue,wed,thu,fri,sat; ,则枚举常量 sun,mon 的值分别为( ) ; A) 0 B) 2 C) 1 D) 1 12. 若有定义:enum numa1,a2=3,a3,a4=10;,则枚举常量 a2、a3 的值分别为() 。 A) 3 4 B) 1 2 C) 2 3 D) 3 3 13. 若有定义: char ch; int j,k; enum daysun,mon,tue,wed,thu,fri,sat; int ssat; 则()对下列语句是否复合语法规则的判断是正确的。 sun=0; /*语句 1*/ j=mon+tue; /*语句 2*/ if(amon0) j+; /*语句 3*/ A) 语句 1、2、3 均错误 B) 语句 1 错误,语句 2 和语句 3 正确 C) 语句 2 正确,语句 1 和语句 3 错误 D) 语句 1、2、3 均正确 14. ()是关于 C 语言数据类型的正确叙述。 A) 不允许使用空类型 B) 枚举类型不是基本类型 C) 数组不是构造类型 D) 变量使用前应定义相应的数据类型 15. 设有如下定义语句: union u_type int i; double x; float f; ; struct str_type char str100; union u_type u2; ; 则语句“printf(“%d“, sizeof(struct str_type);”的输出结果是( ) 。 A) 100 B) 116 C) 120 D) 200 期末复习题集 30 11.11. 第十二章 位运算 第十二章 位运算 1. 对于整型变量 x,与 while(!x)等价的是( ) 。 A) while(x=0) B) while(x!=0) C) while(x!=1) D) while(x) 2. 在对于无符号数的位运算中,操作数右移一位相当于( ) 。 A) 操作数除以 2 B) 操作数乘以 2 C) 操作数除以 4 D) 操作数乘以 4 3. 若有定义:int a=20,b=28,c;则执行语句 c=(ab) main() FILE *fp; long int n; fp=fopen(“wj.txt“,“rb“); fseek(fp,0,SEEK_END); n=ftell(fp); fclose(fp); printf(“%ld“,n); A) 计算文件 wj.txt 的起始地址 B) 计算文件 wj.txt 的终止地址 C) 计算文件 wj.txt 内容的字节数 D) 将文件指针定位到文件末尾 期末复习题集 32 6. 标准函数 fgets(s, n, f)的功能是( ) 。 A) 从文件 f 中读取长度为 n 的字符串存入指针 s 所指的内存 B) 从文件 f 中读取长度不超过 n-1 的字符串存入指针 s 所指的内存 C) 从文件 f 中读取 n 个字符串存入指针 s 所指的内存 D) 从文件 f 中读取长度为 n-1 的字符串存入指针 s 所指的内存 五、 五、 实验部分实验部分 1. 1. 编程题 编程题 #include #include double func(double x) /*/ return (3*x*sin(x)+tan(x)/(1.5+fabs(x); /*/ void main() clrscr(); printf(“func(0.26) = %6.3lfn“, func(0.26); printf(“func(5.00) = %6.3lfn“, func(5.00); printf(“func(8.50) = %6.3lfn“, func(8.50); getch(); #include C 语言练习题 33 int fun(int a,int n,float *f) /*/ int i,count=0; float sum=0; for(i=0;i #include double func(double x) /*/ return (exp(x)+sin(x-6)/(x*x+1); /*/ void main() clrscr(); 期末复习题集 34 printf(“func(0.26) = %6.3lfn“, func(0.26); printf(“func(5.00) = %6.3lfn“, func(5.00); printf(“func(8.50) = %6.3lfn“, func(8.50); getch(); #include #include int find(int a,int n,float x) /*/ int i,j=0; double min=fabs(a0-x); for(i=0;ifabs(ai-x) min=fabs(ai-x);j=i; return aj; /*/ void main() int a = 23,40,8,32,18,2,9,16,27; int i,k,n = sizeof(a)/sizeof(int); float x=20.3; printf(“Array a:n“); for(i=0;i #include double fun1(float x) /*/ C 语言练习题 35 if(x #include int fun(int bg,int fn) /*/ int i,j,k,count=0; for(i=bg;ik) count+; return count; /*/ void main() int count; count=fun(100,500); printf(“nThe total of prime is %d“,count); getch(); 期末复习题集 36 #include #include double fun1(float x) /*运行结果与示例不符,若要与示例相同则 1.0/3 改成 1/3 */ if(x double fun(int n) /*/ int i,j=1; double sum=0; for(i=1;i #include double fun1(float x) /*/ if(x #include int bTrue(int a4,int n) /*/ int i,j; for(i=0;i #include double fun1(float x) /*/ if(x #include int fun(int a,int n) /*/ int i,j,sum=0,max; for(i=0;i #include void main() /*/ int /*/ a,b,temp; scanf(“%d,%d“, if (ab) /*/ if(a%3=0) printf(“ %d “,a); printf(“n“); getch(); C 语言练习题 41 #include double fun(/*/ int n /*/) double y = 0.0; int i,j; for(i=1;i void main() int m,n; for(m=1; /*/ m=m*2-1;n-) printf(“* “); getch(); 期末复习题集 42 #include main() void fun(int); int v=300; fun(/*/ v /*/); getch(); void fun(int m) int c1,c2; for(c1=1;/*/ c1 #include void main() int num1,num2,ans,flag; char op; clrscr(); printf(“Please input an expression:“); scanf(“%d%c%d“, /*/ flag=0; /*/ switch(op) /*/ case +: ans=num1+num2; break; case -: ans=num1-num2; break; case *: ans=num1*num2; break; case /: ans=num1/num2; break; default: C 语言练习题 43 printf(“Error!n“); flag=1; if /*/ (!flag) /*/ printf(“%d %c %d = %dn“,num1,op,num2,ans); getch(); #include #include void main() char src40,tag40; void ch_pw( ); printf(“Please input a string: “); gets(src); strcpy(tag,src); ch_pw( tag ); printf(“nThe source string: %sn“,src); printf(“nThe target string: %sn“,tag); getch(); void ch_pw(/*/ char str /*/) char tab42=a,d,s,f,d,a,f,s; int j=0,i; while( strj ) for(i=0;i #include void main() char str80; char c; int i; /*/ i=0; /*/ printf(“nPlease input the string: “); while(c=getchar()!=n) if(c=A for(i=0;/*/ i #include void main() /*/ char /*/ str80; int i,len, sum=0; printf(“nPlease input the string: “); gets(str); len = strlen(str); for(i=0; i=A int a,b,k; printf(“Enter a b: “); 期末复习题集 46 scanf(“%d%d“, k=hcf(/*/ a,b /*/); printf(“H.C.F=%d n“, k); getch(); int hcf(int x,int y) int r; r=x%y; while( r!=0 ) x=y; y=/*/ r /*/; r=x%y ; return (/*/ y /*/); #include #include void main() char s1100, s2100; int i,len; printf(“Please input string: n“); gets(s1); len = strlen(s1); for(i=0; i= 1 p1=/*/ s1 /*/; p2=s2; while(*p1) p1+; while(*p2) *(p1+) = *(p2+); void main() char str160=“Nothing “, str2=“final“; sct(/*/ str1 /*/ ,str2); printf(“n%sn“,str1); getch(); 3.3. 改错题 改错题 #include void main() int a,b,c; /*/ float f; /*/ clrscr(); printf(“Please input a b :“); scanf(“%d%d“,/*/ f=/*/ (float)a/b; /*/ c=(int)(f-(int)f)*10); printf(“n%f %dn“,f,c); getch(); 期末复习题集 48 #include void find(/*/int m /*/) int a1,a2; a1=m%10; a2=m/10; if(m%3=0 void main() int k; for(k=10;k void main() /*/ int a,tag; /*/ int num1=0,num2=0; clrscr(); printf(“please input numbers :“); scanf(“%d“,/*/ tag=a; while(a) scanf(“%d“, /*/ if(!a) /*/ continue; else if(atag) num2+; printf(“n%d %dn“,num1,num2); getch(); #include long int fsum(int n) C 语言练习题 49 long int k; if(n=1) /*/ k=1 /*/; else k=n*fsum(n-1); return (/*/ k /*/); void main() int i; long int sum; sum=0; for(i=1;i void main() int i,a=0; /*/char c1,c2; /*/ clrscr(); printf(“Enter an 8 bit binary number :“); c2=getchar(); /*/ for(i=1;i void main( ) int i,n; 期末复习题集 50 /*/ n = 0; /*/ for(i=10;i void main() /*/ int a10; /*/ int i,j,k,x; printf(“Enter 10 numbers:“); scanf(“%d“,/*/ a0=x; for(k=1;kx) break; if(ii;j-) aj=aj-1; ai=x; /*/ for(i=0;i #include int fun( /*/ float a,float b,float c /*/) float t; int mk = 0; if(c void main() int a10=0; /*/ int i, j, k,temp; /*/ printf(“Enter 10 numbers:“); /*/ for(k=0;kaj) k=j; if(k!=i) /*/ temp=ai;ai=ak;ak=temp; /*/ for(i=0;i void main() float a,b,c,max; float fmax(float,float,float); printf(“Please input 3 numbers:n“); scanf(“%f%f%f“, max=/*/ fmax(a,b,c) /*/; printf(“The max number is:%.2fn“, max); getch(); /*/float fmax(float x,float y,float z) /*/ float m1,m2; m1=(yz)?y:z; m2=/*/ (xm1)?x:m1; /*/ return(m2); #include void main() int a20=1,3,7,9,12,14,23,26,34,43,45,47,49,56,58,59,78,79,87,89; int left,right,mid,q,count; left=0 ; C 语言练习题 53 /*/ right = 19;/*/ printf(“please input a number:“); scanf(“%d“,/*/ count=1; while(left #include int fun(/*/ float r, float x,float y /*/) if ( sqrt(x*x+y*y) 0):n“); scanf(“%f“, printf(“Please input the dot(x,y):n“); scanf(“%f%f“, bIn = fun(r,x,y); if(/*/ bIn != 0 /*/) printf(“in the circle!n“); 期末复习题集 54 else printf(“out of the Circle!n“); getch(); 六、 真题训练(历届试题选编) 六、 真题训练(历届试题选编) 1.1. 数据类型、运算符与表达式 数据类型、运算符与表达式 #include #include void main() int x; /*/ float f; /*/ printf(“Input an integer: “); scanf(“%d“, f = /*/ (fabs(x)-2)/(x*x+1) /*/ ; printf(“F(x)=%fn“,f); getch(); #include main() int x; printf(“Please input a number:n“); scanf(“%d“,/*/ printf(“%d*%d=%dn“, x,x,/*/x*x /*/); getch(); C 语言练习题 55 #include #include double fun1(double x) /*/ return (1+sin(x)+exp(x)/(1+x); /*/ void main() clrscr(); printf(“fun1(0.76) = %8.3lfn“, fun1(0.76); printf(“fun1(3.00) = %8.3lfn“, fun1(3.00); printf(“fun1(3.76) = %8.3lfn“, fun1(3.76); #include #include double fun1(double x) /*/ return (exp(x)+fabs(x-6)/(x+1.3); /*/ void main() clrscr(); printf(“fun1(0.76) = %8.3lfn“, fun1(0.76); printf(“fun1(3.00) = %8.3lfn“, fun1(3.00); printf(“fun1(3.76) = %8.3lfn“, fun1(3.76); 期末复习题集 56 #include #include /*/ double /*/ fun(float a,float b,float c) float s,area ; s = /*/ (a+b+c)/2 /*/; s = s*(s-a)*(s-b)*(s-c); if( s /*/ #include /*/ double fun(double x) /*/ double f; f=x*x-2*x+6; return(f); /*/ C 语言练习题 57 void main() double x,y1,y2; clrscr(); printf(“Please input x:“); scanf(“%lf“, y1=fun(x+8); y2=fun(/*/ sin(x) /*/); printf(“nf(x+8)=%.3lf“,y1); printf(“nf(sinx)=%.3lf“,y2); getch(); 17. 求方程中的较大的根 打开程序 cprog091.c,完成其中的( )f函数,使其返回方程 2 0axbxc+=的两个根中较大的根, 求根公式为: 2 1,2 4 2 bbac x a =,其中假设:0a ,且 2 40bac。 答案: #include #include double f(float a,float b,float c) /*/ double x1=(-b+sqrt(b*b-4*a*c)/(2*a); double x2=(-b-sqrt(b*b-4*a*c)/(2*a); return x1x2?x1:x2; /*/ void main() float x; printf(“The bigger root is %.2fn“,f(1,5,6); getch(); 期末复习题集 58 2.2. 分支语句 分支语句 #include #include double fun1(double x) /*/ if(x + + 0 2)sin( 2 . 3 00 x x x x 输入:12 32.25 0.113 输出:f (12.000)=10.387 f (32.250)=12.935 f (0.113) =1.568 #include #include double f(float x) /*/ if(x #include double f(float x) /*/ 期末复习题集 60 if(fabs(x) #include double f(float x) /*/ if(fabs(x) #include float fun(float a,char flag,float b) /*/ switch(flag) case +: return a+b; case -: return a-b; case *: return a*b; case /: return a/b; /*/ void main() float a,b; printf(“Please input two numbers:n“); scanf(“%f%f“, printf(“%.2f+%.2f=%.2fn“,a,b,fun(a,+,b); printf(“%.2f-%.2f=%.2fn“,a,b,fun(a,-,b); printf(“%.2f*%.2f=%.2fn“,a,b,fun(a,*,b); printf(“%.2f/%.2f=%.2fn“,a,b,fun(a,/,b); getch(); 打开程序 cprog071.c,完成其中的( )f x函数,使其对输入的一个月工资数额,求应交税款,设应交税款 的计算公式如下: 0 x1600 (x-1600)*5%-25 16003100 例如:输入:1825 输出:()182511.25f= 期末复习题集 62 输入:2700 输出:()270085.00f= 输入:5655 输出:()5655483.25f= #include #include double f(float x) /*/ double y; if(x+ + 0)2( 0)2( ln 2 xx xx x x e 如输入-1.2 则输出 f (-1.200)=0.241 输入 6 则输出 f (6.000)=19.879 #include #include double f(float x) /*/ if(x #include int fun(/*/ float a,float b,float c /*/) float temp; int bTrue = 0; if(a void main() double x;int n; double fun(double x,int n); printf(“Please enter x,n:“); scanf(“%lf%d“, printf(“fun=%lfn“,fun(x,n); getch(); double fun(double x,int n) /*/ if(n=0) return 1; else if(n=1) return x; else return (2*n-1)*x-fun(x,n-1)-(n-1)*fun(x,n-2)/n; /*/ C 语言练习题 65 3.3. 循环 循环 #include void main() int a,b,k; int plu = /*/ 403 /*/; for(a=1; a #include /*/ void main() /*/ float x,x0,f,f1; x=1.5; do x0=x; f=(2*x0-4)*x0+3)*x0-6; f1=(6*x0-8)*x0+3; x=x0-f/f1; /*/ while /*/(fabs(x-x0)=1e-6); printf(“the root is: %.2fn“,x); #include void main() double pi=0; 期末复习题集 66 long i, sign=1; for(i=1;i void main() int n,a,b; /*/ a=0; b=0; /*/ scanf(“%d“, while(/*/ n!=0 /*/) if(n0) a+; else /*/ b+; /*/ scanf(“%d“, printf(“Positive integer: %d, negative integer: %dn“,a,b); getch(); #include #include int prime(int n) int k,flag=1; for(k=2; k0的圆内. #include #include int fun(/*/ float r /*/,float x,float y) int bIn; bIn = /*/ sqrt(x*x
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024中国船舶集团总部业务岗位人员公开招聘31人开启笔试参考题库附带答案详解
- 度安徽政府网站绩效评估报告
- 安徽省淮北市五校联考2024-2025学年八年级下学期期中道德与法治试题(原卷版+解析版)
- 2025年湖北省襄阳市宜城市中考模拟化学试题(原卷版+解析版)
- 【安联Allianz】2025重新思考气候适应以实现全球韧性报告
- 教学副校长在教师会上讲话:从常态课入手点燃学生思维力的“引擎”
- 立秋节气的传承与创新
- 立春文化新媒传播
- 2025电梯平面广告投放合同范本
- 2025南京新劳动合同范本【江北新区】
- GB/T 17395-2008无缝钢管尺寸、外形、重量及允许偏差
- GB/T 11834-2011工农业机械用摩擦片
- 全文《中国式现代化》PPT
- 药品零售企业许可事项申请表模板
- 经尿道前列腺剜除术讲解
- 必修二英语单词默写
- 新人教版四年级数学下册总复习专题一《四则运算及运算定律》课件
- 宋词欣赏《虞美人·听雨》课件
- 混合痔病历范文
- 110kV线路光缆施工方案及安全管控
- 35KV高压开关柜买卖合同
评论
0/150
提交评论