admin 管理员组

文章数量: 887032


2024年1月23日发(作者:export怎么用)

第一章 基础知识一.填空1.每个C程序都必须有且仅有一个________ 函数。2.C语言程序开发到执行通常要经过6个阶段即编辑、预处理、________、 链接 、加载和执行。3.软件是程序,以及______、使用和维护所需要的所有文档。4.国标中规定:“计算机程序是按照具体要求产生的适合于计算机处理的_________”。5.程序设计语言按照书写形式,以及思维方式的不同一般分为低级语言和________两大类。6.C语言是由________组成的。7. C语言的函数可分为主函数main、标准库函数和_________。8.一个函数是由两部分组成的,即:________和 函数体。9..编译是将C语言所编写的源程序________成机器代码,也称为建立目标代码程序的过程。10.程序是由某种程序设计语言编制出来,体现了编程者的控制思想和对计算机执行操作的要求。不同的任务功能,就会需求不同的软件程序,如:控制计算机本身软硬件协调工作,并使其设备充分发挥效力,方便用户使用的系统软件程序,称为操作系统;而为办公自动化(OA)、管理信息系统(MIS)、人工智能、电子商务、网络互联等等应用而开发的软件程序,统称为_________。11. 机器语言是以__________形式表示的机器基本指令的集合,是计算机系统唯一不需要翻译可以直接识别和执行的程序设计语言。12.与机器语言相比,使用汇编语言来编写程序可以用_______来表示指令的操作码和操作对象,也可以用标号和符号来代替地址、常量和变量。13.在编译程序之前,凡以____开头的代码行都先由预处理程序预处理。14. C程序的执行均是由执行_________开始。15.函数体即为包含在{ }内的部分。它分为________和为完成功能任务由若干个C语句组成的执行部分。16.C语言程序中一条简单语句是以________字符作为结束符的。17.C语言是结构化、________的程序设计语言。18.由于计算机硬件不能直接识别高级语言中的语句,因此,必须经过“_______程序”,将用高级语言编写的程序翻译成计算机硬件所能识别的机器语言程序方可执行。19.用高级语言编写的程序需翻译成计算机硬件所能识别的机器语言程序方可执行。所以说,用高级语言进行程序设计,其编程效率高,方便易用,但_______没有低级语言高。20.第一个系统体现结构化程序设计思想的教学工具语言是_______语言。解答:1. main() 2. 编译 3. 开发 4. 指令序列 5. 高级语言 6. 函数 7. 自定义函数

8. 函数首部 9. 翻译 10. 应用软件 11. 二进制代码 12. 助记符 13. # 14. main函数 15. 声明部分 16. ;(或分号) 17. 模块化 18. 翻译 19. 执行速度 20. PASCAL二.阅读程序写结果;三.补充程序;四.改错题;五.编程一;六.编程二;第二章 常量、变量和表达式

一.填空1.以16位计算机为例,若定义long int a; 则变量a占______个字节的内存空间。2.以16位计算机为例,若定义double a; 则变量a占______个字节的内存空间。3.以16位计算机为例,若定义long double; 则变量a占______个字节的内存空间。4.在______位机,int型占4个字节。5.C语言的数据类型有:基本数据类型、构造数据类型、枚举类型、______、空类型。6.在C语言中,基本数据类型有:______。

7.整型常量046转换为十进制数等于______ 。

8.整型常量054转换为十进制数等于______ 。9.整型常量0x125转换为十进制数等于_____。

10.整型常量0x7C转换为十进制数等于______。

11.整型常量39转换为八进制等于______。12.实数473.468写成规范化指数形式,则应为______。

13.实数0.0453写成规范化指数形式,则应为_____。

14.将0x123转换为二进制等于______。

15.字符’A’表示成十六进制等于_____。

16.在C语言中,称代表常量的标识符为______。

17.C语言中是用编译预处理命令______来定义符号常量18.在C语言中,以反斜杠符()开头,后跟字符的字符序列,称之为_____,主要用来表示控制及不可见的字符或者一些图形符号。19.语句printf("106")执行的结果输出是______。

20.语句printf(“b”)执行的结果输出是______。

21.语句printf(“b”)执行的结果输出是______。

22.语句printf("102")执行的结果输出是______。

23.若有char ch1; ch1='a'+4; 则语句printf("%c",x)的输出结果为______。

24.字符串常量“Hello, everyone!”占据的内存空间为______个字节25.字符串常量“Hello,Bob!”占据的内存空间为 ______个字节。26.十进制整型常量由0~9个数据组成,但不能以______开始,没有小数部分27.十六进制常量由0~9和______组成ed long类型常量通常以______为后缀29.实型常量通常有小数形式和______两种表达方式30.C语言中是用编译预处理命令______来包含其他源文件31.为了表示字符串的结束,系统自动在字符串的最后加一个______,但不被输出32.C语言中,其值可被改变的量称为变量,它具有三个基本要素:变量名、______和变量值。33.C语言规定,变量的标识符只能由字母、数字和下划线组成,且不能以______开头。34.在16位机中,sizeof(“hellon”)等于______。

35.在16位机中,printf(““hello””)等于_____。

36.字符变量在内存中占用______个字节的存储空间。37.若有定义int x=27, y=6; 则表达式 x/y的值为______。38.若有定义int x=47, y=8; 则表达式 x%y的值为______。39.若有定义char ch1='A',ch2,ch3; 执行ch2=ch1++; ch3=++ch1; printf("ch1=%c, ch2=%c",ch1,ch2); 则输出为______。

