第二次实验

Part 1

 printf()scanf()用法

#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("%lf\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:按十进制整型输出

%f:输出实数,以小数形式输出,默认情况下保留小数点6位。

%c:输出一个字符。

%e:以指数形式输出实数。

%s:输出一个字符串。

%5d:表示按十进制输出数据,最小输出宽度为5个字符,如果输出的数据小于5个字符,前补空格,如果超过5个字符,按实际数据长度输出。

%f:输出小数

%.3f:单精度浮点型,保留3位小数。

%lf:双精度浮点型

%6.2f:输出结果总共占6个字符,保留2位小数。

输入double类型数据的时候必须要用%lf

改错:

#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("%lf,%lf\n",x,y);
    return 0;
}

double类型输入必须用%lf


part 2:

int main()
{   char ch;
    ch = 'A';
    putchar(ch);
    putchar(ch+32);
    putchar('\x41');
    putchar('\n');
    return 0;    
}


part 3:

 1 单分支if语句

#include <stdio.h>
int main() {
int a,b;
int t; // 用于交换a和b时,作为中间变量
printf("输入两个整数给a和b:\n");
scanf("%d%d",&a,&b);
if(a>b) {
t = a;
a = b;
b = t;
}
printf("a=%d, b=%d\n",a,b);
return 0;
}

结果:

2 两分支if语句

#include <stdio.h>
int main(){
    int n;
    printf ("输入一个整数:\n");
    scanf ("%d",&n);
    if(n%2==1)
        printf ("n是奇数"); 
    else
        printf ("n是偶数"); 
    return 0; 
}

结果

3多分支if语句

#include <stdio.h>
int main() {
    int grade;
    printf ("输入成绩:\n");
    scanf ("%d",&grade);
    if(grade>=90)
        printf ("优秀\n");
    else if(grade>=80 && grade<90)
        printf (""); 
    else
        printf ("一般");
    return 0;
}

结果:

 

Part4: switch语句体验练习

#include <stdio.h>
int main() {
int level;
printf("输入现在状态等级(1-5): ");
scanf("%d",&level);
switch(level) {
case 1: printf("high翻了:)\n"); break;
case 2: printf("low爆了:(\n"); break;
default: printf("一言难尽,无法概括。。。\n");
}
return 0;
}

结果:

 

无break:

#include <stdio.h>
int main() {
int level;
printf("输入现在状态等级(1-5): ");
scanf("%d",&level);
switch(level) {
case 1: printf("high翻了:)\n"); 
case 2: printf("low爆了:(\n"); 
default: printf("一言难尽,无法概括。。。\n");
}
return 0;
}

结果

 

区别:

有break时,当执行完匹配的常量时,会结束;当无break时,会从匹配的常量开始执行到结束。


paret 5:

#include <stdio.h>
int main() {
    int answer;
    printf ("输入你的答案:\n");
    scanf ("%c",&answer);
    switch (answer) {
            case 'A':printf ("Binggo, you are right~");break;
    default:printf ("try again~");
        
        
    }
    
    return 0;
    
    
}

结果:

 

 


体会:

      还是要熟悉C语言的各种语法格式,注意细节,多加练习,C语言的各种语法知识并不难,但是需要的就是我们的练习,熟练,才能保证细节不出错。越来越觉得C语言其实很有趣,每次成功运行都很开心。

 

posted @ 2019-03-31 23:43  赵环宇  阅读(149)  评论(4编辑  收藏  举报