信息技术教案

3.9 第三章 提高部分 附加课

时间:2015-09-19 来源:无忧教育网 编辑:森林狼 点击:

3.9 第三章 提高部分 附加课

3.9.1 无符号数据与有符号数据之间的赋值
1、将有符号整数赋值给长度相同的无符号整型变量:
按字节原样赋值(连原有的符号位也作为数值一起传送)

例3.10 有符号整数赋值给无符号整型变量,数据会失真。
#include <stdio.h>
void main ( )                 
{ unsigned a; 
   int b; 
   b=-1;
   a=b;
   printf("%u\n",a);
}
b
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
a
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
输出结果:65535

2、将无符号整数赋值给长度相同的有符号整型变量:
不要超出有符号整型变量的数值范围,否则会出错
例3.11 无符号整数赋值给有符号整型变量,注意数值范围。 
#include <stdio.h>
void main ( )                 
{ unsigned a; 
   int b; 
   a=65535;
   b=a;
   printf("%d\n",b);
}
a
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
b
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
输出结果:-1
3.9.2 较复杂的输入输出格式控制

1.输出数据时的格式控制
%md。用来指定输出数据的宽度,m是指定的宽度,如果数据实际的位数小于m,则左端补以空格,若大于m,按实际位数输出
printf("%4d,%4d",123,12345);
123,12345
 
%ld。对于int型数据占2字节的系统,在输出长整型数据时要在格式字符d前面加一个英文字母l
long  a=135790;
printf(“%ld",a);
printf(“%8ld",a);

135790
  135790
 
%o。以八进制整数形式输出。由于是将内存单元中的各位的值(0或1)按八进制形式输出,因此输出的数值不带符号,即将符号位也一起作为八进制数的一部分输出
int a=-1;
printf(″%d,%o″,a,a);

-1,177777
 
%x。以十六进制数形式输出整数。同样不会出现负的十六进制数
int a=-1;
printf(″%d,%x″,a,a);

-1,ffff
 
%u。用来输出无符号型数据,以十进制整数形式输出
一个有符号整数也可用%u格式输出;反之,一个无符号型数据也可用%d格式输出
按相互赋值的规则处理
无符号型数据也可用%o或%x格式输出

例3.12 无符号数据的输出。
#include <stdio.h>
void main()
{unsigned a=65535; 
  int b=-2;
  printf("a=%d,%o,%x,%u\n",a,a,a,a);
  printf("b=%d,%o,%x,%u\n",b,b,b,b);
}

在TC2.0下(占2字节)的运行结果为:
a=-1,177777,ffff,65535
b=-2,177776,fffe,65534 
在VC++6.0下(占4字节)的运行结果为:
a=65535,177777,ffff,65535
b=-2,37777777776,fffffffe,4294967294

%mc。用来指定输出字符数据的宽度
char c=‘a’;
printf(“%3c”,c);

  a

%ms。指定输出的字符串占m列
若串长大于m,则将串全部输出
若串长小于m,则左补空格
%-ms。如果串长小于m,则在m列范围内,字符串向左靠,右补空格。

例3.13 字符串的输出。
#include <stdio.h>
 void main ( )                 
  printf("%3s,%7.2s,%.4s,%-5.3s\n",
   "CHINA","CHINA", "CHINA", "CHINA");
}
CHINA,      CH,CHIN,CHI  

%m.nf。指定输出的实数共占m列,其中有n位小数
如果数值长度小于m,则左端补空格
%-m.nf与%m.nf基本相同,只是使输出的数值向左端靠,右端补空格

例3.14 输出实数时指定输出两位小数。
#include <stdio.h>
void main ( )
{ float f=123.456;
   printf("%f  %10f\n”,f,f);
   printf(”%10.2f  %.2f\n”,f,f);
   printf(”%-10.2f\n",f);
}  
123.456001  123.456001
    123.46  123.46
123.46    

例3.15 求3个圆的周长,输出结果时上下按小数点对齐,取两位小数。
#include <stdio.h>
#define PI 3.1415926
void main ( )
{ double r1=1.53,r2=21.83,r3=123.71, s1,s2,s3;
   s1=2.0*PI*r1;   s2=2.0*PI*r2;   s3=2.0*PI*r3;
   printf("r1=%10.2f\nr2=%10.2f\nr3=%10.2f\n",
                          r1,r2,r3);
}

%m.ne和%-m.ne。 m、n和“-”字符的含义与前相同。此处n指拟输出的数据的小数部分(又称尾数)的小数位数
%g。用来输出实数,它根据数值的大小,自动选f格式或e格式(选择输出时占宽度较小的一种),且不输出无意义的零

2.输入数据格式控制
与printf函数中的格式声明相似
以%开始,以一个格式字符结束,中间可以插入附加的字符
可以指定输入数据所占的列数,系统自动按它截取所需数据
输入数据时不能规定精度

 
3.9.3 简单易用的C++的输入输出
C的输入输出格式繁多。C++对此作了改进,用简单易用的cin进行输入,用cout进行输出
printf(“a=%f\n”,a);   在C++中:
cout<<”a=”<<a<<”\n”;
scanf(”%d %f”,&a,&b); 在C++:
cin>>a>>b;
 
3.9.4 C++用“//”作为注释的标识
在C中用“/*……*/”注释
在C++中用“//”注释到本行末尾
cin>>a>>b;  //用cin输入变量a和b的值

详细内容可下载幻灯片细看:
http://www.edu399.com/kejian/C/C.rar

  [演讲搞范文专题]   [地震作文专题]   [比赛演讲口号专题]   [幸福的作文]

本文地址:http://www.edu399.com/jiaoan/xxjs/142204.html
本文标题:3.9 第三章 提高部分 附加课
评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)