学林专升本C语言复习资料.docx
- 文档编号:5979460
- 上传时间:2023-05-09
- 格式:DOCX
- 页数:43
- 大小:32.27KB
学林专升本C语言复习资料.docx
《学林专升本C语言复习资料.docx》由会员分享,可在线阅读,更多相关《学林专升本C语言复习资料.docx(43页珍藏版)》请在冰点文库上搜索。
学林专升本C语言复习资料
学林专升本C语言复习资料
一、C语言复习提纲
第1章概述
1、计算机语言分类〔机器语言、低级语言、高级语言〕;
2、C语言的特点;
3、C语言上机步骤〔编辑、编译、连接、运行〕。
第2章算法
1、算法的两种表示方法;
〔1〕传统流程图;〔2〕N-S流程图;
2、三种根本构造〔顺序、选择、循环〕;
3、构造化程序设计方法。
第3章数据类型、运算符及表达式
1、常量及符号常量,变量及其命名规那么;
2、整型常量〔十进制、八进制和十六进制常量,长整型常量〕,整型变量的分类及定义;
3、实型常量〔十进制形式、指数形式常量、单精度常量〕,实型变量的分类及定义;
4、字符常量〔一般字符常量、转义字符常量〕及字符串常量,字符变量的定义;
5、各类数值型数据间混合运算规那么〔类型转换规那么〕;
6、算术运算符、算术表达式的书写、算术表达式的计算规那么;
7、强制类型转换运算符、自增和自减运算符,自增和自减运算符在变量前及变量后的差异;
8、赋值运算符、复合赋值运算符、赋值表达式及计算规那么;
9、逗号运算符、逗号表达式的值;
10、整型变量、长整型变量、单精度实型变量、双精度实型变量、字符变量占用内存大小
第4章简单C程序设计
1、C语句的分类〔控制语言、函数调用语句、表达式语言、空语句、复合语句〕
2、字符的输入函数getchar、输出函数putchar的使用规那么
3、格式输入函数scanf、输出函数printf的使用规那么
第5章选择构造程序设计
1、关系运算符〔<、<=、>、>=、==,!
=,〕、关系表达式及其值计算
2、逻辑运算符〔&&、||、!
〕、逻辑表达式及其值计算
3、if语句的三种形式、if语句嵌套
4、条件运算符、条件表达式及其值计算
5、switch语句、break的作用
第6章循环控制
1、goto语句及goto循环、while循环、for循环,循环执行规那么,循环次数的计算,循环变量值的变化
2、循环嵌套、几种循环的比拟
3、循环体中使用break语句、continue语句的区别
第7章数组函数
1、一维数组的定义方法、初始化方法、元素引用方法,一维数组的输入输出方法。
二维数组的定义方法、初始化方法、元素引用方法,二维数组的输入输出方法。
二维数组的转置、对角线元素的和、最大值。
2、了解函数的定义、掌握递归的用法。
二、根本算法
两个变量交换,素数判断,计算分段函数值,求数列或级数的和,求解二次方程,字母大小写转换,数组最大值、最小值、平均值计算,数组排序,矩阵转置,数组逆序排列,矩形法和梯形法计算定积分,最小公倍数和最大公约数计算,三角形面积计算等等。
三、根本算法举例
1、输入三个数a,b,c,按大小顺序输出
main()
{floata,b,c,t;
scanf("%f,%f,%f",&a,&b,&c);
if(a>b)
{t=a;a=b;b=t;}
if(a>c)
{t=a;a=c;c=t;}
if(b>c)
{t=b;b=c;c=t;}
printf("%,%,%",a,b,c);
}
2、求1到100的和。
main()
{
inti,sum=0;
i=1;
while(i<=100)
{sum=sum+i;
i=i+1;
}
printf("sum=%d\n",sum);
}
main()
{inttotal=0,i=1;
while(i<=100)
{total=total+i;
i++;
}
printf(〞Total=%d\n",total);
}
3、求pi
main()
{
inti=1,j=-1;
floatpi=0,k=-1,x;
while((x=1.0/(2.0*i-1))>0.000001)
/*整数除以整数还是商为整数因此(x=1.0/(2.0*i-1))*/
{k=k*j;
pi=pi+k*x;
i++;}
printf("pidezhiwei%f",4*pi);
}
4、判断一个数能否同时被3和5整除。
main()
{
intn;
scanf("%d",&n);
if(n%3==0&&n%5==0)/*注意关系表达式的写法*/
printf("%dnengbei3he5zhengchu.",n);
else
printf("%dbunengbei3he5zhengchu.",n);
}
5、素数
#include"math.h"
main()
{intn,k,flag;
for(n=100;n<200;n++)
{flag=1;
for(k=2;k<=sqrt(n);k++)
if(n%k==0)/*注意相等关系的表示*/
{flag=0;break;}
if(flag==1)printf("%d",n);
}
}
6、求m和n的最大公约数和最小公倍数。
main()
{intm,t,n,i=2,yueshu,beishu;
scanf("%d%d",&m,&n);
if(m<=n)
{t=m;m=n;m=t;}/*m存放大数,n存放小数*/
for(i=n;i>1;i--)/*最大公约数*/
{if(m%i==0&&n%i==0)
{yueshu=i;break;}
}
beishu=n*m/yueshu;/*最小公倍数*/
printf("%dhe%ddezuidagongyueshushi%d\n",m,n,yueshu);
printf("%dhe%ddezuixiaogongbeishushi%d\n",m,n,beishu);
}
7、求二元一次方程的根。
#include
main()
{
floata,b,c,x1,x2,deta;
scanf("%f%f%f",&a,&b,&c);
deta=b*b-4*a*c;
if(deta>0)
{
x1=(-b+sqrt(deta))/(2*a);
x2=(-b-sqrt(deta))/(2*a);
printf("fangchengdegenwei:
x1=%fx2=%f",x1,x2);
}
elseif(deta==0)
{x1=x2=-b/(2*a);
printf("fangchengdegenwei:
x1=x2=%f",x1);}
elseprintf("fangchengmeiyoushigen.");
}
8.符号函数。
main〔〕
{floatx;
inty;
scanf(“%f〞,&x);
if(x>=0)
if(x>0)y=1;
elsey=0;
elsey=–1;
printf(“%f〞,y);
}
9、函数输入x输出y。
main()
{
floatx,y;
scanf("%f",&x);
if(x<1)
y=x;
elseif(x>=1&&x<10)
y=2*x-1;
else
y=3*x-11;
printf("%f",y);
}
10、给出一个百分制成绩,要求输出成绩等级ABCADE,90分以上为A,80—89分为B,70—79分为C,60—69分为D,60分以下为E。
main()
{intselect,score;
chargrade;
printf("Pleaseinputthescore:
");
scanf("%d\n",&score);select=score/10;
switch(select)
{case1:
case2:
case3:
case4:
case5:
grade=’E’;break;
case6:
grade=’D’;break;
case7:
grade=’C’;break;
case8:
grade=’B’;break;
case9:
case10:
grade=’A’;break;
}/*注意使用break语句*/
printf("grade=%c\n",grade);
}
11、求Fibonacci数列40个数
#include
main()
{intn,i,un1,un2,un;
un=un2=1;/*设置递推初始值*/
for(i=3;i<=40;i++)/*用递推法计算第N项的值*/
{un1=un2;un2=un;un=un1+un2;
printf("No.%dis%d\n",n,un);}
}
12、n!
main()
{intn,i;
floatt=1,f=0;/*注意阶乘及其和不能定义为整数,此时会溢出,应为长整数或实数。
*/
printf("inputn:
\n");
scanf("%d",&n);
for(i=1;i<=n;i++)
t=t*i;
printf("sum=%d\n",f);
}
13、求1!
+2!
+3!
+…….20!
main()
{intn,i;
floatt=1,f=0;/*注意阶乘及其和不能定义为整数,此时会溢出,应为长整数或实数。
*/
printf("inputn:
\n");
scanf("%d",&n);
for(i=1;i<=n;i++)
{t=t*i;f=f+t;}
printf("sum=%d\n",f);
}
14、求和
main()
{
inti;
floatx,y,z,sum;
for(x=0,i=1;i<=100;i++)
x+=i;
for(y=0,i=1;i<=50;i++)
y+=i*i;
for(z=0,i=1;i<=10;i++)
z=z+1.0/i;/*注意1.0/i的表示,不能写为1/I*/
sum=x+y+z;
printf("sanxiangdehewei%f",sum);
}
15、打印出所有的水仙花数。
main()
{inti,a,b,c;
for(i=100;i<=999;i++)
{a=i/100;/*取百位*/
b=(i-a*100)/10;/*取十位*/
c=i%10;/*取个位*/
if(a*a*a+b*b*b+c*c*c==i)
printf("\nThenumber%disflower\n",i);
}
}
16、求分数序列前20项和。
2/1+3/2+5/3+8/5+13/8+21/13+………..
main()
{intk;
floati=1,j=2,sum=0,t;
for(k=1;k<=20;k++)
{
sum+=j/i;
t=j+i;
i=j;
j=t;
}
printf("qian20xianghewei:
%f",sum);
}
17、猴子吃桃问题。
main()
{intday=10,x1,x2=1;
do
{x1=2*x2+2;
x2=x1;
day--;
}while(day>0);
printf("sum=%d\n",x1);
}
}
18、用二分法求下面方程在〔-10,10〕之间的根。
2x3-4x2+3x-6=0
#include
main()
{
floatx1,x2,x,f,f1,f2;
scanf("%f%f",&x1,&x2);
f1=2*pow(x1,3)-4*x1*x1+3*x1-6;
f2=2*pow(x2,3)-4*x2*x2+3*x2-6;
if(f1*f2>0)
printf("fangchenggaiqujianneiwushigen");
else
{
do{
x=(x1+x2)/2;
f=2*pow(x,3)-4*x*x+3*x-6;
if(f1*f>0){x1=x;f1=f;}
elseif(f2*f>0){x2=x;f2=f;}
}while(fabs(f)>=0.00001);
printf("x=%f",x);
}
}
19、打印三角形和菱形。
三角形:
main()
{
intx,i,h;
printf("shuruhangshu:
");
scanf("%d",&h);
for(x=1;x<=h;x++)
{
for(i=1;i<=x;i++)
printf("*");
printf("\n");
}
菱形:
main()
{
intn,i,x,h;
printf("shuruhangshu:
");
scanf("%d",&h);
for(x=1;x<=h;x++)
{
for(i=1;i<=h-x;i++)
printf("");
for(n=1;n<=2*x-1;n++)
printf("*");
printf("\n");
}
for(x=h-1;x>=1;x--)
{
for(i=1;i<=h-x;i++)
printf("");
for(n=1;n<=2*x-1;n++)
printf("*");
printf("\n");
}
}
20、冒泡排序(从大到小)
#include
main()
{inta[11],i,j,k,x;
printf("Input10numbers:
\n");
for(i=1;i<11;i++)scanf("%d",&a[i]);
printf("\n");
for(i=1;i<10;i++)
{k=i;
for(j=i+1;j<=10;j++)
if(a[j])>a[k])k=j;
if(i!
=k){x=a[i];a[i]=a[k];a[k]=x;}
}
printf("Thesortednumbers:
\n");
for(i=1;i<11;i++)printf("%d",a[i]);
}
21、22、求矩阵A(2×3)的转置矩阵B(3×2)。
┏123┓ ┏14┓
A=┃┃B=┃25┃
┗456┛┗36┛
矩阵转置算法:
在原来矩阵A中的元素a[i][j],应是转置后矩阵B中的元素b[j][i]。
#include
main()
{inti,j,b[3][2],a[2][3]={{1,2,3},{4,5,6}};
/*说明初始化数组a*/
for(i=0;i<=1;i++)
for(j=0;j<=2;j++)
b[j][i]=a[i][j];/*进展数组转置*/
for(i=0;i<=2;i++,printf(〞\n〞))/*按行输出*/
for(j=0;j<=1;j++)
printf("%d",b[i][j]);
}
23、有一个3X4的矩阵,要求编程求出其中值最大的那个元素,以及其所在的行号和列号。
main()
{
inti,j,m,n,max,a[3][4];
for(i=0;i<3;i++)
for(j=0;j<4;j++)
scanf("%d",&a[i][j]);
for(i=0;i<3;i++)
{
for(j=0;j<4;j++)
printf("%5d",a[i][j]);
printf("\n");
}
max=a[0][0];
for(m=0,n=0,i=0;i<3;i++)
for(j=0;j<4;j++)
{
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学林专升 语言 复习资料