C语言从“hello world”到深入【第二节·输入输出+控制语句】

目录

c语言中的输入输出

scanf的控制格式

printf的使用格式

getchar / putchar函数的使用

getchar的使用格式

putchar函数的使用

putchar的使用格式

gets/puts函数

gets函数的用法

puts函数的用法

C语言的控制语句

if/else选择语句的使用

switch/case语句

switch/case的语法结构

do/while循环

for循环

goto语句

goto语句的功能

break的用法

continue的用法

return用法


c语言中的输入输出

scanf和printf函数介绍

scanf函数的使用格式
scanf("控制格式",&变量);

scanf("控制格式",&变量1,&变量2...);

scanf的控制格式

变量类型

控制格式

用法

char

%c

scanf("%c",&a);

int

%d

scanf("%d",&a);

unsigned int

%u

scanf("%u",&a);

long

%ld

scanf("%ld",&a);

long long

%lld

scanf("%lld",&a);

float

%f

scanf("%f",&a);

double

%lf

scanf("%lf",&a);

char a[10];

%s

scanf("%s",a); 输入名就是首地址,不需要&符号


scanf输入实例

#include <stdio.h>

int main(int argc, const char *argv[])
{
    int a,b; //定义a和b的两个变量
    int sum; //保存a和b求和的值

    printf("请输入a和b两个变量 > ");
    //同时输入两个变量
    // "%d %d" ,输入的时候两个整数数之间是空格
    // "%d,%d" ,输入的时候两个整型数之间是逗号
    scanf("%d %d",&a,&b);                                                                                                                                
    sum = a+b; //求和

    printf("两个数相加的结果是 = %d\n",sum);//输出结果

    return 0;
}

scanf输入字符串实例

#include <stdio.h>

int main(int argc, const char *argv[])
{
    char arr[10]; //定义一个名叫arr的数组,有10个成员,每个成员都是char类型;

    printf("请输入字符串 > ");
    scanf("%s",arr); //arr是数组名,本身就是地址,不需要&取地址符号;
    			   //%s在输入字符串的时候,字符串中不能有空格,%s遇到空格会自动停止;

    printf("字符串 = %s\n",arr); //将输入的字符串,原样输出;                                        
    return 0;
}

注意:以下是支持空格的写法

scanf("%[^\n]",a); //%[^\n]表示除了\n之外的所有字符都输入的a数组中,
                       //此时输入的时候遇到空格或者Tab就不会停止了

printf的使用格式

printf("控制格式",变量1,变量2...);

变量类型

控制格式

使用及含义

char

%c/%d

printf("%c\n",a);

short

%d

printf("%d\n",a);

unsigned short

%u

printf("%u\n",a);

int

%d

以十进制显示整数 printf("%d\n",a);

int

%#o

以8进制显示整数   printf("%#o\n",a);

int

%#x

以16进制显示整数  printf("%#x\n",a);

int

%nd

printf("%4d\n",a);表示a占4个格,不足前面补充空

int

%0nd

printf("%04d\n",a);表示a占4个格,不足前面补充0

unsigned int

%u

printf("%u\n",a);打印无符号整数

long

%ld

printf("%ld\n",a);打印长整数

long

%#lo

printf("%lo\n",a);以8进制,打印长整数

long

%#lx

printf("%lx\n",a);以16进制,打印长整数

unsigned long

%lu

printf("%lu\n",a);打印无符号长整数

long long

%lld

printf("%lld\n",a);打印长长整数

float

%f

printf("%f\n",a);打印浮点数,保留小数点后6位

float

%.2f

printf("%.2f\n",a);打印浮点数,保留小数点后2位

float

%e

printf("%e\n",a);打印浮点数,以指数形式显示

float

%g

printf("%g\n",a);打印浮点数,保留小数点后有效位

double

%lf

printf("%lf\n",a);打印双精度浮点数,保留小数点后6位

char a[20]

%s

printf("%s\n",a);打印字符串

int *

%p

int a=10; printf("%p\n",&a);打印a变量的地址

printf使用实例