40.若有定义char ch1='A',ch2,ch3; 执行ch2=ch1++; ch3=++ch1; printf("ch2=%c, ch3=%

c",ch2,ch3); 则输出为______。

41.若有定义int i=5, j, k; 执行j=i--; k=--i; printf("i=%d, j=%dn", i, j); 则输出为______。

42.表达式 (int)(13.7+25.6)/4%5的值是______。

43.表达式 3.6-5/2+1.2+5%3的值是______。

44.表达式54%10/2+4.0*(8/5) 的值是______。

45.若定义int x; double b=5.45; 执行x=b后,则x的值为______。

46.若定义int y; char c='A'; 执行y=c后,则y的值为______。

47.若定义 int a=8; float b=2.5; 则a/(int)(b)的值为______。

48.若a=5,则执行a*=7-3语句后,a的值是______。

49.若int a=1,b=0,c=4,d=2; 则表达式(a>b ? a:b)&&(c-d)的值为______。

50.已知a = 0 ,表达式 a = 1?b = 1:b = 0; 执行后,b的值是_____。

51.若定义int m=7,n=12; 则表达式n%=m-m%5的值是______。

52.若定义int a=8; float b=4.5;执行a*=a/=a-b后,a的值为______。

a=2; !a++的值为_____。

a=0; !++a的值为______。

a=7;float b=4.5;则printf(“%d”,a*=a/=a-b)的值为______。

k=7;float a=2.5,b=4.7;则表达式a+k%3*(int)(a+b)%2/4的值为______。

57.#define MM(a,b) (a-b)?a:b int a=2,b=6;printf(“%dn”,MM(a,b))的值为______。

58.在32位机中,int a=4,b=7; printf(“%0x”,a-b)的值为:______。

x,y,z; x=y=2;z=3;y=x++-1;printf(“%d,%d”,x,y)的值为: ______。

i=2,j; printf(“%d”,j=i<1)的值为:______ 。

解答:1. 4;2. 4;3. 10;4. 32;5. 指针类型;6. int、float、double、char;7. 38;8. 44;9. 293;10. 124;11. 047;12. 4.734680e+002;13. 4.530000e-002;14. 100100011;15. x41/41H;16. 符号常量;17. #define;18. 转义字符常量;19. F;20. b;21. b;22. B;23. e;24.

16;25. 11;26. 0;27. A~F;28. U;29. 指数形式;30. #include;31. “0”;32. 变量类型;33. 数字;34. 7;35. “hello”;36. 1;37. 4;38. 7;39. ch1=C, ch2=A;40. ch2=A, ch3=C;41. i=3, j=5;42. 4;43. 4.800000;44. 6.000000;45. 5;46. 65;47. 4;48. 20;49. 1;50. 1;51. 2;52. 4;53. 0;54. 0;55. 4;56. 2.500000;57. 2;58. fffffffd;59. 3,1;60. 0二.阅读程序写结果;三.补充程序;四.改错题;五.编程一;六.编程二;第三章 顺序结构;一.填空1.C语言的语句可分为5类,它们是:控制语句、____________、函数语句、符合语句和空语句。2.常用于字符输入的函数为:________________ 。3.常用于字符输出的函数为:________________。4.常用于字符串输入的函数为:________________。5.常用于字符串输出的函数为:________________。6.格式输入函数的一般形式为:________________ 。7.格式输出函数的一般形式为:________________ 。和scanf是标准的库函数,它们的函数原型在头文件________________中。

9.有char ch,则从键盘给ch赋值的格式输入语句为:________________。10.如果要输出字符串常量“HelloWord!”,则格式输出语句为:________________。11.设有定义:long x=-123456L;,请写出能够正确输出变量x值的语句________________。12.若有int a,b; ,想通过scanf("%d%d",&a,&b);输入语句给a赋于1,给b赋于2,则从键盘输入数据的形式是________________。13.若有int i,j; scanf("i=%d,j=%d";&i,&j); ,要求给i赋10,给j赋20,则应该从键盘输入_______。14.已知i、j、k为int型变量,若从键盘输入:1,2,3<回车>,使i的值为1、j的值为2、k的值为3,请写出正确的输入语句________________ 。15.有int m,n,p; scanf("m=%dn=%dp=%d",&m,&n,&p); printf("%d%d%dn",m,n,p); 若想从键盘上输入数据,使变量m中的值为123,n中的值为456,p中的值为789,则正确的输入是___________。16.有 int a; float b, c; scanf("%2d%3f%4f",&a,&b,&c); printf("na=%d, b=%f, c=%fn", a, b, c);,若运行时从键盘上输入9876543210<回车>,则程序的输出结果是_____________。17.有 int m=0256,n=256; 则 printf("%o %on",m,n); 的输出结果是__________________。18.有int x=102,y=012; , 则printf(“%2d,%2dn”,x,y); 的输出结果是____________。19.有定义和语句:int a; char c=10; float f=100.0; double x; a=f/=c*=(x=6.5); 则printf("%d

%d %3.1f %3.1fn",a,c,f,x); 的输出结果是_____________________。20.若有定义和语句:int m=0xabc,n=0xabc; m-=n; 则printf("%on",m);的输出结果是___。21.若有int m=32,n=032; ,则printf("%d,%xn",m,n); 执行后输出结果是______________。22.若有 int a=1234; ,则 printf("%2dn",a); 的输出结果是_________________。23.若变量已正确说明为float类型,要通过语句scanf(“%f %f %f ”,&a,&b,&c);给a赋于10.0,b赋予22.0,c赋予33.0,不正确的输入形式是_____________________ 。A) 10 <回车>22<回车>33<回车> B) 10.0,22.0,33.0<回车>C) 10.0<回车> 22.0 33.0<回车> D) 10 22<回车> 33<回车>24.若有 int x=3,y=1; 则printf("%d %dn",x++,y+2); 的输出结果是________________。25.若有定义和语句:double d; float f; long l; int i; i=f=l=d=20/3; 则 printf("%d %ld %f %f n",

i,l,f,d);的输出结果是(小数点后只写一位) _____________________。26.以下说法中正确的是 _____________________。A) #define和printf都是C语句;B) #define是C语句,而printf不是;C) printf是C语句,但#define不是;D) #define和printf都不是C语句27.若有 int k=17; ,则 printf("%d,%o,%x n",k,k,k);的输出结果是________________。28.以下叙述中正确的是_____________________ 。A) 输入项可以是一个实型常量,如:scanf("%f",3.5);B) 只有格式控制,没有输入项,也能正确输入数据到内存,例如:scakf("a=%d,b=%d");C) 当输入数据时,必须指明变量地址,例如:scanf("%f",&f);29.若有定义和语句:int u=010,v=0x10,w=10;则printf("%d,%d,%dn",u,v,w); 输出结果是_____________________。30.若有int a=1,b=4,c=2; float x=10.5, y=4.0, z; z=(a+b)/c+sqrt((double)y)*1.2/c+x; ,则printf("%fn",z); 的输出结果是_____________________ 。31.若有int a=2,c=5; ,则printf("a=%%d,b=%%dn",a,c);的输出结果是________________。32.有char c; int n=100; float f=10; double x; x=f*=n/=(c=50); 则printf("%d %fn",n,x); 的输出结果是_____________________。

33.有int i=0,j=0,k=0; scanf("%d%*d%d",&i,&j,&k); printf("%d%d%dn",i,j,k); 若从键盘输入:10 20 30<回车>。输出结果是_____________________。34.若有int a,b,c; a=25; b=025; c=0x25;,则printf("%d %d %dn",a,b,c); 的输出结果是___________。35.有以下语句段int n1=10,n2=20; printf(“________________”,n1,n2);

要求按以下格式输出n1和n2的值,每个输出行从第一列开始,请填空。n1=10 n2=2036.若有语句int i=-19,j=i%4; 则printf("%dn",j);的输出结果是_____________________。37.有int a=0; a+=(a=8); 则printf("%dn",a);的输出结果是_____________________。38.有int a=1, b=2; a=a+b; b=a-b; a=a-b;则printf(“%d,%dn”, a, b );的输出结果是__________。39.有unsigned short a=65536; int b;,则printf(“%dn”,b=a);的输出结果是________。40. 语句printf("10289n");的数据结果为:__________________ 。解答:1.表达式语句;r( );r( );( );( );(“格式控制字符串”,地址表列);(“格式控制字符串”,输出表列);.h; (“%c”,&ch); (“%s”,HelloWord!);或者:printf (“HelloWord!”);(“x=%1dn”,x);12.1

