C语言其中试卷

发布 2021-04-23 14:20:28 阅读 3442

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 ...