实验二

实验结论:

格式符 含义 举例 结果 特殊的注意事项
%d 输出 iint a=567;printf("%d",a); 567 %5d:输出宽度为5的十进制数
%f 输出      
%c 输出      
%e 输出      
%s 输出      

 

 

 

 

 

 

 

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

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

 

格式控制字符串一般由修饰符和控制字符组成

ex2_2.c

/*
这是一个格式化输入输出函数及格式符使用练习
找出两处错误,修改并运行程序
为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("%f,%f\n",x,y);
return 0;
}

 

当变量类型为双精度时,输入函数和输出函数中的内容不相同

part 2:单个字符输出函数putchar()和单个字符输入函数getchar()

1.单个字符输出函数putchar()

/*
putchar()可以用于在屏幕上输出单个字符
括号中要给出想要输出的字符参数,参数可以是字符型常量/变量/表达式
如果使用这个函数,需要在程序前面加上#include <stdio.h>
*/
#include <stdio.h>
int main() {
char ch;
ch = 'A';
putchar(ch); // 参数ch是字符型变量
putchar(ch+32); // 参数ch+32是字符型表达式
putchar('\x41'); // 参数是字符型常量,是用十六进制表示的转义字符,是'A'的ASCⅡ码值
putchar('\n'); // 参数\n是字符型常量,是转义字符,表示换行
return 0;
}

2.单个字符输出函数getchar()

*
getchar()可以用于从键盘上输入单个字符 
括号中不需要参数
如果输入成功,函数会返回用户从键盘输入的字符 
如果使用这个函数,需要在程序前面加上#include <stdio.h> 
*/ 
#include <stdio.h>
int main() {
    char ch;
    ch = getchar();        // 用户从键盘输入字符,如果输入成功,输入的字符被赋值给ch 
    putchar(ch);        // 使用putchar()输出字符变量ch中存放的字符 
    printf("%c",ch);    // 使用printf()和格式符%c输出单个字符 
    return 0;
}

 

posted @ 2019-03-31 11:30  onedarker  阅读(106)  评论(2编辑  收藏  举报