2;13.i=10,j=20;(“%d,%d,%d”,&i,&j,&k);15.m=123n=456p=789;16.a=98, b=765.000000, c=4321.000000;17.256 400;18.102,10;19.1 65 1.5

6.5;20.0;21.32,1a;22.1234;23.B;24.3 3;25.6 6 6.0

6.0;26.D;27.17,21,11;28.C;29.8,16,10;30.13.700000;31.a=%d,b=%d;32.2

20.000000;33.10300;34.25 21 37;35.n1=%dnn2=%d;36.-3;37.16;38.2,1;39.0;40.B89;二.阅读程序写结果;三.补充程序;四.改错题;五.编程一;六.编程二;第四章 选择结构一.填空1.在if, while, case, do, else 等关键字中,用于选择结构的有( ).2.已知 a = 1; 那么 if ( a = 2) printf("%d", 2); else printf("%d", 1); 的输出结果是( ).3.已知 char a = 'A'; 那么 if ( a > 65) printf("%s", "bigger"); else printf("%s", "smaller"); 的输出结果是( ).4.表示“x≥ y≥ z”的C语言表达式是 ( )。5.在C语言中,用于实现选择结构的语句有( )语句和( ) 语句。6.判断两个浮点型变量x和y是否相等一般用:if( <1e-6 )… 。7.设有程序段: t=6;a=7;b=8; if(a=b) t=a;,这段程序执行后,t的结果是( )。8.设a=1,b=2,c=3,d=4,则表达式:a>b?a:c>d?a:d的结果为( ) 。9.表达式98 && 8 && 31 && (98 - 'a')的值为( )。10.若int a = 3; 则表达式 (a > 2)&& ! ('D'> 69) 的值为( )。解答:答案此处无,我也不知道为什么,是不是不考我也无从知晓。二.阅读程序写结果1. #include void main( )

{

int x,y,t; x=7;y=9; if(xvoid main( ){

int x=1,a=2,b=3;

switch(x){

case 1: a--; break;case 2: b++; break;case 3: a++;b++;}printf("na=%d,b=%dn",a,b);}3. #include void main( ){char ch1 = 'E';if(ch1 >= 'A')ch1++; elsech1+=32;

printf("ch1 = %cn", ch1);}4. #include void main( ){

int x,y,t;x=5;y=3;

if(x>y){

t=x;x=y;y=t;} printf("%d,%dn" , x,y );

}5.#include int main(){ int a,b,c,m; printf("Enter three integers:"); scanf("%d%d%d",&a,&b,&c);

if(a<=b) m=a; else m=b; if(c6.#include int main(){char ch1='a',ch2='B',ch3='E'; if(ch1>ch2)

if(ch2>ch3)ch3++;else --ch3;

printf("ch3=%cn",ch3); return 0;

}7.#include int main(){ float x,y; scanf("%f",&x); switch((int)x/10) { case 0: y=1.0; printf("y=%fn",y);break; case 1: y=2*x+1; printf("y=%fn",y);break; case 2: y=3*x*x+2; printf("y=%fn",y);break; default: printf("No definition.n"); } return 0; }输入:15.3<回车>8.#include int main(){char ch1='A',ch2='B'; switch(ch1)

{ case 'A': switch(ch2){

case 'B': printf("Good!n");break; case 'A': printf("Better!n");break;} case 'B': printf("Best!n"); break;} return 0;

}9.#include void main(){

float score;score = 100;

if (score<60) printf("En");elseswitch( ( int ) score / 10 ){ case 10:

case 9: printf("An");

case 8: printf("Bn");

case 7: printf("Cn"); break;

case 6: printf("Dn"); break;default: printf("Errorn");}}10.#include void main(){int i=0,a=2;if(i==0)

printf(“**”); elseprintf(“$$”); printf(“*”);}11.#includevoid main(){int m=10,n=0,p=4,q=20;

if (n) q=15-m;else q=25+m;else if (p)q=q+p;printf(“q=%dn”,q);if (m)

}12.#includevoid main(){ int a=1,b=0; switch(a) { case 1: switch (b) { case 0: printf("**0**"); break; case 1:printf("**1**");break;

}

case 2: printf("**2**");break; }}13. #includeint main( ){

int a=2,b=7,c=5;

switch (a>0){case 1: switch (b<0){case 1: printf("@"); break ;case 2: printf("!"); break ;}case 0: switch (c==5){case 1: printf("*") ; break ;default : printf("#") ; break ;}default : printf("&");}printf("n");return 0;

}14.#includeint main(){

int a=0,b=1,c=0,d=20; if(a) d=d-10; else if (!b) if(!c) d=15; else d=25; printf("d=%dn",d); return 0; }15. #includeint main(){ int a=1; switch(a){ case 0: printf("**0**");break; case 1:printf("**1**");break;

case 2:printf("**2**");break; } return 0; }16. #include int main(){ int x, y; scanf("%d",&x); y = x>12 ? x + 10 : x - 12; printf("%dn", y); return 0; }输入:12<回车>17. #include int main(){

float x, y; char op; double r; scanf("%c%f%f",&op,&x,&y); switch(op) { case '+': r = x + y; break; case '-': r = x - y; break; case '*': r = x * y; break; case '/': r = x / y; break; } printf("%.1f", r); return 0; }输入:3.5<回车>18. #include "stdio.h"void main( ){

int a=7; if(a>9 || a<10)

a=a%3; printf("a=%d", a);}19. #includevoid main(){

int a=20; switch(a%3) {

case 0: printf("0"); case 1: printf("1"); case 2: printf("2"); default: printf("3"); } printf("4");}a=a/3; else

20. #include void main(){ int a=2,b=5,c=8,t; if ( a < b ) { t = a; a = b; b = t; } if ( b < c ) { t = b; b = c; c = t; } if ( a < b ) { t = a; a = b; b = t; } printf( "%d,%dn", a++, --c );}解答:1. 运行结果:9,7;2. a=1,b=3;3. ch1= F;4. 3,5;5. m=21;6. ch3=D;7. y=31.600000;8.

Good!Best!;9. A B C;10. ***;11. q=35;12. **0****2**;13. *&;14. d=20;15.

**1**;16. 0;17. 0.6;18. a=2;19. 234;20. 8,1;三.补充程序1. 根据输入字符的ASCII码来判别字符的类别。由ASCII码表可知ASCII值小于32的为控制字符。在“0”和“9”之间的为数字,在“A”和“Z”之间为大写字母, 在“a”和“z”之间为小写字母,其余则为其它字符。#include"stdio.h"#include"string.h"int main(){char c;printf("input a character: "); _____________________________________________

if(c<32) printf("This is a control charactern");else if_____________________________________________

printf("This is a digitn");else if _______________________________________

printf("This is a capital lettern");else if(c>='a'&&c<='z') printf("This is a small lettern"); ____________________________________________

printf("This is an other charactern"); return 0; }2. 计算器程序。用户输入运算数和四则运算符, 输出计算结果.#include"stdio.h"int main(){float a,b;____________________________________________;printf("input expression: a+(-,*,/)b n");scanf("%f%c%f",&a,&c,&b);switch(c){

