2019年11月6日C语言错题

2019年11月6日错题

如有整型变量a,则表达式a=35,a4,a+5的值为__________。

【参考答案】 错误

C.20

【学生答案】

B.15

--

若有定义:int x,y; char a,b,c;并有以下输入数据:x=1 2 A B C<CR>,

则能给x赋整数1,给y赋整数2,给a赋字符A,给b赋字符B,给c赋字符C的程序段是________。

【参考答案】 错误

D.scanf("x=%d%d%c%c%c",&x,&y,&a,&b,&c);

【学生答案】

C.scanf("x%d y=%d",&x,&y);

a=getch();b=getch();c=getch();

--

在C语言中,if语句后的一对原括号中,用以决定分支的流程的表达式________

【参考答案】 错误

A.可用任意表达式

【学生答案】

C.只能用逻辑表达式或关系表达式

--

设变量x为float型且已赋值,则以下语句中能将x中的数值保留到小数点后两位,并将第三位四舍五入的是______。

【参考答案】 错误

C.x=(int)(x*100+0.5)/100.0

【学生答案】

A.x=(x*100+0.5)/100.0

--

存在多层嵌套循环时,下列说法正确的是().

【参考答案】 错误

D.break语句能够中止包含该语句的最内层循环

【学生答案】

C.break语句可以中止所有循环

--

运行下面程序时,从键盘输入字母H,则输出结果是().

#include<stdio.h>

main()

{

char ch;

ch=getchar();

switch(ch)

{

case 'H':printf("Hello!");

case 'G':printf("Goodmorning!");

default:printf("ByeBye!\n");

}

}

【参考答案】 错误

C.Hello! Good morning! ByeBye!

【学生答案】

B.Hello! Good Moring!

--

以下叙述正确的是().

【参考答案】 错误

B.只能在循环体内和switch语句体内使用break语句

【学生答案】

D.contiune语句的作用是结束整个循环的执行

--

以下运算符优先级由低到高的顺序正确的是()。

【参考答案】 错误

D.赋值运算符,关系运算符,算术运算符

【学生答案】

C.算术运算符,赋值运算符,关系运算符

--

有以下程序:

#include<stdio.h>

main()

{ int a=6,b=7,m=1;

switch(a%2)

{ case 0:m++;break;

case 1:m++;

switch(b%2)

{ defaut:m++;

case 0:m++;break;

}

}

printf("%d\n",m);

}

程序运行后的输出结果是().

【参考答案】 错误

A.2

【学生答案】

C.1

--

设整型变量a=2,浮点型变量b,执行b=(float)(1/a);后b的值为0.5 。

【参考答案】 错误

错误

【学生答案】

正确

--

printf("%5d\n",12);其中,"%5d",指定输出数据占5列,输出的数据显示在此5列数据的左侧。

【参考答案】 错误

错误

【学生答案】

正确

--

putchar()函数参数可以是字符常量、字符变量、整形常量、整形变量和字符串.

【参考答案】 错误

错误

【学生答案】

正确

--

设int a,b,c;,执行语句printf("%d",(a=1,b=2,c=3));后输出结果是_________。

【空 1】 错误 空比例:1

【学生答案】

123

【参考答案】

3

============================================================

设整型变量 m=4,a=3,b=5,c=0,执行 m=a<b<c后, m的值是______。

【空 1】 错误 空比例:1

【学生答案】

1

【参考答案】

0

============================================================

表达式3 !=6的值是 _______________。

【空 1】 错误 空比例:1

【学生答案】

0

【参考答案】

1

============================================================

设int a=15;,执行printf(“%d\n”,a>>2);后的输出结果是____________。

【空 1】 错误 空比例:1

【学生答案】

30

【参考答案】

3

============================================================

--++0

/*------------------------------------------------

【程序设计】分支if __ Guo S.


题目:

键盘一个四位整数,完成函数fun:

判断一个数n是否为雷劈数。

如果n是四位数,且是雷劈数,返回1;

如果n是四位数,且不是雷劈数,返回0;

如果n不是四位数,返回-1;

雷劈数是指:

一个数分为左右两部分,其和的平方,恰好等于这个数。

比如 3025,左右分为30和25,其和为55,而55的平方恰好等于3025,所以3025就是雷劈数;

比如 1120,左右分为11和20,其和为31,而31的平方,不等于1120,所以1120就不是雷劈数;


注意:部分源程序给出如下。请勿改动主函数

main和其它函数中的任何内容,仅在函

数的花括号中begin和end之间填入所编写的若干语句。

*********Begin**********和

********** End **********不可删除

------------------------------------------------*/

#include <stdio.h>

void bky();

// 完成以下函数fun,判断n是否为雷劈数,并按照要求返回

int fun( int n)

{

/**********Begin**********/

/********** End **********/

}

int main()

{

int s, re;

printf("输入一个整数:");

scanf("%d",&s);

re=fun(s);

if(re<0)

printf("不是四位数\n");

else if(re==1)

printf("%d是雷劈数\n",s);

else

printf("%d不是雷劈数\n",s);

bky();

return 0;

}

void bky()

{

FILE IN,OUT;

int i;

int score, re;

float a,b,c,s;

IN=fopen("in.txt","r");

if(IN==NULL)

{

printf("Please Verify The Currernt Dir..it May Be Changed");

return;

}

OUT=fopen("out.txt","w");

if(OUT==NULL)

{

printf("Please Verify The Current Dir.. it May Be Changed");

return;

}

for(i=0;i<5;i++)

{

fscanf(IN, "%d",&score);

re=fun(score);

fprintf(OUT, "%d\n", re);

}

fclose(IN);

fclose(OUT);

}

【参考代码】

int re, n0, n2;

if(n>9999 || n<1000)

re=-1;

else

{

n0 = n%100;

n2 = n/100;

if( (n0+n2)*(n0+n2) == n)

re = 1;

else

re = 0;

}

return re;

===============

【考生代码】

int o,g,s,b,q,sun;

if(n<1000) o=-1;

else if(n>=1000)

{

g = n%10;//个

s = (n%100)/10;//十

b = n%1000/100;//百

q = n/1000;//千

sun = q10+b+s10+g;//上下和

sun = sun*sun;//和的平方

if(sun==n) o=1;

else o=0;

}

return o;


代码准确率:100.00%,得分比例:0.40

程序编译检测:编译成功,得分比例:0.20

程序结果检测:结果正确,得分比例:0.32

点赞

发表评论

电子邮件地址不会被公开。必填项已用 * 标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据