c语言试卷答案.docx

上传人:h**** 文档编号:1787686 上传时间:2019-03-15 格式:DOCX 页数:9 大小:32.03KB
下载 相关 举报
c语言试卷答案.docx_第1页
第1页 / 共9页
c语言试卷答案.docx_第2页
第2页 / 共9页
c语言试卷答案.docx_第3页
第3页 / 共9页
c语言试卷答案.docx_第4页
第4页 / 共9页
c语言试卷答案.docx_第5页
第5页 / 共9页
点击查看更多>>
资源描述

1、2014-2015 学年第一学期 C 语言期末考模拟试卷考试时间:120 分钟一、计算机基础(10=10*1 )1. 下列关于字节的叙述中,正确的一项是A)字节通常用英文单词“bit”来表示,有时也可以写做“b”B)目前广泛使用的Pentium机其字长为5个字节C)计算机中将8个相邻的二进制位作为一个单位,这种单位称为字节D)计算机的字长并不一定是字节的整数倍【解析】选项A:字节通常用Byte表示。选项B:Pentium机字长为32位。选项D:字长总是8的倍数。2 十进制数215用二进制数表示是A)1100001 B)11011101 C)0011001 D)11010111【解析】十进制整数

2、向二进制的转换采用“除二取余”法,结果反取。3. 在计算机中存储数据的最小单位是A)字节 B)位 C)字 D)KB【解析】在计算机中存储数据的最小单位是二进制位。4.微机中1KB表示的二进制位数是A)1 000 B)81 000 C)1024 D)81024【解析】8个二进制位组成一个字节,1KB共1024字节。5. 下列字符中,其ASCII码值最小的是( )A)8 B)a C)Z D)m【解析】各种数字符号的ASCII码值要小于所有英文字母的ASCII码值。6. 下列关于汉字编码的叙述中,不正确的一项是( )A)汉字信息交换码就是国际码 B)2个字节存储一个国际码 C)汉字的机内码就是区位码

3、 D)汉字的内码常用2个字节存储【解析】汉字的机内码=汉字的国际码+8080H,国际码是区位码中的区码和位码各自转换成十六进制后各加20H。7. 将高级语言编写的程序翻译成机器语言程序,所采用的两种翻译方式是( )A)编译和解释 B)编译和汇编 C)编译和链接 D)解释和汇编8. 一个栈的入栈序列是按 a、b、c、d、e,则栈的不可能输出序列( )A. edcba B. decba C. dceab D. abcde9. 在1616点阵的汉字字库中,存储一个汉字的字模所占的字节数为( )A)16 B)32 C)64 D)2【解析】汉字的输出主要指显示输出和打印输出汉字的字形(即字模)。无论汉字

4、的笔画多少,都可以写在同样大小方块内。这样我们把一个方块看成是一个由N行N列的点阵组成。这样一个方块内共有NN个点。若1616点阵的汉字,每个方块字共有1616=256个点组成。方块内的点可黑可白,一个点阵的黑点组成汉字的笔画,称之为汉字点阵字型。一个1616点阵汉字可以用1616=256二进制位来表示,一个汉字占8位,即存储一个汉字字模需要32个字节。10. 一个无符号非零二进制整数的左边最高两位为 0,对该无符号数左移两次,形成一个新的无符号二进制数,则新的二进制数是( )A)原数的 2 倍 B)原数的 4 倍 C)原数的二分之一 D)数值无变化,与原数大小一样【解析】无论进行算术左移还是

5、逻辑左移,右边最低位都补0,左移两次之后,形成一个新的无符号二进制数应该是原数的4倍。答题卡:1 2 3 4 5 6 7 8 9 10二、单选题(每题 1 分,共 20 分)。1. 下列四组字符串中都可以用作语言程序标识符的一组是( ) 。A. print _3d oodb aBcB. iam one_half start$it 3paiC. Pxq My-book line# His.ageD. str_l Cpp pow while2. 逗号表达式”(a=3*5,a*4),a+15的值是_。A. 15 B. 60 C. 30 D. 不确定3. 语句 printf(“%d”,(a=2)的输出

6、结果是_A. 无输出 B. 结果不确定 C. 0 D. 14. 已知整数 a=1,b=2,c=3;求表达式执行后 a,b,c,d 的值,表达式- -a? b+ : +c;_.A,0,2,3,3 B,1,2,3,4 C,0,2,4,4 D,1,2,2,35. 下列程序的运行结果是:( )int y=-5;while (y+) ;printf(“y=%dn”,y);A. y=0 B. y= -1 C. y=1 D. while 构成无限循环6. 有以下程序:#includevoid WriteString(char *fh,char *str)FILE *fp;fp=fopen(fn,”a”);i

7、f(fp=NULL) eixt(0);fputs(str,fp); fclose(fp);void main()WriteString(“t1.txt”,”Begin”);WriteString(“t1.txt”,”End”);程序运行后,文件 t1.txt 中的内容是_。A,Begin B,End C,BeginEnd D,EndBegin7. 若有#define ADD(n) n+n (考核宏定义)则 printf(“%d”,ADD(1+2)*3);的输出是( )A,9 B,10 C,12 D,188. 以下程序的输出结果是 ( )int a33=1,2,3,4,5,6,7,8,9,i,j

