2010-2011学年第二学期期中试卷。
程序设计基础》试卷。
一、 单项选择题(共40分,每小题2分)
1. 声明语句为“char a[10]”,执行printf(“%d,%d”,sizeof(a),strlen(strcpy(a, “windows”))语句后的输出结果为( )
a.7,7b.7,8c. 10,7d. 10,8
2. 以“只读”方式打开文本文件c:\下列语句中哪一个是正确的( )
a.fp=fopen(“c:\\ab. fp=fopen(“c:\”);
c. fp=fopen(“c:\\wbd. fp=fopen(“c:\ r”);
3. 要为字符型变量a赋初值,下列语句中哪一个是正确的( )
a.char a='3'; b.char a=“3” c. char a=%;d. char a=*;
4. 常量字符串”this is sunday!”,通过strlen函数求其长度,结果为( )
a.14b.15c. 16d. 17
5. 若定义数组char a[10],char *p=a,则下面变量中,表示地址的是( )
a.a+4b.*pc. &ad. &p
6. 在下面定义中,是指针数组的为( )
a. int *p[8] b. int (*p)[8] c. int (*p)(8) d. int *p(8)
7. 在c语言中可以用( )来定义一个新的变量类型。
a. #define b. #include c. typedef d. struct
8. 下面函数中不是关于文件操作的是( )
a. fopenb. fclosec. fseekd. format
9. 结构型变量占用内存的字节数是( )
a.各成员占用内存字节数之和。
b.第一个成员占用的内存字节数。
c.占用内存最大成员所需的字节数。
d.最后一个成员占用的内存字节数。
10. 设 struct st
int i;
int j;} p;
main (
p=m;printf (″d″,(p). j);
则程序的输出结果是( )
a. 1b. 2c. 3d. 10
11. 若p是一个字符指针,则&*p为( )
a. 地址b. 字符c. 字符串 d. null。
12. 如果有二维数组a[8][6],则可以使用地址方式来表示第i行第j列的元素的是( )
a. a[i][j] b. *a+i)+j) c. *a+j)+i) d. *a[i][j]
13. 在说明语句:int *f();中,标识符f代表的是( )
a.一个用于指向整型数据的指针变量
b.一个用于指向一维数组的行指针
c.一个用于指向函数的指针变量
d.一个返回值为指针型的函数名。
14. 如果定义结构体。
struct student ,*p=a,则值为3的表达式是( )
a. p+=2,*(p++)b. p+=2,*+p c. p+=3,*pd. p+=2,++p
16. 在定义了数组int a[5][6];后,第10个元素是( )
a.a[2][5b.a[2][4] c.a[1][3] d.a[4][2]
17. 现有语句:int a[10], p=a;,则下列表达式中不能表示数组第i个元素的是( )
a.a[i] b.*(a+i) c.*(p+i) d.*p+i
18. 现有语句char chname[10]=;则语句sizeof(chname)的结果为( )
a.3b.4c.10d.9
19. 设结构体s定义为:struct s;,则该结构体共占用( )个字节(短整型变量占2个字节)。
a.11b.7 c.8d.14
20. 表示链表结构结束的标识符是( )
a.nullb.eof c.bofd./0
二、程序阅读题(共20分)
试题1(每小题2.5分,共10分)
阅读下列程序并回答问题。
程序】有一个班,3个学生,各学4门课,计算总平均分数,以及第n个学生的成绩。用函数**erage求总平均成绩,用函数search找出并输出第i个学生的成绩。程序如下:
#include <>
void main()
void **erage(float *p,int n);
void search(float (*p)[4],int n);
float score[3][4]=,
**erage( (1) ,12); 求12个分数的平均分*/
search(score,2求第2个学生成绩 */
void **erage(float *p,int n)
float *end;
float sum=0,**er;
end=p+n-1;
for(;p<=end;p++)
**er=sum/n;
printf("**erage=%5.2f", 3
void search(float (*p)[4],int n)
int i;
printf("the score of no.%d are:",n);
for(i=0;i<4;i++)
printf("%5.2f4) )
试题2(每小题2.5分,共10分)
阅读下列程序并回答问题。
程序】#include <>
void myswap(int, int);
void myswapp(int*, int*);
void main()
int a, b, *pa, *pb;
pa = a;
a = 5;
b = 7;
pb = b;
myswap(a, b);
printf("a = d, b = d", a, b);
myswapp(&a, &b);
printf("a = d, b = d", a, b);
void myswap(int x, int y)
int ntemp;
ntemp = x;
x = y;
y = ntemp;
void myswapp(int *x, int *y)
int ntemp;
ntemp = x;
*x = y;
*y = ntemp;
1) 程序的输出是 (12
2) 将main函数中的语句“myswap(a, b);”改为“myswap(*pa, *pb);”语句“myswapp(&a, &b); 改为“myswap(pa, pb);”后程序的输出结果是34
三、编程题(共40分)
1. 编写程序,输入3个学生的姓名、学号以及成绩,通过结构体数组保存,并且将总成绩和平均成绩计算完,输出打印出来。
2. 现在要求编写一段去除多余空格程序,将用户输入的字符串中连续出现的多个空格替换成一个空格,并且显示出来;比如用户输入“today is b irthday !”处理成为“today is birthday !”
C语言期中试卷
c语言 课程期中考试试卷 学号姓名成绩 一。在a b c d四个选项中,选择一个正确的答案填入括号内 1 用char定义的变量在ibm pc机中能表示的数的范围是 a 0 255b 0 65535 c 128 127 d 只能存字符,不能存数。2 设有int k 2 则执行printf d k 的输...
c语言期中试卷
c语言程序设计试卷。姓名学号成绩 一 选择题 20分 1 c语言的基本构成单位是 a 函数 b 函数和过程 c 超文本过程 d 子程序。2 一个c语言程序总是从 开始执行。a 主过程 b 主函数 c 子程序 d 主程序。3 c语言的程序一行写不下时,可以 a 用逗号换行 b 用分号换行。c 在任意一...
C语言期中试卷
程序设计基础 c语言 期中测验。学生学号学生姓名 一 选择题 每题2分,共40分 1.语句printf d a 2 b 2 的输出结果是 a a 1 b 5 c 37 d 7 2.下列语句中是,正确的是 d a define a 3.14159 b inxlude c for i 0,i 10 i ...