case '+': printf("%fn",a+b); ____________________________________________case____________________________________________ printf("%fn",a-b);break;case '*': printf("%fn",a*b);break;case '/': ____________________________________________;break;default: printf("input errorn");}return 0; }3. 输入三个整数,输出最大数和最小数(注:max总是记录最大数,而min总是记录最小数).#include"stdio.h"int main(){int a,b,c,max,min;printf("input three numbers: ");scanf("%d%d%d",&a,&b,&c);if(a>b){______________________________________________________________________________}else{max=b;min=a;}____________________________________________max=c;if(min>c)_____________________________________printf("max=%dnmin=%d",max,min);return 0; }4. #include"stdio.h"int main(){int a;printf("input integer number: ");scanf("%d",&a);_____________________________________________{case 1:printf("Mondayn");break;_____________________________________________ printf("Tuesdayn"); break;case 3:printf("Wednesdayn");break;case 4:printf("Thursdayn");_____________________________________________case 5:printf("Fridayn");break;case 6:printf("Saturdayn");break;case 7:printf("Sundayn");break;_____________________________________________ printf("errorn");

}return 0;}5. 判断a>b、aBn");_____________________________________________ printf("A

c=_____________________________________________;switch (c){case –1 : y=0 ; break ;case 0 : y=x ; break ;case 1 : y=10 ; break ;case 2 :case 3 : y=-0.5*x+20 ; _____________________________________________;default : y=-2 ;}if (c!=2) printf (“y=%f”,y);_____________________________________________printf(“error!”);return 0; }7. 找出x,y,z三个数中的最小数,并判断该数是否等于b。else

#include"stdio.h"int main(){int x=4,y=5,z=8 ,b;int u,v;scanf("%d",&b);u = x

8. 输入两个运算数x,y和一个运算符号op,输出该运算结果的值,例如输入3+5↙得到结果8。#include"stdio.h"int main ( ){float x,y,r;char op ;scanf("%f,%c,%f",&x,&op,&y);switch (op){case '+': r=x+y ; _____________________________________________;_____________________________________________ r=x-y ;break;case '*' :_____________________________________________;break;_____________________________________________ r=x/y; break;}printf("%f",r);return 0;}9. 根据输入字符的ASCII码来判别字符的类别。由ASCII码表可知ASCII值小于32的为控制字符。在“0”和“9”之间的为数字,在“A”和“Z”之间为大写字母, 在“a”和“z”之间为小写字母,其余则为其它字符。#include"stdio.h"int main(){char c;printf("input a character: ");c=getchar();_____________________________________________printf("This is a control charactern");else if(c>='0'&&c<='9')

printf("This is a digitn");_____________________________________________ printf("This is a capital lettern");_____________________________________________

printf("This is a small lettern");_____________________________________________printf("This is an other charactern");return 0; }10. 找出a,b,c三个数中的最大数,并判断该数是否等于x。#include"stdio.h"int main(){int a=8,b=4,c=12,x ;int u,v;scanf(“%d”,&x);u = a='0'&&c<='9');(c>='A'&&c<='Z');else2. char c;break;'-';printf("%fn",a/b);3. max=a;min=b;if(maxb);else if(a='A'&&c<='Z');else if(c>='a'&&c<='z');else;10. b:a;c:u;(v==x);Else;四.改错题(解答)五.编程一1. 求分段函数

的值, 输入x值,输出结果。2. 从键盘上输入一个数x,计算并输出下列分段函数y的值。3. 某运输公司运费计算时根据运输距离打折计算,折扣的计算方法如下:

(其中,discount表示折扣,S表示运输距离)。编写一完整程序,输入运输距离,统计运费并输出。每公里的运费通过符号常量定义2.5。4. 编程输入一元二次方程的三个系数,求解一元二次方程的实根,无实根时不用求虚根,给出相应提示信息即可。5. 给定三条边,判断其是否能构成三角形,若能构成,判断其是等腰三角形、等边三角形、直角三角形还是普通三角形。6. 从键盘输入一个三角形的三条边,判断是否能组成三角形,若能组成三角形,则输出它的面积。7. 从键盘输入一个百分制的学生成绩,输出其对应的分数等级,其中90~100为A,80~89为B,70~79为C,60~69为D,60以下为E。8. 编写一个程序,从键盘输入三个整数给a,b,c,然后交换它们中的数,把a中原来的值给b,把b中原来的值给c,把c中原来的值给a。9. 输入一个字符,判断其是否为英文字母,若是英文字母,则将其大小写进行转换,若不是英文字母,则不变。10. 给定三个整数型x,y,z,输出三个数中的最大值和最小值。解答:1. #include "stdio.h"#include "math.h"void main(){float x,y;printf("input xn");scanf("%f",&x);if(x<0) y=1; else if(x<=5) y=2*x;else y=sqrt(x);printf("x=%5.1fy=%8.3fn",x,y);}2. #include "stdio.h"#include "math.h"void main(){float x,y;printf("input xn");scanf("%f",&x);if(x>20||x>1&&x<10) { printf("无定义n"); return;}

if(x<0) y=-x;else if(x<=1) y=sin(x)+x;else if(x>=10&&x<=20) y=x*x*x;printf("x=%5.1fy=%8.3fn",x,y);}3. #include "stdio.h"#include "math.h"#define price 2.5void main(){float discount,cost,s;printf("input distancen");scanf("%f",&s);if(s<250) discount=0; else if(s<800) discount=0.02; else if(s<1500) discount=0.05;

else discount=0.08; cost=s*(1-discount)*price;printf("distance=%5.1f;cost=%5.1fn",s,cost);}4. /*功能:求一元二次方程的解。*/#include "math.h"#include "stdio.h"main(){float a,b,c,disc,x1,x2; scanf("%f,%f,%f", &a, &b, &c); disc=b*b-4*a*c; if (disc==0)

printf("x1=x2=%7.2fn", -b/(2*a)); /*输出两个相等的实根*/ else if (disc>0) { x1=(-b+sqrt(disc))/(2*a); /*求出两个不相等的实根*/ x2=(-b-sqrt(disc))/(2*a); printf("x1=%7.2f,x2=%7.2fn", x1, x2); } else printf("无实根n");}5. #include "stdio.h"void main(){float a,b,c;printf("输入三条边:n");scanf("%f%f%f",&a,&b,&c);if(a+b>c&&a+c>b&&b+c>a){ if(a==b&&b==c) printf("等边三角形n"); else if(a==b||b==c||c==a) printf("等腰三角形n");

