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
解析】十进制整数向二进制的转换采用“除二取余”法,结果反取。
3. 在计算机中存储数据的最小单位是。
a)字节 b)位 c)字 d)kb
解析】在计算机中存储数据的最小单位是二进制位。
4.微机中1kb表示的二进制位数是。
a)1 000 b)8×1 000 c)1024 d)8×1024
解析】8个二进制位组成一个字节,1kb共节。
5. 下列字符中,其ascii码值最小的是( )
a)8 b)a c)z d)m
解析】各种数字符号的ascii码值要小于所有英文字母的ascii码值。
6. 下列关于汉字编码的叙述中,不正确的一项是( )
a)汉字信息交换码就是国际码 b)2个字节存储一个国际码
c)汉字的机内码就是区位码 d)汉字的内码常用2个字节存储。
解析】汉字的机内码=汉字的国际码+8080h,国际码是区位码中的区码和位码各自转换成十六进制后各加20h。
7. 将高级语言编写的程序翻译成机器语言程序,所采用的两种翻译方式是( )
a)编译和解释 b)编译和汇编 c)编译和链接 d)解释和汇编。
8. 一个栈的入栈序列是按a、b、c、d、e,则栈的不可能输出序列( )
a. edcba b. decba c. dceab d. abcde
9. 在16×16点阵的汉字字库中,存储一个汉字的字模所占的字节数为( )
a)16 b)32 c)64 d)2
解析】汉字的输出主要指显示输出和打印输出汉字的字形(即字模)。无论汉字的笔画多少,都可以写在同样大小方块内。这样我们把一个方块看成是一个由n行n列的点阵组成。
这样一个方块内共有n×n个点。若16×16点阵的汉字,每个方块字共有16×16=256个点组成。方块内的点可黑可白,一个点阵的黑点组成汉字的笔画,称之为汉字点阵字型。
一个16×16点阵汉字可以用16×16=256二进制位来表示,一个汉字占8位,即存储一个汉字字模需要32个字节。
10. 一个无符号非零二进制整数的左边最高两位为0,对该无符号数左移两次,形成一个新的无符号二进制数,则新的二进制数是( )
a)原数的2倍 b)原数的4倍 c)原数的二分之一 d)数值无变化,与原数大小一样。
解析】无论进行算术左移还是逻辑左移,右边最低位都补0,左移两次之后,形成一个新的无符号二进制数应该是原数的4倍。
答题卡:二、单选题(每题1分,共20分)。
1. 下列四组字符串中都可以用作c语言程序标识符的一组是( )
a. print _3d oodb abc
b. i\am one_half start$it 3pai
c. pxq my->book line#
d. str_l cpp pow while
2. 逗号表达式”(a=3*5,a*4),a+15″的值是___
a. 15b. 60c. 30d. 不确定。
3. 语句 printf(“%d”,(a=2)&&b= -2);的输出结果是___
a. 无输出b. 结果不确定c. 0d. 1
4. 已知整数a=1,b=2,c=3;求表达式执行后a,b,c,d的值,表达式d=-a? b++ c;__
a,0,2,3,3 b,1,2,3,4 c,0,2,4,4 d,1,2,2,3
5. 下列程序的运行结果是:(
int y=-5;
while (y++)
printf(“y=%d”,y);
a. y=0b. y= -1c. y=1 d. while构成无限循环。
6. 有以下程序:
#include<>
void writestring(char *fh,char *str)
file *fp;
fp=fopen(fn,”a”);
if(fp==null) eixt(0);
fputs(str,fp); fclose(fp);
void main()
writestring(“
writestring(“
程序运行后,文件中的内容是___
a,begin b,end c,beginend d,endbegin
7. 若有#define add(n) n+n (考核宏定义)
则printf(“%d”,add(1+2)*3);的输出是( )
a,9 b,10 c,12 d,18
8. 以下程序的输出结果是 (
int a[3][3]=,i,j,s=0;
for(i=1;i<3;i++)
for(j=0;jprintf (“d”,s);
a. 18b. 19c. 20d. 21
9. 设有以下语句。
stuct stu, *p;
p=&a[0];
则以下表达式___的值是1102.
a,p++-num b,p->num++ c,(*p).num++ d,++p->num
10. 在c语言中,以下说法正确的是:(
a. 普通实参和与其对应的形参各占用独立的存储单元。
b. 实参和与其对应的形参共占用一个存储单元。
c. 只有当实参和与其对应的形参同名时才共占用存储单元。
d. 形参在函数调用前它就占用存储单元。
11. 以下叙述中不正确的是__
a. 在不同的函数中可以使用相同名字的变量。
b. 函数中的形式参数是局部变量。
c. 在一个函数内定义的变量只在本函数范围内有效。
d. 在一个函数内的复合语句中定义的变量在本函数范围内有效。
12. 以下程序的输出结果是( )
int a=10,b=20;
int *p=&a;
p=100;
printf(“a=%d”,*p+1);
a. 101b. 11c. 20d. 无结果。
13. 以下程序运行后的输出结果是: (
char s[ ]9876″,*p;
for ( p=s ; pprintf(“%s “,p);
a. 9876 876b. 9876c. 876d. 无结果。
14. 当执行下列程序段时,循环体将___
x=-1;do;
int i,s=1;
for(i=1;i<4;i++)s*=aa;
printf(“%d”,s);
程序运行后的输出结果是( )
a. 0b. 6c. 12d. 24
答题卡:三、分析程序,给出程序运行结果(每小题5分,共20分,注意输出格式,要求写出分析过程)。
1.以下程序运行后,输出结果是运行结果:
#include<>
void fun()
void main()运行结果:
2.写出以下程序运行后的输出结果。
#include <>运行结果:
void fun ( int a[3][3], int b[3][3])
void main(),c[3][3], i,j;
fun(s,c);
for(i=0;i<3;i++)
C语言试卷答案
程序设计语言 c 模拟试卷。一 试题一 40分,每小题4分 按题目要求解答下列各小题。1.定义一个大小为6的数组,并且使数组的值都为0。int a 6 2.写出执行如下程序段后的输出结果。char a hello p p a 2 printf s p llo 3.假设你有x是一个float变量,而不...
C语言试卷A答案
一 选择题 1 10 每小题2分,11 50 每小题1分,共60分 下列各题a b c d 四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。1 算法能正确地实现预定功能的特性称为算法的。a 确定性 b 易读性 c 健壮性 d 高效性。答案 a评析 算法的确定性...
C语言试卷 答案
单选题答案。第1题答案 c评析 本题的考查点是格式输入函数scanf 的使用。scanf函数输入形式为 scanf 格式控制,地址表列 选项b中,p long malloc 8 是分配8个字节的long型存储单元,所以能通过scanf语句正确给输入项读入数据 选项c中,p a,求出变量a的内存地址并...