收藏 分享(赏)

《C语言典型例题集》.doc

上传人:HR专家 文档编号:7520775 上传时间:2019-05-20 格式:DOC 页数:16 大小:79KB
下载 相关 举报
《C语言典型例题集》.doc_第1页
第1页 / 共16页
《C语言典型例题集》.doc_第2页
第2页 / 共16页
《C语言典型例题集》.doc_第3页
第3页 / 共16页
《C语言典型例题集》.doc_第4页
第4页 / 共16页
《C语言典型例题集》.doc_第5页
第5页 / 共16页
点击查看更多>>
资源描述

1、C 语言程序设计机械班例题集整理:赵秀岩 1第 一 章 基 础 知 识例 1.1 分析下面程序的输出结果。void main()int a,b,c; a=2;b=3;c=a+b;printf(“nThe sum of a and b is:“); printf(“%d“,c);例 1.2 C 程序的构成,简单的函数调用。main( ) /* 主函数 */ int a1,a2,b; /* 定义变量通常放在函数最开始 */scanf( “%d%d“, /* 输入 a1,a2 的值 */b=max(a1,a2); /* 调用函数 max()*/printf(“n max=%d“,b); /* 输出

2、b 的值 */int max (int x1,int x2) /* 定义 max 函数及形参x1,x2 */ int y; /* 定义中间变量 y */if (x1x2) y=x1;elsey=x2;return(y); /*返回 y 的值至调用处*/例 1.3 简单的输出程序,写出输出结果。main()int a=2,b=3;int c;int k;c=a+b;k=c+a;printf(“%d,%d“,c,k);例 1.4 写出输出结果main()printf(“*n“);printf(“?n“);printf(“*n“);第 二 章 数 据 与 运 算例 2.1 写结果main()int

3、a,b,c;clrscr();a=8;b=015;c=0x1a;printf(“%d,%d,%d“,a,b,c);例 2.2 写结果void main()printf(“1234567890“);printf(“nhellobyoun“);例 2.3 写结果main( ) clrscr();printf(“t166t288r59t43n“);printf(“x3ft327bb8tn“); 例 2.4 写结果main()char x=a,y=b;printf(“t%d,%dn“,x,y);例 2.5 写结果main() int i,j;clrscr();i=2; j=i+3;i=j+4;j=i+

4、5;printf(“%d,%d“,i,j);例 2.6 写结果main()float x=55555.12345;printf(“%10.5f“,x);例 2.7 写结果main( ) float a; double b; a=555555.555; b=555555.555; printf(“a=%12.3fn b=%12.3f”,a ,b,) ;例 2.8 写结果main()C 语言程序设计机械班例题集整理:赵秀岩 2char x,y;clrscr();x=a;y=b;printf(“%c,%c,%c,%c“,x,x-32,y,y-32);例 2.9 写结果。main()int a,b,c

5、;a=b=c=5;printf(“n%d,%d,%dn“,a,b,c);a=5+(c=6);printf(“n%d,%d,%dn“,a,b,c);a=(b=4)+(c=6);printf(“n%d,%d,%dn“,a,b,c);a=(b=10)/(c=2);printf(“n%d,%d,%dn“,a,b,c);例 2.10 写结果main()int t=5;t+=t-=t*t;printf(“%d“,t);例 2.11 写结果main()int a=5;int b=9;float c=2.2;int x,y,m,n;clrscr();x=a/b;y=b/a;m=a%b;n=b%a;printf

6、(“n%d,%d,%d,%d“,x,y,m,n);例 2.12 写结果main()int x=1,y=3;clrscr();x=9-(-y)-(-y);printf(“%d,%d“,x,y);例 2.13 写结果main()int x=3,y=5,z=3,m,n;clrscr();m=(+x)*(y-);n=(z+)*(-y);printf(“%d,%d,%d,%d“,m,n,x,z);例 2.14 写结果main()int x=3,y=5,z=3,m,n;clrscr();m=(x(yy=yz);printf(“%d,%d“,m,n);例 2.15 写结果main()int x;scanf(

7、“%d“,if(x%3=0else printf(“no“);例 2.16 写结果main()int s=4;printf(“ts=%d,(s+)=%d,(s-)=%d“,s,s+,s-);例 2.17 写结果main()int x=2,y=4;y=(x+)+(x+)+(+x);printf(“%d,%d“,x,y);例 2.18 写结果main()int a=3,b=8,c;c=(ab)?a:b;printf(“c=%d“,c);例 2.19 写结果:各种输出格式的应用。main() float y1=1.42;double y2=2.56789;printf(“float:%f,%fn“,

8、y1,y2);printf(“float:%e,%en“,y1,y2);printf(“float:%g,%gn“,y1,y2);printf(“float:%5.2f,%-5.2f,%3.2fn “,y1,y2,y1);printf(“%s%d%n “,“2 占 5 的百分比是 “,2*100/5);例 2.20 写结果:字符输入及输出函数的使用。getchar()和 putchar()函数。单个字C 语言程序设计机械班例题集整理:赵秀岩 3符的输入和输出。#include void main()char ch; int ch1;ch1=99;ch =getchar();printf(“t%

9、c,%dn“,ch,ch);putchar(t);putchar(100);putchar(t);putchar(ch1+5);例 2.21 写结果:从键盘接收一个字符,再将这个字符输出。#include void main() int c; printf(“input a character:“);c=getchar(); printf(“character is %cn“,c) 例 2.22 比较输出结果,a 和 b 有什么不同?#includevoid main()char a;int b;clrscr();a=getchar(); b=getch();printf(“t%c,%c“,a

10、,b);例 2.23 从键盘接收 3 个字符,再分别输出。注意 b 的数据类型?#includevoid main()char a;int b;char c;putchar(t);a=getchar();b=getche();c=getch();printf(“a=%c,b=%c,c=%c“,a,b,c);例 2.24 整数与字符型数据是通用的。整数与 ascii 码的关系。#include void main() int a; a=100; putchar(a);例 2.25 求三个数的平均值。#include void main() int a,b,c; float average; pr

11、intf(“n please input a、b and c :“); scanf(“%d%d%d“,printf(“na=%d b=%d c=%d“,a,b,c);average=(a+b+c)/3;printf(“n average=%f“,average);例 2.26 写出程序的输出结果。主要考查输入输出格式知识点。#include main ( ) char a,b,c,d; int m,n; a=B; b=o; c=y;putchar(a); putchar(b);putchar(c); putchar(n);putchar(a); putchar(n);putchar(b); p

12、utchar(n);putchar(c); putchar(n);printf(“input a character“);d=getchar(); printf(“The character is “);putchar(d); putchar(n);printf(“input two integer“);printf(“two integer compart by blankn“);scanf(“%d%d“,printf(“two integer is :%d and %dn“,m,n);printf(“input two integer and compart by ,“);scanf(“%

13、d,%d“,printf(“two integer is :%d and %dn“,m,n);printf(“input two integer and compart by blankn“);scanf(“%d %d“,printf(“two integer is :%d and %dn“,m,n);printf(“input two integer and compart by “:”“);scanf(“%d:%d“,printf(“two integer is :%d and %dn“,m,n);第 三 章 循 环 语 句例 3.1 if 语句的第一种形式。结果?main()C 语言程序

14、设计机械班例题集整理:赵秀岩 4int a=8,b=7;if(ab)printf(“%d“,a);printf(“%d“,b);例 3.2 if 语句的嵌套使用。计算出租车费。void main()int m;float g,price;printf(“pleaseinputcarmodel:1-xiali;2-santana;3-aodi“);scanf(“%d“,printf(“please input kilometers :“);scanf(“%f“,if(m=1)if(gvoid main()char grade;printf(“input the grade(A,B,C,D,E):

15、“);scanf(“%c“,switch (grade)case A: printf(“90-100n“);break;case B: printf(“80-89n“); break;case C: printf(“70-79n“); break;case D: printf(“60-69n“); break;case E: printf(“0-59n“); break;default : printf(“errorn“); 例 3.4 上题,去掉所有的 break 后,执行结果会有什么变化?#include void main()char grade;printf(“input the gr

16、ade(A,B,C,D,E):“);scanf(“%c“,switch (grade)case A: printf(“90-100n“);case B: printf(“80-89n“);case C: printf(“70-79n“);case D: printf(“60-69n“);case E: printf(“0-59n“);default : printf(“errorn“); 例 3.5 某些 case 语句为空,执行结果会有什么变化?#include void main()char grade;printf(“input the grade(A,B,C,D,E):“);scanf

17、(“%c“,switch (grade)case A:case B :case C : printf(“pass!n“); break; case D : printf(“failure!n“); break;default : printf(“errorn“); break; 例 3.6 嵌套 switch 语句的使用?#include void main()int x,y;scanf(“%d%d“,switch(x)case 1:C 语言程序设计机械班例题集整理:赵秀岩 5switch(y)case 11: printf(“Morningn“);break;case 12:printf(“

18、afternoonn“); break;default:printf(“eveningn“); break;case 2:printf(“interestingn“); break;default:printf(“Errorn“);例 3.7 求 12+22+32+42+52+1002#include “stdio.h“void main( )int k;long int result=0;for(k=1;kmain()char x;int zm=0,kg=0,sz=0,qt=0;while(x=getchar()!=n)if(x=a else result2+=datai; printf(“

19、positive %fn“,result1);printf(“negative %fn“,result2);getch();例 4.3 定义一个 23 的数组,从键盘接收元素的值,并以矩阵的形式输出数组元素的值。main()int a23,i,j;for(i=0;imax)max=alj;k=j;min=max;for(l=0;lalk)max=alk;if(max= =min)printf(“nandianshu shi:a%d%d=%d.n“,l,k,min);例 4.8“冒泡”排序法。main() int a11,i,j,t;clrscr();printf(“input 10 numbe

20、rs:n“);for(i=1;iai+1)t=ai;ai=ai+1;ai+1=t;printf(“the sorted numbers:n“);for(i=1;i=0;i-)printf(“%d “,ai);getch();例 4.10 求 10 个数的平均值。main()int a10, i ,sum=0,ave;printf(“please input score:n“);for(i=0; iam)min=am;printf(“max=%f,min=%f“,max,min);例 4.12 连接 2 个字符串,输出结果?main( ) char s110=“hellohell“,s27=“x

21、yz“;strcat(s1,s2);printf(“%s“,s1);例 4.13 字符串比较。结果?main( )char a=“china“;char b5;int y;gets(b);y=strcmp(a,b);printf(“t%d“,y);例 4.14 大小写转换。main()char a10=“hello“;strupr(a);puts(a);strlwr(a);puts(a);例 4.15 打印输出钻石图形。main()char a56=“ *“,“ * *“,“* *“,“ * *“,“ *“;int i;clrscr();for(i=0;ivoid F(int a)a+;pri

22、ntf(“%d”,a);void main()int a=10;F(a); Printf(“%d”,a);例 5.3 利用函数实现求一个变量的绝对值。double abs(double x)if ( x0)return x;else return x;Main()double x,y;yabs (x) ;printf(“f” ,y) ;例 5.4 设计一个函数用来求两个数的最大值。int max(float x,float y);main() float a=1.5,b=2.5; int c;c=max(a,b);printf(“Max is %dn”,c);max(float x,float

23、 y) float z;z=xy?x:y;return z;例 5.5 求 1!+2!+3!+5 !+5!+20! main()float sum(int);float add;add=sum(20);printf(“add=%f”,add);float sum(int n)float fac(int);int i;flaot s=0;for(i=1;i0)b=b+sqrt(ai);printf(“b=%fn“,b);例 5.9 数组名作函数参数,求 10 个数的平均值。#include “stdio.h“float average(float arr100 ) int i;float av,

24、sum=arr0;for (i=1;i#includemain()char s120=“abcd”,s210=“efghijk”;strcat(s1,s2);puts(s1);例 5.11 字符串的连接。#include#includemain()char s120=“abcd”,s210=“efghijk”;int i,j;for(i=0;s1i!=0;i+);for(j=0;s2j!=0;j+,i+)s1i=s2j;puts(s1);例 5.12 利用函数实现字符串的连接。#include#includevoid zfclj(char ss1,char ss2);main()char s1

25、20=“abcd“,s210=“efghijk“;zfclj(s1,s2);puts(s1);void zfclj(char ss1,char ss2)int i,j;for(i=0;ss1i!=0;i+);for(j=0;ss2j!=0;j+,i+)ss1i=ss2j; 比较 5.10、5.11、5.12 三个程序?C 语言程序设计机械班例题集整理:赵秀岩 11例 5.13 利用 px 函数实现数组元素的排序,排序算法为“冒泡法” 。#includevoid px(int b,int n);main()int a10=8,5,2,9,1,6,7,4,1,9 ;int i,n;scanf(“%

26、d“,px(a,n);for(i=0;ibj+1)t=bj;bj=bj+1;bj+1=t;例 5.14 静态局部变量 static 的使用。讨论程序的执行结果?main() int a=2,i;clrscr();for (i=0;iy?x:y;return c;main() int a=8;printf(“%dn“,max(a,b);例 5.17 全局变量作用域的扩展。 (extern)void num() extern int x,y;int a=15,b=10;x=a-b;y=a+b;int x,y;main() int a=7,b=5;x=a+b;y=a-b;num();printf(“

27、%d,%dn“,x,y);例 5.18 程序执行的结果?int a; /*讨论:要是改为:int a5?*/fun(int i) a+=2*i;C 语言程序设计机械班例题集整理:赵秀岩 12return a; main()int a=10;printf(“%d,%dn“,fun(a),a);例 5.19 计算 15 的和。main() int i=5;printf(“%dn“,sub(i);sub(int n) int a;if (n=1) return 1;a=n+sub(n-1);return a;例 5.20 全局变量的使用。结果?int a=3,b=2;max(int x,int y)

28、 int c;c=xy?x:y;return c;main() int a=4;printf(“t%dn“,max(a,b);第 六 章 指 针例 6.1 指针变量的简单使用。注意“*”运算符的作用。main()int a=10;int * p1;p1=printf(“%d“,*p1);例 6.2 指针变量的引用main()int a=100;int *p;clrscr();p=p=0x1000;*p=20; printf(“%d,%x,%p“,*p,p,p);例 6.3 指针变量的引用main()int a;int *p;clrscr();p=printf(“%p,%x“,p,p);例 6.

29、6 输出结果。main()int a;int *p;clrscr();p=*p=100;printf(“%d“,*p);例 6.7 先大后小的顺序输出两个数。不交换变量 a、b 的值,交换指针的指向。main( ) int *p1, *p2, *p, a, b;scanf(“%d,%d“,p1 = p2 = if (a max)max = stui.score;temp = i;p = stu + temp; /* p 指向成绩最高的学生结构 */printf(“nThe maximum score:n“);printf(“No.: %dn name: %sn score: %4.1fn“,p

30、-num, p-name, p-score);例 8.3 有一个结构体变量 stu,内含学生学号、姓名和三门课程的成绩。要求在 main 中赋以值,在函数 print 中打印输出。#include “stdio.h“#include “string.h“#define format “%dn %sn %fn %fn %fn“struct student int num; /* 学号 */char name20; /* 姓名 */float score3; /* 三门课程的成绩 */; void print(struct student *p); /* print 函数原型声明 */void m

31、ain()struct student stu;stu.num = 12345;strcpy(stu.name, “Li Li“); stu.score0 = 67.5;stu.score1 = 89;C 语言程序设计机械班例题集整理:赵秀岩 15stu.score2 = 78.6; print( void print(struct student *p) /* print 函数定义 */printf(format, p-num, p-name, p-score0, p-score1, p-score2); printf(“n“); 例 8.5 设有若干个人员的数据,其中有学生和教师。学生数据

32、包括:姓名、号码、性别、职业、班级。教师数据包括:姓名、号码、性别、职业、职务。分析:学生数据的 class(班级)和教师数据的position(职务)类型不同,但在同一表格中,使用“共用体”数据结构。struct int num;char name10;char sex;char job;unionint class; /* 班级 */char position10; /* 职务 */category; person2; /* 2 个人员数据 */void main()int i;for(i=0;i2;i+) /* 输入 2 个人员的数据 */scanf(“%d %s %c %c“, if(

33、personi.job = S) /* 学生 */scanf(“%d“, /* 输入班级 */else if(personi.job = T) /* 教师 */scanf(“%s“, personi.category.position);/* 输入职务 */else printf(“Input error!“); printf(“n“);printf(“No. name sex job class/positionn“); for(i=0;i2;i+) /* 输出 */if (personi.job = S)printf(“%-6d%-10s%-3c%-3c%-6dn“,personi.num

34、, personi.name,personi.sex,personi.job, personi.category.class);else printf(“%-6d%-10s%-3c%-3c%-6sn“,personi.num, personi.name,personi.sex,personi.job, personi.category.position); 例 8.5 口袋里有红、黄、蓝、白、黑五种颜色的球若干个。每次从口袋中取出三个球,打印出三种不同颜色球的可能取法。#include “stdio.h“void main()enum color red, yellow, blue, whit

35、e, black; /* 枚举类型 */enum color i,j,k,pri;int n,loop;n = 0; /* 不同颜色的组合序号 */for(i=red; i=black; i+) for(j=red; j=black; j+) if (i != j)for(k=red; k=black; k+) if (k != i) printf(“%-4d“,n); /* 组合序号 */for(loop = 1;loop=3; loop+) /* 循环输出球颜色 */ switch(loop) case 1: pri = i; break; /* 第 1 个球 */case 2: pri

36、= j; break; /* 第 2 个球 */case 3: pri = k; break; /* 第 3 个球 */ default: break; switch(pri)case red: printf(“%-10s“,“red“); break;case yellow: printf(“%-10s“,“yellow“); break;case blue: printf(“%-10s“,“blue“); break;case white: printf(“%-10s“,“white“); break;case black: printf(“%-10s“,“black“); break;default: break; C 语言程序设计机械班例题集整理:赵秀岩 16printf(“n“); printf(“n total:%5dn“, n);

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报