C语言基础 (字符,标准,字符串)输入输出函数 3.30

本文介绍了C语言中的位运算符,如&、|、^、~,以及递增递减操作。详细讲解了地址运算符&、sizeof运算符以及三目运算符的使用。文章还涵盖了基本数据类型,如char、int、float、double的取值范围和存储方式。此外,讨论了常量、变量的声明和初始化,以及输入输出函数,如getchar()、putchar()、printf()、scanf()、gets()和puts()的功能和用法。
摘要由CSDN通过智能技术生成

3.30

复习

1.位运算
& | ^ ~
&:从低位到高位,每位进行与运算,遇00,位数不足则高位补0
|:从低位到高位,每位进行或运算,遇11,位数不足则高位补0
^:从低位到高位,每位进行异或运算,相同为0,相异为1,位数不足则高位补0
~:每一位取反,包括符号位
2.递增递减
++ ——
前++:先自加后赋值
后++:先赋值再自加

++a;a++; 执行完之后没有区别
3.地址运算
&:取地址符
&变量名
&a: //得到变量a的地址
4.逗号运算符
(表达式1,表达式2,表达式3···)
运算规则:从左到右,取最后的表达式结果,其他结果舍弃
5.sizeof运算符
功能:计算指定的数据的数据类型的大小
int a;
sizeof(a)==sizeofint);//四个字节
sizeofcharsizeofshortsizeof(long)  sizeof(float)
sizeof(double)
6.三目运算符
一般形式:
表达式?表达式1:表达式2
短路法则: a=3; (1>2)&&(a=5);   a=3

二、数据类型
数据类型一般分为两种:基本数据类型和用户自定义数据类型
    数据都是以补码形式存储运算
1.char--字符型--1个字节
signed char:有符号(+/-)
    一般省略不写则是有符号数
    取值范围:-128~127
    0000 0000---   0
    1000 0000--- -128
    0111 1111---  127
    正数:原码=反码=补码
    负数:原码--->反码--->补码
    反码:除符号位外每一位按位取反
    补码:反码加一
         补码--->反码--->原码
    反码:除符号位每一位按位取反
    原码:反码加一
-56  -48  -68  -118  -37
2. int--整型--4个字节
    signed int : 有符号
    范围:-231次方~231次方减一
    int a;//==signed int a;
    unsigned int :无符号
   范围:0~232次方减一
    long--长整型--8个字节
    取值范围:0~264次方减一
    short--短整型--2个字节
    取值范围:0~216次方-1
    float--浮点型--4个字节
    精确到小数点后6-7float a=1.2;
if(a==1.2)
    printf("1\n");//如果a=1.2则会打印输出
    double--双精度浮点型--8个字节
        精确到小数点后15-16位
三、常量
整型常量
字符型常量:('')
字符串常量:("")
浮点型常量:(实型常量)
标识符常量:
        一般形式:
        #define 标识符常量 数据
        #define x 10
        严格的替换
四、变量
        一般类型:存储类型 数据类型 变量名
        存储类型:
        auto
        register
        extern
        static
        数据类型:char int
        变量名:遵循标识符命名规则
2、初始化
        int a=03、赋值
        int a;
        a=10

today

输入输出

字符输入函数

getchar();
功能:从键盘获取一个字符
    返回值:返回获取到的字符
    char a;
    a=getchar();
    

字符输出函数

putchar(c)
    功能:输出打印到终端的一个字符
    #include <stdio.h>
  8 
  9 int main(int argc, char *argv[])
 10 {
 11 char a;
 12 a=getchar();
 13 printf("a=%c\n",a);
 14 putchar(a);
 15 putchar('1');
 16 putchar('\n');
 17     return 0;
 18 }
hqyj@ubuntu:~/3.30$ gcc 1.c
hqyj@ubuntu:~/3.30$ ./a.out
ss
a=s
s1

标准输出函数–printf()

一般形式:
printf("格式控制串",输出表);
格式控制符:
    #include <stdio.h>

int main(int argc, char *argv[])
{ 
int a=666;
char b='s';
float c=77.7;
char d[]="2324434";
printf("a=%d b=%c c=%f c=%e d=%s\n",a,b,c,c,d);
    return 0;
} 
hqyj@ubuntu:~/3.30$ vi 2.c
hqyj@ubuntu:~/3.30$ gcc 2.c
hqyj@ubuntu:~/3.30$ ./a.out
a=666 b=s c=77.699997 c=7.770000e+01 d=2324434

    %x--十六进制形式
    %o--八进制形式
    %e--指数形式
    %s--字符串形式
    %%--%本身
    
   修饰符:
    %4d:不足四个空向左补空
        
    %-4d:不足四个空向右补空
    %04d:不足四个空用0补齐
    %.4f:限制小数点后四位
    %.4c:限制字符串个数
        
 #include <stdio.h>

int main(int argc, char *argv[])
{ 
int a=10;
printf("%d %d %d %d %d\n",a++,a++,++a,++a,a++);
    return 0;
} 

hqyj@ubuntu:~/3.30$ ./a.out
14 13 15 15 10
  1.在printf函数计算过程中,是遵循从右到左计算。
  2.a++:会把中间变量直接赋值
  3.++a:先运算一编再赋值(最终输出a的最后值),和普通a一样
a----a同理:
#include <stdio.h>

int main(int argc, char *argv[])
{ 
int a=10;
printf("%d %d %d %d %d\n",a--,a--,--a,++a,a++);
    return 0;
} 

      hqyj@ubuntu:~/3.30$ vi 3.c
hqyj@ubuntu:~/3.30$ gcc 3.c
hqyj@ubuntu:~/3.30$ ./a.out
10 11 9 9 10
    不同的编译器结构不同,输出的结构也不同

标准输入函数–scanf()

一般形式:
    scanf("格式控制串",地址表);
    格式控制符:
    #include <stdio.h>
  8 
  9 int main(int argc, char *argv[])
 10 {
 11 int a,c;
 12 char b;
 13 scanf("%d%c%d",&a,&b,&c);//scanf输入时不需要中间添加逗号和空格还有换行符,可以紧贴着。
 14 printf("a=%d b=%d c=%d\n",a,b,c);
 15     return 0;
 16 }

脏字符:的处理办法   
1.用抑制符%*c
    2.getchar函数吸收

字符串输入函数–gets()

功能:从键盘上获取一串字符串

一般形式:gets(char *s);

#include <stdio.h>

int main(int argc, char *argv[])
{ 
char a[50];
gets(a);
printf("%s\n",a);
    return 0;
} 
hqyj@ubuntu:~/3.30$ ./a.out
asdfg
asdfg

字符串输出函数–puts()

put(a);会自动换行
    puts(" ");
练习:输入一个大写字母,输出对应的小写字母
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

孤独memories

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

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

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

打赏作者

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

抵扣说明:

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

余额充值