当前位置: 首页 > news >正文

C语言-简单的程序设计

🌞欢迎来到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 <stdio.h>
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 <stdio.h>
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 <stdio.h>
#include <math.h>
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 <stdio.h>
#include <math.h>
int main(void)
{
    char a, b;
    printf("a=:"); //提示输入。
    scanf("%c", &a);
    b=a+32;
    printf("a->%c",b);
	return 0;
 }

#include <stdio.h>
#include <math.h>
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<stdio.h> 
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 <stdio.h>
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 <stdio.h>
int main(void)
{ int i=1;
  int sum=0;
  while(i<=100)
    { sum=sum+i;
      i++;
	  }  
  printf("sum=%d",sum);
  return 0;
}

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

#include <stdio.h>
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 <stdio.h>
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 <stdio.h>
int main(void)
{
char ch;
for(;(ch=getchar())!='\n';)
{
    putchar(ch);
}
return 0;
}

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

#include <stdio.h>
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 <stdio.h>
int main(void)
{
int i;
for(i=101;;i++)
{
	if(i%47!=0)
	    continue;
	printf("%d",i);
	break;
}
return 0;
}

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

#include <stdio.h>
#include <math.h>
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");
else
   printf("N");
return 0;
}

(2)第二种方法

#include <stdio.h>
#include <math.h>
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");
else
   printf("Y");
return 0;
}

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

#include <stdio.h>
#include <math.h>
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;
}

相关文章:

  • 链队列基本操作
  • 多旋翼无人机仿真 rotors_simulator:基于PID控制器的位置控制---高度控制
  • Python是“真火”还是“虚火”?
  • 为什么要做数据治理以及如何进行数据治理?
  • 那些被渐渐遗忘的python知识点
  • LeetCode16. 最接近的三数之和
  • 外包干了三年,真废了。。。
  • WinLicense 3.1.3.0 Crack
  • 通过Java监听MySQL数据的变化
  • Sam-ba烧录工具的使用教程
  • 基于驾驶训练优化算法的函数寻优算法
  • Linux运维面试题总结—Linux基础、计算机网络基础
  • ARM通用中断控制器GIC之中断处理
  • Vector简介说明
  • 图像处理黑科技——弯曲矫正、去摩尔纹、切边增强、PS检测
  • 《用数据讲故事》作者Cole N. Knaflic:消除一切无效的图表
  • Java 23种设计模式 之单例模式 7种实现方式
  • react 代码优化(一) ——事件处理
  • SAP云平台里Global Account和Sub Account的关系
  • Webpack 4 学习01(基础配置)
  • Webpack4 学习笔记 - 01:webpack的安装和简单配置
  • Web标准制定过程
  • 反思总结然后整装待发
  • 仿天猫超市收藏抛物线动画工具库
  • 猴子数据域名防封接口降低小说被封的风险
  • 机器学习学习笔记一
  • 解析 Webpack中import、require、按需加载的执行过程
  • 前端存储 - localStorage
  • 前端面试总结(at, md)
  • 深入浏览器事件循环的本质
  • 实战|智能家居行业移动应用性能分析
  • 数组的操作
  • 为什么要用IPython/Jupyter?
  • 一、python与pycharm的安装
  • 智能情侣枕Pillow Talk,倾听彼此的心跳
  • (delphi11最新学习资料) Object Pascal 学习笔记---第2章第五节(日期和时间)
  • (含react-draggable库以及相关BUG如何解决)固定在左上方某盒子内(如按钮)添加可拖动功能,使用react hook语法实现
  • (免费领源码)python#django#mysql公交线路查询系统85021- 计算机毕业设计项目选题推荐
  • (十三)Flask之特殊装饰器详解
  • (原創) 如何安裝Linux版本的Quartus II? (SOC) (Quartus II) (Linux) (RedHat) (VirtualBox)
  • (原創) 如何動態建立二維陣列(多維陣列)? (.NET) (C#)
  • (转贴)用VML开发工作流设计器 UCML.NET工作流管理系统
  • (轉貼)《OOD启思录》:61条面向对象设计的经验原则 (OO)
  • (状压dp)uva 10817 Headmaster's Headache
  • (最全解法)输入一个整数,输出该数二进制表示中1的个数。
  • .jks文件(JAVA KeyStore)
  • .NET Core Web APi类库如何内嵌运行?
  • .NET MVC、 WebAPI、 WebService【ws】、NVVM、WCF、Remoting
  • .NET 事件模型教程(二)
  • .NET 药厂业务系统 CPU爆高分析
  • .NET 依赖注入和配置系统
  • .NET 中的轻量级线程安全
  • .NET中 MVC 工厂模式浅析
  • .NET中winform传递参数至Url并获得返回值或文件
  • @font-face 用字体画图标