else if(a*a==b*b+c*c||b*b==a*a+c*c||c*c==b*b+a*a) printf("直角三角形n");}else printf("不能构成三角形 n");}6. #include "stdio.h"#include "math.h"void main(){float a, b, c, s, area;printf("输入三条边:n");scanf("%f%f%f",&a,&b,&c);if(a+b>c&&a+c>b&&b+c>a){ s=(a+b+c)/2; area=sqrt(s*(s-a)*(s-b)*(s-c)); printf("area=%7.2fn",area);}else printf("不能构成三角形 n");}7. #include void main(){ int score; char d; printf("Input scoren"); scanf("%d",&score); if (score>100||score<0) { printf("data error!n"); return; } switch(score/10) { case 10: case 9:d='A';break;case 8:d='B';break; case 7:d='C';break;

case 6:d='D';break;default : d='E';break; } printf("score=%3ddengji=%cn",score,d);}8. #include void main(){ int a,b,c,t; printf("Input a,b,cn"); scanf("%d%d%d",&a,&b,&c);

t=a; a=b; b=c; c=t; printf("a=%d;b=%d;c=%d;n",a,b,c);}9. #include void main(){ char c1,c2; printf("Input a letter: "); c1=getchar(); if(c1>='a'&&c1<='z') c2=c1+'A'-'a'; else if(c1>='A'&&c1<='Z') c2=c1+'a'-'A'; else c2=c1; printf("原字符:%c转换后为:%cn",c1,c2);}10.#include void main(){ int a,b,c,max,min; printf("Input a,b,cn"); scanf("%d%d%d",&a,&b,&c); max=a;min=a; if(b>max) max=b; else if(bmax) max=c; else if(c

填入合适的值/表达式;for (i = 0; i<5; i++) for (j = ( ); j >=0; j--) printf("%5d", a[i][j]);8.执行完语句sum = 0; for (i = 0; i < 10; i++) { if (i % 5 = = 0) sum += i;sum = ( ) 。9.使用while语句中需要注意,为了防止“死循环”的发生,在循环体中一定要有( )语句。10. do-while 语句中,判断循环条件在( ),执行循环体在 ( ) 。(填“先”“后”)解答(无)二.阅读程序写结果1. #include void main(){ int number , digit; number = 1234; while ( number != 0 ) { digit = number%10 ; printf( "%d" , digit ) ; number = number / 10 ; }}2. #include #define N 5void main( ){ int i; for(i=1;ivoid main( ){

int i,s,x; s=0; x=15; for(i=1;i<=5;i++) if (x%i==0) s= s + i; printf("i=%d,s=%dn",i,s);}4. #include void main(){ int counter=1; while(counter <= 5)

printf("%d n", counter ); counter++; }{

}5. #includeint main(){ int i,sum,m,a; sum=0; m=5; for(i=0;i<=3;i++) { scanf("%d",&a); if(a>m) sum+=a; } printf("sum=%dn",sum); return 0; }输入:2 10 8 3<回车>6. #includeint main(){ int i,j,k; for(i=1;i<=4;i++) { for (j=1;j<5-i;j++) printf(" "); for(k=1;k<=i;k++) printf("*"); printf("n"); } return 0; }7. #include int main(){ int i,j; i=1; while(i<5) { for(j=1;j<2*i+1;j++) printf("%c",'#'); printf("n"); i++; } return 0; }8. #include int main(){ int i=10,m=0,n=0; do { if(i%2!=0) m=m+i;

else n=n+i; i--; }while(i>=0); printf("m=%d,n=%dn",m,n); return 0; }9. #include void main(){ int sum=0,n; scanf("%d",&n); while(n<=5) {

sum+=n; n++; } printf("sum=%d",sum);}输入:1<回车>10. #include void main(){ int i, j; for(i=2;i>=0;i--) { for(j=1;j<=i;j++) printf("*"); for(j=0;j<=2-i;j++) printf("!"); printf("n"); }}11. #include void main(){ int a,b; for(a=1,b=1;a<=100;a++) { if(b>20) break; if(b%4==1)

{ b=b+4;

continue; } b=b-5; } printf("a=%dn",a);

}12. #include void main( ){ char k; int i; for(i=1;i<3;i++) { scanf("%c",&k); switch(k) { case '0': printf("anothern"); case '1': printf("numbern"); } }}输入:01<回车>13. #include int main(){ int i, s = 0; for(i = 1; i < 10; i++) { s += i * i; if(s > 10) break; } printf("i=%d, s=%dn", i, s); return 0; }14. #include void main(){ char ch; while((ch=getchar())!='n') { if (ch>='A'&&ch<='Z') ch=ch+32; else if (ch>='a'&&ch<='z') ch=ch-32; printf("%c",ch); }}输入:ABCdef<回车>15. #include int main (){ int a, b; for (a = 1, b = 1 ; a <= 100 ; a++) { if (b >= 9) break;

if (b % 3 == 1) { b += 3 ; continue ; } b -= 5; } printf("%d,%dn", a, b); return 0; }16. #includeint main (){ int i = 0,j = 0; while (i < 10) i++; while (j++ < 10) ; printf("i=%d,j=%dn",i,j); return 0; }17. #include "stdio.h"void main( ){ int i,j,t; for(i=1,j=10;i<3;i++,j--) t=i+j; t++; printf("%d,%d",j,t);}18. #include "stdio.h"void main(){ int i=10,j; do {

j = i%2; printf( "%d",j ); i--; } while ( i> 4 );}19. #include "stdio.h"void main(){ int i=7,j; while ( i> 2) {

j = i%2; printf( "%d",j ); i--; } printf( "%d",i );}20. #include

void main(){ int i,j,t=0; for(i=3;i>0;i--) for(j=0;j<4;j++) t+=j; printf("t=%d",t);}解答:1. 4321;2. 1,4,9,16;3. i=6,s=9;4. 1,2,3,4,5;5. sum=18;6. * ** *******7. ####################8. m=25,n=30;9. sum=15;10. **!*!!11. a=6;12. anothernumbernumber13. i=3, s=14;14. abcDEF;15. 4,10;16. i=10,j=11;17. 8,12;18. 010101;19. 101012;20.

t=18三.补充程序1. 输出100以内能被3整除的数#include"stdio.h"int main(){_____________________________________________;for(_________________________;n<=100; ________________________){if (n%3!=0) ________________________printf("%d ",n);}return 0; }2. 输出100以内的素数。素数是只能被1 和本身整除的数。为减少循环次数,只需对数n用2~去除来判断该数是否素数。#include"stdio.h"________________________int main()

{int n,i,k;for(n=2;n<=100; ________________________){k=sqrt(n);for(i=2;i<=k; ________________________)if(n%i==0) ________________________if(i>k) printf("t%2d",n);}return 0; }3. 输出200以内能被5整除的数#include"stdio.h"int main(){________________________for(________________________;n<=200; ________________________){if (n%5!=0) ________________________printf("%d ",n);}return 0; }4.求输入的十个整数中正数的个数及其平均值#include int main(){

int i,num=0,a;float sum=0; for(i=0; ________________________;________________________){

scanf("%d",&a);if(a>=0) { ________________________;________________________;} } printf("%d plus integer's sum: %6.0fn",num,sum);printf("Mean value:%6.2fn",sum/num);return 0; }5. 求输入的十个整数中负数的个数及其平均值#include int main(){

