1. 以下所列的c语言常量中,错误的是。
a) 0xffb) 1.2e0.8c)”fedsadad) '72'
2. 在下列标识符中,能用作用户自定义标识符的是( )
a. 5ab b. static d. struct
3. 设x为整数,c中能正确地表达数学式0≤x<5的是。
a. 0<=x<5b. x=0||x=1|| x=2||x=3||x=4
c. x>=0||x<5 d. !x<0||x>=5)
4. 执行下列程序后,x的值为。
x = 3; 9 + 3 - 2, x = x * 5, y = 23, x++;
a. 10 b. 15 c. 16 d. 23
4. int i = 5; float x; 执行x = 8 / i; 后x的值为。
a. 1.6 b. 1 c. 1.0 d. 2.0
5. 下列关于表达式的书写中正确的是。
a. 4 * 2.5 % 3 b. x = y + z = 4
c. +y *=z + 3
6. 设有说明“int x=5,y=7,z=8;”,执行表达式z+=x++|y++|z后,则x,y,z的值分别是。
a b c d
7. 若int x=2, y=3, z=7;则表达式y-z? x+y:x*y的值为。
a. 5b. 1 c. -4 d. 6
8. 设e1和e3是表达式,与语句for(e1; ;e3) s;等同的语句是。
a. for(e1;e1;e3)s; b. for(e1;e3;e3)s;
c. for(e1;0;e3)s; d. for(e1;1;e3)s;
9. a,b已经定义为int类型,则以下程序段中循环体总的执行次数是。
for(a = 8; a ; a=a-2)
for(b = 0;b < 3;j++)
a. 12 b. 15 c. 16 d. 8
10. 设有语句:char s[ ]xy\0\1237”; 则 strlen(s)的值是( )
a. 2 b.6 c. 7 d. 3
11.数组作为函数的形参时,把数组名作为实参,传递给函数的是( )
a.数组的首地址b.数组的元素个数
c.数组中的各元素值 d.数组的大小
12.下列说明或赋值语句,不正确的是( )
a. char p[12];p[0] =v’;
b. char p[12]; p=”visual c++”
c. char p[12] =
d. char p[ ]visual”;
13. 判断字符串s1是否大于s2,应当使用。
a.if(a >bb.if(a> =b)
c.if( strcmp(s1,s2) >0 ) d.if( strcmp(s1,s2)< 0 )
14.设int x=10,* p=&x;,则*p的值是。
a. 变量x的地址值 b. 无意义 c. 变量p的地址值 d. 10
15.若p为指针变量,y为变量,则y = p++;的含义是。
a.y = p; p++ b.y = p)++
c.y = p; pd.p++;y = p
16.若int x[3][4],(p)[4] =a;则下列表示a[2][3]数组元素的方法中,( 是正确的。
a. (p + 2) +3b. *p + 2) +3)
c. *p + 11d. *p[2][3]
17. 设void f1(int *a,char * b);int x;char s[ ]123”;以下调用合法的是( )
a.f1(&x,&s); b.f1(&x,s); c.f1(x,s); d.f1(x,&s);
18.结构体类型的变量在程序执行期间( )
a. 所有成员一直驻留在内存中。
b. 只有一个成员驻留在内存中。
c. 部分成员驻留在内存中
d. 没有成员驻留在内存中。
19. 若有说明int (*p)[3], 则以下是正确的描述。
a. p是一个指针数组。
b. p是一个指针,它只可能指向一个包含3个int类型元素的数组。
c. p是一个指针,它可以指向一个一维数组中的任意一个元素。
d. (p)[3]与*p[3]等价。
20. 设有程序段如下:int x; int a[10]; 则下列表达式中,与元素a[x]等效的是( )
a. a + x b. *a + x c. *a + x) d. a + x
二、阅读程序题(共20分,每空2分,将正确的答案填入横线内)
1. /考察分支。
#include <>
void main()
int i=17;
while(i>0)
printf("%d",i);
程序输出的第一行是第三行是。
2. /考察循环。
#include<>
void main(void)
int y=122,a[8],i,j;
for (i=0;y;i++)
for (j=i-1;j>=0;j-- printf("%d\t",a[j]);
printf("");
printf("y= %d",y);
程序输出的第一行是第二行是。
3. /考察递归。
#include<>
void fun(int*p, int i)
printf("%d\t",p[i+1]);
if( i<6 ) fun( p, i+3);
void main(void)
int a[10]=;
fun( a, 0);
程序的输出结果是。
4.//考察字符串。
#include <>
#include <>
void main(void)
char str[50]="xyz", p1[20]="abcd",p2[ ]abcd";
strcpy(str+2, strcat( p1+2, p2+1) )
puts(str);
程序运行结果是。
5.//考察静态变量。
#include <>
int f1()
static int i=10,f=2;
return f*=+i;
void main()
printf("%d",f1()-f1())
程序第一行是。
#include <>
int f1(int *p,int n)
int count=0;
int i,sum=0,**e;
for(i=0;i
p=p-n;
**e=sum/n;
for(i=0;i
return count;
int f2(int *p,int n)
int i,value=0;
p=p+4*n;
for(i=0;i<4;i++)
value+=p[i];
return value;
void main()
int x[10]=;
int y[3][4]=;
int (*fun)(int *,int);
int i;
for(i=0;i<2;i++)
if(i==1)
fun=f2; printf("%d\t",fun(*y,1));
程序的输出结果为。
三、完善程序(20分,每空2分)
1.判断范围在[m..n]间的所有素数(5int prime(int a) /返回值1为素数,否则为0
int k;
for(k=2;k if(a%k==0)return 0;
C程序设计试卷1C程序设计
c 程序设计试卷。一 选择题。每小题3分,共15分 1 派生类能够直接访问的基类的成员是 a 公有成员 b 保护成员 c 私有成员 d 静态。2 下面是几条定义类的语句,不能被继承的类是 a abstract class figure b class figure c public class fi...
C 程序设计试卷C
面向对象的程序设计c 试卷c 一 填空 每空2分,共20分 1 定义于函数外的变量称为。2 假定class1为一个类,则执行 class1 a 5 b 2 p 3 语句时,自动调用该类构造函数的次数为。3 利用操作符 语句序列p p 1 f p 5 的功能可以由一个语句完成。4 不借助于其他变量交换...
C 程序设计试卷 A
c 程序设计课程期末考试试题 a卷 一判断题 正确打 a 错误打 b 每小题1分,共计20分 1在面向对象的编程中,和数据合并为一个不可分割的对象。2对象是有确定简介且与要处理的问题相关的概念或事物。3每个对象都称为它的类的一个示例。类中的对象具有相同的属性和共同的行为。4多态性是指相同的函数可以在...