长春工业大学计算机C语言精选样卷

本试卷为长春工业大学计算机C语言精选样卷,题目包括:单项选择题,判断题,编程题。

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

计算机C语言精选样卷

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

(  B  )
1、以下能正确定义二维数组的是________。
A、int a[][3];
B、int a[][3]={2*3};
C、int a[][3]={};
D、int a[2][3]={{1},{2},{3,4}};
(  C  )
2、以下程序段________. x=-1;
do
{
x=x*x;
}
while(!x);
A、是死循环
B、循环执行二次
C、循环执行一次
D、有语法错误
(  D  )
3、有以下定义和语句
struct workers
{
int num;
char name[20];
char c;
srruct
{
int day;
int month;
int year;
}
s;
};
struct workers w,*pw;
pw=&w 能给w 中year 成员赋1980 的语句是________。
A、*pw.year=1980;
B、w.year=1980;
C、pw->year=1980;
D、w.s.year=1980;
(  D  )
4、c 语言规定,函数返回值的类型是由 。
A、return 语句中的表达式类型所决定
B、调用该函数时的主调函数类型所决定
C、调用该函数时系统临时决定
D、在定义该函数时所指定的函数类型决定
(  D  )
5、下面程序的输出结果是 ____________.
main( )
{
int i,k=0, a=0, b=0;
for(i=1;i<=4;i++)
{
k++;
if (k%2==0)
{
a=a+k;
continue;
}
b=b+k;
a=a+k;
}
printf("k=%d a=%d b=%d\n",k,a,b);
}
A、k= 5 a =10 b=4
B、k= 3 a =6 b=4
C、k= 4 a =10 b=3
D、k= 4 a =10 b=4
(  B  )
6、有如下说明: int a[10]=1,2,3,4,5,6,7,8,9,10,*p=a; 则数值为9的表达式是________。
A、*p+9
B、*(p+8)
C、*p+=9
D、p+8
(  A  )
7、如下陈述中正确的是________。
A、串“ABC”和串“ABC”不相等
B、串的长度必须大于零
C、串中元素只能是字母
D、空串就是空格串
(  A  )
8、将十进制数35转换成二进制数为________。
A、100011
B、100110
C、110001
D、110011
(  B  )
9、串是任意有限个 (46) 。
A、符号构成的集合
B、字符构成的序列
C、字符构成的集合
D、符号构成的序列
(  D  )
10、若有以下说明和语句:
struct st
{
int n;
char *ch;
}
;
struct st a[3]
{
5,"abc",7,"def",9,"ghk"
}
,*p=a 则值为6的表达式是______。
A、p++->n
B、p->n++
C、(*.n++
D、++p->n
(  C  )
11、下面程序段的输出为
#include"stdio.h"
main()
{
printf("%d\n",12<<2);
}
A、0
B、47
C、48
D、24
(  B  )
12、有以下程序
main()
{
unsigned char a=2,b=4,c=5,d;
d=a|b;
d&=c;
printf("%d\n",d);
}
程序运行后的输出结果是______。
A、3
B、4
C、5
D、6
(  D  )
13、以下叙述中正确的是________。
A、逻辑"或”(即运算符||)的运算级别比算术运算要高
B、C 语言的关系表达式:0<x<10 完全等价于:(0<x)&&(x<10)
C、逻辑"非”(即运算符!)的运算级别是最低的
D、由&&构成的逻辑表达式与由||构成的逻辑表达式都有“短路”现象
(  A  )
14、以下选项中关于 c 语言常量的叙述错误的是________。
A、经常被使用的变量可以定义成常量
B、常量分为整型常量、实型常量、字符常量和字符串常量
C、所谓常量,是指在程序运行过程中,其值不能被改变的量
D、常量可分为数值型常量和非数值型常量
(  C  )
15、下列定义不正确的是________。
A、#define PI 3.141592
B、#define S 345
C、int max(x,y); int x,y; { }
D、static char c;
(  C  )
16、设 char *s="\ta\017bc";
则指针变量s指向的字符串所占的字节数 是________。
A、9
B、5
C、6
D、7
(  B  )
17、假设所有变量均为整型,则表达式(a=2,b=5,a+b++,a+b) 的值是________。
A、7
B、8
C、5
D、2
(  D  )
18、若二维数组a 有m 列,则计算任一元素a[i][j] 在数组中位臵的公式为(假设a[0][0] 位于数组的第一个位臵上) ________。
A、i*m+j
B、j*m+i
C、i*m+j-1
D、i*m+j+1
(  C  )
19、语句int (*ptr)();
的含义是______。
A、ptr 是指向一维数组的指针变量
B、ptr 是指向int 型数据的指针变量
C、ptr 是指向函数的指针,该函数返回一个int 型数据
D、ptr 是一个函数名,该函数的返回值是指向int 型数据的指针
(  C  )
20、以下叙述中正确的是____
A、C程序中的注释只能出现在程序的开始位臵和语句的后面
B、C程序书写格式严格,要求一行内只能写一个语句
C、C程序书写格式自由,一个语句可以写在多行上
D、用C语言编写的程序只能放在一个程序文件中

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

(   T  )
1、在c程序中,逗号运算符的优先级别最低。( ) 
(   F  )
2、c语言中的常量没有大小范围限制。 
(   F  )
3、c语言对文件读、写之前不必先打开文件,在使用文件之后无需关闭该文件。 
(   T  )
4、continue语句只能出现在循环体语句中,不能用在其他的地方。 
(   F  )
5、函数的形参都属于全局变量。 
(   T  )
6、实参向形参进行数值传递时,数值传递的方向是单向的,即形参变量值的改变不影响实参变量的值。 
(   F  )
7、c 语言标准输入操作中 ,gets() 函数一次只可读取一个字符。 
(   F  )
8、在if语句中,else前一个语句可不加";". 
(   F  )
9、在用数组名作为函数实参时,传递的是数组的起始地址,所以就不允许使用形参数组的形式 
(   T  )
10、一个函数利用return 不可能同时返回多个值 

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

1、编写程序:输入10个学生的成绩,统计高于平均分的人数
2、编写程序:删除一个字符串中的指定字母,如:字符串 "aca",删除其中的 a 字母。
3、题⽬描述
有10个学⽣,每个学⽣的数据包括学号、姓名、3门课程的成绩。读⼊这10个学⽣的数据,要求输出3门课程的总平均成绩,以及个⼈平均分最⾼的学⽣的数据(包括学号、姓名、3门课程成绩、平均分数)。
输⼊
共有10⾏,每⾏包含了⼀个学⽣的学号(整数)、名字(长度不超过19的⽆空格字符串)和3门课程的成绩(0⾄100之间的整数),⽤空格隔开。
输出
第⼀⾏包含了3个实数,分别表⽰3门课程的总平均成绩,保留2位⼩数,每个数之后输出⼀个空格。
第⼆⾏输出个⼈平均分最⾼的学⽣的数据,与输⼊数据格式相同。如果有多位个⼈平均分最⾼的学⽣,输出按照输⼊顺序第⼀个最⾼分的学⽣数据。
请注意⾏尾输出换⾏。
样例输⼊
样例输出
85.60 87.90 90.40
105 EEE 92 93 94