《程序员基本功大赛》试题
(满分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\\\65\\””的长度是_______.
A。 5 B.7 C. 8 D. 12 6。 设float x,由键盘输入:12。45, 能正确读入数据的输入语句是_________。 A。 scanf(\"%5f\); B. scanf(\"%5d\ 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。设#define NUM 1 + 2,则int var = 2 * NUM * 3 — NUM; var的值是多少?
A. 15 B. 19 C。 9 D. 5
13。设int a = 11, b = 2;执行下述程序段后,变量a和b的值分别是_______.
第 1 页
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。int a[3][]; B。float a[][4]; C.double a[3][4]; D。float a(3)(4);
17.设char s[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。 #define N 25 B. #endif C。 #include 22.若有以下定义和语句:char strl[] = \"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。下列描述中不正确的是_______. 第 2 页 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。 设char s[] = {”E_mail”};,则执行printf(\"%d\\n\strlen(s));后输出的值是_____。 34.scanf函数是一个标准库函数,它的函数原型在头文件________中。 35。设int a[3][4] = {{1, 2, 5, 3}, {2, 4, 7, 9}, {3, 6, 5, 8}};则表达式a[1][2] + a[2][3]的值是________。 三、判断题(本题共5小题,每小题2分,共10分,打√或×) 36。设char ch = 97;printf(”%d\", (int)ch);输出的结果一定是97。( ) 37.在printf函数中,不同系统对输出表列的求值顺序不一定相同,TC是按从右到左进行的。( ) 38.逻辑运算符的优先级别高于算术运算符。( ) 39。C语言中可以把一个字符串赋给一个字符变量.( ) 40.getchar函数的功能是接收从键盘输入的一串字符.( ) 四、程序修改题(本题共1小题,每空3分,共9分) 请在注释“ERROR\"处修改程序中的错误,使它能得出正确的结果。注意:不要改动main 函数,不得增行或删行,也不得更改程序结构! 41.利用函数求两个整数的最大公约数。 #include int a, b, abd; 第 3 页 printf(”intput data a b:\\n\"); scanf(”%d,%d\; /* ERROR1 */_________ abd = gcd(a, b); printf(\"abd=%d\\n\", abd); } int gcd(int x, int y); /* ERROR2 */_________ { int t; if(x 〈 y) {t = x; x = y; y = t;} while(y != 0) {t = x % y; x = y; x = t; } /* ERROR3 */_________ return x; } 五、编程题(本题共1小题,共11分) 古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多参 考答案: ========== 一、单项选择题 1.A 2。D 3。 D 4. C 5。B 8.A 9.D 10。C 11。D 12。A 13.B 14.C 17.D 18.C 19。C 20.C 21. B 22。B 23.D 二、填空题 26. 主函数 27。 运算器、控制器、存储器 28。 单或1 29。 3 30。 地址 6。A 7。A 16.C25。C 15.B 24.C 第 4 页 31. 70,52 32. 非零数 33. 6 34。 stio.h 35. 15 三、判断题 36。对 37。对 38。错 39.错 40.错 四、程序修改题 41。 scanf(\"%d,%d”,a,b) scanf(”%d,%d\) int gcd(int x,int y); int gcd(int x,int y) x=t y=t 五、编程题 #include \"stdio.h\" #include \"conio.h” main() { long f1,f2; int i; f1=f2=1; for(i=1;i〈=20;i++) { printf(\"%12ld %12ld”,f1,f2); if(i%2==0) printf(”\\n”); /*控制输出,每行四个*/ f1=f1+f2; /*前两个月加起来赋值给第三个月*/ f2=f1+f2; /*前两个月加起来赋值给第三个月*/ } getch(); } 42.少? 第 5 页 因篇幅问题不能全部显示,请点此查看更多更全内容