15、已知a=3,b=4,c=5,则逻辑表达式!(a>b) && !c||1的值为1。
【解析】:0&&0||1=1,&&的优先级比||的高
21、gets函数用来输入一个字符串。(正确)
【解析】:注意看清题目,是一个字符串,没说一个字符
22、函数调用结束后,静态局部变量所占用的空间被释放。(错误)
【解析】:第一,对于动态存储方式,在函数调用开始时分配动态存储空间,函数结束时释放这些空间,例如传值的函数调用,int x=3,y=4; fun(x,y)//函数里 x=4,y=3 ;函数调用结束后释放,main函数仍然是x=3,y=4
第二,在静态存储区内分配的存储单元,在程序整个运行期间都不释放,若非必要,尽量不要静态变量
26、一个C程序总是从_____开始执行。 答案:main() 或 main函数 或 主函数 或 主函数main
【解析】:main()主函数,多加了一个括号。。。
29、int i=8,j=10,m,n;
m=++i;
n=j++;
问语句执行后m=_____,n=_____。答案:9 10
【解析】:注意前加和后加的区别
32、表示"x≥y≥z"的C表达式是_____。答案: x>=y&&y>=z
【解析】:我的答案:(z<=y)&&(y<=x),答案稍微有点变化都不行。。。
34.若输入字符串:abcde
while((ch=getchar())=='e')
printf("*");
【解析】:注意不是gets,是getchar!!!只能输入一个字符"a"。
39、将数组a的首地址赋给指针变量p的语句是_____。正确答案: p=a;
【解析】:我的答案:p=a[0];
40.设有以下共用体类型说明和变量定义,则变量c在内存所占字节数是__20___。
union stud
{
short int num;
char name[10];
float score[5];
double ave;
}c;
【解析】:变量所占字节数:short int=2,long int=4,char=1,float=4,double=8;
所以变量c所占字节数=num(2)+name[10] (10)+score[5] (4*5=20)+double(8)=40;
但是,注意是共同体,顾名思义,所有成员共享同一存储空间,则占20个字节(取成员中所占字节数最大的值)
41、功能:判断一个整数w的各位数字平方之和能否被5整除,可以被5整除则返回1,否则返回0。
#include #include int fun(int w) { int k,s=0; do { _____1_____ _____2_____ } while(_____3_____) if(_____4_____) _____5_____ else_____6_____ return k; }
【解析】: 我的答案 答案
1 s+=(w%10)*(w%10);(错了) s=s+(w%10)*(w%10);
2 w=w/10; w=w/10;
3 w>0 (错了) w!=0
4 s%5==0 s%5==0
5 k=1; k=1;
6 k=0; k=0;
42、功能:统计出若干个学生的平均成绩,最高分以及得最高分的人数。
例如:输入10名学生的成绩分别为92 87 68 56 92 84 67 75 92 66,则输出平均成绩为77.9,最高分为92,得最高分的人数为3人。
#include float max=0; int j=0; float fun(float array[],int n) { int i; float sum=0,ave; _____1_____ for(_____2_____) { if(_____3_____) _____4_____ _____5_____ } _____6_____ for(_____7_____) if(_____8_____) _____9_____ _____10_____ } ...... void main() { float a[10],ave; int i=0; for(i=0;i<10;i++) scanf("%f",&a[i]); ave=fun(a,10); printf("ave=%4.1f\n",ave); printf("max=%4.1f\n",max); printf("Total:%d\n",j); TestFunc(); }
【解析】: 我的答案 答案
1 max=array[j];(写错了) max=array[0];
2 i=0;i<n;i++ i=0;i<n;i++
3 array[i]>max(错了) max<array[i]
4 max=a[i] (写错了数组名。。) max=array [i];
5 sum+=array[i]; (错了) sum=sum+array [i];
6 ave=1.0*sum/n; (错了) ave=sum/n;
7 i=0;i<n;i++ i=0;i<n;i++
8 array[i]==max(多写了分号。。) array [i]==max
9 j++ (少写了分号。。) sum=sum+array [i];
10 return ave;(错了) return(ave);
0.0分
1 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复