当前位置:文档之家› C语言数据类型及输入输出函数

C语言数据类型及输入输出函数

实验二C语言数据类型及输入输出函数
一、实验目的
1、熟悉C语言编译环境Turbo C 2.0;
2、熟悉C语言的基本数据类型;
3、熟悉C语言的基本输入及输出函数;
4、使用TC编写简单的程序。

二、预习并思考
1.C语言所包括的基本数据类型
1)整型
整型数据可以有哪几种表示形式?(十进制,八进制,十六进制)
基本整型,短整型,长整型,字符型
两种表现形式
1在定义时使用:
比如十进制表示: int a=12;
八进制表示: int a=012;
十六进制表示:int a=0x12;
2
在输出时使用:
Printf(“%d”,a);/*十进制数*/
Printf(“%o”,a);/*八进制数*/
Printf(“%h”,a);/*十六进制数*/
这几种类型的数据应该如何定义?怎么区分?
整型 int “%d”
长整型 long int “ %ld”
字符型 char “%c”
整型数据的范围是多少?超出以后会如何?
整型数据范围:-32768~32767
超出后,依次从最小开始计数
比如32768 显示出来是-32768 2)实型
实型数据分为单精度float和双精度double两种,它们存储时分别占据多大的内存空间?
Float -2^32~2^31-1,占四个字节
Double -2^64~2^63-1,占八个字节
3)字符型
一个字符的数据范围有多大?
0~256
如何理解字符数据和整型数据之间的关系?字符和字符串之间的关系是什么,存储时有何区别?
字符人们使用的记号,抽象意义上的一个符号。

'1', '中', 'a', '$', '¥', ……
字符串在内存中,如果“字符”是以 ANSI 编码形式存在的,一个字符可能使用一个字节或多个字节来表
示,那么我们称这种字符串为 ANSI 字符串或者多字节字符串。

三、实验内容
阅读并调试下列程序(如程序中有错误,将错误改正过来,修改过的地方用红色字体标示,并将运行结果截图粘贴在程序下方)
1.putchar()函数的使用方法
#include <stdio.h>
main()
{ int c;
char a;
c=65; a='B';
putchar(c); putchar('\n'); putchar(a);
}
2.getchar()函数的使用方法
#include <stdio.h>
main()
{ int c;
printf("Enter a character:");
c=getchar();
printf("%c--->hex%x\n",c,c);
}
3.printf()函数的使用方法
main()
{
int a=1234;
int b=255;
float f=123.456;
char ch=‘a’;
printf(“%8d,%2d\n”,a,a);
printf(“%d\t%o\t%x\n”,b,b,b);
printf(“%f,%8f,%8.1f,%.2f,%.2e\n”,f,f,f,f,f);
printf(“%3c\n”,ch);
}
4.scanf()函数的使用方法
main()
{
int x;
char ch;
float f; float a,b,c,s,area;
/*这里可以用printf()输出一个提示输入的语句,指明用户应当输入什么数据*/
scanf(“%d”,&x);
/*这里可以用printf()输出一个提示输入的语句*/
scanf(“%c”,&ch);
/*这里可以用printf()输出一个提示输入的语句*/
scanf("%f,%f,%f",&a,&b,&c);
s=1.0/2*(a+b+c);
area=sqrt(s*(s-a)*(s-b)*(s-c));
printf("a=%7.2f, b=%7.2f, c=%7.2f, s=%7.2f\n",a,b,c,s);
printf("area=%7.2f\n",area);
printf("x=%d,ch=%d\n",x,ch);
}
5.调试程序
#include<stdio.h>
main()
{
int a;
float b;
char c;
a=213;
c=’a’;
b=12.32;
printf("\n%c\n%d\n%c\n%f",c,a,a,b);
return 0;
}
实验练习:(在每道题的后面先写上程序,再粘贴运行结果截图)
1.利用getchar()输入字符a,A,并用putchar()输出。

#include<stdio.h>
main()
{
char a;
char A;
a=getchar();
A=getchar();
putchar(a);
putchar(A);
}
2请编写一个程序,显示以下两行文字。

I an a student.
I love China.
#include<stdio.h>
main()
{
printf("\n I am a student\n");
printf("\n I love China\n");
}
3. 在一个程序中,分别有两个变量,一个名字为m,一个名字为n,他们的值分别是以下几组数据。

请分析他们的数据类型,并分别为每组数据编制程序,输出其m和n 的值,观察程序运行结果。

m=5,n=8;
#include<stdio.h>
main()
{
int m=5;
int n=8;
printf("\n %d,%d",m,n);
}
m=’a’,n=’B’;
#include<stdio.h>
main()
{
char m,n;
m='a';
n='B';
printf("\n%c.%c",m,n);
}
m=-43,n=278;
#include<stdio.h>
main()
{
int m=-43;
int n=278;
printf("\n %d,%d",m,n);
}
m=234.45,n=123.245;
#include<stdio.h>
main()
{
float m,n;
m=244.45;
n=123.245;
printf("\n%f,%f\n",m,n);
}
4. 编写程序,要求输入某职工的工资和奖金,并求出总收入(注意保留2位小数)显示输出。

#include<stdio.h>
main()
{
int labourage=0;
int bonus=0;
float revenue=labourage+bonus;
printf("\n Enter your labourage:");
scanf("\n%d",&labourage);
printf("\n Enter your bonus:");
scanf("\n%d",&bonus);
revenue=labourage+bonus;
printf("\The revenue is
\n%.2f",revenue);
}
四、思考题
1.常用的转义字符有哪些?基本功能如何?
\n 换行。

\t 光标移向下一个制表符。

\r 光标移向当前行的开头。

\\ 插入斜杠
\”插入双引号
\’插入单引号
2. scanf()函数的格式输入控制是如何实现的?试结合具体的数据类型来说明。

当数据为整型,scanf(“%d”,&a);
当数据为浮点型,scanf(“%f”,&a);
当数据为字符型,scanf(“%f”,&a);
3.printf()函数的格式输出控制是如何实现的?试结合具体的数据类型来说明。

当数据为整型,printf(“\n%d”);
当数据为浮点型,printf(“\n%f”);
当数据为字符型,printf(“\n%c”);。

相关主题