中南民族大学10套计算机C语言期末考试复习试题及答案.doc

上传人:h**** 文档编号:156991 上传时间:2018-07-12 格式:DOC 页数:106 大小:198KB
下载 相关 举报
中南民族大学10套计算机C语言期末考试复习试题及答案.doc_第1页
第1页 / 共106页
中南民族大学10套计算机C语言期末考试复习试题及答案.doc_第2页
第2页 / 共106页
中南民族大学10套计算机C语言期末考试复习试题及答案.doc_第3页
第3页 / 共106页
中南民族大学10套计算机C语言期末考试复习试题及答案.doc_第4页
第4页 / 共106页
中南民族大学10套计算机C语言期末考试复习试题及答案.doc_第5页
第5页 / 共106页
点击查看更多>>
资源描述

1、一、判断 共 10题 (共计 10分) 第 1题 ( 1.0分) 题号 :1488 函数即可以嵌套定义 ,又可以嵌套调用 .N 第 2题 ( 1.0分) 题号 :1256 unsigned 和 void 在 C 中都是保留字 . Y 第 3题 ( 1.0分) 题号 :1280 表达式 +i 表示对变量 i 自加 1. Y 第 4题 ( 1.0分) 题号 :1282 C 语言源程序的基本结构单位是 main 函数 .N 第 5题 ( 1.0分) 题号 :1276 字符常量的长度肯定为 1.Y 第 6题 ( 1.0分) 题号 :1469 char a=a,b,c;char b=“abc“;数组 a

2、 和数组 b 占用的内存空间大小不一样 .Y 第 7题 ( 1.0分) 题号 :1249 若有 int i=10,j=2; 则执行完 i*=j+8;后 i 的值为 28.N 第 8题 ( 1.0分) 题号 :33 int i,*p=是正确的 C 说明。 Y 第 9题 ( 1.0分) 题号 :1250 While 循环语句的循环体至少执行一次 .N 第 10题 ( 1.0分) 题号 :1510 有数组定义 int a22=1,2,3;则 a01的值为 0.Y 二、 单项选择 共 30题 (共计 30分) 第 1题 ( 1.0分) 题号 :456 执行下面程序后,输出结果是()。 main() a

3、=45,b=27,c=0; c=max(a,b); printf(“%dn“,c); int max(x,y) int x,y; int z; if(xy) z=x; else z=y; return(z); A:45 B:27 C:18 D:72 答案: A 第 2题 ( 1.0分) 题号 :437 下列数组说明中,正确的是()。 A:int array4; B:int array; C:int array5; D:int array3; 答案: A 第 3题 ( 1.0分) 题号 :2396 下面有关 for循环的正确描述是 () A:for循环只能用于循环次数已经确定的情况 B:for循

4、环是先执行循环体语句 ,后判断表达式 C:在 for循环中 ,不能用 break语句跳出循环体 D:for循环的循环体语句中 ,可以包含多条语句 ,但必须用花括号括起来 答案: D 第 4题 ( 1.0分) 题号 :2817 以下程序的输出结果是 (). main() int i,j,k,a=3,b=2; i=(-a=b+)?-a:+b; j=a+;k=b; printf(“i=%d,j=%d,k=%dn“,i,j,k); A:i=2,j=1,k=3 B:i=1,j=1,k=2 C:i=4,j=2,k=4 D:i=1,j=1,k=3 答案: D 第 5题 ( 1.0分) 题号 :2866 若有

5、下列定义 ,则对 a 数组元素地址的正确引用是 (). int a5,*p=a; A:*(p+5) B:*p+2 C:*(a+2) D:* s=“Beijing“; B:char *s; s=“Beijing“; C:char s8; s=“Beijing“; D:char *s; s=“Beijing“; 答案: D 第 7题 ( 1.0分) 题号 :3191 若变量 a,i 已正确定义 ,且 i 已正确赋值 ,合法的语句是 () A:a=int(i); B:a=1 C:+i; D:a=a+=5; 答案: C 第 8题 ( 1.0分) 题号 :490 以下字符中不是转义字符的是()。 A:a

6、 B:b C:c D: 答案: C 第 9题 ( 1.0分) 题号 :184 下列定义不正确的是()。 A:#define PI 3.141592 B:#define S345 C:int max(x,y); int x,y; D:static char c; 答案: C 第 10题 ( 1.0分) 题号 :3028 char h,*s=可将字符 H 通过指针存入变量 h 中的语句是 (). A:*s=H; B:*s=H; C:s=H; D:s=H 答案: B 第 11题 ( 1.0分) 题号 :690 设 char型变量 x中的值为 10100111,则表达式 (2+x)(3)的值是()。

