专升本C语言讲义1.docx
《专升本C语言讲义1.docx》由会员分享,可在线阅读,更多相关《专升本C语言讲义1.docx(14页珍藏版)》请在冰点文库上搜索。
专升本C语言讲义1
●1输出
Printf(“格式控制符”,输出列表);
直接输出字符串:
Printf(“需要输出的字符串”);
scanf(“格式控制符”,地址列表(输入列表));
\n表示回车。
一定要写的,基本拿分部分。
#include//一定要有
#include//字符串问题的程序要写
#include//需要用到数学函数的程序要写
voidmain()
{
程序主体部分;
}
【1】.hello_world
#include
voidmain()
{
printf("HelloWorld!
\n");
}
//最基本的输出语句,介绍程序的基本构成。
1.头文件#include
2.main语句,并且用{}括起整个程序的主体。
3.{}里面的语句,以;结尾。
【1.1】program
#include
main()
{
printf("********************\n");
printf("ThisisaCprogram.\n");
printf("********************\n");
}
●2变量常量
【2.1】圆的面积
#include
voidmain()
{
floatr,s;
printf("plesaeinputbanjing:
\n");
scanf("%f",&r);
s=3.14*r*r;
printf("therelustis:
%f\n",s);
}
【2.2】123+456
#include
voidmain()
{
inta,b,sum;
a=123;
b=456;
sum=a+b;
printf("a+b=%d\n",sum);
}
//该程序从helloworld过渡,介绍变量的概念和演示打印变量。
【2.3】计算这两个整数之和
#include
Voidmain()
{
inta,b,sum;
scanf("%d%d",&a,&b);/*读入两个整数,并赋给变
量a和b*/
sum=a+b;
printf("sumis%d\n",sum);
}
【2.4】说明字符和数字的区别
#include
voidmain()
{
printf("%d\n%d\n",'9',9);
}
#include
voidmain()
{
printf("%d\n%d",'a','A');//printf("%c\n%d",'a','A');
}
3.循环
For(初始条件;终止条件;增量[步长])
{
循环内容;
}
所有和循环有关的,都是改变这4部分内容来产生不同的程序。
【3.1】最基本的循环-------100以内自然数的和
#include
voidmain()
{
inti;
intsum=0;
for(i=1;i<=100;i++)
{
sum=sum+i;
};
printf("100以内的自然数和是%d\n",sum);
}
【3.2】改变终止条件---------n以内自然数的和
#include
voidmain()
{
inti,n;
intsum=0;
printf("请输入n\n",sum);
scanf("%d",&n);
for(i=1;i<=n;i++)
{
sum=sum+i;
};
printf("%d以内的自然数和是%d\n",n,sum);
}
【3.3】改变循环体----------n!
#include
voidmain()
{
intn,s=1,i;
printf("pleaseinputdata:
\n");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
s=s*i;
}
printf("Theresultis:
%d\n",s);
}
【3.4】改变循环体----------求出表达式1+1/2+1/3+1/4+……+1/n的和,直到1/n小于10-6为止。
#include
voidmain()
{
intn=1;
floats=0.0;
for(n=1;1.0/n>=1e-6;n=n+1)
{
s=s+1.0/n;
}
printf("Theresultis:
%f\n",s);
}
●以下while的用法,讲完全部循环再讲while
#include
voidmain()
{
intn=1;
floats=0.0;
while(1.0/n>=1e-6)
{
s=s+1.0/n;
n=n+1;
}
printf("Theresultis:
%f",s);
}
●换步长
【3.5】改变步长和初始条件--------求出1—100之间的所有奇数之和。
(偶数之和)
#include
voidmain()
{
ints=0,i;
for(i=1;i<=100;i=i+2)
{
s=s+i;
}
printf("Theresultis:
%d\n",s);
}
●循环加语句
【3.6】改变循环体----------求出1!
+2!
+3!
+4!
+……+n!
#include
voidmain()
{
intn,s=1,i,sum=0;
printf("pleaseinputdata:
\n");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
s=s*i;
sum=sum+s;
}
printf("Theresultis:
%d\n",sum);
}
【3.7】1+(1+2)+(1+2+3)+……+(1+2+3+……20)
#include
voidmain()
{ints=0,i,sum=0;
for(i=1;i<=20;i++)
{
s=s+i;
sum=sum+s;
}
printf("thereslutis:
%d\n",sum);
}
循环嵌套
【3.8】、求出表达式1/1!
+1/3!
+1/5!
+……+1/(2*n-1)!
的和,直到小于10为止。
#include
voidmain()
{
intn=1,s=1,i;
floatsum=0.0;
while(1.0/s>=1e-6)
{
s=1;
for(i=1;i<=n;i++)
s=s*i;
sum=sum+1.0/s;
n=n+2;
}
printf("Theresultis:
%f\n",sum);
}
Theresultis:
1.175201
Pressanykeytocontinue
4判断语句
【4】if——判断一个数是否能被3整除
#include
voidmain()
{
intn;
printf("plesaseinputdata:
\n");
scanf("%d",&n);
if(n%3==0)
printf("Yes\n");
else
printf("NO\n");
}
5.判断+循环
【5】求出双阶乘。
例如n为奇数时,则输出1*3*5*7*……*n;
n为偶数时,则输出2*4*6*8*……*n
//14、求出双阶乘。
例如n为奇数时,则输出1*3*5*7*……*n;
//n为偶数时,则输出2*4*6*8*……*n
#include
voidmain()
{
intn,f=1,i;
printf("pleaseinputdata:
");
scanf("%d",&n);
if(n%2==0)
{
for(i=2;i<=n;i=i+2)
{f=f*i;}
}
else
{
for(i=1;i<=n;i=i+2)
{f=f*i;}
}
printf("Thereslutis:
%d\n",f);
}
难【5.1】输出1—100之间的所有数字,每行输出5个。
#include
voidmain()
{
inti;
for(i=1;i<=100;i++)
{
printf("%3d",i);
if(i%5==0);
printf("\n");
}
}
6判断嵌套
【6】分支,运费
#include
voidmain()
{intn,s;
scanf("%d",&n);
if(n<=0)
{
printf("Error\n");
}
else{
if(n<=50)
s=30;
elseif(n<=100)
s=50;
elseif(n<=150)
s=65;
else
s=90;
printf("Yunfeiwei:
%d\n",s);
}
}
7.固定算法
难【7】固定算法分解每位
#include
voidmain()
{
intn,i=0,s=0;
printf("plesaseinputdata:
\n");
scanf("%d",&n);
for(;n!
=0;i=i+1)
{
s=s+n%10;
n=n/10;
}
printf("weishuwei:
%d\n",i);
printf("hewei:
%d\n",s);
}
//while(n!
=0)
//{s=s+n%10;
//n=n/10;
//i=i+1;
//}
难【7.1】大小写互换
#include
voidmain()
{
chara;
printf("plesaseinputdata:
\n");
scanf("%c",&a);
if(a>='A'&&a<='Z')
printf("theresultis:
%c\n",a+32);
elseif(a>='a'&&a<='z')
printf("theresultis:
%c\n",a-32);
else
printf("theresultis:
%c\n",a);
}
难【7.2】三角形面积
#include
#include
voidmain()
{
floata,b,c,s,p;
printf("plesaseinputdata:
\n");
scanf("%f,%f,%f",&a,&b,&c);
if(a>0&&b>0&&c>0&&a+b>c)
{
p=(a+b+c)/2.0;
s=sqrt(p*(p-a)*(p-b)*(p-c));
printf("thereslustis:
%f",s);
}
else
printf("Error\n");
}
补充
【7.3】字符串长度
#include
#include
main()
{
chara[]="hello";
intlen=strlen(a);
printf("%d",len);
}
5
Pressanykeytocontinue