您的当前位置:首页正文

大一C语言试题

来源:图艺博知识网


c语言考试模拟试题 本卷共有4道大题:

一、单项选择题(20道小题,共20分) 1、以下叙述中不正确的是( c)(1分)

A、在不同的函数中可以使用相同名字的变量 B、函数中的形式参数是局部变量

C、在一个函数内定义的变量只在本函数范围内有效 D、在一个函数内的复合语句中定义的变量在本函数范围内有效 2、有以下函数定义:void fun(int n, double x) { …… } 若以下选项中的变量都已正确定义并赋值,则对函数fun的正确调用语句是(b )(1分) A、fun(int y,double m); B、k=fun(10,12.5); C、fun(x,n); D、void fun(n,x);

3、给出以下定义:char x[]=\"abcdefg\";char y[]={'a','b','c','d','e','f','g'};则正确的叙述为( )(1分)

A、数组x和数组y等价 B、数组x和数组y的长度相同

C、数组x的长度大于数组y的长度 D、数组x的长度小于数组y的长度

4、设有如下定义:struct op{int i:float k;} self,*p; 若有p=&self;则对self中的i域的正确引用是( )(1分) A、(*p).self.i B、(*p).i C、p->self.i D、p.self.i

5、设有如下定义:int (*ptr)();则以下叙述中正确的是( )(1分)

A、ptr是指向一维组数的指针变量 B、ptr是指向int型数据的指针变量

C、ptr是指向函数的指针,该函数返回一个int型数据 D、ptr是一个函数名,该函数的返回值是指向int型数据的指针

6、C语言标准库函数\"fgets(string,n,fp)\"的功能是( )(1分)

A、从文件fp中读取长度为n的字符串存入指针string指向的内存 B、从文件fp中读取长度不超过n-1的字符串存入指针string指向的内存

C、从文件fp中读取n个字符串存入指针string指向的内存 D、从文件fp中读取不超过长度为n的字符串存入指针string指向的内存

7、设int类型的数据长度为2个字节,则unsigned int类型数据的 取值范围是( )(1分) A、0至255 B、0至65535

C、-256至255 D、-32768至32767

8、假定int类型变量占用两个字节,其有定义:int x[10]={0,2,4};,则数组x在内存中所占字节数是( )(1分) A、3 B、6 C、10 D、20

9、函数调用:strcat(strcpy(str1,str2),str3)的功能是( )(1分)

A、将串str1复制到串str2中后,再连接到串str3之后 B、将串str1连接到串str2之后,再复制到串str3之后

C、将串str2复制到串str1中后,再将串str3连接到串str1之后 D、将串str2连接到串str1之后,再将串str1复制到串str3中

10、指出下面正确的输入语句是( )(1分)

