帮忙《C语言程序设计》的题目

一.选择题
1、若a是float型变量,b是unsigned型变量,以下输入语句( )是合法的。
A) scanf("%6.2f%d",&a,&b) B) scanf("%f%n",&a,&b)
C) scanf("%f%3o",&a,&b) D) scanf("%f%f",&a,&b)
2、设以下变量均为int类型,则值不等于7的表达式是( )。
A) (x=y=6,x+y,x+1) B) (x=y=6,x+y,y+1)
C) (x=6,x+1,y=6,x+y) D) (x=6,x+1,y=x,y+1)
3、设变量a是整型,b是实型,c是双精度型,则表达式10+'a'+b*c值的数据类型为( )。
A) int B)float C)double D)不确定
4、设有说明:char w; int x; float y; double z; 则表达式 w*x+z-y 值的数据类型为( )。
A)float B) char C) int D) double
5、若给定条件表达式(x)? (a++):(a--), 则表达式x ( )。
A) 和(x==0)等价 B) 和(x==1)等价
C) 和(x!=0)等价 D) 和(x!=1)等价
6、C语言中while和do-while循环的主要区别是( )
A) do-while的循环体至少无条件执行一次
B) while的循环控制条件比do-while的循控制条件严格
C) do-while允许从外部转到循环体内
D) do-while的循环体不能是复合句
7、若有说明:int a[10];,则对a数组元素的正确引用是( )
A) a[10] B)a[3.5] C)a(5) D)a[10-10]
8、设以下变量均为int类型,则值不等于7的表达式是( )。
A) (x=y=6,x+y,x+1) B) (x=y=6,x+y,y+1)
C) (x=6,x+1,y=6,x+y) D) (x=6,x+1,y=x,y+1)
9、设i和x 都是int类型,则以下for循环( )。
for(i=0,x=0;i<=9&&x!=876;i++) scanf("%d",&x);
A) 最多执行者10次 B) 最多执行者9次
C) 是无限循环 D) 循环体一次也不执行

二、填空题(每小题2分,共10分)
1、以下程序的输出结果为 。
main()
{int i,j,m,n;
i=1;j=2;m=++i;n=j++;
printf("%d,%d,%d,%d",i,j,m,n);
}
2、设 a 和 n 为整型变量,a=10,n=5,则表达式 a*=3+6 的值为 。
3、设x=1,y=2,z=3,则表达式 z||x>y&&11的值为
4、执行语句int a=3; a+=a-=a*a;后,a的值是 。

5、若 int i,j,k; 则计算表达式 x=(i=4,j=16,k=31)后,x的值为 。

一.选择题
1、若a是float型变量,b是unsigned型变量,以下输入语句(A)是合法的。
A) scanf("%6.2f%d",&a,&b) B) scanf("%f%n",&a,&b)
C) scanf("%f%3o",&a,&b) D) scanf("%f%f",&a,&b)
2、设以下变量均为int类型,则值不等于7的表达式是( C)。
A) (x=y=6,x+y,x+1) B) (x=y=6,x+y,y+1)
C) (x=6,x+1,y=6,x+y) D) (x=6,x+1,y=x,y+1)
3、设变量a是整型,b是实型,c是双精度型,则表达式10+'a'+b*c值的数据类型为( C)。
A) int B)float C)double D)不确定
4、设有说明:char w; int x; float y; double z; 则表达式 w*x+z-y 值的数据类型为(D )。
A)float B) char C) int D) double
5、若给定条件表达式(x)? (a++):(a--), 则表达式x (没明白题的意思)。
A) 和(x==0)等价 B) 和(x==1)等价
C) 和(x!=0)等价 D) 和(x!=1)等价
6、C语言中while和do-while循环的主要区别是(A )
A) do-while的循环体至少无条件执行一次
B) while的循环控制条件比do-while的循控制条件严格
C) do-while允许从外部转到循环体内
D) do-while的循环体不能是复合句
7、若有说明:int a[10];,则对a数组元素的正确引用是( D)
A) a[10] B)a[3.5] C)a(5) D)a[10-10]
8、设以下变量均为int类型,则值不等于7的表达式是(和上边题目重了 )。
A) (x=y=6,x+y,x+1) B) (x=y=6,x+y,y+1)
C) (x=6,x+1,y=6,x+y) D) (x=6,x+1,y=x,y+1)
9、设i和x 都是int类型,则以下for循环(A )。
for(i=0,x=0;i<=9&&x!=876;i++) scanf("%d",&x);
A) 最多执行者10次 B) 最多执行者9次
C) 是无限循环 D) 循环体一次也不执行

二、填空题(每小题2分,共10分)
1、以下程序的输出结果为 2,3,2,2。
main()
{int i,j,m,n;
i=1;j=2;m=++i;n=j++;
printf("%d,%d,%d,%d",i,j,m,n);
}
2、设 a 和 n 为整型变量,a=10,n=5,则表达式 a*=3+6 的值为90(你的题目有点问题,怎么没有n) 。
3、设x=1,y=2,z=3,则表达式 z||x>y&&11的值为1。
4、执行语句int a=3; a+=a-=a*a;后,a的值是-12 。

5、若 int i,j,k; 则计算表达式 x=(i=4,j=16,k=31)后,x的值为 31。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-02-12
#include
"stdio.h"
void
tran(int
x,
int
r)
{
int
i=0,b[100]={0},count=0;
while(x)
{
b[i]=x%r;
x/=r;
i++;
count++;
}
for(i=count-1;i>=0;i--)
{
if(b[i]==10){b[i]='A';printf("%c",b[i]);}
else
if(b[i]==11){b[i]='B';printf("%c",b[i]);}
else
if(b[i]==12){b[i]='C';printf("%c",b[i]);}
else
if(b[i]==13){b[i]='D';printf("%c",b[i]);}
else
if(b[i]==14){b[i]='E';printf("%c",b[i]);}
else
if(b[i]==15){b[i]='F';printf("%c",b[i]);}
else
printf("%d",b[i]);
}
}
void
main()
{
int
n,number;
printf("请输入要将十进制转化成的进制:\n");
scanf("%d",&n);
printf("请输入一个十进制数:\n");
scanf("%d",&number);
tran(number,n);
printf("\n");
}
相似回答