AI智能整理导入 AI智能整理导入
×
首页 题库中心 C语言程序设计课程 题目详情
CA10C9C1E3800001827578971F85F6C0
C语言程序设计课程
1,216
单选题

80、下面程序的输出结果是_______。
main( )
{ extern int m;
m-=2;
f( );
printf( );}
int m=7;
f( )
{ printf( ); m+=m;}

A
 2510
B
 25&25
C
 25&10
D
 10&25

答案解析

正确答案:C

解析:

null
评析:
知识点:知识点/选择题/C6函数与编译预处理/S外部变量T
C语言程序设计课程

扫码进入小程序
随时随地练习

相关题目

单选题

11、 给定程序modi.c中,函数fun的功能是:求出数组中最大数和次最大数,并把最大数和a[0]中的数对调、次最大数和a[1]中的数对调。
请改正程序中的错误,使它能得出正确结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
评析:
本题着重考察考生对C语言中一些简单算法的掌握情况。
本题中的第一个错误:变量m是用来记录大数的下标,它的初始值应为i,所以程序中的语句"m=0;"应改为"m=i;"
本题中的第二个错误:由题意可知,当数组中找出一个数比原始的最大数还要大时,需将此下标值赋给m,所以程序中的语句"if(a[k]>a[m]) k=m;"改为"if(a[k]>a[m]) m=k;"或相同作用的语句。
本评析仅作参考。
知识点:知识点/C程序修改

单选题

10、 给定程序modi.c中,函数fun的功能是:求二分之一的圆面积,函数通过形参得到圆的半径,函数返回二分之一的圆面积。
例如输入圆的半径值:19.527 输出为:s=598.950017。
请改正程序中的错误,使它能得出正确结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
评析:
本题的考核点是c语言中的函数的入口参数和类型转换。
函数的参数表是由逗号分隔的变量表,变量表由变量类型和变量名组成,与普通的变量说明不同,函数参数必须同时具有变量类型和变量名;另外,当函数前面的返回数据类型省略时,C语言默认函数返回整型,本题中x是浮点型的数据,由"printf (" s = %f\n ",fun ( );"可以看出fun函数应该返回浮点型数据,所以fun函数的返回数据类型不能省略。综上所述,应该把程序中的"fun ( r )"语句改为"float fun(float r)"或相同作用的语句。
因为*运算符和/运算符具有相同的优先级,C编译器在运算时按照从前到后的原则,在计算"1/2*3.14159* r * r"时,将首先计算1/2,因为1和2都没有浮点标记,C编译器将会把它们都默认为整型,这样就会得出0的错误结果。所以应将除2运算后移或为1和2加上浮点标志。因此,应该把" return 1/2*3.14159* r * r;"语句改为" return 1.0/2*3.14159* r * r;"或相同作用的语句。
本评析仅作参考。
知识点:知识点/C程序修改

单选题

9、 给定程序modi.c中,函数fun的功能是:将字符串tt中的小写字母改为对应的大写字母,其它字符不变。
例如,若输入"Ab,cD",则输出"AB,CD"。
请改正程序中的错误,使它能得出正确结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
评析:
本题着重考察考生对C语言中一些简单算法的掌握情况。
本题中的第一个错误:由题意可知,当字符串中的字符大于a且小于z时(即为小写字母时),将其替换成大写字母。在C语言中,&&表示逻辑与,||表示逻辑或,所以程序中语句"if(('a'<=tt[i])||(tt[i]<='z'))"应改为"if(('a'<=tt[i])&&(tt[i]<='z'))"或相同作用的语句。
本题中的第二个错误:小写字母转换成大写字母,应将其ASCII值减去32,所以程序中语句"tt[i]+=32;"应改为"tt[i]-=32;"或相同作用的语句。
本评析仅作参考。
知识点:知识点/C程序修改

单选题

8、 给定程序modi.c中,函数fun的功能是:给定n个实数,输出平均值,并统计在平均值以上(含平均值)的实际个数。
例如,n=8时输入:193.199、195.673、195.757、196.051、196.092、196.596、196.579、196.763所得平均值为:195.838745,在平均值以上的实数个数应为:5
请改正程序中的错误,使它能得出正确结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
评析:
本题着重考察考生对C语言基本语法以及比较运算符的掌握情况。
本题中的第一个错误:在C语言中,{}应成对出现,所以程序中的语句"int j,c=0;float xa=0.0;"应改为"{ int j,c=0;float xa=0.0;"或相同作用的语句;
本题中的第二个错误:在C语言中,判断大于或等于的运算符应为>=,所以程序中的语句"if(x[j]=>xa)"应改为"if (x[j]>=xa)"或相同作用的语句。
本评析仅作参考。
知识点:知识点/C程序修改

单选题