8、,s=0;for(i=1;inum B,p-num+ C, (*p).num+ D,+p-num10. 在 C 语言中,以下说法正确的是:( )A. 普通实参和与其对应的形参各占用独立的存储单元B. 实参和与其对应的形参共占用一个存储单元C. 只有当实参和与其对应的形参同名时才共占用存储单元D. 形参在函数调用前它就占用存储单元11. 以下叙述中不正确的是_ _A. 在不同的函数中可以使用相同名字的变量B. 函数中的形式参数是局部变量C. 在一个函数内定义的变量只在本函数范围内有效D. 在一个函数内的复合语句中定义的变量在本函数范围内有效12. 以下程序的输出结果是( )int a=10,b=

9、20;int *p=*p=100;printf(“a=%d”,*p+1);A. 101 B. 11 C. 20 D. 无 结果13. 以下程序运行后的输出结果是: ( )char s =”9876,*p;for ( p=s ; p5) printf(“%dn”,m);else printf(“%dn”,m-);A. 4 B. 5 C. 6 D. 719. 下面程序段的运行结果是:( )int n=2;while(n=0)n=n-1;printf(“%d”,n);A. -2 B. -1 C. 0 D. 有语法错误20. 有以下程序:intaa4=0,2,3,4;int i,s=1;for(i=1

10、;i4;i+) s*=aa;printf(“%dn”,s);程序运行后的输出结果是( )A. 0 B. 6 C. 12 D. 24答题卡:1 2 3 4 5 6 7 8 9 1011 12 13 14 15 16 17 18 19 20三、分析程序,给出程序运行结果(每小题 5 分,共 20 分,注意输出格式,要求写出分析过程)。1.以下程序运行后,输出结果是: 运行结果:#includevoid Fun() static int a=1;int b=1;+a;+b;printf( ”%d,%dn”,a,b);void main()int i;for(i=1;i 运行结果:void fun (

11、 int a33, int b33)int i,j;for(i=0;i 运行结果:#include char *ss(char *s)return s+strlen(s)/2;main( ) char *p,*str=“abcdefgh“;p=ss(str); printf(“%sn“,p);运行结果:efgh4下列程序编译后生成 t.exe, 运行 t input output zoo oil 的输出结果是。#include 运行结果:#include void main(int argc, char * argv )int k;char *p=argv1;for(k=2; k0) p=ar

12、gvk;printf(“%sn“, p);运行结果:Zoo四、程序填空(每空 3 分,共 30 分)1. 以下程序用来对从键盘上输入的两个字符串进行比较,然后输出两个字符串中第一个不相同字符的 ASCII 码之差,例如:输入的两个字符串分别为 abcd 和 abcfe,则输出为-2. 请填空.#include main()char str1100,str2100;int i,s;printf(“ninput string1:n“);gets(str1);printf(“ninput string2:n“);gets(str2);i=0;while(str1i=str2i)s=_(3)_;pri

13、ntf(“_%dn“,s);2输入一行字符,统计并输出其中英文字母、数字和其他字符的个数。#include void main( ) int digit, i, letter, other; ( 4 ) ch; digit = letter = other = 0;printf(“Enter characters: “);while( ( 5 ) != n)if( ( 6 ) ) letter +; else if (ch = 0 int high=9, low=0; int mid, found=0, num; scanf(“%d“, /输入要找的数while (_(7)_)mid=(hig

14、h+low)/2;if(amid=num) /如果找到found=1; _(8)_;else if(amidnum)high=mid-1; else(9) if(found=1) printf(“found number is %dthn“, mid);elseprintf(“no foundn“); 答题卡:1. 0 6. (ch = a int i=1;dot=1.0/i/i;sum=sum+t;i+; while(t1e-9) ;pi=sqrt(6*sum);printf(“pi=%.10lf,n=%dn“,pi,i);2. 回文数是指正读和反读都是一样的正整数(例如,5 ,121,12

15、21 等都是回文数) 。要求:(1)随机产生1,500以内的 50 个随机数,并存放到一个一维数组中。(2)编程函数 int testpalindrone(int num)实现判断 num 是否回文。(3)统计这 50 个随机数中回文的个数。(4)求回文数之和。#define N 50#include “stdio.h”#include”stdlib.h”#include”time.h”int testpalindrome(int num)/判断 num 是否回文数int sum=0,temp,r;temp=num;dor=num%10;sum=sum*10+r;num/=10;while(n

16、um!=0);if(sum=temp) return 1;else return 0;int main()int aN;int i,count=0,total=0;srand(time(NULL);for(i=0;iN;i+)ai=rand()%500+1;/随机产生1,500之间的数printf(“%dt”,ai);for(i=0;iN;i+)if(testpalindrome(ai)/如果是回文 count+; /统计回文个数printf(“%dt”,ai);total+=ai;/求回文个数printf(“n 回文数数目为: %dn”,count);printf(“ 所有回文数之和:%d”,total);

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

当前位置:首页 > 教育教学资料库 > 试题真题

Copyright © 2018-2021 Wenke99.com All rights reserved

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

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

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