c语言题:符合C语言语法的赋值表达式是
别听上面的瞎说
“=”作用是将一个数据赋给一个变量,也可以将一个表达式的值赋给一个变量
注意是赋给一个变量,所以A 9+b+c=a+9 错
D 9+b++=a+7 还有一个错误是b++是表达式,不是变量
逗号运算符,作用是将两个表达式连接起来。计算过程是先计算括号前面的,在计算逗号后面的,整体值是逗号后面的。
B C都是正确的。
C是可以在电脑上运行的,因为电脑会先计算b++,值为a=0,此时,b=1,若改为++b,则a=1,括号也没问题
这道题考你对运算符,表达式的掌握,
刚刚看的教材,你又让我复习了基础知识,谢谢了
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
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语言题,在键盘上输入N个整数,试编制程序使该数组中的数按照从大到小的次序排列,要求用冒泡法,选择法
#include
main()
{
int a[10],i,j,t;
printf("Please input 10 numbers: ");/*输入源数据*/
for(i=0;i<10;i++)
scanf("%d",&a[i]); /*排序*/
for(j=0;j<9;j++) /*外循环控制排序趟数,n个数排n-1趟*/
for(i=0;i<9-j;i++) /*内循环每趟比较的次数,第j趟比较n-j次*/
if(a[i]>a[i+1])
/*相邻元素比较,逆序则交换*/
{ t=a[i];
a[i]=a[i+1];
a[i+1]=t;
}/*输出排序结果*/
printf("The sorted numbers: ");
for(i=0;i<10;i++)
printf("%d ",a[i]);
printf("
");
}