C语言-简单的程序设计
创始人
2024-01-16 19:43:19
0

🌞欢迎来到C语言的世界 
🌈博客主页:卿云阁

💌欢迎关注🎉点赞👍收藏⭐️留言📝

🌟本文由卿云阁原创!

🌠本阶段属于练气阶段,希望各位仙友顺利完成突破

📆首发时间:🌹2021年10月20日🌹

✉️希望可以和大家一起完成进阶之路!

🙏作者水平很有限,如果发现错误,请留言轰炸哦!万分感谢!


目录

🍈 字符输入函数getchar

 🍉字符输出函数putchar

🍊格式输入函数scanf

🍋顺序结构程序设计

🥒选择结构

🥬循环结构

🍈 字符输入函数getchar

       当C程序执行到getchar();这条语句时,如果缓冲区中没有字符,则等待用户输入,用户输入的字符被存放在缓冲区中,当用户键入Enter键之后,getchar从缓冲区开始取走一个字符并返回该字符的ASCII码值或EOF字符。

        例如顺序从键盘键入ABC三个字符,最后键入一个Enter键(在windows操作系统中,Enter键表示了两个字符'\r'和'\n',在linux系统中,只是一个字符'\n'),如果是windows系统,缓存区中就得到了四个字符('\r'为回车字符,用于触发getchar执行)。

      当缓冲区有数据时,getchar从缓冲区顺序取出一个字符。例如有char ch; ch=getchar();,getchar从缓冲区取出字符的ASCII值并赋给ch。


 🍉字符输出函数putchar

从键盘输入一个字符,并输出到显示器中。

#include 
int main(void)
{ 
char ch;
printf("please input a char:\n"); //这是一条表达式语句,最后有;,下同。
ch=getchar(); //程序执行到此处时,等待用户输入字符,最后按Enter键。//Enter键结束后,getchar()从缓冲区得到字符并赋给ch。      
putchar(ch);  // 把ch输出到显示器中。
putchar('\n');  //输出一个换行符常量。
return 0;
}

🍉

     这里键入一个字符a和Enter键,这个Enter键代表的字符也会进入缓存区,如果要在程序中用getchar输入两个字符'A','B'分别给ch1和ch2变量时,正确的键入是AB+enter,而不是输入A+enter和B+enter。


🍊格式输入函数scanf

#从键盘上输入两个数分别赋给a,b

