计算机题目:有关信息与数据之间的联系,下列说法错误的是() A信息是数据的内涵,是对数据语义的解释
选B
大学IT课本第4页有明确解释:
信息是有用的数据,数据是信息的表现形式,即原选项主客颠倒。
C语言编程,从键盘输入10个学生的成绩,由高到低排序输出成绩。
//如果只有成绩信息就可以用下面的代码
//如果还需要加入学号,姓名之类的信息,可以用结构体然后对成绩排序即可
#include"stdio.h"
int main()
{
int d[10]={0},i,j,t;//数组d存放10个学生的成绩
for(i=0;i<10;i++)//输入10个成绩(空格分开)
scanf("%d",&d[i]);
for(i=0;i<9;i++)//排序 for(j=i+1;j<10;j++) if(d[i]<d[j]) {
t=d[i],d[i]=d[j],d[j]=t;
}
for(i=0;i<10;i++)//输出10个成绩
printf("%d ",d[i]);
getch();
return 0;
}
c语言题目:若有下列定义:char a;int b;float c;double d;c*=b+d c,则c的类型为?
你好!!!
char a;int b;float c;double d;
c*=b+d-c这个表达式中含有不同的数据类型,那么编译器就会自动把低级类型向高级类型转换(当然这个转换是自动转换的)即编译器会把char ,int, float 转换成double的类型,
c*=b+d-c但是我们定义变量c是float类型的,那么这个计算结果就会强制转换成float,然后把转化后float类型的数据在赋值给变量c.
总结:在有不同类型的计算中,都会把低级运算想高级运算自动转化,要是表达式中都float,那么其他低于float类型的都会转化成float,要是有double也是如此。
但是注意一点:编译器在计算的时候是按等级最高的类型计算的,计算的只是表达式结果的类型,那要是把高级类型的几个赋值给低级类型,会发出自动转换。比如:
char a;int b;float c;double d;
表达式a+b+c+d,那么这个表达式中最高的类型就是double,那么表达结果的类型就是double,但是我们可把double类型赋值给int 类型:int x=a+b+c+d,那么此时x的类型还是int