上海音乐学院2022年C语言专升本模拟
本试卷为上海音乐学院2022年C语言专升本模拟,题目包括:单项选择题。
覆盖的内容包括:理论题,基础知识,控制结构,循环结构,指针,数组/指针数组,字符串/字符串指针,函数/函数指针,程序题,结构体,文件。
本卷包括如下题型:
C语言专升本模拟
一、单项选择题 (共50题,每题2分,共计100分)
( B )
1、有以下结构体说明和变量的定义,且指针p指向变量a’指针q指向变量b,则不能把结点b连接到结点a之后的语句是________。
struct node
{
char data;
struct node*next;
}
a,b,*p=&a,*q=&b;
( B )
2、若变量已正确定义,有以下程序段
int i=0;
do
printf("%d,",i);
while(i++);
printf("%d",i) 其输出结果是________。
( C )
3、以下正确的函数定义形式是________.
( C )
4、当从键盘上输入字符"12134211"下面程序的 输出结果是________。
main( )
{
char s;
int v1=0,v2=0,v3=0,v4=0,k;
for(k=0;k<=7;k++)
{
scanf("%c",&s);
switch(s)
{
default: v4++;
case '1': v1++;
case '3': v3++;
case '2': v2++;
}
}
printf("v1=%d,v2=%d,v3=%d,v4=%d\n",v1,v2,v3,v4);
}
( A )
5、若有定义int a=12,n=5,则表达式a%=(n%2)运算后,a的值:
( C )
6、有如下嵌套的if 语句 if(a<b) if(a<c) k=a; else k=c; else if(b<c) k=b; else k=c; 以下选项中与上述if 语句等价的语句是________。
( C )
7、有以下程序
#include<stdio.h>
main()
{
int a[5]={1,2,3,4,5}, b[5]={0,2,1,3,0}, i, s=0;
for(i=0;i<5;i++) s=s+a[b[i]];
printf("%d\n",s);
}
程序运行后的输出结果是________。
( C )
8、若有定义:int aa[ 8]; 则以下表达式中不能代表数组元aa[1]的地址的是________。
( B )
9、下面结构体的定义语句中,错误的是________。
( C )
10、c 语言的程序一行写不下时,可以 。
( A )
11、在 c 语言中 , 以下叙述不正确的是 ___________.
( C )
12、下列程序执行后输出的结果是 __________.
#include<stdio.h>
int f(int a)
{
int b=0;
static c=3;
a=c++,b++;
return(a);
}
void main()
{
int a=2,i,k;
for(i=0;i<3;i++) k=f(a++);
printf("%d\n",k);
}
( D )
13、若有语句int*point,a=4; 和point=&a; 下面均代表地址的一组选项是________。
( A )
14、已知year为整型变量,不能使表达式(year%4==0&&year%100!=o)||year%400==0的值为"真"的数据是______。
( C )
15、关于数组的叙述中,下列说法不正确的是________。
( C )
16、流程图里面的开始和结束用( )表示。
( B )
17、若要定义a为3×4的二维数组,正确的定义语句是________。
( C )
18、下列关于break语句的描述,不正确的是________。
( D )
19、要定义整型数组x,使之包括初值为0的三个元素,下列语句中错误的是________。
( A )
20、下列选项中不属于c语言的数据类型是________。
( B )
21、fseek函数的正确调用形式是________。
( B )
22、以下选项中表示一个合法的常量是(说明:符号∏表示空格)
( C )
23、若一个外部变量的定义形式为static int x; 那么,其中static的作用应该是______。
( A )
24、if语句的基本形式是:if(表达式)语句,以下关于"表达式"值的叙述中正确的是______。
( C )
25、下列选项中,合法的变量名是______。
( A )
26、一个int类型变量和一个byte类型的常量做加法,结果是________类型。
( A )
27、有以下程序:
main()
{
int a[]={1,2,3,4,5,6,7,8,9,0},*p;
for(p=a;p<a+10,p++)printf("%d,",*p);
}
程序运行后的输出结果是________。
( A )
28、以下选项中合法的c语言字符常量是________。
( B )
29、有以下程序
#include<stdio.h>
#define N 4
void fun(int a[][N],int b[]) {
int i;
for(i=0;i<N;i++) {
b[i]=a[i][i]-a[i][N-1-i];
}
}
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);
for(i=0;i<N;i++)printf("%d,",y[i]);
printf("\n");
}
程序运行后的输出结果是________。
( D )
30、有以下程序
#include <stdio.h>
main()
{
int i,j;
for(i=3;i>=-1;i-)
{
for(i=1;j<=2;j++) printf("%d",i+j);
printf("\n");
}
}
程序的运行结果是______。
( B )
31、有以下程序
main()
{
char s[]={"aeiou"},*ps;
ps=s;
prinff("%c\n",*ps+4);
}
程序运行后的输出结果是________。
( B )
32、下列关于字符串的说法中错误的是________。
( A )
33、在下列字符中,其ascⅱ码值最小的一个是______。
( D )
34、下列字符串中可以用作c标识符的是________。
( D )
35、下列二维数组的说明中,不正确的是________。
( A )
36、以下选项中,合法的实数是________。
( B )
37、若t已经定义为double类型,则表达式:t = 1,t++,t+5的值为________。
( A )
38、有以下程序
main()
{
int i=0,s=0;
do
{
if(i%2)
{
i++;
continue;
}
i++;
s+=i;
}
while(i<7);
printf("%d\n",s);
}
执行后输出的结果是______。
( C )
39、有关c语言的主函数描述正确的是________。
( C )
40、要调用数学函数时,在 #include命令行中应包含____。
( B )
41、下列程序的运行结果是________。
main( )
{
static int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};
int i,j, sum=0;
for(i=0;i<3;i++)
for(j=0;j<4;j++)
if(j>i) sum+=a[i][j];
printf(''sum=%d\n'',sum);
}
( D )
42、以下叙述中正确的是________。
( D )
43、宏定义是最常用的预处理功能之一,它用于将一个标识符定义为一个______
( B )
44、下列字符序列中,不可用作c语言标识符的是________。
( C )
45、若有下列定义,则对a数组元素的正确引用是________。 int a[5],*p=a;
( A )
46、以下正确的说法是:在c语言中________。
( A )
47、定义如下变量和数组: int k,a[3][3]={1,2,3,4,5,6,7,8,9};
则下面语句的输出结果是________。for(k=0;k<3;k++) printf("%d ",a[k][2-k]);
( C )
48、语句int (*ptr)(); 的含义是______。
( A )
49、有如下函数调用语句func (rec1,rec2+rec3,(rec4,rec5)); 该函数调用语句中,含有的实参个数是________ 。
( A )
50、在 C语言中,为了结束由 while 语句构成的循环,while 后一对圆括号中表达式的值应该为()。
相关标签:
- C语言
- 上海音乐学院
- 专升本模拟