7、 给定程序modi.c中,函数fun的功能是:按以下递归公式求函数值
┌10 (n=1)
fun(n)=│
└fun(n-1)+2 (n>1)
例如,当给n输入5时,函数值为18;当给n输入3时,函数值为14。
请改正程序中的错误,使它能得出正确结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
评析:
本题着重考察考生对递归算法的掌握情况。
在C语言中,"="是指赋值号,要判断表达式相等,需用"==",所以程序中的语句"if (n=1)"应改为"if (n==1)"或相同作用的语句。
本评析仅作参考。
知识点:知识点/C程序修改

单选题

6、 给定程序modi.c中,函数fun的功能是:计算输出high以内最大的10个素数之和。high由主函数传给fun函数。
若high的值为:100,则函数的值为:732。
请改正程序中的错误,使它能得出正确结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
评析:
本题的考核点是C语言中一些规定的应用。
本题中的第一处错误是:在C语言中,"{"和"}"应成对出现,所以程序中的语句" while ((high>=2)&&(n<10)"应改为"while ((high>=2)&&(n<10))"或相同作用的语句。
本题中的第二处错误是:C语言中,";"是语句的一部分,是语句结束的标志,不可缺少,所以," if (high%j==0){yes=0;break}"应改为"if (high%j==0){yes=0;break;}"或相同作用的语句。
本评析仅作参考。
知识点:知识点/C程序修改

单选题

5、 给定程序modi.c中,函数fun的功能是:求出a所指数组中最大数和次最大数(规定最大数和次最大数不在a[0]和a[1]中,依次和a[0]、a[1]中的数对调。
例如数组中原有的数为:7、10、12、0、3、6、9、11、5、8,
输出的结果为:12、11、7、0、3、6、9、10、5、8。
请改正程序中的错误,使它能得出正确结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
评析:
本题的考核点是循环语句和常用算法。
本题要求将最大数和a[0]中的数对调,把次最大数和a[1]中的数对调。题目给程序fun函数定义了变量t作为中间元素,因此对调过程应如下:t = a;a = b;b = t;然而fun函数中两次对调均没有形成三角型赋值,是错误的。应该把" t= a[0]; a[m1]=a[0]; a[m1] = t;"语句 和"t= a[1]; a[m2]=a[1]; a[m2] = t;"语句改为"t = a[0]; a[0] = a[m1]; a[m1] = t; "和"t= a[1]; a[1]=a[m2]; a[m2] = t;"语句或相同作用的语句。
本评析仅作参考。
知识点:知识点/C程序修改

单选题

4、 给定程序modi.c中fun函数的功能是:根据整型参数m,计算如下公式的值。
y=1+1/根号(2)+1/根号(3)+……1/根号(n)
例如,若m中的值为:5,则应输出:3.231671
请改正程序中的错误,或在横线处填上适当的内容并把横线删除,使它能得出正确结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
评析:
在程序中应用了算术函数sqrt,所以在横线处应填入"#include "或"#include "math.h""。
本评析仅供参考。
知识点:知识点/C程序修改

单选题

3、 给定程序modi.c中,函数fun的功能是:用选择法对数组中的n个元素按从小到大的顺序进行排序。
请改正程序中的错误,使它能得出正确结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
评析:
选择法排序的思路是:通过一个整型变量指向数组中最小数所在的下标,第一次循环找出最小的数,与第一个数的位置交换,第二次循环找出次小的数,与第二个数的位置交换,以此类推,直至数组中的数由小到大排列。
本题中的第一个错误:C语言中的命令语句应以分号作为分隔符,所以语句"p=j"应改为"p=j;";
本题中的第二个错误:结合程序上下文,可知当a[i]中的数小于a[p]中的数时,应使得下标i赋给变量p,所以语句"p=j;"应改为"p=i;"。
本评析仅作参考。
知识点:知识点/C程序修改

单选题

2、题目中要求找出一个大于给定整数 m 且紧随 m 的素数。
本题中的第一个错误:在函数fun()的嵌套循环的循环体中,语句"if (i % k != 0) break ;"是不正确的,结合程序上下文,程序是为了判断当前离m最近的整数是否可以为素数,如果它可以整除除了1和它自身以外其他任意一个整数,就说明它不是素数,所以应当更改为"if(i%k==0) break;";
本题中的第二个错误:函数fun()中的第二个判断语句"if (k<i)"是不正确的,应当更改为"if (i<=k)"。
本评析仅作参考。
知识点:知识点/C程序修改

关闭
专为自学备考人员打造
试题通
自助导入本地题库
试题通
多种刷题考试模式
试题通
本地离线答题搜题
试题通
扫码考试方便快捷
试题通
海量试题每日更新
试题通
欢迎登录试题通
可以使用以下方式扫码登陆
试题通
使用APP登录
试题通
使用微信登录
xiaochengxu
联系电话:
400-660-3606
xiaochengxu