#include <stdio.h>

int main(int argc, const char *argv[])
{
    int a=10;                                                                                     
    printf("%d\n",a); //打印a的值
    printf("%-4d\n",a); //%-4d,-是左对齐 4d表示占4个格
    printf("%04d\n",a); //%04d表示占4个格,不足补0
    printf("&a = %p\n",&a); //打印a变量的地址
    return 0;
}

getchar / putchar函数的使用

getchar的使用格式

int getchar(void);

功能:从终端上读取一个字符

参数:无

返回值:读取到的字符

getchar函数使用实例

#include <stdio.h>

int main(int argc, const char *argv[])
{
    int a; 
    //从终端上读取一个字符,赋值给a变量
    a = getchar();
    //将获取到的字符打印到终端上
    printf("a = %c\n",a);
    return 0;
} 
putchar函数的使用
putchar的使用格式

putchar(int c);

功能:将c字符显示到终端上

参数:

​ c:被输出的字符的值

putchar使用实例

#include <stdio.h>

int main(int argc, const char *argv[])
{
    putchar('A');  //输出字符'A'
    putchar('\n');
    putchar(65);   //输出字符'A'(ascii值)
    putchar(10);    //这里的10就是'\n'
                                                                          
    return 0;
}

gets/puts函数

gets函数的用法

gets(char s[]);

功能:将终端上输入的字符串存放到s对应的字符数组中

在c语言中字符串的格式:

"hello" ===>'h' 'e' 'l' 'l' 'o' '\0'

在上述的字符串中一共有6个字符,'\0'是结束符,隐藏在字符串中。

gets使用实例

#include <stdio.h>

int main(int argc, const char *argv[])
{
    char arr[20];
    //注意:gets在输入字符串的时候,不会对越界进行检查。                                                                    
    gets(arr); //从终端上向arr数组中读取字符串

    printf("arr = %s\n",arr);
    return 0;
}

puts函数的用法

puts函数的语法格式

puts(char s[]);

功能:将s字符串中的内容显示到终端上,puts会自动加换行符号。

puts实例

#include <stdio.h>

int main(int argc, const char *argv[])
{
    char arr[20];
    gets(arr); //从终端上向arr数组中读取字符串

    puts(arr);
    puts("------------------");
    puts("");  //表示输出换行符号 等价于printf("\n");  或 putchar(10);                              
    return 0;
}

C语言的控制语句

C语言中的程序结构:顺序结构,选择结构,循环结构

if/else选择语句的使用

if 可以认为 "如果",else可以认为"否则";

如果(if)怎样就执行(条件1),否则(else)就执行(条件2)

结构1:
if(条件){   //如果条件成立,执行{}内的语句
	语句;
}

结构2:
if(条件){  //如果条件成立,执行语句1,如果条件不成立执行语句2
	语句1;
}else{
    语句2;
}

结构3:
if(条件1){  //如果条件1成立,执行语句1
	语句1;
}else if(条件2){ //如果条件2成立,执行语句2
    语句2;
}else{    //如果条件1和条件2都不成立,执行语句3;
	语句3;
}


if语句嵌套
if(条件1){
	if(条件2){
        语句1; //如果条件1成立,条件2也成立执行语句1
    }else{
        语句2; //如果条件1成立,条件2不成立执行语句2
    }
}

if / else使用实例

#include <stdio.h>

int main(int argc, const char *argv[])
{
    int a; //定义一个变量a;
	printf("请输入您的成绩\n");
	scanf("%d",&a);  //在终端上获取一个数字;
	if(a >100 || a < 0){   // 如果这个数是大于100或者小于0的,则提示错误并退出;
	  printf("成绩输入错误\n");
	  return -1;
	}
    if(a >= 60){  //如果数字大于或等于60,则输出成绩合格;
	  printf("成绩合格\n");
	}else{       //否则输出成绩不合格;
	  printf("成绩不合格\n");
	}
    return 0;
}

switch/case语句

switch/case的语法结构

