实验2

#include <stdio.h>
int main(){
    int a=5,b=7,c=100,d,e,f;
    d=a/b*c;
    e=a*c/b;
    f=c/b*a;
    printf("d=%d,e=%d,f=%d\n",d,e,f);
    return 0;
}

d=0,e=71,c=70 一致

d=a/b*c   e=a*C/b   f=c/b*a  因为int 定义后面的变量是整型变量,并且/和*是同级运算从左往右进行,,所以每进行完一次运算都要取整

 

#include <stdio.h>
int main(){
    int x=1234;
    float f=123.456;
    double m=123.456;
    char ch='a';
    char a[]="hello,world!";
    int y=3,z=4;
    printf("%d %d\n",y,z);
    printf("y=%d,z=%d\n",y,z);
    printf("%8d,%2d\n",x,x);
    printf("%f,%8f,%8.1f,%0.2f,%.2e\n",f,f,f,f,f);
    printf("%1f\n",m);
    printf("%3c\n",ch);
    printf("%s\n%15s\n%10.5s\n%2.5s\n%.3s\n",a,a,a,a,a);
    return 0;
} 

加上“”表述输入引号内的,

%d表示按十进制整数输出

13行要把引号里的y=  ,z=  按照十进制整数输出

14行%8d表示左补空格,数据长度为8  %2d表示数据长度为2,超过2个按实际输出

15行%f按浮点数输出,小数按6位小数输出  %8f数据长度为8  %8.1f表示数据长度为8,小数点后只有一位 %0.2f表示小数点只有2为整数部分照常   %.2ef表示按照指数输出,小数点保留至后两位

16行%1f指按浮点式的双精度形式输出 \n表示换行

17行%3c表示按字符输出,数据长度为3

18行%s表示按字符串输出  %15s表示按照数据长度为15的字符串输出  %10.5s表示数据长度为10,字符串输出位数为5  %2.5s表示按照数据长度为2输出,字符串输出位数为5,而实际输出超过2,按照实际输出   %.3s表示指定实际输出位数为3

    

#include <stdio.h>
int main() {
    double x,y;
    char c1,c2,c3;
    int a1,a2,a3;
    
    scanf("%d%d%d",&a1,&a2,&a3);
    printf("%d,%d,%d\n",a1,a2,a3);
    scanf("%c %c %c",&c1,&c2,&c3);
    printf("%c%c%c\n",c1,c2,c3);
    scanf("%lf,%lf",&x,&y);
    printf("%f,%lf\n",x,y);
    
    return 0;
} 

scanf 后一定要加地址符&否則不能正常運行并且要将第12行中%f改为%lf。因为double为双精度型,对应%lf

 

#include <stdio.h>
int main() {
    char x;
    
    x = getchar();
    
    if(x>=48&&x<=57) // 判断x是数字字符表达式 
        printf("%c是数字字符\n", x);
    else if(x>='A'&&x<='Z'||x>='a'&&x<='z') // 判断x是大写或小写英文字母的表达式 
        printf("%c是英文字母\n", x);
    else
        printf("%c是其它字符\n", x);
    
    
    return 0;
} 

可以用对应字符常量的符号表示也可以用ASCII值表示,要注意&&和||的用法

 

#include<stdio.h>
int
main() { char ans1, ans2; printf("复习了没? (输入y或Y表示复习了,输入n或N表示没复习) : "); ans1 = getchar(); getchar(); printf("\n动手敲代码了没? (输入y或Y表示敲了,输入n或N表示木有敲) : "); ans2 = getchar(); if(ans1=='y'||ans1=='Y'&&ans2=='y'||ans2=='Y') printf("\n罗马不是一天建成的:)\n"); else printf("\n罗马不是一天毁灭的。。。\n"); return 0; }

我觉得第6行的getchar是为了让我们从键盘上输入空格等分隔符的。在回答y或Y时要加上单引号

#include <stdio.h>
#include <math.h>
int main(){
    int n,sum;
    int q=2,a1=1;
    scanf("%d",&n);
    printf("sum=%d",sum=a1*(1-pow(q,n+1))/(1-q));
    return 0;
}

在引用pow函数时要加上头文件<math.h>表示引用函数,scanf后一定要加地址符&,注意在a1(1-pow(q,n))要加上*

 

posted @ 2020-10-31 17:35  林深时见鹿xx  阅读(95)  评论(1编辑  收藏  举报