c语言试题及答案.docx
《c语言试题及答案.docx》由会员分享,可在线阅读,更多相关《c语言试题及答案.docx(6页珍藏版)》请在冰豆网上搜索。
c语言试题及答案
《程序员基本功大赛》试题
(满分100分,考试时间90分钟)
学号:
________姓名:
________班级:
________
一
二
三
四
五
总分
一、单项选择题(本题共25小题,每小题2分,共50分)
1.以下正确的C语言自定义标识符是______。
A._1a B.2a_ C.do D.a.12
2.C语言中,字符型数据在内存中存储形式是_______。
A.原码 B.反码 C.补码 D.ASCII码
3.在C语言中,形参的缺省存储类是( )
A.auto B.register C.static D.extern
4.软件测试的目的是_______。
A.证明软件中没有错误 B.改正软件中的错误
C.发现软件中的错误 D.优化程序结构
5.在C语言中,字符串"\\TOP\t\65\""的长度是_______。
A.5 B.7 C.8 D.12
6.设floatx,由键盘输入:
12.45,能正确读入数据的输入语句是_________。
A.scanf("%5f",&x); B.scanf("%5d",&x);
C.scanf("%f",x); D.scanf("%s",&x);
7.十进制数2403转换成十六进制数为_______。
A.963 B.369 C.953 D.359
8.C语言程序中,整型常量的书写形式不包括_________。
A.二进制 B.八进制 C.十进制 D.十六进制
9.C语言函数返回值的类型是由__________决定的。
A.return语句中的表达式类型 B.调用函数的主调函数类型
C.调用函数时临时 D.定义函数时所指定的函数类型
10.操作系统负责管理计算机系统的___,其中包括处理机、存储器、设备和文件。
A.程序 B.文件 C.资源 D.进程
11.数据库系统的核心是( )
A.编译系统 B.数据库 C.操作系统 D.数据库管理系统
12.设#defineNUM1+2,则intvar=2*NUM*3-NUM;var的值是多少?
A.15 B.19 C.9 D.5
13.设inta=11,b=2;执行下述程序段后,变量a和b的值分别是_______。
do
{a/=b++;
}while(a>b);
A.1,3 B.1,4 C.2,3 D.2,4
14.在C语言中,下列错误的说法是_______。
A.函数可以递归调用
B.不允许在函数中再定义函数
C.递归程序不可能用非递归算法实现
D.对于continue语句,可以通过改变程序的结构而不使用它
15.计算机硬件可以直接执行的语言是____。
A.符号语言 B.机器语言 C.高级语言 D.汇编语言
16.以下对二维数组a的正确说明是_________。
.
A.inta[3][]; B.floata[][4]; C.doublea[3][4]; D.floata(3)(4);
17.设chars[10]="abcd",t[]="12345";,则s和t在内存中分配的字节数分别是_______。
A.6和5 B.6和6 C.10和5 D.10和6
18.switch(表达式)语句中的“表达式”,允许的类型是_________。
A.float,int B.float,int,char
C.int,char D.char,double
19.继承机制的作用是( )
A.信息隐藏 B.数据封装 C.定义新类 D.数据抽象
20.下列属于文件包含的命令是_________。
A.#defineN25 B.#endif
C.#include D.#else
21.网络拓扑设计的优劣将直接影响着网络的性能、可靠性与_______。
A.网络协议 B.通信费用 C.设备种类 D.主机类型
22.若有以下定义和语句:
charstrl[]="string",str2[5];
则用以复制字符串的正确方法是_______。
A.strcpy(str2,"Hello"); C.str2=str1;
B.strcpy(strl,"Hello"); D.str1="Hello";
23.计算机的外围设备是指_____。
A.输入/输出设备 B.外存设备
C.远程通信设备 D.除了CPU和主存以外的所有设备
24.计算机网络建立的主要目的是实现计算机资源的共享,计算机资源主要指计算机 ________。
A.软件与数据库 B.服务器、工作站与软件
C.硬件、软件与数据 D.通信子网与资源子网
25.下列描述中不正确的是_______。
A.字符型数组中可以存放字符串
B.可以对字符型数组进行整体输入、输出
C.可以对实型数组进行整体输入、输出
D.不能在赋值语句中通过赋值运算符“=”对字符型数组进行整体赋值
二、填空题(本题共10小题,每小题2分,共20分)
26.一个C语言程序的执行起点是___________。
27.冯·诺依曼结构将计算机分为_______、_______、______、输入设备和输出设备五部分。
28.getchar函数可以接收_______个字符,输入数字也按字符处理。
29.若函数调用语句f(a,b,f(a+b,a-b,b));,则函数f的参数个数是______。
30.若用数组名作为函数调用的实参,则实参传递给形参的是______。
31.已知英文字母符号A的ASCII码为65,英文字母符号F的ASCII码为_____
已知数字符号9的ASCII码为57,数字符号5的ASCII码为_______。
32.在C语言中,表示逻辑"真"值用_______。
33.设chars[]={"E_mail"};,则执行printf("%d\n",strlen(s));后输出的值是_____。
34.scanf函数是一个标准库函数,它的函数原型在头文件________中。
35.设inta[3][4]={{1,2,5,3},{2,4,7,9},{3,6,5,8}};则表达式a[1][2]+a[2][3]的值是________。
三、判断题(本题共5小题,每小题2分,共10分,打√或×)
36.设charch=97;printf("%d",(int)ch);输出的结果一定是97。
( )
37.在printf函数中,不同系统对输出表列的求值顺序不一定相同,TC是按从右到左进行的。
( )
38.逻辑运算符的优先级别高于算术运算符。
( )
39.C语言中可以把一个字符串赋给一个字符变量。
( )
40.getchar函数的功能是接收从键盘输入的一串字符。
( )
四、程序修改题(本题共1小题,每空3分,共9分)
请在注释“ERROR”处修改程序中的错误,使它能得出正确的结果。
注意:
不要改动main函数,不得增行或删行,也不得更改程序结构!
41.利用函数求两个整数的最大公约数。
#include
intgcd(inta,intb);
intmain()
{
inta,b,abd;
printf("intputdataab:
\n");
scanf("%d,%d",a,b); /*ERROR1*/_________
abd=gcd(a,b);
printf("abd=%d\n",abd);
}
intgcd(intx,inty); /*ERROR2*/_________
{
intt;
if(xwhile(y!
=0){t=x%y;x=y;x=t;} /*ERROR3*/_________
returnx;
}
五、编程题(本题共1小题,共11分)
古典问题:
有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多参
考答案:
==========
一、单项选择题
1.A 2.D 3.D 4.C 5.B 6.A 7.A 8.A 9.D
10.C 11.D 12.A 13.B 14.C 15.B 16.C 17.D 18.C
19.C 20.C 21. B 22.B 23.D 24.C 25.C
二、填空题
26.主函数
27.运算器、控制器、存储器
28.单或1
29.3
30.地址
31.70,52
32.非零数
33.6
34.stio.h
35.15
3、判断题
36.对37.对38.错39.错40.错
4、程序修改题
41.scanf("%d,%d",a,b) scanf("%d,%d",&a,&b)
intgcd(intx,inty); intgcd(intx,inty)
x=t y=t
五、编程题
#include"stdio.h"
#include"conio.h"
main(