C程序设计试卷 Page PAGE 49 of NUMPAGES 50
PAGE
选择填空:(每题1.5分,共15分)
以下可以正确表示字符型常数的是 。
(A) “a” (B) ‘297’ (C) ‘\t’ (D) “\n”
typedef struct
{ char name[10];
int age;
char interests[20];
} student;
以上语句中 student 是:
(A)结构体变量,有存储空间 (B)结构体数据类型,无存储空间
(C)结构体变量,无存储空间 (D)结构体数据类型,有存储空间
函数:void f(void)
{
int i = 12, j;
for(j=0; j<20; j++)
i++;
}
当f执行完退出后,i的值为_____ _____
(A) 12 (B) 32 (C) 29 (D) 无定义
若有以下说明: int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;则数值为6的表达式是(A)*p+6 (B)*(p+6) (C)*p+=5 (D)p+5
以下代码执行后,result的值为:
#define FIVE 2+3
result = FIVE * FIVE
(A) 11 (B) 13 (C) 25 (D)10
已知函数定义的形式如下:
struct data *f(void)
{……}
则函数f:
(A)没有参数,返回值是一个结构体
(B)有一个参数void, 返回值是一个结构体
(C)没有参数,返回值是一个结构体指针
(D)有一个参数void, 返回值是一个结构体指针
7.下列说法中,不正确的是_ ____
(A)函数中可以没有return语句。
(B)所有的函数都不能嵌套定义,但可以相互调用。
(C)函数的实参应与其对应的形式参数类型一致。
(D)函数可以不加函数返回值类型标识符。
一个C程序的执行是 。
(A)从本程序的main函数开始,到main函数结束
(B)从本程序文件的第一个函数开始,到本程序文件最后一个函数结束
(C)从本程序的main函数开始,到本程序文件的最后一个函数结束
(D)从本程序文件的第一个函数开始,到本程序的main函数结束
9.在C语言的算术运算符中只能用于整型数的运算符是
(A)*(B)/(C)++(D)%
10 在下列选项中,没有构成死循环的程序段是
(A)int i=100;
while (1) {
i=i%100+1;
if(i>=100) break;
}
(B)for(;;);
(C)int k=1000;
do{++k;} while (k>=1000);
(D)int s=36
while(s); --s;
二、 写出下列程序的运行结果:(共35分)
1. (8分)
int funa(int *a) { a[0] ++; }
int funb(int b[]) { b[1] += 5; }
main()
{
int a[5] = {2,3,4,5,6};
int b[5] = {2,3,4,5,6};
int *p, i;
p = &a[0];
(*p)++;
funb(p);
for(i = 0; i <5; i++)
printf("%d,",a[i]);
p = &b[1];
funa(p);
funb(p);
for(i = 0; i < 5; i++)
printf("%d,",b[i]);
}
运行结果:
2、(6分)main()
{
char a[]="programming", b[]="language";
char *p1,*p2;
int i;
p1=a; p2=b;
for(i=0; *(p1+i)!=’\0’&&*(p2+i)!=’\0
if(*(p1+i)==*(p2+i)) printf("%c",