int i,num,a;float sum=0; ________________________;________________________;while(i<10) {

scanf("%d",&a);if(a<=0) {________________________;num++;}________________________; } printf("%d plus integer's sum: %6.0fn",num,sum);printf("Mean value:%6.2fn",sum/num);return 0; }6. 分解并打印出X的各个素数因子.如18=1*2*3*3. #include int main(){

int i,x; scanf(“%d”,&x);printf(“%d=1”,x);for(________________________;i<=x; ________________________){ while________________________{printf(“*%d”,i);________________________;}}return 0; }7. 输出九九乘法表.#include int main(){ int i,j; for (i=1; ________________________;________________________) { for(________________________;________________________;j++) printf("%2d*%2d=%2d", j, i ,i*j); printf("nn"); }return 0; }8. 有一分数序列:2/1,3/2,5/3,8/5,13/8,求出这个数列的前20项之和。#include "stdio.h"int main(){int n,t,number=20; float a=2,b=1, ________________________;for( n=1; ________________________;________________________){

s=s+a/b;t=a;

a=a+b;________________________;}printf("sum is %9.6fn",s);return 0; }9. 求1+2!+3!+...+20!的和.#include "stdio.h"int main(){Float(n),________________________,t=1;for(n=1; ________________________;________________________;){t*=n;________________________;}printf("1+2!+3!...+20!=%en",s);return 0; }10. 有一分数序列:2/1,3/2,5/3,8/5,13/8,求出这个数列的前20项之和。#include "stdio.h"int main(){int n,t,number=20; float a=2, ________________________,s=0;

for(________________________;________________________;n++){s=s+a/b;t=a;

________________________;b=t;}printf("sum is %9.6fn",s);return 0; }解答:1. int n;n=1;n++;continue;2. #include"math.h";n++;i++;break;3. int n;n=1;n++;Continue;4. i<10;i++;num++;sum+=a;5. i=0;num=0;sum+=a;i++;6. i=2;i++;(x%i==0);x=x/i;7. i<=9;i++;j=1;j<=i;8. s=0;n<=20;n++;b=t;9. s=0;n<=20;n++;s+=t;10. b=1;n=1;n<=20;a=a+b;四.改错题(解答)五.编程一1. 试编写程序求S=1+1*2+1*2*3+1*2*3*4+…+1*2*3*…*10的值。2. 编程利用以下公式求π的值。(取n=10000)

3. 计算s=1+1/2+1/3+…+1/n的值,其中n的值由键盘输入。4. 编写程序,在屏幕上输出下面的图案(要求用for循环实现)。* * * * * * * * * * * * * * * * * * * * * * * * *5. 编写程序,输入整数n,并根据n的值打印图案(要求用for循环实现)。。 n为中间一行的*号个数。例如,当n=4时,图案为 * * * * * * * * * * * * * * * *6. 从键盘输入若干个学生的成绩,-1作为结束标志,求出平均成绩及最高成绩并输出其结果。7. 编写一程序,从键盘输入n个数,输出其最大数和最小数,并输出它们在序列中的序号。8. 编程实现:输出由0、1、2、3组成的所有的各位数字均不相同的三位数,输出时每8个数占一行。9. 输入一行字符,回车作为结束,分别统计出其中英文字母、空格、数字和其它字符的个数。10. 求s=a+aa+aaa+a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加由键盘控制。解答:1. #include void main(){ int i; float s=0,term=1; for(i=1;i<=10;i++) { s=s+term; term=term*(i+1); } printf("sum%10.1fn",s);}2. #include void main(){ int i;

float e=1,term=1; for(i=1;i<=100;i++) { term=term*i; e=e+1./term; } printf("e=%10.6fn",e);}3. #include void main(){ int i,n; float s=0; printf("input nn"); scanf("%d",&n); for(i=1;i<=n;i++) s=s+1./i; printf("s=%10.6fn",s);}4. #include void main(){ int i,j,k; for(i=1;i<=5;i++) { for(k=1;k<=2*i;k++) printf(" "); for(j=1;j<=5;j++) printf("* "); printf("n"); }}5. #include void main(){ int i,j,n; printf("input nn"); scanf("%d",&n); for(i=1;i<=n;i++) { for(j=1;j<=i;j++) printf("* "); printf("n"); } for(i=n-1;i>=1;i--) { for(j=1;j<=i;j++) printf("* "); printf("n");

}}6. #include void main(){ int i,score,sum=0,max; i=0; printf("please input score:n"); scanf("%d",&score); max=score; while (score!=-1) { sum=sum+score; if(score>max)max=score; i++; scanf("%d",&score); }printf("max=%dn",max);printf("average=%fn",(float)sum/i);}7. #include void main(){ int i, n,x,max,min,maxi=1,mini=1; printf("please input n:n"); scanf("%d",&n); printf("please input x:n"); scanf("%d",&x); max=x;min=x; for(i=2;i<=n;i++) {

scanf("%d",&x); if(x>max) { max=x;maxi=i;} if(xvoid main(){ int i,j,k,n=0; for(i=1;i<=3;i++) for(j=0;j<=3;j++) for(k=1;k<=3;k++) if(i!=j&&i!=k&&j!=k) { n++; printf("%5d",i*100+j*10+k); if(n%8==0)printf("n");

}}9. #include void main(){ int shuzi=0,zimu=0,kge=0,qita=0; char ch; ch=getchar(); while(ch!='n') { if(ch==' ') kge++; else if(ch>='0'&&ch<='9') shuzi++; else if(ch>='a'&&ch<='z'||ch>='A'&&ch<='Z') zimu++; else qita++; ch=getchar(); } printf("数字=%d;字母=%d;空格=%d;其它%d",shuzi,zimu,kge,qita);}10. #includevoid main(){int Sn=0,a,n,i=0,t;printf("Sn=a+aa+aaa+…+aaa…anplease input a,n:");scanf("%d,%d",&a,&n);t=a;while(i

5. 在函数原型声明中,必须声明函数参数的类型,但可以省略( )。6. C语言源程序中主函数名由系统规定为( ),程序员是不能改变的。7.已知函数首部定义为:int stat(int a , float *p),则此函数的两个参数类型分别是(

) 、( )。8. 在c语言中,进行函数调用是,实参和实参之间有严格的规定,主要有三种要求分别是:( ) 相等,( )一致,并( )对应。9. 若自定义的函数要求返回一个值,则应在该函数中有一条( )语句。10.若函数头部定义为 int foo(), 则该函数中return 语句返回的数据类型是(

11.若函数头部定义为 struct stu * foo(), 则该函数中return 语句返回的数据类型是(

)。)。12.若函数头部定义为 int * foo(), 则该函数中return 语句返回的数据类型是( )

。13.若函数头部定义为 float foo(), 则该函数中return 语句返回的数据类型是( )。14.若函数头部定义为 char foo(), 则该函数中return 语句返回的数据类型是( )

。15.若函数头部定义为 char * foo(), 则该函数中return 语句返回的数据类型是( )。16.若函数头部定义为 void foo(int a[]),在主程序中有如下语句:int a[5] = {1};… foo(a[5]);

这句函数调用的语句是( )。(填“正确”,“错误”)17. 若函数头部定义为 void foo(int *a),在主程序中有如下语句:int array[5] = {1};…

foo(array); 这样的语句是( )。(填“正确”,“错误”)18. 若函数头部定位为 void foo (char * str), 在主程序中有如下语句:char array[5] =

"good";… foo(array); 这样的语句是( )。 (填“正确”,“错误”)19. 若一个函数中的主要语句是这样的:int a = 3; if (a > 3) return -1; return 0; 那么这个函数的返回值是( )。20. 若函数头部定义为void foo (int * a), 主程序中定义 int array[10], 现在要将array 数据传进数组进行处理,正确函数调用语句是( )。解答(无)二.阅读程序写结果1. #include long fun(int x,int n);int main(){ int x=3,n=3; long p; p=fun(x,n); printf("p=%ldn",p); return 0; }long fun(int x,int n){ int i; long p=1; for(i=0;i

}2. #include int isDigit(char ch);int main(){ char ch; while((ch=getchar())!='n') { if(isDigit(ch)) putchar(ch); } printf("n"); return 0; }int isDigit(char ch){ if(ch>='0' && ch<='9') return 1; else return 0; }输入:Abc1d23eF45g<回车>3. #include void odddivisor(int n);int main(){ int n; scanf("%d",&n); odddivisor(n); return 0; }void odddivisor(int n){ int i; for(i=3;i<=n/2;i=i+2)

