2010~2011 学年第二学期
班级 __________________ 学号 姓名 考试科目 《程序设计基础a(2)》 B卷 闭卷 共 7 页
···································· 密························封························线································
学生答题不得超过此线
一、单项选择题(每题1分,共20分)
1. 下列关于算法的特点,不正确的是____________:
A) 算法满足有穷性 B) 算法具有确定性 C) 算法至少有一个输入 D) 算法至少有一个输出
2.若有语句int *point,a=4;和point=&a;下面均代表地址的一组选项是_____.
A) a,point,*&a B) &*a,&a,*point
C) *&point,*point,&a D) &a,&*point ,point
3.在"文件包含"预处理语句的使用形式中,当#include后面的文件名用< >(尖括号)括起时,找寻被包含文件的方式是_______.
A)仅仅搜索当前目录
B)仅仅搜索源程序所在目录
C)直接按系统设定的标准方式搜索目录
D)先在源程序所在目录搜索,再按照系统设定的标准方式搜索
4.若有宏定义如下:
#define X 5
#define Y X+1
#define Z Y*X/2
则执行以下printf语句后,输出结果是_______.
int a;a=Y; printf("%d\\n",Z); printf("%d\\n",--a);
A)7 B)12 C)12 D)7
6 6 5 5
3.C语言函调用,当实参是指针类型的变量时,它和对应形参之间的数据传递方式为______.
A) 实参将自己的值传递给形参 B)实参将自己的地址传递给形参
C)实参将自己的值传给形参,函数调用结束后,形参再将自己的值传回给实参 D)由用户指定传递方式
6.下面程序段的运行结果是_________.
char *s="abcde"; s+=2; printf("%s",s);
A)cde B)字符'c' C)字符'c'的地址 D)无确定的输出结果
7.设p1和p2是指向同一个字符串的指针变量,c为字符变量,则以下不能正确执行的赋值语句是________.
A) c=*p1+*p2; B) p2=c C) p1=p2 D) c=*p1*(*p2);
8.若有说明语句
char a[]="It is mine"; char *p="It is mine";
则以下不正确的叙述是________.
A) a+1表示的是字符t的地址 B) p可以指向另外的字符串
C) p变量中存放的地址值可以改变 D) a中只能存放10个字符
重庆理工大学考试试卷
2010~2011 学年第二学期
班级 __________________ 学号 姓名 考试科目 《程序设计基础a(2)》 B卷 闭卷 共 7 页
···································· 密························封························线································
学生答题不得超过此线
9.若有以下定义,则对a数组元素的正确引用是_________.
int a[5],*p=a;
A)*&a[5] B)a+2 C)*(p+5) D)*(a+2)
10.若有定义:int a[2][3],则对a数组的第i行j列元素地址的正确引用为______.
A) *(a+i)+j B) (a+i) C) *(a+j) D) *(*(a+i)+j)
11.系统的标准输入文件是指_________.
A)键盘 B)显示器 C)软盘 D)硬盘
12.下列关于文件的叙述,不正确的是__________.
A) 可以将文件创建到指定的磁盘路径下 B) C语言不能操作二进制文件
C) 所谓“读文件”,是将数据从磁盘文件写入内存 D) 对文件操作结束后,必须关闭文件
13. 下面操作正确的是________________。
A) char s[5]={“ABCDE”}; B) char s[5]={‘A’,’B’,’C’,’D’,’E’};
C) char *s ; s=”ABCDE” ; D) char *s; scanf(“%s”,s) ;
14、若有如下定义:
Struct person{ char name[9]; int age; }
Struct person class[10]={“John”,17,”Paul”,19,”Mary”,18,”Adam”,16}
根据上述定义,能输出字母M的语句是___________.
A) printf(“%c\\n”,class[3].name); B) printf(“%c\\n”,class[3].name[1]);
C) printf(“%c\\n”,class[2].name[1]); D) printf(“%c\\n”,class[2].name[0]);
15.以下正确的说法是____________ 。
A)在不同函数中不能使用相同名字的变量 B)main函数体内定义的变量是全局变量
C)在函数内定义的变量只在本函数范围内有定义 D)在函数内的复合语句中定义的变量在本函数范围内有定义
16.已知一个函数的定义如下:
char fun(char x[], int y)
{ …… }
则该函数正确的函数原型声明为:_________
A)char fun (char x[],int y) B)fun (char * x,int y) C)char fun (char *,int); D) fun(x,y);
17.以下对结构体变量stu1中成员age的非法引用是________.
struct student
{int age; int num; }stu1,*p; p=&stu1;
A) stu1.age B) student.age C) p->age D) (*p).age
18, struct st {char name[8]; int num; float s[4]; }student[50];
并且结构体数组student中的元素都已有值,若要将这些元素写到硬盘文件fp中,以下不 正确的形式是___________。
A)fwrite(student,sizeof(struct st),50,fp); B) fwrite(student,50*sizeof(struct st),1,fp);
C) fwirte(student,25*sizeof(struct st),25,fp); D) for(i=0;i<50;i++) fwrite(student+i,sizeof(struct st),1,fp);;
重庆理工大学考试试卷
2010~2011 学年第二学期
班级 __________________ 学号 姓名 考试科目 《程序设计基础a(2)》 B卷 闭卷 共 7 页
···································· 密························封························线································
学生答题不得超过此线
19. 有如下定义:
int data[10], * p[10];
int * * q;
下面操作正确的是:
A) p[0]=data[0]; B)p[1]=&data[1]; q=&p[1]; C)p[0]=&data[0]; q=*(p[0]); D)p[1]=&data[1]; q=p[1];
20.以下不正确的说法是________________。
A)全局变量,静态变量的初值是在编译时指定的 B)静态变量如果没有指定初值,则其初值为0
C)局部变量如果没有指定初值,则其初值不确定 D)函数中的静态变量在函数每次调用时,都会重新设置初值
二、填空题。(每空2分,共20分)
1.下面程序段的运行结果是___(1)_____.
void main()
{ int i=0; char str[3][10]={"12345 char (*p)[10];
p=str;
for(;p #include void main() {int a=1,b=2,c; c=F(a,b); printf("%d",c); } int F(int x,int y) {int z; z=(x>y)?x:y; return(z); } 3.下面程序的运行结果是_____(3)____. void main() {char *a[]={"ab char **p; int j; p=a; for(j=0;j<=3;j++) printf("%s\\n",*(p++)); } 4.下面函数的功能是_________(4)_____。 #include int a=10,b=2; void main() {int a=3,b=5; f(a,b); printf("%d",b); } void f(int a,int b) { b=a; } 5.以下程序的运行结果是__( 5)_____. void main ( ) { int i=0; char a[ ]="abm", b[ ]="aqid", c[10]; while (a[i]!='\\0' && b[i]!='\\0') { if (a[i]>=b[i]) c[i]=a[i]-32 ; else c[i]=b[i]-32 ; i++; } c[i]='\\0'; puts(c); } 重庆理工大学考试试卷 2010~2011 学年第二学期 班级 __________________ 学号 姓名 考试科目 《程序设计基础a(2)》 B卷 闭卷 共 7 页 ···································· 密························封························线································ 学生答题不得超过此线 重庆理工大学考试试卷 2010~2011 学年第二学期 班级 __________________ 学号 姓名 考试科目 《程序设计基础a(2)》 B卷 闭卷 共 7 页 ···································· 密························封························线································ 学生答题不得超过此线 重庆理工大学考试试卷 2010~2011 学年第二学期 班级 __________________ 学号 姓名 考试科目 《程序设计基础a(2)》 B卷 闭卷 共 7 页 ···································· 密························封························线································ 学生答题不得超过此线 重庆理工大学考试试卷 2010~2011 学年第二学期 班级 学号 姓名 考试科目 《程序设计基础a(2)》 B卷 闭卷 共 7 页 ···································· 密························封························线································ 学生答题不得超过此线下载本文