实验2

 

实验结论

Part 1

ex2_1:

/* 
《C语言程序设计教程学习指导》p118 实验内容(1) 
这是一个常用格式控制符使用示例
运行程序,结合运行结果,对照每一行printf()中的格式控制符,理解其功能和用法
*/ 
#include <stdio.h>
int main() {
    int x=1234;
    float f=123.456;
    double m=123.456;
    char ch='a';
    char a[]="Hello, world!"; // 定义一个数组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的含义是:按浮点数输出。
%c的含义是:按字符输出。
%e的含义是:按指数形式输出。
%s 的含义是:按字符串输出。
%5d表示整型宽度至少为5位,右对齐。
%lf表示以double型格式输出或输入变量的值。
%.3f表示保留3位小数。
%6.2f表示整形宽度为6位,保留小数点后两位。

ex2_2

/* 
C语言程序设计教程学习指导》p119 实验内容(2)  
这是一个格式化输入输出函数及格式符使用练习
找出两处错误,修改并运行程序 
为a1,a2,a3,c1,c2,c3,x,y输入数据,使得:
a1=1,a2=2,a3=3,c1='a',c2='b',c3='c', x=1.5, y=2.5 
*/ 
#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);
    // double类型格式化输入输出时需要使用%lf//
    //输入数据时注意逗号的大小写// 
    scanf("%lf,%lf",&x,&y);
    printf("%lf,%lf\n",x,y); 
    return 0;
} 

 

  运行结果:

 输入时double型必须用%lf,float型用%f;而输出时float用%f,double两者都可以。

输入数据时注意逗号的大小写及'&'。

 Part 3 if 语句练习

1. if后的小括号必须要有,语句序列中只有一条语句的时候,可以省略{}

2. if语句序列中可以嵌套使用if语句

Part 4 switch语句练习

使用switch语句时需要注意:

1. switch语句中括号里表达式的值必须是整型或字符型。

2. default在最后一行时下面的break可以省略不写,但如果没有在最后一行default下面需要加上break,否则执行完default后会继续执行下面的代码直到遇到break跳出循环。例如:

存在break时:

#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;
} 

运行结果为:

 

Part 5 简单编程练习

/*编程模拟用户做选择题的情况:要求用户从键盘输入一个答案选项(A,B,C,D之一),
如果用户答案是'A',则输 出提示信息"Binggo, you are right~",
否则,输出提示信息"try again~"*/
#include<stdio.h>
int main()
{
    printf("请输入你的答案(A,B,C or D):");
    char ch;
    scanf("%c",&ch);
    if(ch=='A')
        printf("Binggo, you are right~");
    
    else
        printf("try again~");
    
    return 0;
}

运行结果如图:

 

 另外尝试了switch的做法,代码如下

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

运行结果:

实验总结与体会:

1.在定义字符型常量时,容易误用 int,要多练习以明确自己应该使用的代码。

2.其他:本次实验较为简单,基本上看书都能解决。

 

posted @ 2019-04-01 19:56  ヴィクトリカ  阅读(184)  评论(2编辑  收藏  举报