南华大学计算机C语言专升本试题
本试卷为南华大学计算机C语言专升本试题,题目包括:理论基础,控制结构,循环结构,数组/指针数组,字符串/字符串指针,函数/函数指针,指针,结构体,程序题。
覆盖的内容包括:理论题,基础知识,控制结构,循环结构,数组/指针数组,字符串/字符串指针,函数/函数指针,指针,结构体,程序题。
计算机C语言专升本试题
一、理论基础 (共20题,每题1分,共计10分)
( C )
1、以下叙述中正确的是________。
( D )
2、下面正确的字符常量是 。
( D )
3、下面哪一个不是字符常量________。
( A )
4、设有以下语句:int x=10; x+=3+x%(-3),则x的值是________。
( D )
5、设char型变量x中的值为10100111,则表达式(2+x)^(~3)的值是________。
( A )
6、以下字符常量中不合法的一项是________。
( D )
7、设x=4,y=8,z=7,以下表达式的值是 x<y and (not y>z) or z<x
( A )
8、以下选项中可作为c语言合法常量的是________。
( C )
9、以下非法的赋值语句是________。
( D )
10、以下选项中,能用作数据常量的是________。
( B )
11、下列选项中,哪一项不是c语言中的位运算符________。
( D )
12、以下关于c语言标识符的描述中,正确的是________。
( B )
13、流程图中,输入/输出框用( )图形表示?
( C )
14、语句组int x ; printf( "%d",((x=4*5,x*5),x+25));
( C )
15、以下不能作为合法常量的是________。
( D )
16、关于标识符,下列选项中描述错误的是________。
( C )
17、下列程序段的输出结果为________。 float x=213.82631; printf("%3d",(int)x);
( A )
18、指针变量p进行自加运算(即 执行p++;)后,地址偏移值为4,则其 数据类型为________。
( C )
19、下面四个选项中,均是不合法的用户标识符的选项是________。
( C )
20、整型变量x=1,y=3,经下列计算后,x的值不等于6的是________。
二、控制结构 (共10题,每题1分,共计10分)
( C )
1、设变量a、b、c、d和y都已正确定义并赋值。若有以下if语句: if(a<b) if(c==d)y=0; else y=1; 该语句所表示的含义是________。
( C )
2、若所用变量都已正确定义,则在以下选项中,非法的表达式是________。
( A )
3、若x和y是程序中的两个整型变量,则下列if语句中正确的是________。
( A )
4、在c程序中,判逻辑值时,用"非0"表示逻辑值"真",又用"0"表示逻辑值"假"。在求逻辑值时,逻辑真和逻辑假可分别表示为
( A )
5、if语句的基本形式是:if(表达式)语句,以下关于"表达式"值的叙述中正确的是______。
( C )
6、有以下程序
main()
{
int i=1,j=1,k=2;
if((j++‖k++)&&i++)
printf("%d,%d,%d\n",i,j,k);
}
执行后输出结果是________。
( D )
7、以下叙述中正确的是________。
( A )
8、c语言的if语句中,用作判断的表达式为____
( A )
9、c 语言中逻辑表达式的值为________。
( B )
10、将三个数排序需要比较________次。
三、循环结构 (共10题,每题1分,共计10分)
( C )
1、设有程序段: int k=12; while(k=1) k=k-1; 则下列描述中正确的是________。
( B )
2、若变量已正确定义,有以下程序段 i—o;
do printf("%d,",i);
while(i++);
printf("%d",i) 其输出结果是________。
( C )
3、下面对do-while结构的描述中,不正确的是________。
( A )
4、若x、y均是int型变量,则执行以下语句后的结果是________
for(x=1;x<5;x+=2)
for(y=1;y<5;y++)
{
printf("%2d",x*y);
if(y==4)printf("\n");
}
( C )
5、以下程序的输出结果是______。
#include <stdio.h>
main ()
{
char *s = "121";
int k = 0, a = 0, b = 0;
do
{
k++;
if (k % 2 == 0)
{
a = a + s[k] - '\0';
continue;
}
b = b + s[k] - '\0';
a = a + s[k] - '\0';
}
while (s[k + 1]);
printf ("k=%d a=%d b=%d\n", k, a, b);
}
( B )
6、有如下程序
#define N 4
#define M N+2
#define NUM 2*M+1
main()
{
int i;
for(i=1;i<=NUM;i++)printf("%d\n",i);
}
该程序中的for循环执行的次数是______。
( D )
7、以下程序的输出结果是______。
main()
{
int a,b;
for(a=1,b=1;a<=100;a++)
{
if(b>=10) break;
if(b%3==1)
{
b+=3;
continue;
}
}
printf("%d\n",a);
}
( B )
8、关于循环体while的说法下列正确的是________。
( C )
9、判断关键字* ▁▁▁▁▁ 不是关键字。
( A )
10、在 C语言中,为了结束由 while 语句构成的循环,while 后一对圆括号中表达式的值应该为()。
四、数组/指针数组 (共10题,每题1分,共计10分)
( D )
1、有以下程序
void fun(int*a,int n)/*fun函数的功能是将a所指数组元素从大到小排序*/
{
int t,i,j;
for(i=0;i<n一1;j++) for(j=i+1;j<n;j++) if(a[i]
}
main()
{
int c[10]={1,2,3,4,5.6,7,8,9,0 },i;
fun(c+4.6): for(i=0;i<10;i++)printf("%d,",c[i]);
printf("n"):
}
}
程序运行的结果是________。
( B )
2、以下对二维数组a进行正确初始化的是________。
( C )
3、在定义 int a[5][6]; 后,数组 a 中的第 10 个元素是__________ (设 a[0][0] 为第一个元素)
( A )
4、下列描述中正确的是________。
( B )
5、下列程序段的运行结果是________。
#include<stdio.h>
void main()
{
char str[]="abc",*p=str;
printf("%d\n",* (p+3));
}
( A )
6、有以下程序:
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 )
7、以下叙述中正确的是______。
( A )
8、以下程序的运行结果是________。
#include <stdio.h>
main()
{
int a[]={1,2,3,4,5,6,7,8,9,10,11,12};
int *p=a+5,*q=null;
*q=8(p+5);
printf("%d %d\n", *p,*q);
}
( B )
9、以下叙述中正确的是________。
( D )
10、已知p,p1为指针变量,a为数组名,j为整型变量,下列赋值语句中 不正确的是________。
五、字符串/字符串指针 (共10题,每题1分,共计10分)
( C )
1、下列能正确进行字符串赋值的是________。
( B )
2、下列数据中为字符串常量的是________。
( D )
3、下列关于boolean类型的叙述中,正确的是________。
( B )
4、下列类型的数据不可以存储在可变型变量中的是________。
( D )
5、以下正确的字符串常量是________。
( A )
6、设有定义:char*c; 以下选项中能够使字符型指针c正确指向一个字符串的是________。
( D )
7、以下程序运行后的输出结果是
main( )
{
char s[]="ABCD",*p;
for(p=s+1;p<s+4;p++)printf("%s\n",p);
}
( D )
8、下列字符常量的写法中,正确的是________。
( D )
9、有以下程序
void fun(char s[][10],int n)
{
char t;int i,j;
for(i=0;i<N-1;I++)
for(j=i+1,j<N;J++)}
/*比较字符串的首字符大小,并交换字符
串的首字符*/
if(s[i][0])>s[j][0]){
t=s[i][0];s[i][0]=s[j][0];s[j][0]=t;
}
main()
{
char ss[5][10]={“bcc”,”bbcc”,”xy”,”aaaacc”,”aabcc”};
fun(ss,5);printf(”%s,%s”,ss[0],ss[4]);
}
程序运行结果是________。
( A )
10、下面不正确的字符串常量是________。
六、函数/函数指针 (共10题,每题1分,共计10分)
( A )
1、有以下函数: char fun(char*p)
{
return p;
}
该函数的返回值是________。
( D )
2、对以下程序,正确的说法是 __________. sub (char x,char y)
{
int z;
z=x%y;
return z;
}
void main( )
{
int g=5,h=3,k;
k=sub(g,h);
printf("%d\n",k);
}
( A )
3、c 语言规定,除主函数外,程序中各函数之间 ______.
( D )
4、在c中,函数原型不能标识 ______。
( B )
5、若有以下说明和定义 fun(int*c)
{
...
}
main()
{
int(*a)()=fun,(*b)(),w[10],c;
}
在必要的赋值之后,对fun()函数的正确调用语句是______。
( C )
6、以下关于宏的叙述中正确的是______。
( B )
7、下列函数中,用于向控制台输出信息的是?
( A )
8、对于函数声明 void fun(int a[1],int*b); 以下叙述中正确的是________。
( C )
9、c语言程序中,若对函数类型未加显式说明,则函数的隐含说明类型为________。
( B )
10、以下程序的输出结果为________。
main()
{
int a=1,b=2,c=3,d=4,e=5;
printf("%d\n",func((a+b,b+c,c+a),(d+e)));
}
int func(int x,int y)
{
return(x+y);
}
七、指针 (共10题,每题1分,共计10分)
( A )
1、若有定义:int x,*pb;则正确的赋值表达式是________。
( D )
2、若有说明:int n=2,*p=&n,*q=p,则以下非法的赋值语句是: ( )
( D )
3、要求函数的功能是交换 x 和 y 中的值,且通过正确调用返回交换结果 . 能正确执行 此功能的函数是______。
( A )
4、若主调用函数类型为 double ,被调用函数定义中没有进行函数类型说明,而 return 语句中的表达式类型为 float 型,则被调函数返回值的类型是 __________ 。
( B )
5、下列关于数组的描述正确的是________。
( C )
6、有定义语句:int*p[4]; 以下选项中与此语句等价的是________。
( A )
7、以下关于c/c语言指针变量的叙述中,正确的是________。
( A )
8、以下描述错误的是________。
( B )
9、以下对局部变量描述错误的是________。
( D )
10、下列哪个数组定义是正确的________。
八、结构体 (共10题,每题1分,共计10分)
( D )
1、若有以下说明语句:
struct student
{
int num;
char name[ ];
float score;
} stu;
则下面的叙述不正确的是: ( )
( C )
2、设有如下枚举类型定义: enum language
{
basic=3 , assembly , ada=100 , cobol , fortran
};
枚举量 fortran 的值为 。
( B )
3、递归算法的执行过程一般来说可先后分成______和______两个阶段。
( A )
4、有以下程序
struct s
{
int n;
int a[20];
}
;
void f(int *a, int n)
{
int i;
for(i=0;i<n-1;i++) a[i]+=i;
}
main()
{
int i;
struct s s={10,
{
2,3,1,6,8,7,5,4,10,9}};
f(s.a,s.n);
for(i=0;i<s.n;i++) printf("%d,",s.a[i]);
}
程序运行后的输出结果是______。
( C )
5、在c语言中,系统为一个结构体变量分配的内存是________。
( C )
6、下列关于共用体类型变量的描述中,正确的是________。
( B )
7、下面赋值表达式不正确的是__________________.
struct student
{
long num;
char name[20];
} st1, st2={101, "tom"}, *p=&st1;
( B )
8、相同结构体类型的变量之间,可以________。
( D )
9、以下对结构体变量stu1中成员age的非法引用是________。
struct student
{
char name[10];
int age ;
}
stu1 ,*p;
p=&stu1;
( D )
10、当定义一个结构体变量时,系统为它分配的内存空间是________。
九、程序题 (共10题,每题1分,共计10分)
( B )
1、有如下程序
main( )
{
int n=9;
while(n>6)
{
n--;
printf("%d",n);
}
}
该程序段的输出结果是________。
( B )
2、阅读下面的程序
main()
{
int i,j;
float x,y;
scanf("%f,%f",&i,&j);
scanf("%f,%f",&x,&y);
printf("i=%d,j=%d\n",i,j);
printf("x=%f,y=%f\n",x,y);
}
如果从键盘上输入 32,18<回车> 12.5,-4.3<回车> 则程序的运行结果是________。
( C )
3、有以下程序
main( )
{
char a[]="abcdefg",b[10]="abcdefg";
printf("%d %d\n",sizeof(a),sizeof(b));
}
执行后输出结果是________。
( C )
4、以下程序的输出的结果是 int x=3;
main()
{
int i;
for (i=1;i<x;i++) incre();
}
incre()
{
staic int x=1;
x*=x+1;
printf(" %d",x);
}
( D )
5、运行下面程序时,若从键盘输入 "3,5<cr>" ,则程序的输出结果是 __________.
#include <stdio.h>
void main( )
{
int x,y;
scanf("%d,%d",&x,&y);
if (x==y) printf("x==y");
else if (x>y) printf("x>y");
else printf("x<y");
}
( D )
6、运行下面程序后 , 输出是 ________.
#include <stdio.h>
void main( )
{
int k=-3;
if (k<=0) printf("****\n");
else printf("####\n")
}
( A )
7、以下程序结果为:______。
void add( )
{
static int x=3;
x++;
printf("%d",x);
}
main( )
{
int i;
for(i=0;i<3;i++)add( );
}
( D )
8、下列程序的输出结果是
#include <stdio.h>
int myfuntion(int n);
int main()
{
int entry = 12345;
printf("%5d", myfuntion(entry));
return 0;
}
int myfuntion(int par)
{
int result;
result = 0;
do
{
result = result * 10 + par % 10;
par /= 10;
}
while (par);
return result;
}
( A )
9、下列程序的输出结果为________。
main()
{
int m=7,n=4;
float a=38.4,b=6.4,x;
x=m/2+n*a/b+1/2;
printf("%f\n",x);
}
( C )
10、以下程序的输出结果是________。
main()
{
int a=100;
printf("%d\n",++a);
}
相关标签:
- C语言
- 南华大学
- 专升本试题