c语言putchar_停课不停学|C语言回顾课程(一),请查收!

Hello各位小伙伴们~

在家里想学习却不知从何下手?

小编为大家准备了C语言的复习课程哦~
下面我们一起来康康叭~

41274551b101b86ef7e37e7aeea42552.png

C语言复习

第一章和第二章的内容比较基础

我们在这里就不详细阐述了

第一节我们一起来学习一下第三章和第四章

第三章

输入、输出函数:

字符输入函数getchar()

字符输出函数putchar()

格式输入函数scanf()

格式输出函数printf()

第四章

算法的相关内容以及常用的几种结构和语句

41274551b101b86ef7e37e7aeea42552.png

第3章 键盘输入与屏幕输出

输入输出数据需要调用标准库函数来实现

#include

字符输出函数

                   – putchar(ch)

                   – 输出一个字符ch

字符输入函数

                   – getchar()无参数

举例:

#include  

main()

{

    char  ch;                   

    printf("Press a key and then press Enter:");

    ch = getchar();  

    printf("You pressed ");

    putchar(ch);          

}

982779c7a40c27bf5060833376842375.png

Printf输出格式字符

%c  character:以字符形式输出单个字符

%s  string:输出一个字符串

%d  decimal:以带符号十进制整数输出

%f  float:以小数形式输出浮点数(6位小数)

%e  exponent:以标准指数形式输出(6位小数)

%g  选用%f,%e中输出宽度较小的一种格式

%o  octal:以八进制无符号整数输出(无前导0)

%x  hex:以十六进制无符号整数输出(无前导0x)

%u  unsigned:以十进制无符号整数输出

举例:

printf(格式控制字符串, 输出项表列);

printf("a=%d b=%f",  a, b);   

printf代表次函数名; 

a= b=代表普通字符 %d %f格式说明。

最后的a b代表可输出表列。

小数输入格式为printf(“a=%10.5d”,a);

10代表域宽(意为后面一共有几位 空格也算一位);

5代表小数位数。

举例:

b9f10666884c09469416e927ed072be9.png

接下来说一下输入函数scanf();

格式:scanf(格式控制字符串, 地址表列);

         scanf("%d,%f”,    &a, &b);

"%d,%f”:指定输出格式,中间可以逗号,空格分隔。

&a, &b:输入格式列表。

接下来说一下输入函数注意说明符

m  表示数据占用的宽度

l   加在d、o、x、u前:输入长整型

    加在f、e 前:输入双精度型

L  加在f、e 前:输入long double型

h  加在d、o、x 前:输入短整型

*  本输入项在读入后不赋给相应的变量

举例:

a61c241c225e9bc505db1b9245979254.png

因为%*2d不用读入相关数据   所以该项直接跳过。

026e8a4995e1fb39bca91ee21f5a6e2d.png

结果:

047a7f0e6f2bd514796230cab73c8f20.png

理应结果应是:

1cd5513428fb0840142a9671172438cd.png

为什么会出现这种错?

因为在缓冲区存在一个空格字符,导致了后面的有效字符无法读入。

我们应该添加一个getchar()函数:

1891c1d584b8d1944b7ed45296725aa1.png

这样就避免了此类情况的发生。

不要死记硬背,要活学活用。

41274551b101b86ef7e37e7aeea42552.png

第4章 程序的控制结构

我们首先要了解一下什么是算法。

①:为解决一个具体问题而采取的确定的、有限的操作步骤,就称为“算法”。

②:对同一个问题,可以有不同的解题方法和步骤。

③:为了有效地进行解题,不仅需要保证算法正确,还要考虑算法的质量,选择合适的算法。

通过算法我们可以快速的分析出数据的准确性。

算法具有几个特性:有穷性,确定性,有0个或多个输入,有一个或多个输出,有效性。

f8cdd0c0cf359240265ca137b76e43bf.png

举例:

用C语言表示:

#include

int main( )

 {  int sign=1;

     double deno = 2.0,sum = 1.0, term;  

     while (deno <= 100)

    {   sign = -sign;

        term = sign/deno;

        sum = sum+term;

        deno = deno+1;

     }

     printf ("%f\n",sum);

     return 0;

}

这就是相关算法。

算法要根据题设自己想出相关运算,接着写出算法。

首先先说一下循环和选择结构。

选择语句主要是:If语句和switch语句。

If语句是2个分支的选择结构;

switch语句是多个分支的选择结构;

说一下if语句的一般格式;

If(表达式)

{可以使关系表达式,逻辑表达式,数值表达式}

语句一;

else

语句二;

每个else都是与与其最近未配对if相匹配(这个要多加注意)。

最常用的3种if语句形式:

1. if (表达式) 语句1;(没有else子句)

2. if (表达式) 语句1 ;    

    else  语句2;      (有else子句)

3. if(表达式1)    语句1;

    else if(表达式2) 语句2;

    else if(表达式3) 语句3;

                  ┆

    else if(表达式m) 语句m;

    else   语句m+1;

 (在else部分又嵌套了多层的if语句)

接下来说一下switch语句;

switch多用于多分支选择结构。

例4.6 要求按照考试成绩的等级输出百分制分数段,A等为85分以上,B等为70~84分,C等为60~69分 ,D等为 60分以下 。成绩的等级由键盘输入。

#include

int main()

{  char grade;

   scanf("%c",&grade);

   printf("Your score:");

   switch(grade)

 {   case 'A': printf("85~100\n");break;(注意break不能少 其作用为转到语句的结束末尾)

       case 'B': printf("70~84\n");break;

       case 'C': printf("60~69\n");break;

       case 'D': printf("<60\n");break;    

       default:  printf("enter data error!\n");

   }

   return 0;

 }

若输入A那么结果就是85~100 输入C结果就是60~69

switch语句的一般形式:

switch(表达式)

{  case  常量1 :语句1

    case  常量2 :语句2

       ┇    ┇       ┇

    case  常量n :语句n

    default     :  语句n+1

}

注意常量不能相同

接下来在说一道比较经典的判断闰年的题。(该题很多算法  这不唯一)

#include

int main()

{int year,leap;

  printf("enter year:"); scanf("%d",&year);

  if (year%4==0)

      if(year%100==0)

       if(year%400==0)    leap=1;

          else    leap=0;

      else    leap=1;

  else    leap=0;

  if (leap)     printf("%d is ",year);

  else  printf("%d is not ",year);

  printf("a leap year.\n");

  return 0;

}

41274551b101b86ef7e37e7aeea42552.png 7fbcfdc554f5df9bfdec7f011ad426a1.png

本期的C语言复习课就到这里啦~

我们下期不见不散哦~

开学临近

大家要调整好状态

迎接新的学期

有问题我们评论区见哦~

文案:潘长鑫

排版:李肃疆

06740d3bc7504610aa9131dfd0018c8e.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值