C语言基础——输入输出

【输入输出语句】

【putchar】
【getchar】

【printf】
1. 格式控制符
2. 附加格式控制符

【scanf】
1. 需要对应获取控制字符!
2. 整型需要注意输入格式;
    
3. 字符型需要处理脏字符!
    处理脏字符方法:
    1 空格:清除--若干空格,若干tab, 若干回车
    2 抑制符*(一个字符):清除--tab,回车,空格,各种符号
    3 getchar():清除--一个字符;可以实现吃掉多个字符!(while)
注意:获取字符串结束标志是 空格 、 换行    

【练习1】
1. 从键盘输入a、b、c的值,求一元二次方程 y = ax^2+bx+c的根

【gets】 空间足够到才可以使用;
printf("%s\n%s\n", str, str);
scanf("%s %s", str, str);

str2 = gets(str1); 

注意:str足够大!gets(str);  
    gets 获取字符串结束标志是 \n
    
【puts】
输出一行字符串,函数提供换行;

【练习2】
2. 输入三角形三边长, a, b, c 计算三角形面积;
S = (1/2)*(a + b + c)
AREA = sqrt( S*(S-a)*(S-b)*(S-c) )

实践:
1.下列语句正确的是( C )
A.unsigned int i;  scanf(“%d”,i);
B. unsigned int i;  scanf(“%f”,i);
C. unsigned int i;  scanf(“%u”,&i);
2.以下程序
unsigned int Year,Mon,Day;
scanf(“%4u%2u%2u”,&Year,&Mon,&Day);
程序运行后在键盘输入20  16  1  2  0  2那么变量Day的值为( A )
A.1    B.12     C.2     D.21

【控制语句专题】
【if--else】
1. 
if(表达式1){
    语句块1
}else{
    语句块2
}
2. 
if(表达式1){
    语句块1
}
3. 
if(表达式1){
    语句块1
}else if(表达式2){
    语句块2
}else{
    语句块3
}
4. 
if(表达式1){
    if(表达式2){
        语句块1
    }else{
        语句块2
    }
}else{
    if(表达式3){
        语句块3
    }else{
        语句块4
    }
}

[练习1] 
输入三个数a, b ,c, 输出最大值;

[练习2] 
如何判断一个年份是否是闰年?
能被4整除,但不能被100整除的年份;
能被100整除,又能被400整除的年份;

【return 】 返回值 语句

【switch case】
多条件分支语句;

【break】 终止 语句;结束一段局部语句块;

[练习3]
终端输入学生成绩,判断分数等级;
100~90      A
89 ~80        B
79 ~70        C
69 ~60        D
59 ~ 0         不及格

[练习4]
读入两个数据data1 ,data2,和一个算术运算符op,实现算术运算; 
eg: input: 1+2   output: 3 

【while】
循环执行一段语句块;
先判断,后执行语句体

【do while】
循环执行一段语句块
先执行一次语句体,再判断是否继续执行语句体;

【死循环】
while(1);
do{;}while(1);

【应用一】
用代码实现终端输入一行字符(包括空格和其他特殊字符),原样输出。 (控制语句)putchar getchar
    while((ch = getchar()) != '\n'){
        putchar(ch);
    }
【应用二】
吃掉多个空格
......
while((ch = getchar()) != ' ');
putchar(ch);

【作业】
(***)1. 输入日期,判断是这一年中的第几天?
(*)2. 输入一个数(5位数), 判断是否是回文数,万位与个位数值相等, 千位与十位数值相等。 eg: 12321
(*)3. 输入一个数(1000),判断是否是完数,所有因子(不包括本身)累加,结果和数本身相等。eg。 6 = 1+2+3;   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值