用法1:
switch(变量){
	case 常量1://如果变量和常量1相等就执行语句1,常量1不能是变量,不能是表达式;
        语句1;
        break;  //结束switch/case语句
    case 常量2:
        语句2; //如果变量和常量2相等,执行语句2
        break;
    default:
        语句n; //如果变量和上述的常量都不相等执行default语句
        break;
}

用法2:
switch(变量){
	case 常量1:
        语句1; //如果变量和常量1相等,执行语句1和语句2;因为语句1后没有break;
    case 常量2:
        语句2; //如果变量和常量2相等就执行语句2
        break;
    default:
        语句n; //如果变量和上述的常量都不相等执行default语句
        break;
}

switch / case使用实例

#include <stdio.h>

int main(int argc, const char *argv[])
{
    int choose;

    printf("请选择你想购买的物品 > ");
    scanf("%d",&choose); //选择case后的序号进入相应的分支

    switch(choose){
        case 1:
            printf("购买苹果\n");
            break;
        case 2:
            printf("购买牛奶\n");
            break;
        case 3:
            printf("购买饮料\n");                                                                     
            break;
        default:
            printf("输入错误,请重新选择\n");
            break;
    }
    return 0;
}

do/while循环

do/while  /while循环的语法结构

用法1:
do{
	循环体;  
}while(循环条件);
//do{}while循环会先执行一遍循环体,在执行循环条件,
//如果循环条件为真继续执行循环体,直到循环条件为假,循环退出
    
用法2:
while(循环条件){
	循环体;
}
//先判断循环条件,如果循环条件为真,执行循环体,
//循环体执行完之后,再次判断循环条件,如果还为真,第二次执行循环体
//依此类推,直到循环条件为假循环退出。

用法3:
while(1){
	循环体;   //这种循环就是死循环,如果想要退出可以使用break;退出就近一层循环
}

while的使用实例:求1-100中偶数的和;

#include <stdio.h>

int main(int argc, const char *argv[])
{
    int i=1
    int sum=0;

    while(i<=100){
        if(i%2==0){   //如果if为真就说明i是偶数,将偶数值加到sum中                                                           
            sum+=i;  //等价于 sum = sum+i;
        }   
        i++;  //不管是奇数还是偶数都要让i++
    }   

    printf("sum = %d\n",sum);
    return 0;
}

for循环

for循环的语法结构

注意:在for函数中定义的变量为局部变量,作用域为for函数内;

用法1:
for (/* initialize */; /* condition */; /* loop */)                                      
{
    /* code */
}
initialize:初始条件
condition:循环条件
loop :变量改变 
code:代码区间

for(i=0;i<=100;i++){
	循环体;
}

用法2:
for(;;){   //死循环
	循环体;
}  

for循环使用实例:求1-100的和

#include <stdio.h>

int main(int argc, const char *argv[])
{
    int i,sum=0;
    for(i=1;i<=100;i++){
        sum+=i;
    }   
                                                                                                 
    printf("sum = %d\n",sum);
    return 0;
}

goto语句

goto语句的功能

goto是一个跳转语句,可以在一个函数内前跳转,也可以向后跳转。

goto的使用实例

#include <stdio.h>

int main(int argc, const char *argv[])
{
    printf("1\n");
    goto art; //执行goto语句的时候跳转到lable1位置向后执行
    printf("2\n");
art:  //前面goto直接跳转到这里继续执行;
    printf("3\n");
    return 0;
} 

break的用法

1.用来结束switch、case语句
2.break可以退出就近的一层循环

continue的用法

continue:它是在循环中使用的,用来跳过本次循环,进而执行下一次循环。

return用法

return只有在main函数中有退出程序的功能,习惯上程序执行成功返回0,

失败返回非0。

如果return在其他函数中使用它的功能结束这个函数,并将这个函数的结果返回。

本节完!
本节主要讲述C语言一些常用函数以及循环结构,分支结构 ,控制语句的使用;

第三节(C语言函数+数组)icon-default.png?t=N7T8http://t.csdnimg.cn/S3H34
有问题请联系邮箱:z1600306511@163.com

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

倾~~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值