[注意] 所有答案写在单张的答题卷上。
一、 判断题(本题共10分,每小题1分,用A表示正确,用B表示错误。)
(1) C语言程序的变量必须先定义再使用。
(2) do-while语句构成的循环不能用其他语句构成的循环来代替。 (3) C语言规定,函数的实参应与其对应的形参类型一致。 (4) C语言认为名为Student和student的变量是不同变量。
(5) 当两个字符串所包含的字符个数相同时,才能比较两个字符串的大小。 (6) C语言程序的书写格式虽然自由,但为了清晰,一般在一行内写一个语句。 (7) 在C语言中,八进制数是用英文字母o后加一个整数来表示,例如o123。 (8) C语言的所有循环语句都要求至少要执行一次循环体。 (9) 在C语言中,函数不能嵌套定义,但可以嵌套调用。
(10) 数组char x[]=\"12345\";和char y[]={'1','2','3','4','5'};长度相同。
二、 单选题(本题共20分,每小题2分)
(11) ______是合法的用户自定义标识符。。
[A] b-b
[C] _isw
(12) _____是不正确的字符常量。
[A] '\\n' [C] \"a\"
[A] k=(a>b)?1:0; [C] k=a<=b;
[B] '1' [D] '\\101' [B] k=a>b; [D] a<=b ? 0 : 1; [B] (13) 若变量已正确定义,语句“if(a>b) k=0; else k=1;”和______等价。 (14) 在C程序中,若对函数类型未加说明,则函数的隐含类型为_____。 [A] int [B] double [C] void [D] char (15) 如果在用户的程序中要使用C库函数中的数学函数时,应在该源文件中使用的include命令是 ________。 [A]#include [B]#include 第 1 页(共 7 页) (16) 在C 语言程序中,在函数内部定义的变量称为______。 [A] 全局变量 [B] 外部变量 [C] 局部变量 [D] 内部变量 (17) 表达式 (4 >> 2) - !-1 + 4 & 6 ^ 2 << 1的值是: [A] 0 [B] 1 [C] 7 [D] 12 (18) C程序的基本结构有_____。 [A] 选择、重复和模块 [C] 顺序、选择和模块 [B] 顺序、选择和循环 [D] 逻辑、物理和程序 (19) 函数调用语句 func((a1,a2,a3),(a4,a5)); 的参数个数是 : [A] 2 [B] 5 [C] 1 [D] 调用方式不合法 (20) 对于如下说明,语法和语义都正确的赋值是___C__。 int c, *s, a[]={1, 3, 5}; [A] c=*s; [B] s[0]=a[0]; [C] s=&a[1]; [D] c=a; 第 2 页(共 7 页) 三、 程序填空题(本题共30分,每小题2分) 阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个最佳的答案。 1【程序说明】 输入1 个正整数 n, 计算并输出 s 的前n项的和。 S = 1 -1/2 + 1/3 - 1/4 + 1/5 -1/6 + „„ 【程序代码】 #include flag=1; s=0; scanf(\"%d\ for (k=1 ; k<=n; k++){ s=s+ (21) ; (22) ; } printf(\"sum=%f\\n\} 【选项】 (21) [A] 1/k [C] 1/k*flag (22) [A] flag++ [B] 1.0/k [D] 1.0/k*flag [B] flag = -flag [C] flag = -k [D] k= -flag 2【程序说明】 输入以 -1结束的一批整数,输出其中的最大值。 例如: 输入 -3 -8 -10 -1 后,输出:max=-3。 【程序代码】 #include scanf(\"%d\ if(x!=-1){ (23) ; while( (24) ){ if(max 第 3 页(共 7 页) (25) ; } printf(\"max=%d\\n\ } } 【选项】 (23) [A] max=x [B] x= max [C] max=-1 [D] x=-1 (24) [A] x==-1 [B] x!=-1 [C] x>-1 [D] x<-1 [A] scanf(\"%d\ [B] scanf(\"%d\\n\ (25) [C] printf(\"%d\ [D] scanf(\"%d\ 3【程序说明】 求出200以内的整数中,最大的可以被17整除的数是哪个数。 【程序代码】 #include int i; for(____27____;____28____;i--) { if(___29____) break; } printf(\"%d\n\ } 【选项】 (26) [A] main() [B] void main() [C] main(void) [D] int main() (27) [A] 200 [B] i=0 [C] i=200 [D] int i=200 (28) [A] i<200 [B] i>200 [C] i<0 [D] i>0 (29) [A] i % 17 == 0 [B] i % 17 != 0 [C] i / 17 == 0 [D] i / 17 != 0 (30) [A] i [B] i%17 [C] i/17 [D] i \\17 第 4 页(共 7 页) 4【程序说明】 下列程序调用swap函数交换a和b的值,并输出交换后的a和b的值。 程序的输出结果是:After swap 5, 3。 【程序代码】 #include \"stdio.h\" void main() { int a, b; a = 3, b = 5; swap( 31 ) ; printf(\"After swap %d, %d\} swap( 31 ) { int t; 33 ; 34 ; 35 ; } 【选项】 (31) [A] &a , &b [C] &b, &a (32) (33) (34) (35) [A] int x, int y [C] int *y, int *x [A] x=*t [C] t=x [A] x=y [C] *x=*y [A] y=t [C] y=*t [B] a , b [D] b, a [B] int &x, int &y [D] int *x, int *y [B] t=*x [D] x=t [B] x=*y [D] *x=y [B] *y=t [D] *y=*t 四、 程序阅读题(本题共20分,每小题5分) 阅读下列程序并写出运行结果。 1【程序】 # include k = k - 1; }while (k = =0); printf(\"k=%d\} 程序的输出结果是_______。 2【程序】 #include 第 5 页(共 7 页) void p(int *x, int y) { ++*x; y--; z=*x+y+z; printf(\"%d, %d, %d\\n\} void main() { int x=1, y=5, z=9; p(&x, y); printf(\"%d, %d, %d\\n\} 程序的输出结果是_______。 3【程序】 #include int num=0; while(num<=8) { num++; printf(\"%d#\ } printf(\"\\n\"); } 程序的输出结果是_______。 4【程序】 # include { int k, n1, n3[10]; char c; n1=0; for(k=0; k<10; k++) n3[k]=0; while((c=getchar( ))!='\\n'){ switch(c){ case'0':case '1': case '2': case '3': case '4':case'5': case '6': case '7': case '8': case '9': n3[c-'0']++; break; default: n1++; break; } } if(n1) printf(\"%d \ for(k=0; k<10; k++) if(n3[k]) printf(\"%d \} 输入123+234=357Yes?<回车>后,下列程序的输出结果是_____。 五、 程序设计题(本题共20分) 1. [程序说明] (6分) 从键盘读入长整形数number,请编写函数 sum(number),返回正整数number的各位数字之和(number是长整型)。 例如:从键盘输入6321,则输出sum(6321)=21 。 2. [程序说明] (5分) 函数 ff(str,ch)的功能是统计并返回字符ch在字符串str中出现的次数。 例如:调用ff(\"every\后返回2,因为在字符串\"every\"中字符'e'出现了2次。 第 6 页(共 7 页) 3. [程序说明] (9分) 从键盘输入一个字符ch,输出该字符在文本文件 input.txt 的每一行中出现的次数。 ( 必须调用第2题定义的函数 ff 统计ch的出现次数 )。 例如:如果文件input.txt中存放了下列数据: every 121 I am a student. 运行程序,并输入'e'后,输出 2 0 1 2009年08级C程序设计期末考试B卷参 姓名___________学号___________班级____________得分___________ [注意] 所有答案写在单张的答题卷上。 六、 判断题(正确的答A,错误的答B,本题共10分,每小题1分) 题号 答案 七、 单选题(本题共20分,每小题2分) 题号 答案 1 A 2 B 3 A 4 A 5 B 6 A 7 B 8 B 9 A 10 B 11 C 12 C 13 C 14 A 15 B 16 C 17 A 18 B 19 A 20 C 八、 程序填空题(本题共30分,每小题2分) 题号 答案 21 D 22 B 23 A 24 B 25 D 26 B 27 C 28 D 29 A 30 A 第 7 页(共 7 页) 题号 答案 31 A 32 D 33 B 34 C 35 B 第 8 页(共 7 页) 九、 程序阅读题(本题共20分,每小题5分) 程序1 k=9 如果没写”k=”,扣2分 程序2 2, 4, 6 2, 5, 9 每行2.5分,格式错扣1分。 程序3 1#3#5#7#9# 错1个数字扣1分 程序4 6 1 2 3 1 1 1 错1个数字扣1分 十、 程序设计题(本题共20分) (1)6分 1. #include { int s=0,m; while (number!=0) { m=number%10; s+=m; number=number/10; } return s; } void main() { long number=0; scanf(“%ld”,&number); 评分标准: include语句:0.5分 主函数定义:0.5分 变量定义:0.5分 函数定义:1分 算法实现:1.5分 scanf语句:0.5分 printf语句:0.5分 函数调用:1分 第 9 页(共 7 页) printf(“sum(%ld)=%d\\n”,number,sum(number)); } (2)5分 int ff(char *str, char ch) { int count=0; while(*str){ if(*str==ch) count++; str++; } return count; } (3)9分 评分标准: 变量定义:0.5分 函数定义:1分 算法实现:2.5分 函数返回:1分 #include #include char ch,c,s[80]; int k; FILE *fp; if((fp=fopen(\"input.txt\ { printf(\"error\\n\"); exit(0); } ch=getchar(); k=0; while(1){ c=fgetc(fp); if(c=='\\n'||c==EOF){ s[k]='\\0'; k=0; printf(\"%d\\n\ if(c==EOF) break; } else s[k++]=c; } fclose(fp); } 评分标准: include语句:0.5分 主函数定义:0.5分 变量定义:0.5分 打开文件:1分 关闭文件:1分 循环+beaak:1分 读入文件内容:1分 算法实现:2.5分 函数调用:1分 第 10 页(共 7 页) 或 k=0; while(!feof(fp)){ c=fgetc(fp); if(c!='\\n') s[k++]=c; else{ s[k]='\\0'; k=0; printf(\"%d\\n\ } } if(c!='\\n'){ s[k]='\\0'; printf(\"%d\\n\ } 2009年08级C程序设计期末考试B卷参 姓名___________学号___________班级____________得分___________ [注意] 所有答案写在单张的答题卷上。 十一、 判断题(正确的答A,错误的答B,本题共10分,每小题1分) 题号 答案 十二、 单选题(本题共20分,每小题2分) 题号 答案 1 A 2 B 3 A 4 A 5 B 6 A 7 B 8 B 9 A 10 B 11 C 12 C 13 C 14 A 15 B 16 C 17 A 18 B 19 A 20 C 十三、 程序填空题(本题共30分,每小题2分) 题号 21 22 23 24 25 26 27 28 29 30 第 11 页(共 7 页) 答案 题号 答案 D 31 A B 32 D A 33 B B 34 C D 35 B B C D A A 第 12 页(共 7 页) 十四、 程序阅读题(本题共20分,每小题5分) 程序1 k=9 如果没写”k=”,扣2分 程序2 2, 4, 6 2, 5, 9 每行2.5分,格式错扣1分。 程序3 1#3#5#7#9# 错1个数字扣1分 程序4 6 1 2 3 1 1 1 错1个数字扣1分 十五、 程序设计题(本题共20分) (1)6分 2. #include { int s=0,m; while (number!=0) { m=number%10; s+=m; number=number/10; } return s; } void main() { long number=0; scanf(“%ld”,&number); 评分标准: include语句:0.5分 主函数定义:0.5分 变量定义:0.5分 函数定义:1分 算法实现:1.5分 scanf语句:0.5分 printf语句:0.5分 函数调用:1分 第 13 页(共 7 页) printf(“sum(%ld)=%d\\n”,number,sum(number)); } (2)5分 int ff(char *str, char ch) { int count=0; while(*str){ if(*str==ch) count++; str++; } return count; } (3)9分 评分标准: 变量定义:0.5分 函数定义:1分 算法实现:2.5分 函数返回:1分 #include #include char ch,c,s[80]; int k; FILE *fp; if((fp=fopen(\"input.txt\ { printf(\"error\\n\"); exit(0); } ch=getchar(); k=0; while(1){ c=fgetc(fp); if(c=='\\n'||c==EOF){ s[k]='\\0'; k=0; printf(\"%d\\n\ if(c==EOF) break; } else s[k++]=c; } fclose(fp); } 评分标准: include语句:0.5分 主函数定义:0.5分 变量定义:0.5分 打开文件:1分 关闭文件:1分 循环+beaak:1分 读入文件内容:1分 算法实现:2.5分 函数调用:1分 第 14 页(共 7 页) 或 k=0; while(!feof(fp)){ c=fgetc(fp); if(c!='\\n') s[k++]=c; else{ s[k]='\\0'; k=0; printf(\"%d\\n\ } } if(c!='\\n'){ s[k]='\\0'; printf(\"%d\\n\ } 第 15 页(共 7 页) 因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- igat.cn 版权所有 赣ICP备2024042791号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务