广西科技大学往年计算机C语言专升本
本试卷为广西科技大学往年计算机C语言专升本,题目包括:理论基础,控制结构,循环结构,数组/指针数组,字符串/字符串指针,函数/函数指针,指针,结构体,程序题。
覆盖的内容包括:理论题,基础知识,控制结构,循环结构,数组/指针数组,字符串/字符串指针,函数/函数指针,指针,结构体,程序题。
计算机C语言专升本
一、理论基础 (共20题,每题1分,共计10分)
( B )
1、设"int x=2,y=1; ",则表达式(!x || y--)的值i是________。
( B )
2、以下所列的c语言常量中,错误的是________。
( B )
3、设有条件表达式:(exp)? i++ ; j—,则以下表达式中与(exp)完全等价的是________。
( B )
4、有如下说明 int a[10]={ 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 }, *p=a;则数值为 9 的表达式是______。
( D )
5、以下叙述中不正确的是________。
( D )
6、变量p为指针变量,若p=&a,下列说法不正确的有______。
( C )
7、下列关于变量作用域的描述中,不正确的是________。
( D )
8、已知int x=(1,2,3,4); 变量x的值是________。
( B )
9、字符的ascii编码在机器中的表示方法准确地描述应是________。
( A )
10、若整型变量a、b、c、d中的值依次为:1、4、3、2,则条件表达式a<b a:c<d c:d的值是________。
( B )
11、下列不属于简单数据类型的是________。
( D )
12、已知大写字母a的ascii码是65,小写字母a的ascii码是97,以下不能将变量c中的大写字母转换为对应小写字母的语句是______。
( B )
13、有如下程序段int *p,a=1,b=2; p=&b; a=*p+a; 执行该程序段后,a的值为______。
( A )
14、若有定义语句:char c='\101'; 则变量 c 在内存中占()
( C )
15、表达式:10!=9的值是________。
( A )
16、以下说法错误的是________。
( B )
17、下列运算符中优先级最高的是________。
( D )
18、设有char str[10] ,下列语句正确的是________ 。
( C )
19、下述标识符中, ( )是合法的用户标识符。
( C )
20、能将高级语言编写的源程序转换为目标程序的是()。
二、控制结构 (共10题,每题1分,共计10分)
( C )
1、在嵌套使用if语句时,c语言规定else总是________。
( D )
2、三种基本结构中,能简化大量程序代码的是________。
( D )
3、c语言对嵌套的if语句的规定是:else总是与 配对。
( D )
4、下列描述正确的是________。
( C )
5、执行以下程序段后,w的值为________。 int w='a',x=14,y=15; w=((x||y)&&(w<'a'));
( C )
6、下述语句中,_____中的if语句语法是错误的。 ( )
( C )
7、若有定义:float x=1.5; int a=1,b=3,c=2; 则正确的switch语句是________。
( A )
8、选择出合法的if语句(设int x,a,b,c;)________。
( A )
9、c语言的if语句嵌套时,if与else的配对关系是________。
( D )
10、执行下列程序段后,m 的值是________. int w=2,x=3,y=4,z=5,m; m=(w
三、循环结构 (共10题,每题1分,共计10分)
( C )
1、若有以下程序段,w和k都是整型变量:
w=k;
LB:if(w==0)
goto LE;
w--;
printf("*") goto LB;
LE;
则不能与上面程序段等价的循环语句是________。
( A )
2、从循环体内某一层跳出,继续执行循环外的语句是:________。
( A )
3、当输入为"hello?"时,下面程序的执行结果是________。
main()
{
char c;
c=getchar();
while(c!='?')
{
putchar(e);
break;
}
}
( A )
4、c语言中while和do-while循环的主要区别是________。
( C )
5、以下for循环是________。 for(x=0,y=0;(y!=123) && (x<4);x++)
( C )
6、下面程序的运行结果是________。
main( )
{
int m=7,n=5,i=1;
do
{
if (i%m==0);
if (i%n==0)
{
printf("%d\n",i);
break;
}
i++;
}
while(i!=0);
}
( D )
7、有以下程序
#include <stdio.h>
main()
{
int x=8;
for( ; x>0; x--)
{
if(x%3)
{
printf("%d,",x--);
continue;
}
printf("%d,",--x);
}
}
程序的运行结果是________。
( C )
8、以下for循环的执行次数是 for(x=0,y=0;(y=123)&&(x<4);x++); ()
( D )
9、以下叙述正确的是()。
( B )
10、以下程序段的输出结果为()。 for(i=4;i>1;i--) for(j=1;j
四、数组/指针数组 (共10题,每题1分,共计10分)
( D )
1、下列选项中,能够正确定义数组的语句是________。
( B )
2、以下数组定义中错误的是________。
( D )
3、有以下程序
#include <stdio.h>
void fun(int *a, int n)/*fun函数的功能是将a所指数组元数从大到小排序*/
{
int t,i,j;
for(i=o;i<n-1;j++) for(j=j+1;j<n;j++) if(a[i]<a[j])
{
t=a[i];
a[i]=a[j];
a[j]=t;
}
}
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]);
}
程序的运行结果是________。
( B )
4、有以下程序
main()
{
int a[4][4]={{1,4,3,2},{8,6,5,7},{3,7,2,5},{4,8,6,1}},i,k,t;
for(i=0;i<3;i++)
for(k=i+1;k<4;k++)
if(a[i][i]<a[k][k])
{
t=a[i][i];
a[i][i]=a[k][k];
a[k][k]=t;
}
for(i=0;i<4;i++)
printf("%d,",a[0][i]);
}
程序运行后的输出结果是________。
( D )
5、以下能正确定义数组并正确赋初值的选项是______。
( A )
6、设有以下语句,其中不是对a数组元素的正确引用的是:______(其中0≤i<6)int a[6]= {11,22,33,44,55,66 },*m=a;
( B )
7、对于代码 char c1[8];
scanf("%s",c1);
printf("\n%s",c1);
在程序运行时,输入了"this pretty boy",则对应的运行输出显示结果是________。
( B )
8、关于数组和指针,以下说法错误的是________。
( C )
9、char a[10]; 不能将字符串"abc"存储在数组中的是________。
( D )
10、下列哪个数组定义是正确的________。
五、字符串/字符串指针 (共10题,每题1分,共计10分)
( B )
1、字符串 "\\\"abc\"\\" 的长度是______。
( C )
2、在下列各项中,运算级别最低的为________。
( D )
3、表达式x+1>x是________。
( D )
4、下列字符串中,正确的c标识符是________。
( B )
5、下列类型的数据不可以存储在可变型变量中的是________。
( A )
6、以下不能将s所指字符串正确复制到t所指存储空间的是______。
( B )
7、以下程序段的执行结果为
#define PLUS(X,Y)X+Y
main()
{
int x=1,y=2,z=3,sum;
sum=PLUS(x+y,z)*PLUS(y,z);
printf("SUM=%d",sum);
}
( D )
8、下列字符串中可以用作c标识符的是________。
( C )
9、\、/、mod、*等4个算术运算符中,优先级最低的是________。
( D )
10、在宏定义#define PI 3.14159中,用宏名代替一个________。
六、函数/函数指针 (共10题,每题1分,共计10分)
( C )
1、有以下程序片段: y=-1; if(x!=0) if(x>0) y=1; else y=0; 其能正确表示的数学函数关系是________。
( D )
2、若函数调用时的实参为变量时,以下关于函数形参和实参的叙述中正确的是________。
( D )
3、putchar ( )函数可以向终端输出一个 ( ) 。
( C )
4、计算斐波那契数列第n项的函数定义如下: int fib(int n)
{
if(n==0) return1;
else if(n==1)
return 2;
else
return fib(n-1)+fib(n-2);
}
若执行函数调用表达式fib(2),函数fib被调用的次数是________。
( A )
5、有以下程序
#include<stdio.h>
void fun(int n,int*s) {
int f;
if(n==1)*s=n+1;
else fun(n-1,&f);
*s=f;
}
main() {
int x=0;
fun(4,&x);
printf("%d\n",x);
}
程序运行后的输出结果是______。
( D )
6、有以下程序:
main()
{
int m=3,n=4,x;
x;
-m++;
x=x+8/++n;
printf("%d\n",x);
}
程序运行后的输出结果是________。
( B )
7、有以下程序:
void ss(char *s,char t)
{
while(*s)
{
if(*s==t)
*s=t-''a''+''a'';
s++;
}
}
main()
{
char strl[100]="abcddfefdbd",c=''d'';
ss(strl,c);
printf("%s\n",strl);
}
程序运行后的输出结果是________。
( B )
8、请选出合法的c语言赋值语句。( )
( B )
9、有以下程序
main()
{
int a=666,b=888;
printf("%d\n",a,b);
}
程序运行后的输出结果是______。
( C )
10、下面说法正确的是________。
七、指针 (共10题,每题1分,共计10分)
( A )
1、若程序中定义了以下函数 double myadd(double a,double b)
{
return (a+b);
}
并将其放在调用语句之后,则在调用之前应该对该函数进行说明,以下选项中错误的说明是________。
( D )
2、以下能正确定义数组并正确赋初值的语句是______。
( B )
3、当调用函数时,实参是一个数组名,则向函数传送的是 _______ 。
( D )
4、已知3个字符为:a、z和8,按它们的ascii码值升序排序,结果是________。
( B )
5、有如下定义语句:int a[]= {1,2,3,4,5 },则对语句int * p=a; 正确的描述是________。
( B )
6、设int x:,则经过______ 后,语句*px=0; 可将x值置为0。
( B )
7、以下关系表达式中,其值为true的是________。
( C )
8、下面程序段的运行结果是________。 char * format="%s,a=%d,b=%d\n"; int a=11,b=10; a+=b; printf(format,"a+=b",a,b);
( A )
9、以下关于字符串的叙述中正确的是________。
( D )
10、下面说法中错误的是________。
八、结构体 (共10题,每题1分,共计10分)
( B )
1、struct ex
{
int x ;
float y;
char z ;
}
example;
则下面的叙述中不正确的是________。
( A )
2、有以下程序 struc stu
{
char name[10];
int num;
};
void f1(struct stu c)
{
struct stu b={"lisiguo",2042};
c=b;
}
void f2(struct stu *c)
{
struct stu b={"sundan",2044} ;
*c=b;
}
main( )
{
struct stu a={"yangsan",2041},b={"wangyin",2043} ;
f1(a);
f2(&b);
printf("%d %d\n",a.num,b.num);
}
执行后的输出结果是________。
( D )
3、有以下程序
#include <stdio.h>
struct tt
{
int x;
struct tt*y;
}
*p;
struct tt a[4]={20,a+1,15,a+2,30,a+3,17,a};
main()
{
int i;
p=a;
for(i=1;i<=2,i++)
{
printf("%d,",p->x);
p=p->y;
}
}
程序的运行结果是________。
( D )
4、下面程序的输出是______。
main ()
{
struct cmplx
{
int x ;
int y ;
}
cnum[2]={1 , 3 , 2 , 7};
printf ( "%d\n" , cnum[0].y/cnum[0].x*cnum[1].x );
}
( C )
5、设有如下枚举类型定义: enum language
{
basic=3 , assembly , ada=100 , cobol , fortran
};
枚举量 fortran 的值为 。
( A )
6、设有以下语句
typedef struct s
{
int g;
char h;
}
t;
则下面叙述中正确的是________。
( D )
7、设有以下语句
typedef struct tt
{
char c;
int a[4];
}
cin;
则下面叙述中正确的是______。
( C )
8、以下scanf函数调用语句中不正确的是__。
struct pupil
{
char name[20];
int age;
int sex;
}
pup[5], *p=pup;
( A )
9、在下列程序段中,枚举变量c1,c2的值依次是________。
enum color
{
red,
yellow,
blue=4,
green,
white
}
c1,c2;
c1=yellow;
c2=white;
printf("%d,%d\n",c1,c2);
( A )
10、在C语言中,下面那种数据类型不属于构造类型____
九、程序题 (共10题,每题1分,共计10分)
( B )
1、已知在ascii代码中,字母b的序号为66,以下程序的输出的结果是________。
main()
{
char c1='b', c2='d';
printf("%d,%c\n",c1,c2);
}
( C )
2、以下程序段的输出结果是________。 int k,n,m;
n=10;
m=1;
k=1;
while (k<=n)
{
m*=2;
k+=4;
}
printf("%d\n",m);
( C )
3、有以下程序
#include <stdio.h>
main()
{
char *s={"abc"};
do
{
printf("%d",*s%10);
s++;
}
while(*s);
}
注意:字母a的ascⅱ码值为65。程序运行后的输出结果是________。
( A )
4、有以下程序
#include <stdio.h>
void f(int *p,int *q);
main()
{
int m=1,n=2,*r=&m;
f(r, &n);
printf("%d,%d",m,n);
}
void f(int *p,int *q)
{
p=p+1;
*q=*q+1;
}
程序运行后的输出结果是________。
( B )
5、有以下程序
#include <stdio.h>
int fun(int x,int y)
{
if(x==y) return(x);
else return((x+y)/2);
}
main()
{
int a=4,b=5,c=6;
printf("%d\n",fun(2*a,fun(b,c)));
}
程序运行后输出的结果是________。
( B )
6、执行下列程序时输入12345678,程序的运行结果是______。
#include<stdio.h>
main()
{
int x,y;
scanf("%2d%2d");
printf("%d\n",x+y);
}
( A )
7、两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是________。
#include<stdio.h>
void main()
{
int x;
scanf("%d", &x);
if(x++>5) printf("%d", x);
else printf("%d\n", x--);
}
( C )
8、以下程序执行后SUm的值是________。
main()
{
int i,sum;
for(i=1;i<6;i++) sum+=i;
printf(”%d”,sum);
}
( C )
9、有以下程序:
int fun(int x)
{
int P;
if(x==0||x==1)return(3);
p=x-fun(x-2);
return P;
}
main()
{
printf(”%d”,fun(7));
}
执行后的结果是________。
( C )
10、以下程序的输出结果是________。
main()
{
int a=100;
printf("%d\n",++a);
}
相关标签:
- C语言
- 广西科技大学
- 专升本