中央美术学院历年计算机C语言期末预测卷
本试卷为中央美术学院历年计算机C语言期末预测卷,题目包括:单项选择题,判断题,编程题。
覆盖的内容包括:理论题,基础知识,控制结构,循环结构,指针,数组/指针数组,字符串/字符串指针,函数/函数指针,程序题,结构体,文件。
计算机C语言期末预测卷
一、单项选择题 (共20题,每题2分,共计40分)
( D )
1、在位运算中,操作数每左移两位,其结果相当于________。
( B )
2、break语句的正确的用法是________。
( B )
3、有以下程序
main()
{
int a[10]={1,2,3,4,5,6,7,8,9,10}, *p=&a[3], *q=p+2;
printf("%d\n", *p + *q);
}
程序运行后的输出结果是________。
( D )
4、下列选项中,能够正确定义数组的语句是________。
( A )
5、下列四组字符串中都可以用作c语言程序中的标识符的是________。
( C )
6、设有以下说明语句:
typedef struct stu
{
int a;
float b;
} stutype;
则下面叙述中错误的是________。
( D )
7、有如下程序
#include<stdio.h>
void main()
{
char ch[80]="123abcdefg*&";
int j;
long s=0;
puts(ch);
for(j=0;ch[j]>'\0';j++) if(ch[j]>='a'&&ch[j]<='z') ch[j]=ch[j]+'e'-'e';
puts(ch);
}
该程序的功能是 __________.
( C )
8、以下关于c语言数据类型的叙述中正确的是________。
( D )
9、是不正确的c语言赋值语句。
( D )
10、下列各进制的整数中,值最大的一个是________。
( A )
11、十六进制数100转换为十进制数为
( D )
12、有以下程序
main()
{
char a,b,c,*d;
a='\';
b='\xbc';
c='\0xab';
d="\0127";
printf("%c%c%c%c\n",a,b,c,*d);
}
编译时出现错误,以下叙述中正确的是________。
( D )
13、请阅读程序:
#include<math.h>
#include<stdio.h>
main()
{
float a,b,c;
scanf("%f%f",&a,&b);
c=a/b;
while(1) {
if(fabs(c)>1.6) {
a=b;
b=c;
c=a/b;
}
else break;
}
printf("%f\n",b);
}
若运行时从键盘上输入3.6 2.4<回车>,则输出结果是______。
( B )
14、有如下程序段int *p,a=5,b=1; p=&a; a=*p+b; 执行该程序段后,a的值为______。
( D )
15、设a、b、c、d、m、n均为int型变量,且a=5、b=6、c=7、d=8、m=2、n=3则逻辑表达式(m=a>b)&&(n=c>d)运算后,n的值为______。
( C )
16、以下( )循环并非重复5次?
( A )
17、若有数组名作为函数调用的实参,传递给形参的是________。
( A )
18、若调用一个函数,且此函数中没有return语句,则正确的说法是: 该函数________。
( A )
19、下面叙述中错误的是________。
( C )
20、以下的选择中,正确的赋值语句是()。
二、判断题 (共10题,每题2分,共计20分)
( T )
1、宏定义在行末不加分号。
( T )
2、对于已正确定义的二维数组a, *(a[i]+j)与a[i][j]的含义相同。
( T )
3、c语言中switch语句可以用if语句完全代替.( )
( F )
4、循环语句不能嵌套使用。
( T )
5、数组名是该数组的首地址。
( F )
6、在标准c语言中,字符串是以‘ 0’结束的,故字符串的长度也包括‘ 0’。
( T )
7、宏定义和文件包含都是c语言中的编译预处理命令,对它们的处理是在编译前完成的
( T )
8、在定义函数时,若函数类型为" void",则表示该函数 没有返回值 ; 若函数参数为" void",则表示该函数 没有参数 。( )
( F )
9、c语言中函数可以递归调用,也允许嵌套定义。
( T )
10、局部变量如果没有指定初值,则其初值不确定
三、编程题 (共3题,每题0分,共计40分)
1、编写程序:在第一个循环中从键盘上给a数组的前m(m<100)个数组元素依次赋值; 在第二个循环中使a数组前m个元素中的值对称折叠; 在最后一个循环中输出折叠以后的a数组的前m个元素 例如:当m为5时,如果从键盘上输入的5个数分别为:1.2.3.4.5时,输出应为:1 2 3 2 1 当m为10时,如果从键盘上输入的10个数分别为:1.2.3.4.5.6.7.8.9.10时,输出应为:1 2 3 4 5 5 4 3 2 1
2、有以下定义:
struct student{
int num; //学生序号
char name[20]; //学生姓名
int math; //数学成绩
}stu[4];
请从键盘输入4条学生信息存入结构体数组stu,之后在屏幕上依
次输出这些学生信息,并计算出数学平均成绩,结果保留2位小数。
【输入形式】每条记录的3个数据都使用空格分隔
【输出形式】分四行输出学生信息,每行数据均使用1个空格分隔;
最后一行显示数学平均成绩,保留2位小数
【输入样例】
1 aa 45
2 bb 67
3 dd 77
4 qq 88
【输出样例】
1 aa 45
2 bb 67
3 dd 77
4 qq 88
avg = 69.25
3、从键盘上输入一个字符串, 计算字符串里有多少个空格、小写字母、大写字母、数字。
相关标签:
- C语言
- 中央美术学院
- 期末预测卷