实验二

Part1: 格式化输出函数printf()和格式化输入函数scanf()

在c程序开发环境下输入并运行程序ex2_1.c,运行程序,观察运行结果

#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:在f前加l,指定输出精度为double型,%.3f诸如此类则是将精度精确到第三位,同时作四舍五入; %6.2f指输出一个宽度为6,含两位小数的浮点型数据。

在c程序开发环境下输入程序ex2_2.c,查找并修改错误

修改前

/*
《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);
scanf("%f,%lf",&x,&y);
printf("%f,%lf\n",x,y);
return 0;
}

 

修改后

/*为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);
    scanf("%lf,%lf",&x,&y);
    printf("%lf,%lf\n",x,y);
    return 0;
}

地址是由地址运算符“&”后跟变量名组成的。第九行缺失了地址符&

double型数据在scanf()函数中要用%lf。倒数第三行和倒数第二行少了l

Part4: switch语句体验练习

/*
switch语句使用示例
输入1,2,3...的不同整数,显示不同提示信息  
*/
#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;
} 

/*
switch语句使用示例
输入1,2,3...的不同整数,显示不同提示信息  
*/
#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;
} 

part5: 简单编程练习
编程模拟用户做选择题的情况:要求用户从键盘输入一个答案选项(A,B,C,D之一),如果用户答案是'A',则输
出提示信息"Binggo, you are right~",否则,输出提示信息"try again~"。

#include<stdio.h>
int main(){
    char ch;
    printf("请输入你的答案(A,B,C or D):\n"); 
    scanf("%c",&ch);
    if(ch=='C')
    printf("Bingo,you are right!\n");
    else
    printf("try again~\n");
    return 0;
}

实验总结与体会

本次实验基本是在给出程序框架后补充一些简单的语句,所以并没有什么问题。

 

posted @ 2019-03-31 17:01  IIIsland  阅读(186)  评论(0编辑  收藏  举报