浙江传媒学院C语言专升本样卷
本试卷为浙江传媒学院C语言专升本样卷,题目包括:理论基础,控制结构,循环结构,数组/指针数组,字符串/字符串指针,函数/函数指针,指针,结构体,程序题。
覆盖的内容包括:理论题,基础知识,控制结构,循环结构,数组/指针数组,字符串/字符串指针,函数/函数指针,指针,结构体,程序题。
C语言专升本样卷
一、理论基础 (共20题,每题1分,共计10分)
( C )
1、c语言用________表示逻辑"真"值。
( A )
2、与数学公式a•b/x•y不等价的语句是________。
( B )
3、设x为int型变量,则执行语句x=10和x+=x-=x-x后,x的值为:
( C )
4、若以下选项中的变量已正确定义,则正确的赋值语句是________。
( D )
5、以下4个选项中,不能看作一条语句的是________。
( A )
6、若"int n; float f=13.8; ",则执行"n=(int)f%3"后,n的值是________。
( A )
7、已知各变量的类型说明如下,则以下不符合 c 语言语法的表达式是: 。 int k,a,b; unsigned long w=5; double x=1.422;
( A )
8、若 int x, *p; 则正确的赋值表达式是 __ 。
( B )
9、若已定义 int a, 则表达式 a=10,a+10,a++ 的值是 _____.
( D )
10、下列语句序列执行后,k的值是________。 int j=8,k=15;
for(int i=2;i!=j;i++)
{
j-=2;
k++;
}
( B )
11、下面关于指针的说法中错误的是________。
( B )
12、"not"属于________。
( D )
13、若采用双符号位判断溢出,当结果的符号位为11时,表示 (13) 。
( C )
14、在以下给出的表达式中,与while(e)中的(e)不等价的表达式是________。
( A )
15、c语言的基本数据类型包括________。
( C )
16、定义一个字符型变量,下列选项中正确的是________。
( C )
17、下列选项中,与i=j++完全等价的表达式是________。
( C )
18、以下常量中, 能够代表逻辑" 真" 值的常量是________。
( D )
19、指针x指向的整型变量值为25,则”printf(“%d\n”,++*x);” 的输出是____
( C )
20、下面叙述中正确的是
二、控制结构 (共10题,每题1分,共计10分)
( D )
1、能正确表示a和b同时为正或同时为负的逻辑表达式是________。
( C )
2、设变量a、b、c、d和y都已正确定义并赋值。若有以下if语句: if(a<b) if(c==d)y=0; else y=1; 该语句所表示的含义是________。
( D )
3、下列描述正确的是________。
( C )
4、设变量x和y均已正确定义并赋值。以下if语句中,在编译时将产生错误信息的是________。
( A )
5、下列程序的运行结果是________。
main()
{
int a=-5,b=1,c=1;
int x=0,y=2,z=0;
if(c>0)x=x+ y;
if(a<=0)
{
if(b>0) if(c<=0)y=x-y;
}
else if(c>0)y=x-y;
else z=y;
printf("%d,%d,%d\n",x,y,z);
}
( A )
6、以下程序的输出结果是________。
#include<stdio.h>
main()
{
int a=4,b=3,c=2,d=1;
printf("%d",a<b?a:d<c?d:b);
}
( C )
7、若有定义:float x=1.5; int a=1,b=3,c=2; 则正确的switch语句是________。
( A )
8、有如下程序
main()
{
int x=1,a=5,b=5;
switch(x)
{
case 0: b--;
case 1: a--;
case 2: a--;
b--;
}
printf("a=%d,b=%d\n",a,b);
}
该程序的输出结果是______。
( C )
9、以下叙述中正确的是________。
( A )
10、c 语言中逻辑表达式的值为________。
三、循环结构 (共10题,每题1分,共计10分)
( B )
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);
}
( A )
3、下列关于宏操作的叙述错误的是________。
( A )
4、for循环的循环次数________。
( B )
5、以下关于switch语句和break语句的描述中,正确的是______。
( C )
6、以下关于结构化程序的说法中,正确的是________。
( D )
7、若a、b为int型变量,则执行以下语句后a的值为( )
a=1;
b=10;
do
{
b-=a;
a++;
}
while(b-->0);
( B )
8、c语言中下面哪个不是循环语句?
( D )
9、以下的 for 循环次数是多少次? for(x=0,y=0;(y!=123)|| (x<4);x++) ;
( A )
10、以下程序段,while循环执行的次数是 int k=0; while(k=1) k++ ;
四、数组/指针数组 (共10题,每题1分,共计10分)
( C )
1、对两个数组a和b进行下列初始化: char m[]="1234567"; char n[]={'1','2’,'3','4','5','6','7'};则下列叙述正确的是________。
( C )
2、定义如下变量和数组: int i, x[3][3]={1,2,3,4,5,6,7,8,9
};则下面语句for(i=0;i<3;i++) printf("%d",x[i][2-i]);的输出结果是________。
( B )
3、若有说明:int a[][3]={{1,2,3},{4,5},{6,7}};则数组a的第一维的大小为: ( )
( C )
4、若有说明语句"int a[5],*p=a; ",则对数组元素的正确引用是________。
( D )
5、下列一维数组初始化语句中,正确且与语句 float a[ ]={ 0,3,8,0,9}; 等价的是 __________.
( D )
6、设有二维数组a(12,10),其每个元素占4个字节,数据按列优先顺序存储,第一个元素的存储地址为100。则元素a(5,5)的存储地址为________。
( B )
7、下面程序段的功能是________。
…… int a[]= {4,0,2,3,1},i,j,t;
for(i=0;<5;i++)
{
t=a[i];
j=i;
j--;
}
while(j>=0&&t>a[j])
{
a[j+1]=a[j];
j--;
a[j+1] =t;
}
……
( D )
8、要定义整型数组x,使之包括初值为0的三个元素,下列语句中错误的是________。
( D )
9、下列能正确定义字符串的语句是________。
( D )
10、已知三个字符为a、z和8,按它们的ascii码值升序排序,结果是________。
五、字符串/字符串指针 (共10题,每题1分,共计10分)
( A )
1、下列字符串是标识符的是________。
( D )
2、以下能正确定义字符串的语句是________。
( A )
3、下列四组字符串中都可以用作c语言程序中的标识符的是________。
( B )
4、设有两个字符串p和q,其中q是p的子串,把q在p中首次出现的位置作为子串q在p中位置的算法称为 (43) 。
( A )
5、下列哪个是c语言的有效标识符
( D )
6、下列字符串中,不可以用作c标识符的是________。
( A )
7、以下不能将s所指字符串正确复制到t所指存储空间的是______。
( C )
8、请读程序片段(字符串内没有空格字符):printf("%d\n",strlen("ats\n012\1\\") );
上面程序片段的输出结果是______。
( C )
9、判断两个字符串是否相等,正确的表达方式是
( A )
10、从键盘上输入某字符串时,不可使用的函数是()。
六、函数/函数指针 (共10题,每题1分,共计10分)
( C )
1、有以下程序片段: y=-1; if(x!=0) if(x>0) y=1; else y=0; 其能正确表示的数学函数关系是________。
( C )
2、在函数中默认存储类型说明符的变量应该是________存储类型。
( C )
3、以下函数的功能是:求x的y次方,请填空。
main( )
{
int i,x,y;
double z;
scanf("%d %d",&x,&y);
for(i=1,z=x;i<y;i++) z=z*________ ;
printf("x^y=%e\n",z);
}
( A )
4、设有以下函数:
void fun(int n,char *s)
{
……
}
则下面对函数指针的定义和赋值均正确的是________。
( C )
5、下面函数的功能是
char* fun(char* strl,char* str2) {
while((*strl)&&(*str2++=*strl++));
return str2;
}
( D )
6、以下叙述中错误的是________。
( D )
7、c语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是________。
( B )
8、printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列。如果字符串长度大于5,则输出按方式 ________。
( B )
9、以下叙述中正确的是________。
( A )
10、char *match(char c)是()。
七、指针 (共10题,每题1分,共计10分)
( D )
1、putchar ( )函数可以向终端输出一个 ( ) 。
( A )
2、以下不能正确进行字符串赋初值的语句是________。
( B )
3、设有以下函数:
#include <stdio.h>
int f(int a)
{
int b=0,c;
c=3;
b++ ;
c++;
return (a+b+c);
}
如果在下面的程序中调用该函数,则输出结果是 ______.
void main()
{
int i;
for(i=0;i<3;i++)
printf("%d\n",f(i));
}
( D )
4、下列描述中,正确的一条是______。
( B )
5、下列选项中c语言中不合法的字符串常量的是________。
( B )
6、有以下程序
#include<string.h>
main()
{
char p[20]={'a','b','c','d'},q[]="abc",r[]="abcde";
strcat(p,r);
strcpy(p+strlen(q),q);
printf("%d\n",strlen(p));
}
程序运行后的输出结果是________。
( C )
7、关于strcmp()函数,下列描述中错误的是________。
( D )
8、c语言程序的三种基本结构是________。
( D )
9、下面说法正确的是________。
( C )
10、下列各定义数组的语句中不正确的是________。
八、结构体 (共10题,每题1分,共计10分)
( B )
1、有以下结构体说明和变量的定义,且指针p指向变量a’指针q指向变量b,则不能把结点b连接到结点a之后的语句是________。
struct node
{
char data;
struct node*next;
}
a,b,*p=&a,*q=&b;
( B )
2、有以下程序
struct s
{
int x,y;
}
data[2]={ 10,100,20,200 };
main()
{
struct s *p=data;
printf("%d\n",++(p->x));
}
程序运行后的输出结果是________。
( A )
3、若有下面的说明和定义:
struct test
{
int ml;
char m2;
float m3;
union uu
{
char ul[5];
int u2[2];
}
ua;
}
myaa;
则sizeof(struct test )的值是________。
( C )
4、设有以下说明语句 struct stu
{
int a ;
float b ;
}
stutype ;
则下面的叙述不正确的是______。
( A )
5、下列描述说明正确的是________。
( D )
6、在16位pc机上使用c语言,若有如下定义
struct data {
int i;
char ch;
double f;
} b;
则结构变量b占用内存的字节数是________。
( B )
7、有以下程序:
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=s;
int i;
float sum=0;
for(i=0;i<3;i++ ){
sum=sum+p->score[i];
}
printf("%6.2f\n",sum);
}
程序运行后的输出结果是________。
( D )
8、以下程序的输出结果是______。
struct har
{
int x,y;
struct har *p;
}
h[2];
main()
{
h[0].x=1;
h[0].y=2;
h[1].x=3;
h[1].y=4;
h[0].p=&h[1];
h[1].p=h;
printf("%d%d\n",(h[0].p)->x,(h[1].p)->y);
}
( C )
9、若有定义:
struct keyword
{
char key[20];
int id;
}
kw[] = {"void", 1, "char", 2, "int", 3, "float", 4, "double", 5 };
则printf("%c,%d\n", kw[3].key[0], kw[3].id);
语句的输出结果为________。
( C )
10、定义结构体的关键字是________。
九、程序题 (共10题,每题1分,共计10分)
( B )
1、下面程序的功能是输出以下形式的金字塔图案:
*
***
*****
main ()
{
int i, j;
for (i = 1; i < 4; i++)
{
for (j = 1; j <= 4 - i; j++)
printf (" ");
for (j = 1; j <= _______; j++)
printf ("*");
printf ("\n");
}
}
在下划线处应填入的是________。
( A )
2、有以下程序:
#include<stdio.h>
main()
{
char c1='1',c2='2';
c1=getchar();
c2=getchar();
putchar(c1);
putchar (c2);
}
当程序运行时输入a<回车>后,下列叙述中正确的是________。
( A )
3、有下列程序:
main()
{
int x=0;
int y=0;
while(x<7 &&++v)
{
y--;
x++;
}
printf("%d,%d",y,x);
}
程序的输出结果是________。
( B )
4、有以下程序
main()
{
int a[10]={1,2,3,4,5,6,7,8,9,10}, *p=&a[3], *q=p+2;
printf("%d\n", *p + *q);
}
程序运行后的输出结果是________。
( A )
5、以下程序的输出结果是
main()
{
char x=040;
printf("%0\n",x<<1);
}
( C )
6、有以下程序
#include <stdio.h>
main()
{
int s[12]={1,2,3,4,4,3,2,1,1,1,2,3}, c[5]={0}, i;
for(i=0;i<12;i++) c[s[i]]++;
for(i=1;i<5;i++) printf("%d",c[i]);
printf("\n");
}
程序的运行结果是________。
( D )
7、以下程序有错,错误原因是
main()
{
int *p,i;
char*q,ch;
p=&i;
q=&ch;
*p=40;
*p=*q;
…
}
( A )
8、有以下程序
#include<stdio.h>
#include<stdlib.h>
void fun(int*p1,int*p2,int*s) {
s=(int*)malloe(sizeof(int));
*s=*p1+*(p2++);
}
main() {
int a[2]=1,2,b[2]=10,20,*s=a;
fun(a,b,s);
printf("%d\n",*s);
}
程序运行后的输出结果是______。
( D )
9、有以下程序
main()
{
int p[7]={11,13,14,15,16,17,18},i=0,k=0;
while(i<7&&p[i]%2)
{
k=k+p[i];
i++;
}
printf("%d\n",k);
}
执行后输出的结果是______。
( C )
10、以下程序运行后的输出结果是___
main( )
{
int x1 =1, x2=0,x3=0;
if(x1 =x2 +x3) printf(" ****");
else printf( "####" );
}
相关标签:
- C语言
- 浙江传媒学院
- 专升本样卷