C语言试题.docx
- 文档编号:3545947
- 上传时间:2022-11-23
- 格式:DOCX
- 页数:27
- 大小:25.84KB
C语言试题.docx
《C语言试题.docx》由会员分享,可在线阅读,更多相关《C语言试题.docx(27页珍藏版)》请在冰豆网上搜索。
C语言试题
嘉应学院2010~2011学年第一学期
《C语言程序设计》考试题(I卷)
考试说明:
1.考试时间为90分钟,试卷满分100分。
2.考题包括两部分,选择题30小题共45分,编程题5小题共55分。
3.做选择题请直接双击D盘考生试题文件夹下的“做选择题”程序,并在该环境下进行操作,全部做完后按“退出”。
4.做编程题时,按题目要求在VisualC++环境下进行操作,并把源程序文件保存到题目指定的文件夹中。
5.全部试题完成后,保存好文件,关闭所有窗口后进行交卷。
请注意:
交卷操作只能执行一次。
编程题:
kaoti
answerA
answerB
answerC
answerD
在以下一组运算符中,优先级最高的运算符是()。
<=
=
%
&&
C
以下对c语言函数的有关描述中,正确的是()。
在c语言中,调用函数时,只能把实参的值传递给形参,形参的值不能传递给实参
c函数既可以嵌套定义,又可以递归调用
函数必须有返回值,否则不能使用函数
c程序中,有调用关系的所有函数必须放在同一个源程序文件中
A
已知字母a的ASCII十进制代码为97,则执行c='a';printf("%d,%c",c,c);语句后的输出为()。
a97
97a
a,97
97,a
D
要表示年龄(age)在18至25之间,正确的表达是()。
18<=age<=25
age>=18&&age<=25
18<=age||age<=25
18<=ageandage<=25
B
一个char型数据,它的值在内存中存放的是()。
ASCII码值
BCD码值
内码值
十进制码值
A
字符串"xyz"在内存中占用的字节数是()。
3
4
5
6
B
以下选项中,能做为C语言程序自定义标识符的是()。
num(10)
file_bak
break
class+2
B
定义一个具有8个元素的整型数组,应使用语句()。
inta[8]
inta[2,4]
floata[8]
floata[2,4]
A
下列一维数组说明中,错误的是()。
inta[]={1,2,3}
inta[5]
intn,a[n]
inta[5]={1,2,3}
C
函数调用时,下列说法中不正确的是()。
若用值传递方式,则形式参数不予分配内存
实际参数和形式参数可以同名
主调函数和被调用函数可以不在同一个文件中
函数间传递数据可以使用函数返回值
A
下列选项中,不是C语言提供的合法关键字的是()。
switch
begin
case
default
B
在c语言中,下列说法中错误的是()。
函数定义可以分为两个部分:
函数说明部分和函数体
主函数可以调用任何非主函数
任何非主函数可以调用其他任何非主函数
程序可以从任何函数开始执行
A
C语言中运算对象必须是整型的运算符是()。
%
/
<>
<=
A
m=12,n=34;printf("%d%d",m++,++n);printf("%d%d\n",n++,++m);程序运行后的输出结果是()。
12353514
12353513
12343514
12343513
A
若已定义x和y为double类型,则表达式x=1,y=x+3/2的结果是()。
1
2
出错
2.5
B
设inta=8,b=7,c=6,x=1;,则执行下列语句if(a>6)if(b>7)if(c>8)x=2;elsex=3;后x的值是()。
0
1
2
3
B
设a为5,执行下列语句后,b的值不为2的是()。
b=a/2
b=6-(--a)
b=a%2
b=a<3?
3:
2
C
在下列各m的值中,能使m%3==2&&m%5==3&&m%7==2为真的是()。
8
23
17
6
B
对语句inta[10]={6,7,8,9,10};的正确理解是()。
将5个初值一次赋给a[1]至a[5]
将5个初值一次赋给a[0]至a[4]
将5个初值一次赋给a[6]至a[10]
因为数组长度与初值的个数不相同,所以语句不正确
B
若有以下定义:
chara;intb;floatc;doubled;,则表达式a*b+d-c值的类型为()。
float
int
char
double
D
一个C程序的执行是从()。
本程序的main函数开始,到main函数结束
本程序的第一个函数开始,到本程序文件的最后一个函数结束
本程序的main函数开始,到本程序文件的最后一个函数结束
本程序文件的第一个函数开始,到本程序main函数结束
A
使用scanf("x=%f,y=%f",&x,&y)函数调用,要使x,y均为1.25,正确的输入是()。
1.25,1.25
1.251.25
x=1.25,y=1.25
x=1.25y=1.25
C
若i,j已定义为int类型,则以下程序段for(i=5;i>1;i--)for(j=0;j<4;j++){…}内循环的执行次数是()。
16
24
25
30
A
设x,y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0的是()。
'x'&&'y'
x<=y
x||y+z&&y-z
!
((x z||1) D 语句: intb;charc[10];,则正确的输入语句是()。 scanf("%d%s",&b,&c) scanf("%d%s",&b,c) scanf("%d%s",b,c) scanf("%d%s",b,&c) B 以下if语句语法正确的是()。 if(x>0)printf("%f",x)elseprintf("%f",-x); if(x>0){x=x+y;printf("%f",x);}elseprintf("%f",-x); if(x>0){x=x+y;printf("%f",x);};elseprintf("%f",-x); if(x>0){x=x+y;printf("%f",x)};elseprintf("%f",-x); B 表达式9! =7的值是()。 true 非0值 0 1 B 以下叙述正确的是()。 在C程序中,每行中只能写一条语句 若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整数 在C程序中,无论是整数还是实数,都能被准确无误地表示 在C程序中,%是只能用于整数运算的运算符 D 一个C语言程序是由()。 一个主程序和若干个子程序组成 函数组成 若干个过程组成 若干个子程序组成 B 以下不正确的叙述是()。 在C程序中所用的变量必须先定义后使用 在程序中,APH和aph是两个不同的变量 若a和b类型相同,在执行了赋值语句a=b;后b中的值将放入a中,b中的值不变 当输入数值数据时,对于整型变量只能输入整型值;对于实型变量只能输入实型值 D 1.编程输入x的值,求y=x20-2*x10+5的值,程序文件命名为program1.c,保存到D: \I文件夹中。 2.编程输入年份,判断它是否是闰年(两个条件: 能被4整除但不能被100整除或者能被400整除),程序文件命名为program2.c,保存到D: \I文件夹中。 3.编程求出100~999的所有的水仙花数(所谓“水仙花数”是指一个3位数,其各位数字立方和等于该数本身),程序文件命名为program3.c,保存到D: \I文件夹中。 4.编程求出1~100之间的全部素数。 程序文件命名为program4.c,保存到D: \I文件夹中。 5.使用数组编写程序,输入5个学生6门课程的成绩,输出5个学生中平均分最高的学生的平均分。 程序文件命名为program5.c,保存到D: \I文件夹中。 应学院2010~2011学年第一学期 《C语言程序设计》考试题(I卷) 参考答案及评分标准 选择题 参考答案 1 2 3 4 5 6 7 8 9 10 C A D B A B B A C A 11 12 13 14 15 16 17 18 19 20 B A A A B B C B B D 21 22 23 24 25 26 27 28 29 30 A C A D B B B D B D 选择题评分标准: 单选题每小题选对得1.5分,共45分。 错选、漏选均不给分。 本题由计算机软件阅卷。 编程题 编程题评分标准: 第1、2、3、4题,每题10分;第5题15分。 共55分。 程序文件名命名错误不得分。 参考程序: program1.c: #include #include voidmain() { floatx,y; printf("请输入x的值: "); scanf("%f",&x); y=pow(x,20)-2*pow(x,10)+5; printf("y=%f\n",y); } 评分标准: 1、变量定义正确得2分。 2、输入正确得2分。 3、输出正确得2分。 4、中间处理过程及其他得4分。 参考程序: program2.c: #include voidmain() { intyear; printf("请输入一个年份: "); scanf("%d",&year); if((year%4==0&&year%100! =0)||(year%400==0)) printf("%d是闰年! \n",year); else printf("%d不是闰年! \n",year); } 评分标准: 1、变量定义正确得2分。 2、输入正确得2分。 3、输出正确得2分。 4、中间处理过程及其他得4分。 参考程序: program3.c: #include #include voidmain() { inti,j,k,n; printf("水仙花数是: "); for(n=100;n<1000;n++) { i=n/100; j=(n-i*100)/10; k=n-i*100-j*10; if(n==pow(i,3)+pow(j,3)+pow(k,3)) printf("%d",n); } printf("\n"); } 评分标准: 1、变量定义正确得2分。 2、个位、十位、百位提取正确各得1分,共3分。 3、循环结构使用正确及其他得得5分。 参考程序: program4.c: #include #include voidmain() {intm,k,i,n=0; for(m=1;m<=100;m++) {k=sqrt(m); for(i=2;i<=k;i++) if(m%i==0) break; if(i>=k+1) printf("%d",m); } printf("\n"); } 评分标准: 1、变量定义正确得2分。 2、二重循环结构使用正确及其他得得8分。 参考程序: program5.c: #include voidmain() { doublescore[5][7],sum,max=0; inti,j; for(i=0;i<5;i++) { printf("请输入第%d个学生的6门课程的成绩: ",i+1); for(j=0;j<6;j++) scanf("%lf",&score[i][j]); } for(i=0;i<5;i++) { sum=0; for(j=0;j<6;j++) sum=sum+score[i][j]; score[i][6]=sum/6.0; } for(i=0;i<5;i++) { if(score[i][6]>max) max=score[i][6]; } printf("5个学生中平均分最高的学生的平均分为: %lf\n",max); } 评分标准: 1、数组和变量定义正确得2分。 2、数据输入正确得2分。 3、求每个学生的平均分正确得5分; 4、求最高的学生的平均分正确得4分 5、数据输出正确及其他得2分。 #include #include #include voidmain() { inta,b,answer,error,score,i; srand(time(NULL)); error=0; score=0; for(i=0;i<10;i++) { a=rand()%10+1; b=rand()%10+1; srand(time(NULL)),srand和rand srand(time(NULL))是什么意思,在srand里加的tine(NULL)有什么作用,srand和rand的区别是什么 time(NULL)返回当前时间,实质上是从1970年1月1日午夜(00: 00: 00)至今的秒数。 srand是对随机数生成器进行初始化操作,设置随数种子 rand每次调用返回一个随机数。 C语言运行时库的随机数生成器只能生成伪随机数。 即通过srand设置的种子值进行复杂计算模拟随机数。 因为如果用相同的数作种了,rand会生成相同的随机数序列。 考虑以下代码: for(j=0;j<3;j++) { srand(0); for(i=0;i<5;i++) { printf("%d,",rand()); } puts(""); } 输出结果是: 38,7719,21238,2437,8855, 38,7719,21238,2437,8855, 38,7719,21238,2437,8855, 为什么要这样做呢,其实很简单。 1.time()函数表示返回1970-1-100: 00: 00到当前时间的秒数,而time(NULL)表示获取一个时间,准确的说,获取一个指针的地址。 2.srand()函数是产生随机数种子的。 在产生随机数rand()被调用的时候,他会查看: 如果用户之前调用过srand(seed)的话,他会重新调用一遍srand(seed)以产生随机数种子;如果发现没有调用过srand(seed)的话,会自动调用srand (1)一次。 所以,如果希望rand()每次调用产生的值都不一样,就需要每次调用srand(seed)一次,而且seed不能相同。 综合上述两点,那就很明了了。 srand(unsigned(time(NULL)))表示产生随机数种子以保证rand()调用的时候不会出现重复的随机值 kaoti answerA answerB answerC answerD 下列选项中,不是C语言提供的合法关键字的是()。 switch begin case default B 设a为5,执行下列语句后,b的值不为2的是()。 b=a/2 b=6-(--a) b=a%2 b=a<3? 3: 2 C 以下对c语言函数的有关描述中,正确的是()。 在c语言中,调用函数时,只能把实参的值传递给形参,形参的值不能传递给实参 c函数既可以嵌套定义,又可以递归调用 函数必须有返回值,否则不能使用函数 c程序中,有调用关系的所有函数必须放在同一个源程序文件中 A C语言中运算对象必须是整型的运算符是()。 % / <> <= A 定义一个具有8个元素的整型数组,应使用语句()。 inta[8] inta[2,4] floata[8] floata[2,4] A 表达式9! =7的值是()。 true 非0值 0 1 B 以下if语句语法正确的是()。 if(x>0)printf("%f",x)elseprintf("%f",-x); if(x>0){x=x+y;printf("%f",x);}elseprintf("%f",-x); if(x>0){x=x+y;printf("%f",x);};elseprintf("%f",-x); if(x>0){x=x+y;printf("%f",x)};elseprintf("%f",-x); B 在下列各m的值中,能使m%3==2&&m%5==3&&m%7==2为真的是()。 8 23 17 6 B 字符串"xyz"在内存中占用的字节数是()。 3 4 5 6 B 函数调用时,下列说法中不正确的是()。 若用值传递方式,则形式参数不予分配内存 实际参数和形式参数可以同名 主调函数和被调用函数可以不在同一个文件中 函数间传递数据可以使用函数返回值 A 在c语言中,下列说法中错误的是()。 函数定义可以分为两个部分: 函数说明部分和函数体 主函数可以调用任何非主函数 任何非主函数可以调用其他任何非主函数 程序可以从任何函数开始执行 D 一个C程序的执行是从()。 本程序的main函数开始,到main函数结束 本程序的第一个函数开始,到本程序文件的最后一个函数结束 本程序的main函数开始,到本程序文件的最后一个函数结束 本程序文件的第一个函数开始,到本程序main函数结束 A 使用scanf("x=%f,y=%f",&x,&y)函数调用,要使x,y均为1.25,正确的输入是()。 1.25,1.25 1.251.25 x=1.25,y=1.25 x=1.25y=1.25 C 设x,y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0的是()。 'x'&&'y' x<=y x||y+z&&y-z ! ((x z||1) D 若已定义x和y为double类型,则表达式x=1,y=x+3/2的结果是()。 1 2 出错 2.5 B 若i,j已定义为int类型,则以下程序段for(i=5;i>1;i--)for(j=0;j<4;j++){…}内循环的执行次数是()。 16 24 25 30 A 已知字母a的ASCII十进制代码为97,则执行c='a';printf("%d,%c",c,c);语句后的输出为()。 a97 97a a,97 97,a D 以下选项中,能做为C语言程序自定义标识符的是()。 num(10) file_bak break class+2 B 语句: intb;charc[10];,则正确的输入语句是()。 scanf("%d%s",&b,&c) scanf("%d%s",&b,c) scanf("%d%s",b,c) scanf("%d%s",b,&c) B 设inta=8,b=7,c=6,x=1;,则执行下列语句if(a>6)if(b>7)if(c>8)x=2;elsex=3;后x的值是()。 0 1 2 3 B 若有以下定义: chara;intb;floatc;doubled;,则表达式a*b+d-c值的类型为()。 float int char double D 对语句inta[10]={6,7,8,9,10};的正确理解是()。 将5个初值一次赋给a[1]至a[5] 将5个初值一次赋给a[0]至a[4] 将5个初值一次赋给a[6]至a[10] 因为数组长度与初值的个数不相同,所以语句不正确 B m=12,n=34;printf("%d%d",m++,++n);printf("%d%d\n",n++,++m);程序运行后的输出结果是()。 12353514 12353513 12343514 12343513 A 在以下一组运算符中,优先级最高的运算符是()。 <= = % && C 一个char型数据,它的值在内存中存放的是()。 ASCII码值 BCD码值 内码值 十进制码值 A 下列一维数组说明中,错误的是()。 inta[]={1,2,3} inta[5] intn,a[n] inta[5]={1,2,3} C 要表示年龄(age)在18至25之间,正确的表达是()。 18<=age<=25 age>=18&&age<=25 18<=age||age<=25 18<=ageandage<=25 B 一个C语言程序是由()。 一个主程序和若干个子程序组成 函数组成 若干个过程组成 若干个子程序组成 B 以下不正确的叙述是()。 在C程序中所用的变量必须先定义后使用 在程序中,APH和aph是两个不同的变量 若a和b类型相同,在执行了赋值语句a=b;后b中的值将放入a中,b中的值不变 当输入数值数据时,对于整型变量只能输入整型值;对于实型变量只能输入实型值 D 以下叙述正确的是()。 在C程序中,每行中只能写一条语句 若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整数 在C程序中,无论是整数还是实数,都能被准确无误地表示 在C程序中,%是只能用于整数运算的运算符 D 嘉应学院2010~2011学年第一学期 《C语言程序设计》考试题(J卷) 考试说明: 1.考试时间为90分钟,试卷满分100分。 2.考题包括两部分,选择题30小题共45分,编程题5小题共55分。 3.做选择题请直接双击D盘考生试题文件夹下的“做选择题”程序,并在该环境下进行操作,全部做完后按“退出”。 4.做编程题时,按题目要求在VisualC++环境下进行操作,并把源程序文件保存到题目指定的文件夹中。 5.全部试题完成后,保存好文件,关闭所有窗口后进行交卷。 请注意: 交卷操作只能执行一次。 编程题: 1.输入三角形的三条边,编写程序求三角形的面积(面积=sqrt(s(s-a)(s-b)(s-c)),s=(a+b+c)/2),程序文件命名为program1.c,保存到D: \J文件夹中。 2.编写程序求ax2+bx+c=0方程的实根,程序文件命名为
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 试题