A、scanf(\"a=b=%d\、scanf(\"a=%d,b=%f\ C、scanf(\"%3c\ D、scanf(\"%5.2f,&f\")

11、若有以下定义和语句:int u=010,v=10,w=0x10;printf(\"%d,%d,%d\\n\",u,v,w);则输出结果是( c)(1分) A、8,10,16 B、10,10,10 C、8,10,8 D、8,10,10

12、若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为( )(1分) A、a<>0 B、!a C、a=0 D、a

13、假定有以下变量定义:int k=7,x=12; 则能使值为3的表达式是( )(1分) A、x%=(K%=5) B、x%=(k-k%5) C、x%=k-k%5 D、(x%=k)-(k%=5)

14、以下不能定义为用户标识符的是( )(1分) A、scan B、void1 C、_3com_ D、int

15、已定义c为字符型变量,则下列语句中正确的是( )(1分) A、c='97'; B、c=\"97\"; C、c=97; D、c=\"a\";

16、在下列选项中,没有构成死循环的程序是( )(1分)

A、int i=100;whine(1) {i=i%1001;if (i>100)break;} B、for (;;); C、int k=1000;do {k;}while(k>=1000); D、int s=36;while(s);--s;

17、设a=1,b=2,c=3,d=4,则表达式:a>b?a:c18、设x和y均为int 型变量,则以下语句:x+=y;y+=x;x=y-x;y=y-2*x;的功能是( )(1分) A、把x和y按从大到小排列 B、把x和y按从小到大排列 C、无确定结果 D、交换x和y中的值

19、假定所有变量均已正确说明,下列程序段:a=b=c=0;x=65;if (!a) x--;else if (b);

if (c) x=11;esle x=12;运行后x的值是( )(1分) A、64 B、12 C、65 D、11

20、以下选项中,非法的字符常量是( )(1分) A、'\' B、'\\17' C、\"n\" D、'\\xaa'

二、填空题(12道小题,共40分)

1、C语言源程序文件经过连接后,生成文件的后缀是

(2分)

--------------------------------------------------------------------------------

2、结构化程序设计的方法是:自顶向下、、模块化设计、结构化编码

(2分)

--------------------------------------------------------------------------------

3、若有定义:int a=10,b=9,c=8;接着顺序执行下列语句后,变量b中的值是 c=(a-=(b-5)); c=(a%11)+(b=3);

(2分)

--------------------------------------------------------------------------------

4、有以下语句:int a,b;scanf(\"a=%d,b=%d\为使变量a,b的值分别为12,34,则输入数据的形式应该是

(2分)

--------------------------------------------------------------------------------

5、表达式1<0<5的值是

(2分)

--------------------------------------------------------------------------------

6、下面的程序输出是main (){int x=2;while (x--);printf(\"%d\

(2分)

--------------------------------------------------------------------------------

7、C语言的数组名是一个常量,不能对他进行加减和赋值等运算

(2分)

--------------------------------------------------------------------------------

8、从一条函数原型语句“int fun1(void);”可知,该函数的返回类型为

(2分)

--------------------------------------------------------------------------------

9、假定指向一维数组b[10]中元素b[4]的指针为p,则p+3所指向的元素为,p-2所指向的元素为b[2]

(2分)

-------------------------------------------------------------------------------- 10、定义结构体变量名表可以在定义结构体时直接进行,常用的定义结构体变量名表的方法是

(2分)

--------------------------------------------------------------------------------

11、以下程序的功能是:从键盘上数入10个数值并存储在数组a中,调用函数findmax求数组中的最大值并输出 #include main()

{int a[10],i,j;

for(i=0;i<10;++i) scanf(\"%d\ findmax(a,10,); printf(\"%d\}

findmax(s,t,k) int *s,t,*k; {int p;

for(p=0,*k=p;ps[*k]); }

(8分)

--------------------------------------------------------------------------------

12、fun函数的功能是:求出以下分数系列的前n项之和2/1,3/2,5/3,8/5,... #include double fun(int n) {int a,b,c,k;double s; s=0.0; a=2; ;

for(k=1;k<=n;k++) {s=s+(double)a/b; c=a; ; b=c;} ; }

(12分)

--------------------------------------------------------------------------------

三、判断题(10道小题,共10分)

1、在C程序中,语句之间必须要用分号“;”分隔。(1分) 正确 错误

2、在C程序中,APH和aph是两个不同的变量。(1分) 正确 错误

3、解决int型变量溢出的办法是将其定义成long型或float型。(1分) 正确 错误

4、printf函数是C语言的标准输出函数。(1分) 正确 错误

5、switch语句中各个case出现的顺序不影响执行的结果。(1分) 正确 错误

6、for语句中的三个表达式不可以同时省略。(1分) 正确 错误

7、C语言不允许对数组的大小作动态定义。(1分) 正确 错误

8、在C中函数可以返回任何类型。(1分) 正确 错误

9、指针值加1就是指针向后移动一个字节。(1分) 正确 错误

10、结构体也是基本数据类型。(1分) 正确 错误

四、编程题(4道小题,共60分)

1、一个球从100m高度自由落下,每次落地后反跳回原高度的一半,再落下。求它在第10次落地时,共经过多少米?第10次反弹多高?(保留小数点后4位小数)

(15分)

必须将本题程序最后的运行结果填入下面的框中。否则,该题以零分计!

请将你解答本题所写的源程序粘贴到下面或者上载源程序

--------------------------------------------------------------------------------

2、某次大奖赛,有7个评委打分,编程序求一名参赛者的得分,输入7个评委的打分分数,去掉

一个最高分和一个最低分后,求出平均分,即为该参赛者的得分。

(15分)

(本题不要求填写运行结果)

请将你解答本题所写的源程序粘贴到下面或者上载源程序

--------------------------------------------------------------------------------

3、编写程序,用普通迭代法求方程f(x)=x+lnx-1.7=0的近似实根r,迭代初值为1.5,精确到0.0001。

〔提示:必须把方程f(x)=0化成其等价形式x=g(x)〕。(允许使用其他迭代法)

(15分)

必须将本题程序最后的运行结果填入下面的框中。否则,该题以零分计!

请将你解答本题所写的源程序粘贴到下面或者上载源程序

--------------------------------------------------------------------------------

4、编写程序,输出下列三角形: (要求用循环做,非循环不给分。) 1 2 2 2 3 3 3 3 3 4 4 4 4 4 4 4

(15分)

(本题不要求填写运行结果)

请将你解答本题所写的源程序粘贴到下面或者上载源程序

因篇幅问题不能全部显示,请点此查看更多更全内容

Top