逻辑运算符中,运算优先级按从高到低依次为________ 【参考答案】 错误 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
较早文章
高数1作业截图收集-Temp