入门c语言的第一周(2)

goto out语句
在多层循环的内层跳到最外面   如:
#include<stdio.h>
int main()
{
    int one,two,five;//表示多少张一角两角五角的钱 
    int x;
    int count=0;
    scanf("%d",&x);
    for(one=1;one<10*x;one++){
        for(two=1;two<5*x;two++){
            for(five=1;five<2*x;five++){
                if(one+two*2+five*5==10*x){
                    printf("有一角的%d张,两角的%d张,五角的%d张",one,two,five);
                    goto out; //直接从这里
                }
            }
        }
    }
    out:跳到这里
    return 0;
 } 

if(i%2)如果i%2=0则为假,=1则为真

double c=pow(a,b);表示a的b次方
pow的返回值是double型,所以,a,b都应该是double型,不然会有数据丢失

个位数%10=个位数本身

                                                    数据类型
内存中的表达形式,整型是二进制数(补码),浮点型是编码   所以两个浮点型是不能直接做加法运算

                                                     sizeof
sizeof是一个运算符,给出某个类型或者变量在内存中所占的字节数
sizeof(int)
sizeof(变量名)
如printf("sizeof(int)%ld\n",sizeof(int));4
printf("sizeof(double)%ld\n",sizeof(double));8
printf("sizeof(long double)%ld\n",sizeof(long double));16
**sizeof是静态运算符,它的结果在编译时刻就决定了,不能在sizeof的括号里做运算,因为这些运算是不会做的

如果int a;
printf("sizeof(a)%ld\n",sizeof(a+1.0));结果会是八,因为会把a强转为double型
1字节(8比特)


char c=255;c=-1;
printf和scanf里用%c来输入输出字符
在类型的前面加一个unsigned,则使这个类型表达全部正数,没有负数,范围也扩大一倍(如char范围-128-127变为0-255)
unsigned short最大是65535
也可以在后面加个u或者U如255u
用l或者L表示long
一个以0开始的数字字面量是8进制    %o用于8进制
一个以0x开始的数字字面量是16进制  %x用于16进制

扫描二维码关注公众号,回复: 15519974 查看本文章

输出精度
在%和f之间加上.n可以指定输出小数点后几位,这样的输出是做四舍五入的
如:printf("%.3f",-0.0049);-0.005
printf("%.30f\n",-0.0049) ;-0.004899999999999999800000000000
printf("%.3f\n",-0.00049) ;-0.000

inf表示正无穷大  -inf是负无穷大  nan是不存在
fabs();是求绝对值
浮点运算会有误差

printf和scanf里用%c来输入输出字符
'小写'+'A'-'a'可转换成大写;
'大写'+'a'-'A'可转换成小写;

猜你喜欢

转载自blog.csdn.net/m0_62780474/article/details/122597645