7、A:10101001 B:10101000 C:11111101 D:01010101 答案: D 第 12题 ( 1.0分) 题号 :2381 设以下变量均为 int类型 ,表达式的值不为 7的是 () A:x=y=6,x+y,x+1 B:x=y=6,x+y,y+1 C:x=6,x+1,y=6,x+y D:y=6,y+1,x=y,x+1 答案: C 第 13题 ( 1.0分) 题号 :3124 若有说明 int a34;则对 a 数组元素的正确引用是 (). A:a24 B:a1,3 C:a1+10 D:a(2)(1) 答案: C 第 14题 ( 1.0分) 题号 :679 在 C 语言中,

8、形参的缺省存储类是()。 A:auto B:register C:static D:extern 答案: A 第 15题 ( 1.0分) 题号 :1343 C 语言源程序的基本单位是 (). A:过程 B:函数 C:子程序 D:标识符 答案: B 第 16题 ( 1.0分) 题号 :3023 C 语言程序中必须有的函数是 (). A:#include “stdio.h“ B:main C:printf D:scanf 答案: B 第 17题 ( 1.0分) 题号 :3228 有定义 :int a=8,b=5,c;,执行语句 c=a/b+0.4;后 ,c 的值为 () A:1.4 B:1 C:2

9、.0 D:2 答案: B 第 18题 ( 1.0分) 题号 :640 以 下对二维数组 a 的正确说明是()。 A:int a3 B:float a(3,4) C:double a14 D:float a(3)(4) 答案: C 第 19题 ( 1.0分) 题号 :2884 以下标识符中 ,不能作为合法的 C 用户定义标识符的是 (). A:answer B:to C:signed D:_if 答案: C 第 20题 ( 1.0分) 题号 :652 在 C 语言中,引用数组元素时,其数组下标的数据类型允许是()。 A:整型常量 B:整型表达式 C:整型常量或整型表达式 D:任何类型的表达 式

10、答案: C 第 21题 ( 1.0分) 题号 :381 以下标识符中,不能作为合法的 C 用户定义标识符的是()。 A:answer B:to C:signed D:_if 答案: C 第 22题 ( 1.0分) 题号 :2898 已知 year为整型变量 ,不能使表达式 (year%4=0 if(j1;i-) for(j=1;j #include void fun (long s, long *t) long sl=10; s /= 10; /*SPACE*/ *t = s 【 ?】 10; while(s0) /*SPACE*/ s = 【 ?】 ; /*SPACE*/ *t = s%10

11、*sl【 ?】 ; /*SPACE*/ sl = sl 【 ?】 10; main() long s, t; clrscr(); printf(“nPlease enter s:“); scanf(“%ld“, fun(s, printf(“The result is: %ldn“, t); 答案: =(答案 1)= % =(答案 2)= s/100 =(答案 3)= + *t =(答案 4)= * 四、程序改错 共 2题 (共计 22分) 第 1题 ( 11.0分) 题号 :383 /*- 【程序改错】 - 题目:给定程序的功能是:读入一行英文文本, 将其中每个单词的最后一个字母改成大写,然

12、后 输出此文本行 (这里的 “单词 ”是指由空格隔开的 字符串)。例如,若输入 I am a student to take the examination.,则应输出 “I aM A studenT tO takE thE examination.“。 - 注意:不可以增加或删除程序行,也不可以更改程序的结构。 -*/ #include “conio.h“ #include “stdio.h“ #include “ctype.h“ #include “string.h“ up1st ( char *p ) /*FOUND*/ integer k = 0; for ( ; *p; p+ ) i

13、f ( k ) /*FOUND*/ if ( *p = ) k = 0; /*FOUND*/ *(p -1 ) = toupper( *( p - 1 ); else if ( *p != ) k = 1; *( p-1 ) = toupper( *(p-1) ); main( ) char chrstr81; printf( “nPlease enter a string: “ ); gets ( chrstr ); printf( “nnBefore changing:n %s“, chrstr ); up1st( chrstr ); printf( “nAfter changing:n

14、%s“, chrstr ); 答案: =(答案 1)= int k=0; =(答案 2)= if ( *p = ) =(答案 3)= *(p -1 ) = toupper( *( p - 1 ); 第 2题 ( 11.0分) 题号 :431 /*- 【程序改错】 - 题目:编写函数 fun 求 1000以内所有 8的倍数之和。 - 注意:不可以增加或删除程序行,也不可以更改程 序的结构。 -*/ #include“stdio.h“ #define N 1000 main() int sum; sum=fun(8); printf(“%d 以内所有 %d的倍数之和为: %dn“,N,8,sum); getch(); int fun(int m) /*FOUND*/ int s=0;i; /*FOUND*/ for(i=1;iN;i+) /*FOUND*/ if(i/m=0) s+=i; return s; 答案: =(答案 1)= int s=0 , i ; =(答案 2)= for(i=1;iN;i+) =(答案 3)= if(i%m=0) 五、程序设计 共 1题 (共计 14分) 第 1题 ( 14.0分) 题号 :390

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育教学资料库 > 参考答案

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。