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;
}

相关内容

热门资讯

清明节小学作文 清明节小学作文15篇  在平日的学习、工作和生活里,大家对作文都再熟悉不过了吧,作文是从内部言语向外...
玩转麦鲁小城作文600字 玩转麦鲁小城作文600字暑假里的一天,难得的阴凉天气,我在家中望着外面,看到清洁员忙忙碌碌,一个想法...
思念亲人作文 关于思念亲人作文(通用5篇)  在我们平凡的日常里,大家一定都接触过作文吧,借助作文可以宣泄心中的情...
历史经典成语故事 历史经典成语故事(精选16篇)  故事:在现实认知观的基础上,对其描写成非常态性现象。是文学体裁的一...
扬帆起航作文600字 扬帆起航作文600字(通用40篇)  在生活、工作和学习中,大家或多或少都会接触过作文吧,借助作文可...
勤俭节约作文600字 关于勤俭节约作文600字(通用54篇)  在日常生活或是工作学习中,大家最不陌生的就是作文了吧,借助...
我的六一儿童节作文500字 【热门】我的六一儿童节作文500字四篇  在现实生活或工作学习中,大家总免不了要接触或使用作文吧,作...
什么时候立冬 2021什么时候立冬  立冬是二十四节气之一,那么2021年立冬是什么时候呢?2021立冬节气又是哪...
端午节作文300字 端午节作文300字精选7篇  在日常学习、工作抑或是生活中,大家都接触过作文吧,作文是经过人的思想考...
粽子的来历与传说故事 粽子的来历与传说故事(通用7篇)  端午节马上要来了,说到端午节小编想到的就是粽子了,中国饮食文化是...
国庆趣事作文400字 国庆趣事作文400字(精选38篇)  在平日的学习、工作和生活里,许多人都有过写作文的经历,对作文都...
植树节的作文700字 【热门】植树节的作文700字汇编9篇  在日常学习、工作或生活中,许多人都有过写作文的经历,对作文都...
小学三年级作文 小学三年级作文(通用48篇)  在教学工作者开展教学活动前,通常会被要求编写,是备课向课堂教学转化的...
我的十一假期作文300字 我的十一假期作文300字  这个假期爸爸妈妈都很忙,但还是抽出了一天的时间和我去植物园。  清晨,我...
小学作文牵牛花 小学作文牵牛花  1牵牛花  每天早上,我在上学的路上,总看见一种花,在围墙上生长——牵牛花,又叫喇...
做手工作文 做手工作文做手工“六一”儿童节学校要举行“手工比一比”所以每个同学都要自己动手做。今天妈妈要准备把手...
春雨 春雨  “轰隆隆”一声闷雷,一阵春雨随之而来,这预示着美好的春天终于降临了。    “好雨知时节,当...
小猫吃鱼作文 小猫吃鱼作文(15篇)  在日常学习、工作和生活中,大家或多或少都会接触过作文吧,借助作文可以宣泄心...
小学五年级母爱的作文600字 【精选】小学五年级母爱的作文600字三篇  在平凡的学习、工作、生活中,大家都尝试过写作文吧,借助作...
环境描写的五个经典作文开头 环境描写的五个经典作文开头  自然环境是指自然界的景物,如季节变化、风霜雨雪、山川湖海、森林原野等。...