浙江传媒学院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语言
- 浙江传媒学院
- 专升本样卷