广西艺术学院历年C语言程序设计专升本模拟
本试卷为广西艺术学院历年C语言程序设计专升本模拟,题目包括:理论基础,控制结构,循环结构,数组/指针数组,字符串/字符串指针,函数/函数指针,指针,结构体,程序题。
覆盖的内容包括:理论题,基础知识,控制结构,循环结构,数组/指针数组,字符串/字符串指针,函数/函数指针,指针,结构体,程序题。
C语言程序设计专升本模拟
一、理论基础 (共20题,每题1分,共计10分)
( D )
1、设有定义:int x=2; ,以下表达式中,值不为6的是________。
( D )
2、假定x和y为 double型,则表达式x=2,y=x+3/2的值是________。
( B )
3、以下叙述中正确的是________。
( D )
4、执行下面程序段,给x、y赋值时,不能作为数据分隔符的是________。 int x,y; scanf("%d%d",&x,&y);
( B )
5、以下叙述中 , 不正确的是 __________.
( D )
6、下列运算符中,优先级最高的是________。
( A )
7、下列关于c语言的叙述错误的是________。
( A )
8、C源程序中的命令 #include与#define是在______阶段被处理的。
( A )
9、数据和程序以______进制代码形式存放在存储器中。
( A )
10、在c语言中,不正确的int类型的常数是______。
( D )
11、设a为int型变量,执行下列赋值语句后,a的取值分别为 ( ) a=125.534; a=20.0/3; a=20%3; a=(int)125%521%4; a=5<<2;
( D )
12、将空格符赋给字符变量c,正确的赋值语句是________。
( B )
13、已知英文字母m的ascii码值为6dh,那么,码值为4dh的字母是______。
( B )
14、关于二进制的说法中,正确的是________。
( D )
15、下列结果不相同的是________。
( D )
16、为表示"a和b都不等于0",应使用的c语言表达式是________。
( D )
17、若有如下定义变量:int k=7,x=12; 则能使值为3的表达式是________。
( A )
18、c风格的注释* c 风格的注释,也称块注释或多行注释,以 ▁▁▁ 开始,以 ▁▁▁ 结束。
( C )
19、以下叙述中正确的是()。
( A )
20、以下叙述中错误的是____
二、控制结构 (共10题,每题1分,共计10分)
( A )
1、在c程序中,判断逻辑值时,分别用( )表示逻辑值"真"、"假"。
( A )
2、若x和y是程序中的两个整型变量,则下列if语句中正确的是________。
( A )
3、if语句的基本形式为:if(表达式)语句,其中"表达式"________。
( C )
4、设变量x和y均已正确定义并赋值。以下if语句中,在编译时将产生错误信息的是________。
( D )
5、若a和b均是整型变量并已正确赋值,正确的switch语句是________。
( C )
6、若有定义:float x=1.5; int a=1,b=3,c=2; 则正确的switch语句是________。
( D )
7、在c语言中,if语句后的一对原括号中,用以决定分支的流程的表 达式________。
( B )
8、假定所有变量均已正确定义,下列程序段运行后x的值是________。 k1=1; k2=2; k3=3; x=15; if(!k1) x--; else if(k2) x=4; else x=3;
( B )
9、c语言的switch语句中case后____
( D )
10、在c 的if 语句中,可用作条件的表达式是________。
三、循环结构 (共10题,每题1分,共计10分)
( A )
1、下列叙述中正确的是________。
( B )
2、下列程序的运行结果是________。
void main()
{
int s=0,k;
for(k=7;k>1;k--)
{
switch(k)
{
case 1: case 4: case 7: s++: break;
case 2: case 3: case 6:break;
case 0: case 5: s+=2: break;
}
}
printf("s=%d",s);
}
( B )
3、设i,j,k均为int型变量,则执行完下面的for循环后,k的值为 for(i=0,j=10;i<=j;i++,j--) k=i+j;
( C )
4、有以下程序
#include <stdio.h>
main()
{
int a[]={2,3,5,4},i;
for(i=0;i<4;i++)
switch(i%2)
{
case 0: switch(a[i]%2)
{
case 0:a[i]++;
break;
case 1:a[i]--;
}
break;
case 1:a[i]=0;
}
for(i=0;i<4;i++) printf("%d ",a[i]);
printf("\n");
}
程序运行后的输出结果是________。
( C )
5、下面不属于条件语句关键字的是________。
( A )
6、有以下程序:
#include <stdio.h>
main()
{
int a=1,b=2;
for(;a<12;a++)
{
b+=a*2;
a+=3;
}
printf("%d,%d\n",b,a);
}
程序运行后的输出结果是________。
( B )
7、下列程序的输出结果是
#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);
}
( B )
8、有以下程序
main( )
{
int c=5,x;
scanf("%d",&x);
switch(x+1)
{
case 6: c++;
case 8: ++c;
break;
default:c+=3;
}
printf("%d",c);
}
程序运行时,从键盘输入: 5<回车>,程序执行后的输出结果是________。
( A )
9、执行以下循环语句时,下列说法正确的是________。x = -1;
do
{
x = x * x;
}
while (x == 0);
( A )
10、若变量已正确定义,以下while循环正常结束时,累加到pi的最后一项item的值满足________。
四、数组/指针数组 (共10题,每题1分,共计10分)
( D )
1、有如下程序
#include<stdio.h>
void main()
{
char ch[80]="123abcdefg*&";
int j;
long s=0;
puts(ch);
for(j=0;ch[j]>'\0';j++) if(ch[j]>='a'&&ch[j]<='z') ch[j]=ch[j]+'e'-'e';
puts(ch);
}
该程序的功能是 __________.
( B )
2、若有以下定义和语句:int a[10]={1,2,3,4,5,6,7,8,9,10 },*ia=a; 则不能正确表示a数组元素的表达式是 ______。
( C )
3、下面程序的运行结果是
#include<stdio.h>
main()
{
int a=28,b;
char s[10],*p;
p=s;
do
{
b=a%16;
if(b<10) *p=b+48;
else *p=b+55;
p++;
a=a/5;
}
while(a>0);
*p='\0';
puts(s);
}
( A )
4、以下选项中,不能正确赋值的是 ______。
( A )
5、以下程序的运行结果是________。
#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);
}
( D )
6、以下关于排序算法的叙述中,正确的是________。
( A )
7、以下叙述中正确的是________。
( A )
8、以下叙述中正确的是________。
( B )
9、int a[10]; 给数组a的所有元素分别赋值为1、2、3、……的语句是________。
( D )
10、若有以下的定义:int t[3][2]; 能正确表示t数组元素地址的表达式是________。
五、字符串/字符串指针 (共10题,每题1分,共计10分)
( B )
1、设宏定义#define PI 3.1415926,用宏名PI替换的是________。
( D )
2、下列字符串中不能作为c标识符使用的是________。
( A )
3、下列哪个是c语言的有效标识符
( A )
4、以下不能将s所指字符串正确复制到t所指存储空间的是______。
( B )
5、下列变量定义中,错误的是______。
( C )
6、顺序执行下列程序语句后,则b的值是 string a="hello"; string b=a.substring(0,2);
( C )
7、请读程序片段(字符串内没有空格字符):printf("%d\n",strlen("ats\n012\1\\") );
上面程序片段的输出结果是______。
( C )
8、下面各语句行中,能正确进行给字符串赋值操作的语句行是______。
( D )
9、宏定义是最常用的预处理功能之一,它用于将一个标识符定义为一个______
( A )
10、下面程序的功能是将字符串s 中所有的字符'c'删除。
#include "stdio.h"
main()
{
char s[80];
int i,j;
gets(s);
for (i=j=0;s[i]!='\0';i++)if (s[i]!='c') ;
s[j]='\0';
puts(s);
}
六、函数/函数指针 (共10题,每题1分,共计10分)
( C )
1、c语言规定,函数返回值的类型是由( )决定的。
( C )
2、函数pi的功能是根据以下近似公式求π值: (π*π)/6=1+1/(2*2)+1/(3*3)+..+1/(n*n) 请填空,完成求π的功能。
#include <math.h>
main( )
{
double s=0.0;
long int i,n;
scanf("%ld",&n);
for(i=1;i<=n;i++) s=s+________ ;
s=(sqrt(6*s));
printf("s=%e",s);
}
( B )
3、设int*p[4]; 则标识符p是________。
( C )
4、以下( )不是c语言中用于结构化程序设计的三种基本结构之一。
( A )
5、下列程序的输出结果是________。
int f1(int x,int y)
{
return x>y?x:y;
}
int f2(int x,int y)
{
return x>y?y:x;
}
main()
{
int a=4,b=3,c=5,d=2,e,f,g;
e=f2(f1(a,b),f1(c,d));
f=f1(f2(a,b),f2(c,d));
g=a+b+c+d-e-f;
printf("%d,%d,%d\n",e,f,g);
}
( C )
6、关于strcmp()函数,下列描述中错误的是________。
( C )
7、阅读以下函数fun(char *sl,char *s2)
{
int i=0;
while(sl[i]==s2[i]&&s2[i]!='\0') i++;
return(sl[i]=='\0'&&s2[i]=='\0');
}
此函数的功能是______。
( C )
8、在c语言中,( )
( B )
9、调用函数f(27)的输出结果是________。
void f(int n)
{
if(n<5) printf("%d", n);
else
{
printf("%d", n%5);
f(n/5);
}
}
( C )
10、下面说法正确的是________。
七、指针 (共10题,每题1分,共计10分)
( A )
1、若有函数调用语句: fun(a+b,(x,y),fun(n+k,d,(a,b,))); 那么在此函数调用语句中实参的个数是________。
( B )
2、下列各项中不属于算法基本特征的是________。
( B )
3、有以下程序段:
int j;
float y;
char name[50];
scanf("%2d%f%s",&j,&y,name);
当执行上述程序段,从键盘上输入55566 7777abc后,y的值为
( A )
4、下述函数功能是_______。
int fun (char *x)
{
char *y = x;
while (*y++);
return y - s - 1;
}
( C )
5、下面程序段的执行结果是________。
#include<stdio.h>
main()
{
int a[5][5],i,j;
for(i=1;i<5;i++) for(j=1;j<5;j++) a[i][j]=(i<j)*(j/i);
for(i=1;i<5;i++) {
for(j=1;j<5;j++) printf("%2d",a[i][j]);
printf("\n");
}
}
( C )
6、下列选项中,关于main()函数叙述不正确的是________。
( D )
7、以下叙述中正确的是________。
( C )
8、设有如下函数定义:int f(char *s)
{
char *p=s;
while(*p!='\0') p++;
return(p-s);
}
如果在主程序中用下面的语句调用上述函数,则输出结果为________。printf(""%d\n"",f(""goodbey!""));
( D )
9、以下叙述中正确的是________。
( B )
10、下列关于函数之间数据传递的叙述正确的是________。
八、结构体 (共10题,每题1分,共计10分)
( B )
1、若有下列说明和语句,则对结构体变量st中成员i的引用方式不正确的是________。
struct stu
{
int i;
int name;
} st,*p;
p=&st;
( C )
2、设
struct data
{
int a;
float b;
} c,*p=&c;
,引用正确的是________。
( C )
3、变量a所占的内存字节数是______。
union u{
char st[4];
int i;
long l;
};
struct A {
int c;
union u;
} a;
( C )
4、若定义下列结构体,结构体变量p的出生年份赋值正确的语句是________。
struct st
{
int x;
int y;
int z;
}
struct worker
{
char name[20];
char sex;
struct st birth;
} p;
( D )
5、有以下程序:
#include <stdio.h>
struct s
{
int a, b;
}
data[2]= {10, 100, 20, 200 };
main()
{
struct s p=data[1];
printf("%d\n", ++(p.a));
}
程序运行后的输出结果是______。
( A )
6、有以下程序
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+1;
for(i=0;i<3;i++)sum=sum+p->score[i];
printf("%.3f\n",sum);
}
程序运行后的输出结果是___________。
( D )
7、以下叙述中正确的是________。
( B )
8、c语言中,定义结构体的保留字是________。
( B )
9、相同结构体类型的变量之间,可以________。
( C )
10、定义结构体的关键字是________。
九、程序题 (共10题,每题1分,共计10分)
( C )
1、下列程序的输出结果是________。
main( )
{
int i, j, m=0, n=0;
for(i=0; i<2; i++) for(j=0; j<2; j++) if (j>=i) m=1;
n++;
printf("%d \n",n);
}
( A )
2、有以下程序
void sum(int a[])
{
a[0] = a[-1]+a[1];
}
main()
{
int a[10]={1,2,3,4,5,6,7,8,9,10};
sum(&a[2]);
printf("%d\n", a[2]);
}
程序运行后的输出结果是________。
( C )
3、有以下程序
main( )
{
char a[]="abcdefg",b[10]="abcdefg";
printf("%d %d\n",sizeof(a),sizeof(b));
}
执行后输出结果是________。
( B )
4、若有以下定义和语句 : int a=010, b=0x10, c=10; printf("%d,%d,%d\n",a,b,c);
则输出结果是 ___________.
( C )
5、以下程序运行后的输出结果是______。
main()
{
char*s="abcde";
s+=2;
printf("%ld\n",s);
}
( B )
6、以下程序段的输出结果是:______。char s[]="\\234\234abcd\t";
printf("%d\n",strlen(s));
( B )
7、有以下程序
main()
{
unsigned char a=2,b=4,c=5,d;
d=a|b;
d&=c;
printf("%d\n",d);
}
程序运行后的输出结果是______。
( B )
8、如下程序,输出结果为
void main()
{
float a=1;
printf("%f\n",a);
printf("%0.2f\n",a);
printf("%3.1f\n",a);
}
( C )
9、以下程序运行后的输出结果是___
main( )
{
int x1 =1, x2=0,x3=0;
if(x1 =x2 +x3) printf(" ****");
else printf( "####" );
}
( B )
10、下面程序的运行结果是________。
fun(int p)
{
int k=1;
static t=2;
k=k+1;
t=t+1;
return(p*k*t);
}
main( )
{
int x=4;
fun(x);
printf(''%d\n'',fun(x));
}
相关标签:
- C语言
- 广西艺术学院
- 专升本模拟