if(n%i==0) printf("%5d",i); printf("n");}输入:15<回车>4. #include void print();int a=5; int main(){ int a=1,b=2; a=a+b; print(); printf("%d %dn",a,b); return 0; }void print(){ int b=3; printf("%d %dn",a,b); }5. #include int fun1(int x);

void fun2(int x);int main(){ int x=1; x=fun1(x); printf("%dn",x); return 0; }int fun1(int x){x++; fun2(x); return x;}void fun2(int x){ x++;}6. #include int fun1(int a,int b,int c);int main(){ int a=11,b=21,c=31; fun1(a,b,c); printf("%d %d %dn",a,b,c); return 0; }int fun1(int a,int b,int c){ a=a+10; b=b+10; c=c+10;

}7. #includevoid fun(int x);int main(){ fun(7); printf("n"); return 0; }void fun(int x){ if(x/2>1) fun(x/2); printf("%5d",x);}8. #include void fun(int a[]);int main(){ int i,a[5]={1,2,3}; fun(a); for(i=0;i<5;i++) printf("%5d",a[i]);return c;

printf("n"); return 0; }void fun(int a[]){ int i; for(i=0;i<5;i++) a[i]+=5; }9. #include void fun ( int k ) ;void main ( ){ int w = 5 ; fun ( w ) ; printf ( "n" ) }void fun ( int k ){ if ( k>0 ) fun ( k-1 ) ; printf ( "%d" , k ) ; }10. #includevoid f1(void);int a=1; void main( ){ int a=2; f1(); { int a=3; printf("a2=%dn",a); } printf("a3=%dn",a); }void f1(void){ printf("a1=%dn",a); }11. #includevoid f(int a, int b, int *c){ a=20; b=10;

*c=a+b;

}void main(){ int a=10,b=20,c=30,d=40; f(a,b,&c);

printf("%d,%d,%dn",a,b,c);}12. #includevoid swap(int a,int b);void main(){

int a=2,b=3; printf("a=%d,b=%dn",a,b); swap(a,b); printf("a=%d,b=%dn",a,b);}void swap(int a,int b)

{ int c; c=a; a=b; b=c;}13. #include void fun(int a,int b,int c);void main(){ int x=10,y=20,z=30;

fun(x,y,z); printf("%d,%d,%dn",x,y,z);}void fun(int a,int b,int c){ a=456;b=567;c=678; }14. #include float f(int n){ int i;float s=0.0; for(i=1;iint f(int a);void main(){ int a=2,i; for(i=0;i<3;i++) printf("%d",f(i));}int f(int a){ int b=0,c=3; b++; c++; return(a+b+c);}16. #includeint fun();

void main(){ int i,x; for(i=0;i<=2;i++)

x=fun(); printf("%dn",x);

}int fun(){ int x=3; x++; return x;}17. #include float add(float x,float y);

void main( ){ float a,b,c; a=1.0; b=2.0; c=add(a,b); printf("%fn",c);}float add(float x,float y){float z; z=x+y; return(z);}18. #includevoid fun(int x, int cp, int dp)

{ cp=x++; dp=++x; }void main(void){ int a,c=80, d=-20; a=30; fun(a,c,d); printf("%d,%dn", c,d); }19. #include int f(int a,int b);void main(){ int i=2,p; p=f(i,i+1); printf("%dn",p); }int f(int a,int b){ int c; if(a>b) c=1; else if (a==b) c=0; else c=-1; return (c);}20. #include int fun(int n){ if(n= =1) return 1; else return fun(n-1)+3; }void main()

{ int i,j=0; for(i=1;i<4;i++) j=j+fun(i); printf("j=%dn",j); }21. #include void f(int x,int y){ int t; if(xint age(int n){ int c;

if(n==1 c=10; else

c=age(n-1)+2; return(c);}void main(){ printf("%d",age(5));}23. #include void hello_world(void){ printf("Hello, world!n");}void three_hellos(void){ int counter; for (counter =1;counter <= 3;counter++) hello_world();}void main(void){

three_hellos();}24. #include int f(int a,int b);

void main(){ int x,i=1,k=3; x=f(i,k); printf("x=%d n",x);}int f(int a,int b){ int M=0; while(b!=0) { M=M+a; b--; } return M;}25. #includef(int b[ ],int m,int n){ int i,s = 0; for(i = m;i < n;i++) s += b[i]; return s;}int main(){ int x,a[ ] = {1,2,3,4,5,6,7,8,9}, *p = a; x = f(p,3,7); printf("x=%dn",x); return 0; }26. #include void fun(int i, int j){ int x = 7; printf("i = %d; j = %d; x = %dn", i, j, x);}int main(){ int i = 2, x = 5, j = 7; fun(j, 6); printf("i = %d; j = %d; x = %dn", i, j, x); return 0; }27. #include void f(int a[]){ int i=0;

while(a[i]<=10)

{ printf("%d",a[i]); i++; }}int main(){ int a[]={1,7,17,9,11,34}; f(a+1);}28. #include void add(int x, int y, int z){ z = x + y; x = x * x; y = y * y; printf("(2) x = %d y = %d z = %dn", x, y, z);}int main(){ int x = 2, y = 3, z = 0; printf("(1) x = %d y = %d z = %dn", x, y, z); add(x, y, z); printf("(3) x = %d y = %d z = %dn", x, y, z); return 0; }29. #include int x1 = 30, x2 = 40;