# include 
int main(void)
{int a, b;printf("Please enter two integers separated by a space:\n"); //提示输入。scanf("%d%d", &a, &b);printf("a= %d, b=%d\n", a , b);return 0;}

🍊


🍋顺序结构程序设计

#include 
#include 
int main(void)
{float a, b,c;float s,area;printf("Please enter the side lengths a, b, c of the triangle:\n"); //提示输入。scanf("%f%f%f", &a,&b,&c);s=(a+b+c)/2;area=sqrt(s*(s-a)*(s-b)*(s-c));printf("area=%-7.2f",area);return 0;}

 2.从键盘输入一个英文大写字母,要求改用小写字母输出。

#include 
#include 
int main(void)
{char a, b;printf("a=:"); //提示输入。scanf("%c", &a);b=a+32;printf("a->%c",b);return 0;}

#include 
#include 
int main(void) 
{
float a,b,c,disc,x1,x2,p,q;  // disc存放的结果。
printf("Please enter a, b, and c, separated by spaces:\n");
scanf("%f%f%f",&a,&b,&c);
disc=b*b-4*a*c;
p=-b/(2*a);
q=(float)sqrt(disc)/(2*a); // sqrt得到的值是double型,转换成float。
x1=p+q;
x2=p-q;
printf("\nx1=%5.2f\nx2=%5.2f\n",x1,x2);
return 0;
}

 


🥒选择结构

例1 输入两个int型数据,输出它们中的较大者。

#include 
int main()
{   int a,b,max;printf("请输入两个数a,b:");scanf("%d%d",&a,&b);a=max;if(b>a)max=b;printf("max=%d",max);
}

例4输入一个整型分数,如果分数在90-100分,输出“优”,80-89,输出“良”,60-79,输出“及格”,60分以下输出“不及格”,用switch语句实现编程(假设分数是区间[0,100]上的整数)。

#include 
int main(void)
{int score;scanf("%d",&score);
switch(score/10)
{case 10:    case 9: printf("优\n");break;
case 8: printf("良\n");break;
case 7:
case 6: printf("及格\n");break;default: printf("不及格\n");
}
return 0;
}

🥬循环结构

求1+2+3+...100的值

#include 
int main(void)
{ int i=1;int sum=0;while(i<=100){ sum=sum+i;i++;}  printf("sum=%d",sum);return 0;
}

例:统计从键盘输入的一行字符的个数。

#include 
int main(void)
{
unsigned charNum=0;  //用于统计字符的个数,初始化为0。
printf("Input a string:");
while(getchar()!='\n')  //把从键盘获取的字符与'\n'比较形成表达式。
charNum ++;
printf("Number of characters: %u\n", charNum);
return 0;
}

例5-3-2 用for语句输出斐波那契数列(Fibonacci Sequence)的前10个数。

include 
int main(void)
{
int predata=1;
int nextdata=1;
int i,temp;
printf("%d %d ",predata,nextdata);
for(i=3;i<=10;i++)
{temp=nextdata;nextdata=predata+nextdata;predata=temp;printf("%d ",nextdata);
}
return 0;
}

 

用for语句实现从键盘输入一组字符,并输出出来。 

#include 
int main(void)
{
char ch;
for(;(ch=getchar())!='\n';)
{putchar(ch);
}
return 0;
}

求出用 50元、20元 和 10元换100元有几种方式

#include 
int main(void)
{
int i,j,z;
for(i=0;i<=2;i++)for(j=0;j<=5;j++)for(z=0;z<=10;z++){if(100==50*i+20*j+10*z)printf("i=%d j=%d z=%d\n",i,j,z);}
return 0;
}

找出一个比100大且能被47整除的整数,并输出

#include 
int main(void)
{
int i;
for(i=101;;i++)
{if(i%47!=0)continue;printf("%d",i);break;
}
return 0;
}

从键盘输入一个整数,判断是否为素数,是就输出Y,不是就输出N

#include 
#include 
int main(void)
{
int m,k,i;
printf("m:");
scanf("%d",&m);
k=(int)sqrt(m);
for(i=2;i<=k;i++)
{if(m%i==0)break;
}
if(i>k)printf("N");
elseprintf("N");
return 0;
}

(2)第二种方法

#include 
#include 
int main(void)
{
int m,k,i;
int flag=0;
printf("m:");
scanf("%d",&m);
k=(int)sqrt(m);
for(i=2;i<=k;i++)
{if(m%i==0){flag=1;break;}
}
if(flag=1)printf("N");
elseprintf("Y");
return 0;
}

找出100到200之间的素数,并它们输出出来

#include 
#include 
int main(void)
{
int m,k,i,j;
for(m=100;m<=200;m++)
{
int flag=0;
k=(int)sqrt(m);
for(i=2;i<=k;i++)
{if(m%i==0){flag=1;break;}
}
if(flag!=1)printf("m=%d\n",m);
}
return 0;
}

相关内容

热门资讯

常用商务英语口语   商务英语是以适应职场生活的语言要求为目的,内容涉及到商务活动的方方面面。下面是小编收集的常用商务...
六年级上册英语第一单元练习题   一、根据要求写单词。  1.dry(反义词)__________________  2.writ...
复活节英文怎么说 复活节英文怎么说?复活节的英语翻译是什么?复活节:Easter;"Easter,anniversar...
2008年北京奥运会主题曲 2008年北京奥运会(第29届夏季奥林匹克运动会),2008年8月8日到2008年8月24日在中华人...
英语道歉信 英语道歉信15篇  在日常生活中,道歉信的使用频率越来越高,通过道歉信,我们可以更好地解释事情发生的...
六年级英语专题训练(连词成句... 六年级英语专题训练(连词成句30题)  1. have,playhouse,many,I,toy,i...
上班迟到情况说明英语   每个人都或多或少的迟到过那么几次,因为各种原因,可能生病,可能因为交通堵车,可能是因为天气冷,有...
小学英语教学论文 小学英语教学论文范文  引导语:英语教育一直都是每个家长所器重的,那么有关小学英语教学论文要怎么写呢...
英语口语学习必看的方法技巧 英语口语学习必看的方法技巧如何才能说流利的英语? 说外语时,我们主要应做到四件事:理解、回答、提问、...
四级英语作文选:Birth ... 四级英语作文范文选:Birth controlSince the Chinese Governmen...
金融专业英语面试自我介绍 金融专业英语面试自我介绍3篇  金融专业的学生面试时,面试官要求用英语做自我介绍该怎么说。下面是小编...
我的李老师走了四年级英语日记... 我的李老师走了四年级英语日记带翻译  我上了五个学期的小学却换了六任老师,李老师是带我们班最长的语文...
小学三年级英语日记带翻译捡玉... 小学三年级英语日记带翻译捡玉米  今天,我和妈妈去外婆家,外婆家有刚剥的`玉米棒上带有玉米籽,好大的...
七年级英语优秀教学设计 七年级英语优秀教学设计  作为一位兢兢业业的人民教师,常常要写一份优秀的教学设计,教学设计是把教学原...
我的英语老师作文 我的英语老师作文(通用21篇)  在日常生活或是工作学习中,大家都有写作文的经历,对作文很是熟悉吧,...
英语老师教学经验总结 英语老师教学经验总结(通用19篇)  总结是指社会团体、企业单位和个人对某一阶段的学习、工作或其完成...
初一英语暑假作业答案 初一英语暑假作业答案  英语练习一(基础训练)第一题1.D2.H3.E4.F5.I6.A7.J8.C...
大学生的英语演讲稿 大学生的英语演讲稿范文(精选10篇)  使用正确的写作思路书写演讲稿会更加事半功倍。在现实社会中,越...
VOA美国之音英语学习网址 VOA美国之音英语学习推荐网址 美国之音网站已经成为语言学习最重要的资源站点,在互联网上还有若干网站...
商务英语期末试卷 Part I Term Translation (20%)Section A: Translate ...