打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
实验二总结

Part1: 格式化输出函数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!"; // 定义一个数组a,数组中连续存放了字符串常量hello,world!    int y=3, z=4;     printf("%d %d\n", y, z);    printf("y=%d, z=%d\n", y,z);    printf("�,-\n", x,x);    printf("%f, �, %8.1f, %0.2f, %.2e\n",f,f,f,f,f);    printf("%lf\n",m);    printf("<\n", ch);="" printf("%s\ns\n.5s\n%2.5s\n%.3s\n",a,a,a,a,a);="" return="" 0;="">

此部分主要考察C语言常用输出格式符:在这个程序中,我们会发现第四行输出的最后三位数是“001”而不是“000”,这是由于计算机精度问题造成的;然后就是代码打的是输出“-",结果输出的是”1234”而不是“12”,这是计算机的默认规则,即实际数位超过设定数位按照实际数位输出;还有就是在输入double型数据时scanf()要用%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("%f,%lf",&x,&y);    printf("%f,%lf\n",x,y);    return 0;} 

更改后:

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

此代码缺少了取地址运算符"&";双精度变量x对应长双精度格式%lf。

Part 2:

①getchar()

#include <stdio.h>int main() {    char ch;    ch = getchar();        // 用户从键盘输入字符,如果输入成功,输入的字符被赋值给ch     putchar(ch);        // 使用putchar()输出字符变量ch中存放的字符     printf("%c",ch);     // 使用printf()和格式符%c输出单个字符     return 0;}

②putchar()

#include <stdio.h>int main() {    char ch;    ch = 'A';    putchar(ch);          // 参数ch是字符型变量     putchar(ch 32);      // 参数ch 32是字符型表达式     putchar('\x41');     // 参数是字符型常量,是用十六进制表示的转义字符     putchar('\n');       // 参数\n是字符型常量,是转义字符,表示换行     return 0;}

Part3: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;} 
#include <stdio.h>int main() {    printf("输入一个整数给n:\n");    scanf("%d",&n);    if(n%2)        printf("n是奇数.\n");    else        printf("n是偶数.\n");    return 0;} 
#include <stdio.h>int main() {    int level;    printf("输入现在状态等级(1-5):  ");    scanf("%d",&level);    if(level == 1)         printf("high翻了:)\n");    else if(level == 2)         printf("low爆了:(\n");    else        printf("一言难尽,无法概括。。。\n");    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;} 

若把case语句后面的break删除,这出现下图所示结果:

这说明switch语句遇到break则跳出,否则一直执行,所以我们在使用switch语句时,应该注意不要漏掉case语句后面的break。

Part 5

方法一:if语句:

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

方法二:switch语句:

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

总结:在这次实验中,我初步了解了if语句和switch语句的用法,对于精度要求、字符宽度等细节也有了进一步的了解。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
读入优化&输出优化
C程序课件第4章顺序
第3章 顺序结构
一起来学习C语言的输入和输出
有限状态机详解(转载)
第六讲 getchar()
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服