void sub(int x, int y){ x1 = x; x = y; y = x1;

}int main(){ int x3 = 10, x4 = 20;

sub(x3, x4); sub(x2, x1); printf(" %d, %d, %d, %dn", x3, x4, x1, x2); return 0;

}30. #includeint x;void cube()

{ x = x * x * x;}int main(){ x = 5; cube(); printf(" %dn", x); return 0;}31. #include invert(int *s, int i, int j){ int t; if(i < j) { invert(s, i + 1,j - 1); t = *(s + i); *(s + i) = *(s + j); *(s + j) = t; }}

void main( ){ int a[6] = {10, 6, 23, -90, 0, 3}, i; invert(a, 0, 5); for(i = 0; i < 6; i++) printf("%d, ", a[i]); printf("n"); }32. int func(int a[][3]){ int i,j,sum=0;

for(i=0;i<3;i++) for(j=0;j<3;j++){ a[i][j]=i+j; if(i==j; sum = sum+a[i][j]; } return sum;}int main(){ int a[3][3]={1,3,5,7,9,11,13,15,17}; int sum; sum=func(a);

printf("sum=%d",sum); return 0; }33. # include

int i=10; void fun();void main( ){ int i; for(i=2; i>0; i--)

fun( );}void fun(){

i*=2; printf("i=%dn", i);}34. #include int fun(int n){

if(n<=1)

return 1;

else return fun(n-1)*n;}void main(){

int i,j=0;

for(i=1;i<=3;i++) j+=fun(i); printf("j=%dn",j); }35. #include int funa(int a, int b){ int t; if (a > b)

t = a/b else t = a%22;

return t;}void main(){ int a=33, b=22,c; c=funa(a,b); printf("c=%dn", c); }36. # include void fun(int i);

void main( ){ int i; for(i=2; i>0; i--)

fun(i);}void fun(int i){

i*=2; printf("+%d+", i);}37. # include void fun(int n);void main( ){

int x=879; fun(x);}void fun(int n){

int a,b,c,t; a = n % 10; b = (n/10) % 10;

= t; } if ( b < c ) { t = b; b = c; c = t; } if ( a < b ) { t = a; a = b; b = t; } printf( "%d", b );}38. #include int funa(int a, int b){ int t; if (a > b) { t = a; a = b; b = t; } return t;}void main(){ int a=33, b=22,c; c=funa(a,b); printf("c=%dn", c);}39.#include int swap(int x, int y) { int z;c = (n/100) % 10; if ( a < b ) { t = a; a = b; b

}z=x%10;

x=y%10;

y=z;z=x;return z; void main() { int a=38, b=29,c; c=swap(a,b); printf("%d%dn", a,c); }40. #include void fun(int n){ if(n==1) printf("*n"); else { printf("-"); fun(n-1); }}void main(){ int i,j=0; for(i=1;i<4;i++) fun(i); printf("XiaoXin!");}解答:1. p=27;2. 运行结果:12345;3. 3 5;4. 5 3,3 2;5. 2;6. 11 21 31;7. 3 7;8. 6 7 8 5 5;9. 012345;10. a1=1,a2=3,a3=2;11. 10,20,30;12. a=2,b=3;a=2,b=3;13. 10,20,30;14. a=1.0000;15. 567;16. 4;17. 3.000000;18. 80,-20;19. -1;20. j=12;21. 4,3,5;22. 18;23. Hello, world!Hello, world!Hello, world!;24. x=3;25. x=22;26. i = 7; j = 6; x = 7i = 2; j = 7; x = 5;27. 7;28. (1) x = 2 y = 3 z = 0(2) x = 4 y = 9 z = 5(3) x = 2 y = 3 z = 029. 10, 20, 40, 40;30. 125;31. 3,0,-90,23,6,10;32. sum=6;33. i=20 i=40;34. j=9;35. c=136. +4++2+;37. 8;38. c=33;39. 389;40. *-*--*

XiaoXin!三.补充程序1. 定义了一个max 函数,找两个整数的最大值,其位置在main之后.#include "stdio.h"________________________int main(){int x,y,z;printf("input two numbers:n");scanf("%d%d",&x,&y);________________________;printf("maxmum=%d",z);return 0; }int max(int a,int b){________________________;if(a>b)w=a;else w= b;________________________;}2. 用函数nzp判别一个整数a的值,若大于0 则输出该值,若小于等于0则输出0值。#include "stdio.h"________________________nzp(________________________){if(v>0) ________________________elseprintf("%d ",0);}int main(){int a;printf("input number a:n");scanf("%d",&a);________________________return 0; }3. 主函数调f1计算n阶乘.#include "stdio.h"________________________int main(){int n;long s;scanf(“%d”,&n);________________________

printf("ns=%ldn",s);return 0; }long f2(int n){________________________int i;for(i=1;i<=n;i++)c=c*i;________________________}4. 主函数调fun计算1+1/2!+1/3!+...+1/30!的和.#include "stdio.h"________________________int main(){int n;float s;________________________printf("1+1/2!+1/3!...+1/30!=%fn",s);return 0; }float fun(){int n;float t=1;________________________for(n=1;n<=30;n++){t*=1/n;s+=t;}________________________}5. 数组a中存放了一个学生5门课程的成绩,求平均成绩。#include "stdio.h"________________________int main(){float sco[5],av;int i;printf("ninput 5 scores:n");for(i=0;i<5;i++)scanf("%f",&sco[i]);________________________printf("average score is %5.2f",av);

return 0; }float aver(float a[]){int i;float s=a[0];________________________for(i=1;i<5;i++)s=s+a[i];av=s/5; ________________________}6. 用递归法计算n!#include "stdio.h"________________________int main(){int n;long y;printf("ninput a inteager number:n");scanf("%d",&n);________________________printf("%d!=%ld",n,y);return 0; }________________________ff( int n){long f;if(n<0) printf("n<0,input error");else if(n==0||n==1) f=1; else f=ff(n-1)*n;________________________}7. 输入正方体的长宽高l,w,h。求体积及三个面x*y,x*z,y*z的面积。#include "stdio.h"int s1; ________________________int vs( int a,int b,int c){________________________v=a*b*c;s1=a*b;s2=b*c;s3=a*c;________________________}int main(){int v,l,w,h;

printf("ninput length,width and heightn");scanf("%d%d%d",&l,&w,&h);________________________printf("v=%d s1=%d s2=%d s3=%dn",v,s1,s2,s3);return 0; }8. 输入两个正整数num1,num2,求其最大公约数.#include "stdio.h"________________________int main(){int d;int num1,num2; printf("please input two numbers:n");scanf("%d,%d",&num1,&num2);________________________printf("gongyueshu:%dn",d);return 0; }int gongyue(int a,int b){________________________while(b){temp=a%b;a=b;b=temp;}________________________}9. 利用递归函数调用方式,输出6个数字。#include "stdio.h"________________________int main(){int w=5; fun(w);printf("n");return 0; }________________________fun(________________________){if(k>0) ________________________;printf(“%d”,k);}10. 主函数调printstar打印一串星形图案.#include "stdio.h" ________________________int main()


本文标签: 函数 输出 语句 输入 程序