Linux学习--C语言(输入输出函数、流程控制)

1.输入输出函数

1.1 函数

C语言中输入输出需要通过函数实现,使用前加上#include<stdio.h>

1.2 函数接口

        1.2.1 对单个字符的输入输出

函数名

功能

使用形式

putchar

向终端输出一个字符(传入一个字符的ASCII码值,将该值对应的字符显示在屏幕上)

putchar('a');

putchar(100);

putchar(ch);

putchar(ch+5)

getchar  

从终端接收一个字符,表达式的结果为接收到字符的ASCII码值

char ch = 0;

ch = getchar();

        1.2.2 格式化字符串的输出 

函数名功能使用形式
printf向终端输出格式化的字符串见下

printf的使用形式

  • 打印非输出的控制符
printf("hello world\n");

\n:换行字符
\b:退格字符
\t:横向制表符
\v:纵向制表符
\r:回车符
\":"字符
\\:\字符
  • 打印输出控制符
int num = 0;
printf("num = %d\n",num);

char ch = 'a';
printf("ch = %c\n",ch);

double d = 3.14;
printf("d = %lf\n",d);

%d        按照十进制打印
%o        按照八进制打印
%x        按照十六进制打印
%c        按照字符打印
%f        按照浮点数型打印
%u        按照无符号类型打印
%ld       按照long类型打印
%lf       按照double类型打印
%s        按照字符串打印
%p        按照指针打印
%e        按照指数打印
%%        打印%号
  •  printf打印多个输出控制符

        输出控制符个数必须与表达式个数一一对应

  •  格式
%nd        n:预宽,不足预宽,高位用空号对齐
%.mf       m:保留m位小数
%-nd       -:左对齐
%0md       0:不足预宽,高位用0补齐
#include<stdio.h>

int main(void)
{
    int num1 =1234567;
    int num2 = 88;
    double num = 3.1415926;

    printf("num1= %d\n",num1);
    printf("num2 = %7d\n",num2);      //七位预宽
    printf("num = %.3lf\n",num);      //保留3位小数
    printf("num2 = %-7dRMB\n",num2);  //七位预宽,左对齐
    printf("num2 = %07dRMB\n",num2);  //七位预宽,高位用0补齐

    return 0;
}

        1.2.3 格式化字符串的输入

函数名功能使用形式
scanf向终端输入格式化的字符串见下

从终端接收一个字符串,把它转换成“ ”中间的格式

        1.scanf接收非输入控制符

  • 如果接收非输入控制符,需要在屏幕中原封不动输入
  • scanf尽量少出现非输入控制符
  • scanf认为‘’和“\n”是用户结束数据的标志,所以不会读取到代码中

        2.scanf接收输入控制符

int num = 0;
scanf("%d",&num);

float num = 0;
scanf("%f",&num);

double num = 0;
scanf("%lf",&num);

char num = 0;
scanf("%c",&num);

%d        //将字符串转换为十进制
%c        //从终端接收一个字符
 %c       //从终端接收一个非空格和\n的字符
%f        //将字符串转换为float类型
%lf       //将字符串转换为double类型
%s        //从终端接收一个字符串

         scanf除了%s可以不加&,其余都需要加&符号

        3.scanf接收多个输入控制符

int num1 = 0;
int num2 = 0;

scanf("%d%d",&num1,&num2);
printf("num1 = %d\n",num1);
printf("num2 = %d\n",num2);


float num1 = 0;
float num2 = 0;

scanf("%f%f",&num1,&num2);
printf("num1 = %f\n",num1);
printf("num2 = %f\n",num2);


char ch1 = 0;
cahr ch2 = 0;

scanf(" %c %c",&ch1,&ch2);  //空格%c 可以过滤掉输入的空格
printf("num1 = %c\n",ch1);
printf("num2 = %c\n",ch2);

        1.2.4 字符串的输出

函数名功能注意事项
puts向终端打印一行字符串puts会多打印一个\n字符
#include <stdio.h>

int main(void)
{
    char str[32] = {"how are you"};

    puts("hello world");
    puts(str);

    printf("hello world\n");
    printf("str = %s\n",str);

    return 0;
}

        1.2.5 字符串的输入

函数名功能注意事项
gets从终端接收一行字符串
#include <stdio.h>

int main(void)
{
    char str[100] = {0};

    gets(str);
    
    puts(str);
    printf("str = %s\n",str);

    return 0;
}

2.流程控制(前半部分)

程序运行的顺序结构:

  • 顺序结构
  • 分支结构
  • 循环结构

2.1逻辑表达式

        2.1.1 关系运算符

  • 表达式只有两种值:真、假
  • 为了避免 == 和 = 混淆,一般 == 常量放在左边
运算符含义
>大于
<小于
>=大于等于
<=小于等于
==等于
!=不等于
3 > 5      //false
3 <= 5     //true
3 == 5     //false
3 != 5     //true

int Num = 0;

Num == 0;    //true
Num != 0;    //false



int num = 200;
int ret = 0;

ret = 0 < num <100;    //输出为1,因为num>0,输出1,1<100,输出1,针对于此,得用上逻辑运算符

        2.1.2 逻辑运算符 

运算符含义
&&逻辑与
||逻辑或
逻辑非

&&真值表:一假为假,全真为真

左边右边真值表

||真值表:一真为真,全假为假

左边右边真值表

! 真值表:假取非为真,真取非为假

2.2 分支结构

        2.2.1 if分支

1.简单分支

if(表达式)
{
    语句块1;
}
else
{
    语句块2;
}

未完,敬请期待明天!!! 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值