Page 1 of 6
XXXXXX
(2010  年度-----2011  年度  第  1  学期)
XXXXXXX  试卷(D )
一、单项选择题(四选一)单选25道题,共50分
1.若a 、b 、c 、d 都是int 类型变量且初值为0,以下选项中不正确的赋
值语句是(  C  )
A .d--;
B .a=(c=22)-(b++);
C .c+b ;
D .a=c+d ;
c++字符串是什么
2.下列运算符中优先级最高的运算符是(  A    )
A .%
B .!
C .==
D .&&
3.若有定义:int a=7; float x=2.5, y=4.7; 则表达式
x+a%3*(int)(x+y)%2/4的值是(      )
A .3.500000
B .0.000000
C .2.500000
D .2.750000
4.以下对二维数组a 的正确说明是(      )
A .int a(3)(4);
B .float a(3,4);
C .int a[3][];
D .double a[1][4];
5.若已定义char s[10];则在下面表达式中不表示s[1]的地址是    。
A .s+1
B .s++
C .&s[0]+1
D .&s[1] 6.以下叙述正确的是(      )
A .C 程序的每行中只能写一条语句。
B .
C 语言本身没有输入输出语句。
C .在对一个C 程序进行编译的过程中,可发现注释中的拼写错误
D .在C 程序中,main 函数必须位于程序的最前面。
7.已知ch 是字符型变量,下面正确的赋值语句是(      )
A .ch='CC';
B .ch=5;
C .ch='\0';
D .以上都正确;
8.请选择下列程序的运行中三次调用函数时j 的值分别是(      )
#include <stdio.h>
void test()
{
static int j = 0;
++j;
printf("%d\n", j);
}
void main()
{
int i;
for(i = 1; i <= 3; i++)
test();
}
A.1 ,2, 3  B.1, 1, 0
C.3, 2,1 D.1,1,1
9.已知:char s[6], *ps=s;则正确的赋值语句是()A.*ps=“12345”B.*s=“12345”
C.ps=“12345”D.s=“12345”
10.设x,y,z,k都是int型变量,则执行表达式:x=(y=4,z=16,k=32)后,x的值为()
A.52 B.32 C.16 D.4
11.有下列结构体,对该结构体变量stu的成员项引用不正确的是()
struct  student
{    int  m;
float  n;
} stu ,*p;
A.(*p).m  B.p.stu.n
C.p->m  D.stu.n 12.下列字符中属于键盘符号的是()
A.\b B.\n  C.\    D.\t
13.以下正确的函数定义形式是()
A.double fun(int x; int y)
B.double fun(x, int y)
C.double fun(int x, int y)
D.double fun(int x, y)
14.下列不是C语言提供的合法关键字是()A.default B.case
C.cher  D.switch
15.当说明一个结构变量时系统分配给它的内存是()A.各成员所需内存量的总和
B.结构中最后一个成员所需内存量
C.结构中第一个成员所需内存量
D.成员中占内存量最大者所需的容量
16.C语言中while和do-while循环的主要区别是()A.do-while的循环体至少无条件执行一次
B.do-while允许从外部转到循环体内
C.do-while的循环体不能是复合语句
D.while的循环控制条件比do-while的循环控制条件严格
Page 2 of 6
17.在32位机上使用C语言,若有如下定义:
struct data
{
int i;
float f;
} b;
则结构变量b占用内存的字节数是()
A.2 B.1 C.9 D.8
18.如下说明语句,则下面叙述不正确的是。
struct stu {
int a ; float b ;
} stutype ;
A.struct是结构体类型的关键字
B.struct stu是用户定义的结构体类型
C.stutype是用户定义的结构体类型名
D.a和b都是结构体成员名
19.以下程序的运行结果是()
void main()
{
int m=5;
if(m++>5) printf("%d\n",m);
else printf("%d\n",m--);
}
A.6    B.7 C.4      D.5
20.已知:int x[ ]={ 1,3,5,7,9,11 },*ptr=x;则能够正确引用数组元素的语句是()
A.x[6]  B. *(ptr--)
C. *(--ptr) D.x
21.语言中的简单数据类型均正确的是()
A.实型、逻辑型、字符型
B.整型、字符型、逻辑型
C.整型、实型、逻辑型
D.整型、实型、字符型
22.下面函数的功能是()
void copy_string(char *dest,char *source)
{
while((*dest++ = *source++) != '\0')
;
}
A.字符串比较
Page 3 of 6
B.字符串反向
C.字符串连接
D.字符串复制
23.C语言中,运算对象必须是整型的运算符是()
A.* B./ C.++  D.%
24.有如下程序
main( )
{ int y=3,x=3,z=1;
printf(“%d %d\n”,(++x,y++),z+2);
}
运行该程序的输出结果是()
A.33 B.43 C.42 D.34
25.变量的指针,其含义是指该变量的()
A.一个标志B.名
C.地址D.值
二、填空题填空10道题,共10分
1.已有定义:float x=5.5;则表达式:x=(int)x+2的值为___________。
2.表达式8.0*(1/2)的值为___________。
3.经过下列程序后,func(1)调用后的返回值为___________。
int func(int a) {
int b;
switch(a)
{
case 1: b = 30;
case 2: b = 20;
case 3: b = 16;
default: b = 0;
}
return b;
}
4.若有以下定义和语句,则通过指针p对值为8的数组元素的引用表达式是___________
int  a[10]={1,2,3,4,5,6,7,8,9},*p;
p=&a[1];
5.int *p[10], p的含义是___________。
6.在“文件包含”预处理命令形式中,当#include后名的文件名用<>(尖括号)括起时,寻被包含文件的方式是______    ____。
7.设y为int型变量,请写出判断“y是奇数”的表达式___________。8.一个变量的指针是指___________。
Page 4 of 6
9.与十进制数255等值的二进制数为___________。
10.有如下输入语句:scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);为使变量a的值为1,b的值为3,c的值为2,从键盘输入数据的正确形式应是___________、___________、___________。
三、简答题简答2道题,共10分
1. 简述++a和a++有什么不同?
2. 描述break和continue的异同?
四、编程题编程3道题,共30分
1.写一个简单的通讯录程序,要求:输入姓名与电话,打印出所有的联系人姓名与电话号码(要求用结构体实现)。
Page 5 of 6

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。