2019年11月9日C语言错题

逻辑运算符中,运算优先级按从高到低依次为________

【参考答案】 错误

C.!,&&,||

【学生答案】

A.&&,||,!

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

设int x=0,y=9,a;,下列语句错误的是_________。

【参考答案】 错误

D.if(x!=y) a=0 else a=1;

【学生答案】

B.if(x<y) {x++;y++;}

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

#include<stdio.h>

void main()

{

int i,j;

i=010;

j=9;

printf("%d,%d",i-j,i+j);

}

则程序的运行结果是________.

【参考答案】 错误

B.-1,17

【学生答案】

A.1,19

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

运行下面程序时,从键盘输入字母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!

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

C语言的switch语句中,case 后().

【参考答案】 错误

B.只能为常量或常量表达式

【学生答案】

C.可为常量或表达式或有确定值的变量及表达式

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

以下叙述中,正确的是().

【参考答案】 错误

A.使用putchar函数时,必须在之前包含头文件stdio.h

【学生答案】

B.在C语言中,整数可以以十二进制,八进制或十六进制的形式输出

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

条件运算符的结合方向为“自右向左”。

【参考答案】 错误

正确

【学生答案】

错误

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

设x,y分别为单精度和双精度类型变量,int(x+y)可将表达式x+y的运算结果强制转换为整型数据。

【参考答案】 错误

错误

【学生答案】

正确

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

int i=20;

switch(i/10)

{

case 1:printf("A");

case 2:printf("B");

}

输出结果为B

【参考答案】 错误

正确

【学生答案】

错误

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

运算符的级别由低向高依次为赋值运算符->关系运算符->算术运算符->逻辑运算符->!.

【参考答案】 错误

错误

【学生答案】

正确

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

若"int n;float f=13.8;",则执行"n=(int)f%3"后,n的值是________。

【空 1】 错误 空比例:1

【学生答案】

4

【参考答案】

1

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

b2-4ac》0对应的C语言关系表达式为__________________。

【空 1】 错误 空比例:1

【学生答案】

(b*b-4*a*c)>=0

【参考答案】

b*b-4*a*c>=0

b*b-a*4*c>=0

0<=b*b-4*a*c

b*b-a*c*4>=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 out;

if(n<1000) out=-1;

else if(n>=1000&&n<=9999)

{

int g,s,b,q,f,x,sun,pf;

g = n%10;

s = (n%100)/10;

b = n%1000/100;

q = n/1000%10;

f = q*10+b;

x = s*10+g;

sun = f+x;

pf = sun*sun;

if(pf==n) out=1;

}

else out=0;

return out;

------------------------------------

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

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

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

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

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

【程序设计】

--------------------------------------------------

功能:用if语句编写函数fun其功能是:将百分制成绩m转化为A-E这5个等级,90以上为A;80-89为B;70-79为C;60-69为D,60以下为E。

*********Begin**********和********** End **********不可删除

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

#include "stdio.h"

char fun(float m)

{ char ch;

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

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

}

main()

{

float n;

void TestFunc();

printf("Enter n: ");

scanf("%f", &n);

printf("\nThe result is %c\n", fun(n));

TestFunc();

}

void TestFunc()

{

FILE *IN,*OUT;

float t;

char o;

int c;

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

if(IN==NULL)

{

printf("Read File Error");

}

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

if(OUT==NULL)

{

printf("Write File Error");

}

for(c=1;c<=6;c++)

{

fscanf(IN,"%f",&t);

o=fun(t);

fprintf(OUT,"%c\n",o);

}

fclose(IN);

fclose(OUT);

}

【参考代码】

if(m>=90) ch='A';

else if(m>=80) ch='B';

else if(m>=70) ch='C';

else if(m>=60) ch='D';

else ch='E';

return ch;

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

【考生代码】

if(m>=90) return 'A';

if(m>=80&&m<=80) return 'B';

if(m>=70&&m<=79) return 'C';

if(m>=60&&m<=69) return 'D';

else return 'E';

------------------------------------

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

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

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

点赞

发表评论

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

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