南京艺术学院计算机C语言专升本题目

本试卷为南京艺术学院计算机C语言专升本题目,题目包括:单项选择题,填空题,编程题。

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

计算机C语言专升本题目

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

(  B  )
1、以下关于c语言的叙述中正确的是________。
A、C语言中的注释不可以夹在变量名或关键字的中间
B、C语言中的变量可以再使用之前的任何位置进行定义
C、在C语言算术的书写中,运算符两侧的运算数类型必须一致
D、C语言的数值常量中夹带空格不影响常量值的正确表示
(  D  )
2、fun函数的功能是:通过键盘输入给x所指的整型数组所有元素赋值。在下划线处应填写的是________。
#define N 5
void fun(int x[N])
{
int m;
for(m=N-t;m>=O;m-)scanf("%d",________);
}
A、%&X[++m]
B、&x[m+1]
C、x+(m++)
D、x+m
(  C  )
3、设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f的数据类型是________。
A、int型
B、float型
C、double型
D、不确定
(  D  )
4、下列选项中属于c语言构造类型的是________。
A、指针类型
B、空类型
C、枚举类型
D、数组类型
(  B  )
5、在传值调用中,要求________。
A、形参和实参类型任意,个数相等
B、形参和实参类型一致,个数相等
C、形参和实参类型一致,个数不等
D、形参和实参类型任意,个数任意。
(  B  )
6、所有在函数中定义的变量及函数的形式参数,都属于________。
A、全局变量
B、局部变量
C、静态变量
D、常量
(  B  )
7、下面程序的运行结果是________。
#include <stdio.h>
main() {
int a=1,b=10;
do
{
b-=a;
a++;
}
while(b--<0);
printf("a=%d,b=%d\n",a,b);
}
A、a=3,b=11
B、a=2,b=8
C、a=1,b=-1
D、a=4,b=9
(  A  )
8、已知有数组定义 char a[3][4]; 下列表达式中错误的是________。
A、a[2]="WIN"
B、strcpy(a[2],"WIN")
C、a[2][3]='W'
D、a[0][1]=a[0][1]
(  B  )
9、下面关于主程序的说法,错误的是________。
A、a.next=q;
B、p.next=&b;
C、p->next=&b;
D、(*p).next=q;
(  D  )
10、下面关于数组的初始化正确的是________。
A、chara[]='a','b','c'
B、chara[2]='a','b','c'
C、chara[2][3]='a','b','e','d','e','f'
D、chara[]="a","b","c"
(  B  )
11、设有如下定义:
struct sk
{
int a;
float b;
}
data,*p;
若有p=&data;
则对data中成员a的引用正确的是________。
A、(*p).data.a
B、(*p).a
C、p->data.a
D、p.data.a
(  B  )
12、有如下程序段int *p,a=5,b=1; p=&a; a=*p+b; 执行该程序段后,a的值为______。
A、5
B、6
C、7
D、编译出错
(  A  )
13、分析以下程序的运行结果( ) func(int a,int b)
{
int t=a;
a=b;
b=t;
}
int main()
{
int x,y;
x=10,y=20;
func(x,y);
printf("%d,%d\n",x,y);
return 0;
}
A、10,20
B、10,10
C、20,10
D、20,20
(  C  )
14、下面程序运行时,输入12345678 回车,结果()
main()
{
int a,b;
scanf( "%2d %*2d %2d",&a,&b);
printf( "%d",a+b);
}
A、46
B、57
C、68
D、出错
(  C  )
15、以下不能定义为用户标识符的是________。
A、yy318
B、_ wan
C、319jing
D、If
(  C  )
16、设变量x和y均已正确定义并赋值。以下if语句中,在编译时将产生错误信息的是________。
A、if(x++);
B、if(x>y && y!=0);
C、if(x>0) x--
D、if(y<0) {;}
(  D  )
17、c语言的注释定界符是________。
A、{ }
B、[ ]
C、\* *\
D、/* */
(  B  )
18、以下程序的输出结果是________。 。
main()
{
int x=1,y=0,a=1,b=1;
switch(x)
{
case 1:switch(y)
{
case 0:a++;
break;
case 1:b++;
break;
}
case 2:a++;
b++;
break;
}
printf("%d,%d\n",a,b);
}
A、2,1
B、3,2
C、2,3
D、3 2
(  D  )
19、下面描述正确的是________。
A、两个字符串包含的字符个数相同时,才能比较字符串
B、字符个数多的字符串比字符个数少的字符串大
C、字符串"STOP" 与"STOP■"相等
D、字符串"That" 小于字符串"The"
(  D  )
20、C语言函数的隐含存储类别是________.
A、extern
B、static
C、register
D、auto

二、填空题 (共10题,每题2分,共计20分)

1、在c语言中,以________开头的常量代表的是十六进制数。
2、在vc++编译环境下,c语言基本整型变量所占字节数是____。
3、在循环的过程中,有时要提前中止循环,通常采用 () 语句。
4、下列程序段的运行结果是_____。
main()
{
int n,s=0;
for(n=1;n<=6;n++)
{
if(n%3==0)continue;
s=s+n;
}
printf("%d\n",s);
}
5、执行下列的程序段后,正确的结果是________。
int m=4;
do printf("%d",m- =3) ;
while(--m );
6、下列程序的运行结果是: ________
#include <string.h>
char *ss(char *s)
{
return s+strlen(s)/2;
}
main( )
{
char *p,*str="abcdefgh";
p=ss(str);
printf("%s\n",p);
}
7、设变量已正确定义为整型,则表达式n=i=2,++i,i++的值为 ________。
8、在一个c 源程序中, 注释部分两侧的分界符分别为___和____。
9、语言的函数体一般由____和____构成
10、若有说明:int a[][3]={{1,2,3},{4,5},{6,7}}; 则数组a的第一维的大小为______。

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

1、编写程序:将字符数组a中下标值为奇数的元素从小到大排列,其它元素不变
例如:当a数组中的字符串为:"clanguage"时,程序的输出结果为:cgalgnaue()
2、题⽬描述
输⼊⼀组学⽣的成绩,按照成绩降序输出成绩表。如有相同成绩,较⼩的学号排位靠前
输⼊
输⼊格式为每⾏两个数值,学号N为10位数字,成绩S取值为整数(0≤S≤100)读取输⼊直到输⼊结束(数据总量不超过50⾏,且不会出现重复的学号)
输出
输出格式为每⾏两个数值,学号N之后有⼀个空格,成绩值的输出宽度占3个位置
样例输⼊
20####0405 78
20####0426 80
20####0402 61
20####0377 95
20####0427 80
样例输出
20####0377 95
20####0426 80
20####0427 80
20####0405 78
20####0402 61
3、用数组实现以下功能:输入5个学生成绩,而后求出这些成绩的平均值并显示出来。