请C语言高手帮忙解答一下下列各题的标准答案。此题是我的重要复习题,不知道的请不要给错误的答案,谢谢
1.若有定义:inta,b;charx,y;并有以下输入数据:1422XxYy(回车)则能给a赋整数14,给b赋整数22,给x赋字符x,给y赋字符y的正确程序段是____...
1. 若有定义:int a,b;char x,y;并有以下输入数据: 14 22 XxYy (回车)
则能给a赋整数14,给b赋整数22,给x赋字符x,给y赋字符y的正确程序段是________.
A) scanf(“%d %d”,&a,&b);
x=getchar();y=getchar();
B) scanf(“%d%d %c %c”, &a, &b,&x,&x,&y,&y);
C) scanf(“%d %d %c%c%c %c”, &a,&b,&x,&x,&y,&y);
D) scanf(“%d%d %c %c”, &a, &b,&x,&y);
2. 下列转义字符不正确的是_______.
A)'\\' B)'\' C)'\053' D)'\0'
3. 下列选项可作为C语言赋值语句的是_______.
A)x=3,y=5 B)a=b=6 C)i- -; D)y=int(x);
4. 当c的值不为0时,下列选项中能正确将c的值赋给变量a、b的是_______.
A)c=b=a; B)(a=c)‖(b=c); C)(a=c)&&(b=c); D)a=c=b;
5. 对于浮点型变量f,能实现对f中的值在小数点后第三位进行四舍五入的表达式是_______.
A)f=(f*100+0.5)/100.0 B)f=(f*100+0.5)/100
C)f=(int)(f*100+0.5)/100.0 D)f=(f/100+0.5)*100
6. 设 a=5, b=6, c=7, d=8, m=2, n=2, 执行(m=a>b)&&(n=c>d) 后m,n的值为______.
A) 2,2 B) 2,0 C) 0,2 D) 0,0
7. 语句printf(“%d\n”,strlen(“asd\n\x12\1\\”));的输出结果是______.
A) 9 B) 11 C) 7 D) 8
8. 语句:printf(“%d”, !9);的输出结果是______.
A) 0 B)1 C) 有语法错误 ,不能执行 D) -9
9. 已有定义语句:int x=6,y=4,z=5;执行以下语句后,能正确表示x、y、z值的选项是______.
if(x<y)z=x;x=y ;y=z;
A) x=4,y=5,z=6 B) x=4,y=6,z=6
C) x=4,y=5,z=5 D) x=5,y=6,z=4
10. 下列选项中属于正确的switch语句的是______.
A)switch(1.0) B)swicth(1)
{ case 1.0 :printf(“A\n”); { case 1 :printf(“A\n”);
case 2.0 :printf(“B\n”); } case 2 :printf(“B\n”);}
C)switch((int)(1.0+2.5)) D)switch(“a”);
{ case 1 :printf(“A\n”); { case “a” :printf(“A\n”);
case 1+2 :printf(“B\n”);} case “b” :printf(“B\n”);}
11. 若k为int型变量,以下语句段执行后的输出结果是______.
k=-3;
if(k<=0) printf(“####”)
else printf(“****”);
A) #### B) **** C) ####**** D) 有语法错误 ,不能执行
12. 有以下程序段:
int n=0,p;
do { scanf(“%d”,&p);n++;} while(p!=12345&&n<3);
此处do-while循环的结束条件是_____.
A)p的值不等于12345并且n的值大于3
B)p的值等于12345并且n的值大于等于3
C)p的值不等于12345或者n的值小于3
D)p的值等于12345或n的值大于等于3
13. 在下述程序中,if (i>j) 语句共执行的次数是_____.
main()
{ int i=0,j=10,k=2,s=0;
for(;;)
{ i+= k ;
if(i>j)
{ printf(“%d”,s);
break ;
}
s+=i ;
}
}
A)4 B)7 C)5 D)6
14. 以下程序的功能是:按顺序读入10名学生和4门课程的成绩,计算出每位学生的平均分进行输出,但运行结果不正确。
main()
{ int n,k;float score,ave;
ave=0.0;
for(n=1;n<=10;n++)
{ for(k=1;k<=4;k++)
{ scanf(“%f”,&score);
ave+=score/4 ;}
printf(“NO%d:%f\n”,n,ave);}
}造成程序计算结果错误的语句行是_____.
A)ave=0.0; B)for(n=1;n<=10;n++)
C)ave+=score/4 ; D)printf(“NO%d:%f\n”,n,ave); 展开
则能给a赋整数14,给b赋整数22,给x赋字符x,给y赋字符y的正确程序段是________.
A) scanf(“%d %d”,&a,&b);
x=getchar();y=getchar();
B) scanf(“%d%d %c %c”, &a, &b,&x,&x,&y,&y);
C) scanf(“%d %d %c%c%c %c”, &a,&b,&x,&x,&y,&y);
D) scanf(“%d%d %c %c”, &a, &b,&x,&y);
2. 下列转义字符不正确的是_______.
A)'\\' B)'\' C)'\053' D)'\0'
3. 下列选项可作为C语言赋值语句的是_______.
A)x=3,y=5 B)a=b=6 C)i- -; D)y=int(x);
4. 当c的值不为0时,下列选项中能正确将c的值赋给变量a、b的是_______.
A)c=b=a; B)(a=c)‖(b=c); C)(a=c)&&(b=c); D)a=c=b;
5. 对于浮点型变量f,能实现对f中的值在小数点后第三位进行四舍五入的表达式是_______.
A)f=(f*100+0.5)/100.0 B)f=(f*100+0.5)/100
C)f=(int)(f*100+0.5)/100.0 D)f=(f/100+0.5)*100
6. 设 a=5, b=6, c=7, d=8, m=2, n=2, 执行(m=a>b)&&(n=c>d) 后m,n的值为______.
A) 2,2 B) 2,0 C) 0,2 D) 0,0
7. 语句printf(“%d\n”,strlen(“asd\n\x12\1\\”));的输出结果是______.
A) 9 B) 11 C) 7 D) 8
8. 语句:printf(“%d”, !9);的输出结果是______.
A) 0 B)1 C) 有语法错误 ,不能执行 D) -9
9. 已有定义语句:int x=6,y=4,z=5;执行以下语句后,能正确表示x、y、z值的选项是______.
if(x<y)z=x;x=y ;y=z;
A) x=4,y=5,z=6 B) x=4,y=6,z=6
C) x=4,y=5,z=5 D) x=5,y=6,z=4
10. 下列选项中属于正确的switch语句的是______.
A)switch(1.0) B)swicth(1)
{ case 1.0 :printf(“A\n”); { case 1 :printf(“A\n”);
case 2.0 :printf(“B\n”); } case 2 :printf(“B\n”);}
C)switch((int)(1.0+2.5)) D)switch(“a”);
{ case 1 :printf(“A\n”); { case “a” :printf(“A\n”);
case 1+2 :printf(“B\n”);} case “b” :printf(“B\n”);}
11. 若k为int型变量,以下语句段执行后的输出结果是______.
k=-3;
if(k<=0) printf(“####”)
else printf(“****”);
A) #### B) **** C) ####**** D) 有语法错误 ,不能执行
12. 有以下程序段:
int n=0,p;
do { scanf(“%d”,&p);n++;} while(p!=12345&&n<3);
此处do-while循环的结束条件是_____.
A)p的值不等于12345并且n的值大于3
B)p的值等于12345并且n的值大于等于3
C)p的值不等于12345或者n的值小于3
D)p的值等于12345或n的值大于等于3
13. 在下述程序中,if (i>j) 语句共执行的次数是_____.
main()
{ int i=0,j=10,k=2,s=0;
for(;;)
{ i+= k ;
if(i>j)
{ printf(“%d”,s);
break ;
}
s+=i ;
}
}
A)4 B)7 C)5 D)6
14. 以下程序的功能是:按顺序读入10名学生和4门课程的成绩,计算出每位学生的平均分进行输出,但运行结果不正确。
main()
{ int n,k;float score,ave;
ave=0.0;
for(n=1;n<=10;n++)
{ for(k=1;k<=4;k++)
{ scanf(“%f”,&score);
ave+=score/4 ;}
printf(“NO%d:%f\n”,n,ave);}
}造成程序计算结果错误的语句行是_____.
A)ave=0.0; B)for(n=1;n<=10;n++)
C)ave+=score/4 ; D)printf(“NO%d:%f\n”,n,ave); 展开
6个回答
展开全部
bcdcd ccacd ccdc
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
第一题绝对是D…他们怎么都乱回答啊??
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
AAACC CCACB DBDC这是我的回答,呵呵。看看对不对?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1------------------
#include <stdio.h>
double fun (int n)
{
double f1 = 1.0, f2 = 1.0, f = 2.0, tmp;
double sum = 0.0;
int i;
for (i = 0; i < n; ++i)
{
sum += f2/f;
tmp = f1;
f1 = f2;
f = f + f2;
f2 = f1+tmp;
}
return sum;
}
int main(void)
{
int n;
printf("Enter number:");
scanf("%d", &n);
printf("%f\n", fun(n));
return 0;
}
2-----------------------------------
#include <stdio.h>
#include <string.h>
void invert(char str1[])
{
int a, b;
char c;
for (a=0, b=strlen(str1);a<b;a++,b--)
{
c=str1[a];
str1[a]=str1[b-1];
str1[b-1]=c;
}
printf("%s\n", str1);
}
int main(void)
{
char str[128];
printf("INPUT:");
scanf("%s", str);
invert(str);
printf("%s\n", str);
return 0;
}
3----------------------------
#include <stdio.h>
int fun(int n)
{
int i = n;
int sum = 1;
for (; i > 0; --i)
sum*=i;
return sum;
}
int main(void)
{
int i;
double sum = 1.0;
for (i = 2; i <= 10; ++i)
{
if (i%2==0)
sum += (-1)*(1.0/fun(i));
else
sum += (1.0/fun(i));
}
printf("%f\n", sum);
return 0;
}
#include <stdio.h>
double fun (int n)
{
double f1 = 1.0, f2 = 1.0, f = 2.0, tmp;
double sum = 0.0;
int i;
for (i = 0; i < n; ++i)
{
sum += f2/f;
tmp = f1;
f1 = f2;
f = f + f2;
f2 = f1+tmp;
}
return sum;
}
int main(void)
{
int n;
printf("Enter number:");
scanf("%d", &n);
printf("%f\n", fun(n));
return 0;
}
2-----------------------------------
#include <stdio.h>
#include <string.h>
void invert(char str1[])
{
int a, b;
char c;
for (a=0, b=strlen(str1);a<b;a++,b--)
{
c=str1[a];
str1[a]=str1[b-1];
str1[b-1]=c;
}
printf("%s\n", str1);
}
int main(void)
{
char str[128];
printf("INPUT:");
scanf("%s", str);
invert(str);
printf("%s\n", str);
return 0;
}
3----------------------------
#include <stdio.h>
int fun(int n)
{
int i = n;
int sum = 1;
for (; i > 0; --i)
sum*=i;
return sum;
}
int main(void)
{
int i;
double sum = 1.0;
for (i = 2; i <= 10; ++i)
{
if (i%2==0)
sum += (-1)*(1.0/fun(i));
else
sum += (1.0/fun(i));
}
printf("%f\n", sum);
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询