湖北汽车工业学院计算机C语言模拟

本试卷为湖北汽车工业学院计算机C语言模拟,题目包括:单项选择题,判断题,编程题。

覆盖的内容包括:理论题,基础知识,控制结构,循环结构,指针,数组/指针数组,字符串/字符串指针,函数/函数指针,程序题,结构体,文件。

计算机C语言模拟

一、单项选择题 (共20题,每题2分,共计40分)

(  C  )
1、有以下程序片段:
y=-1;
if(x!=0)
if(x>0) y=1;
else y=0;
其能正确表示的数学函数关系是________。
A、-1(x-<0)
B、1(x<0)
0(x=0) -1(x=0)
1(x>0) 0(x>0)
C、0(x<0)
D、-1(x<0)
-1(x=0) 1(x=0)
1(X>0) 0(x>0)
(  B  )
2、下列程序的输出结果是________。
main()
{
int p[8]={11,12,13,14,15,16,17,18},i=0,j =0;
while(i++<7) if(p[i]%2)j+=p[i];
printf("%d\n",j);
}
A、42
B、45
C、56
D、60
(  B  )
3、若有以下程序: int a=1,b=2; a=a^b; b=b^a; 则执行以上语句后a和b的值分别是________。
A、a=1,b=2
B、a=3,b=l
C、a=3,b=2
D、a=2.b=1
(  D  )
4、以下函数,一般情况下,功能相同的是________。
A、fputc和putchar
B、fwrite和fputc
C、fread和fgetc
D、putc和fputc
(  B  )
5、下面结构体的定义语句中,错误的是________。
A、struct ord {
int x;int y;int z;};struct ord a;
B、struct ord {
int x;int y;int z;} struct ord a;
C、struct ord {
int x;int y;int z;} n;
D、struct {
int x;int y;int z;} a;
(  C  )
6、以下能对一维数组a进行初始化的语句是: ( )
A、int a[5]=(0,1,2,3,4,)
B、int a(5)={}
C、int a[3]={ 0,1,2}
D、int a{5}={10*1}
(  D  )
7、有如下程序
int func(int a,int b)
{
return(a+b);
}
void main()
{
int x=2,y=5,z=8,r;
r=func(func(x,y),z);
printf("%d\n",r);
}
该程序的输出结果是 ____________.
A、12
B、13
C、14
D、15
(  C  )
8、for(int x=0,y=0;!x&&y<=5;y++)语句执行循环的次数是________。
A、0
B、5
C、6
D、无数次
(  B  )
9、设变量x为float型且已经赋值,则以下语句中能够将x中的数值保留到小数点后面两位,并将第三位四舍五入的是______。
A、x=x*100+0.5/100.0
B、x=(x*100+0.5)/100.0
C、x=(in(x*100+0.5)/100.0
D、x=(x/100+0.5)*100.0
(  C  )
10、若有循环:
int x=5,y=20;
do { y-=x; x++; }
while(++x<--y);
则循环体将被执行________。
A、0次
B、1次
C、2次
D、3次
(  B  )
11、有以下程序
#include <stdio.h>
main ()
{
int a = 5, b = 4, c = 3, d = 2;
if (a > b > c)
printf ("%d\n", d);
else if ((c - 1 >= d) == 1)
printf ("%d\n", d + 1);
else
printf ("%d\n", d + 2);
}
执行后输出的结果是________。
A、2
B、3
C、4
D、编译时有错,无结果
(  D  )
12、下列运算符中,不属于关系运算符的是________。
A、<
B、>=
C、==
D、!
(  A  )
13、若有定义int a = 1,b = 2, c = 3, d = 4,则表达式a<b?a:c<d?a:d的结果为________。
A、4
B、3
C、2
D、1
(  A  )
14、若x是整型变量,pb是类型为整型的指针变量,则正确的赋值表达式是______。
A、pb=&x;
B、pb=x;
C、*pb=&x;
D、*pb=*x
(  A  )
15、以下表达式中,其值不等于数值 3 的是________。
A、0+'3'
B、'D'-'A'
C、'3'-'0'
D、'd'-a'
(  C  )
16、下面哪个不是关键字?
A、int
B、struct
C、define
D、continue
(  D  )
17、下列叙述中正确的是________。
A、C语言编译时不检查语法
B、C语言的子程序有过程和函数两种
C、C语言的函数可以嵌套定义
D、C语言所有函数都是外部函数
(  A  )
18、下面不正确的字符串常量是________。
A、'abc'
B、"12'12"
C、"0"
D、" "
(  D  )
19、若有以下定义和语句: int a[10]={1,2,3,4,5,6,7,8,9,10}
, *p=a;
不能表示a数组元素的表达式是________。
A、*p
B、a[9]
C、*p++
D、a[*p-a]
(  C  )
20、下列各定义数组的语句中不正确的是________。
A、int a[1][3];
B、int x[2][2]={1,2,3,4};
C、int x[2][ ]={1,2,4,6};
D、int m[ ][3]={ 1,2,3,4,5};

二、判断题 (共10题,每题2分,共计20分)

(   T  )
1、c 语言源程序文件通过了编译、连接之后 , 生成一个后缀为 .exe 的文件。 ( ) 
(   F  )
2、宏定义在行末加分号。 
(   F  )
3、内层break语句可以终止嵌套的switch,使最外层的switch结束。 
(   F  )
4、在循环中使用break语句或者continue语句,其作用是相同的。 
(   F  )
5、数组定义后,数组名的值是一个地址,可以被修改。 
(   T  )
6、字符串在内存中的起始地址称为字符串的指针,可以定义一个字符指针变量指向一个字符串 
(   F  )
7、函数调用可以出现在执行语句中,但不能出现在表达式中. 
(   T  )
8、在c语言中函数不可以嵌套定义,但可以嵌套调用。 
(   F  )
9、若有说明语句char *p= "it is mine "则 p 变量中存放的是整个字符串 
(   F  )
10、在同一种类型中,变量值越大,它所占内存的字节数越多。( ) 

三、编程题 (共3题,每题0分,共计40分)

1、编写程序:从键盘输入一些字符,逐个把它们送到磁盘上去,直到输入一个#为止。程序功能如下:
输入你要保存到的文件的名称:
test.txt
现在你可以输入你要保存的一些字符,以#结束:
www.baidu.com
#
2、我国古代有一种回文诗,倒念顺念都有意思,例如“人过大佛寺”,倒读起来便是“寺佛大过人”。还有经典的对联“客上天然居,居然天上客”。此种例子举不胜举。在自然数中也有类似情形,比如1991就是一个很特殊的四位数,从左向右读与从右向左读竟是完全一样的,这样的数称为“回文数”。编程序输出1到10000内的所有回文数并统计个数。
3、题⽬描述
输⼊n(3≤n≤30)个学⽣的数据记录,对于每⼀个学⽣,其记录包含了学号、姓名、3门课程(程序设计基础、计算机导论、⾼等数学)的成绩共5项。
要求查找程序设计基础低于平均分的学⽣,并输出该⽣的所有信息
要求使⽤结构体数组实现,结构体中包括了每个学⽣的5项记录。
输⼊
共有5⾏,每⾏包含了⼀个学⽣的学号(整数)、姓名(长度不超过30的⽆空格字符串)和程序设计基础、计算机导论、⾼等数学等3门课程的成绩(0⾄100之间的整数),⽤空格隔开。
输出
输出程序设计基础低于平均分的学⽣的所有信息;每个输出占1⾏;如果没有找到的话,输出“No”
样例输⼊
3
20####0377 chensiyuan 99 91 90
20####0386 wangting 94 93 88
20####0436 chenhui 85 88 90
样例输出
20####0436 chenhui 85 88 90