中国美术学院C语言专升本测试卷
本试卷为中国美术学院C语言专升本测试卷,题目包括:单项选择题。
覆盖的内容包括:理论题,基础知识,控制结构,循环结构,指针,数组/指针数组,字符串/字符串指针,函数/函数指针,程序题,结构体,文件。
本卷包括如下题型:
C语言专升本测试卷
一、单项选择题 (共50题,每题2分,共计100分)
( B )
1、若有定义语句:int x=10; ,则表达式x-=x+x的值为
( C )
2、以下叙述错误的是________。
( B )
3、c语言源程序名的后缀是________。
( B )
4、数据的存储结构是指________。
( B )
5、已知在ascii代码中,字母b的序号为66,以下程序的输出的结果是________。
main()
{
char c1='b', c2='d';
printf("%d,%c\n",c1,c2);
}
( D )
6、c语言的程序一行写不下时,可以 ( ) 。
( C )
7、若在定义语句:int a,b,c*p=&c; 之后,接着执行以下选项中的语句,则能正确执行的语句是________。
( B )
8、若函数中有定义语句:int k; 则
( A )
9、若 x 是 int 型变量 ,y 是 float 型变量 , 所用的 scanf 调用语句格式为 : scanf("x=%d,y=%f",&x,&y); 则为了将数据 10 和 66.6 分别赋给 x 和 y, 正确的输入应是 : 。
( C )
10、对于类型相同的两个指针变量之间,不能进行的运算是______。
( D )
11、有如下定义
struct person
{
char name[9] ;
int age ;
};
struct person class[10]={" johu" , 17 , "paul" , 19 , "mary" , 18 , "adam" , 16};
根据上述定义,能输出字母 m 的语句是______。
( C )
12、在定义 int a[5][6]; 后,数组 a 中的第 10 个元素是__________ (设 a[0][0] 为第一个元素)
( B )
13、以下函数调用语句中含有实参个数为 __________. func((exp1,exp2),(exp3,exp4,exp5));
( D )
14、在浮点数编码表示中, (1) 在机器数中不出现,是隐含的。
( B )
15、有如下说明: int a[10]=1,2,3,4,5,6,7,8,9,10,*p=a; 则数值为9的表达式是________。
( C )
16、若有定义int a[10],*p=a; 则p+5表示的是________。
( A )
17、执行完语句int [] x= new int [25]; 后,则下列哪项说法是正确的
( C )
18、文件系统的主要目的是________。
( A )
19、下列关于指针运算的描述中,错误的是________。
( C )
20、排序的重要目的是为了以后对已排序的数据元素进行________。
( B )
21、以下关于switch语句和break语句的描述中,正确的是______。
( C )
22、c语言中,可用于说明函数的是________。
( C )
23、假定a为一个整型数组名,则元素a[4]的字节地址为
( C )
24、以下不正确的是 ______。
( B )
25、现代计算机中采用二进制数制是因为二进制数的优点是______。
( B )
26、下列关于串的叙述中,哪一条是正确的( )
( A )
27、假设px和py分别表示x和y商品的价格,当边际替代率mrsxy>px/py,消费者为达到最大效用,他将会________。
( D )
28、有以下程序:
main( )
{
char a[ ]={‘a',‘b',‘c',‘d',‘e',‘f',‘g',‘h',‘\0'};
int i,j;
i=sizeof(a);
j=strlen(a);
printf("%d,%d\n",i,j);
}
程序运行后的输出结果是________。
( B )
29、有以下程序
#include<stdio.h>
int fun(int a,int b) {
if(b=0)return a;
else return(fun(--a,--b));
}
main() {
printf("%d\n",fun(4,2));
}
程序的运行结果是________。
( D )
30、#include<stdio.h>
#define N 4
void fun (int a[][N], int b[], int flag)
{
int i, j;
for (i = 0; i < N; i++) b[i] = a[i][0];
for (j = 1; j < N; j++) {
if (flag && (b[i] > a[i][j]) && (b[i] < a[i][j])) b[i] = a[i][j];
}
}
void main()
{
int x[N][N] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16 }, y[N], i;
fun (x, y, 1);
for (i = 0; i < N; i++)
printf ("%d,", y[i]);
fun (x, y, 0);
for (i = 0; i < N; i++)
printf ("%d,", y[i]);
printf ("\n");
}
( A )
31、若要对a进行++运算,则a应具有下面说明
( B )
32、下列程序的输出结果是
#include<stdio.h>
main()
{
int i,a=0,b=0;
for(i=1;i<10;i++)
{
if(i%2==0)
{
a++;
continue;
}
b++;
}
printf("a=%d,b=%d",a,b);
}
( C )
33、若有定义:float x=1.5; int a=1,b=3,c=2; 则正确的switch语句是________。
( D )
34、下列字符常量的写法中,正确的是________。
( D )
35、已知三个字符为a、z和8,按它们的ascii码值升序排序,结果是________。
( A )
36、以下不能用于实型数据的运算符是________。
( B )
37、宏定义用于将一个标识符定义为一个
( A )
38、以下答案中不是c语言最基本数据类型的是________。
( B )
39、对于代码 char c1[8];
scanf("%s",c1);
printf("\n%s",c1);
在程序运行时,输入了"this pretty boy",则对应的运行输出显示结果是________。
( C )
40、下面的代码int i=10; 之后的for循环语句,语法正确,不会编译出错的是________。
( C )
41、下列函数中,能够从键盘获得一个字符数据的函数是________。
( A )
42、以下关于逻辑运算符两侧运算对象的叙述中正确的是________。
( B )
43、下列程序执行后的输出结果是________。
#define MA(x) x*(x-1)
main()
{
int a=1,b=2;
printf(""%d \n"",MA(1+a+b));
}
( D )
44、以下程序的输出结果是________。
main()
{
int i,j,k,a=3,b=2;
i=(--a==b++)?--a:++b;
j=a++;
k=b;
printf("i=%d,j=%d,k=%d\n",i,j,k);
}
( C )
45、有以下程序
struct stu
{
char num[10];
float score[3];
};
main( )
{
struct stu s[3]={{"20021",90,95,85},{"20022",95,80,75},{"20023",100,95,90}},*p;
int i;
float sum=0;
p=s+2;
for(i=0;i<3;i++)sum=sum+p->score[i];
printf("%6.2f\n",sum);
}
程序运行后的输出结果是________。
( A )
46、c语言的if语句中,用作判断的表达式为____
( B )
47、下面用户自定义的标识符中,合法的是________。
( D )
48、以下可作为函数fopen中第一个参数的正确格式是________。
( C )
49、以下不正确的if 语句形式是________。
( B )
50、任何一个 C语言的可执行程序都是从____开始执行的.
相关标签:
- C语言
- 中国美术学院
- 专升本测试卷