厦门理工学院C语言程序设计专升本冲刺卷
本试卷为厦门理工学院C语言程序设计专升本冲刺卷,题目包括:理论基础,控制结构,循环结构,数组/指针数组,字符串/字符串指针,函数/函数指针,指针,结构体,程序题。
覆盖的内容包括:理论题,基础知识,控制结构,循环结构,数组/指针数组,字符串/字符串指针,函数/函数指针,指针,结构体,程序题。
C语言程序设计专升本冲刺卷
一、理论基础 (共20题,每题1分,共计10分)
( B )
1、已知大写字母a的ascil码是65,小写字母a的acsii码是97。下列能将变量c中的大写字母转换为对应小写字母的语句是________。
( A )
2、语句while(!e); 中的表达式!e等价于( )。
( A )
3、下列四组常数中,均是合法整型常量的一组是________。
( D )
4、在16位c编译系统上,若定义long a; 则能给a赋40000的正确语句是________。
( A )
5、若变量均已正确定义并赋值,以下合法的c语言赋值语句是________。
( B )
6、以下定义语句中正确的是________。
( B )
7、c 语言提供的合法的数据类型关键字是 ___________.
( B )
8、下列一组初始化语句中,正确的是 __________.
( B )
9、下列关于自动类型转换的说法中,正确的是________。
( A )
10、下列四个不同数制表示的数中,数值最大的是________。
( D )
11、在c语言程序中,注释部分从哪开始,到哪结束?()
( B )
12、设ch是char型变量,其值为a,且有下面的表达式ch=(ch>='a'&&ch<='z')?(ch-32):ch上面表达式的值是______。
( A )
13、以下说法错误的是________。
( B )
14、若要判断 char 型变量 c 中存放的是否为小写字母,以下正确的表达式是________。
( D )
15、以下标识符中,不能作为合法的c用户定义标识符的是________。
( C )
16、经下列语句定义后,sizeof(x),sizeof(y),sizeof(a),sizeof(b)在 微机上的值分别为________。 char x=65; float y=7.3; int a=100; double b=4.5;
( A )
17、若变量均已正确定义并赋值,以下合法的c语言赋值语句是________。
( C )
18、判断 i 和 j 至少有一个值为非0的表达式是____。
( C )
19、以下数据中,不正确的数值或字符常量是()。
( C )
20、能将高级语言编写的源程序转换为目标程序的是()。
二、控制结构 (共10题,每题1分,共计10分)
( D )
1、能正确表示a和b同时为正或同时为负的逻辑表达式是________。
( C )
2、运行以下程序后,如果从键盘上输入china#<回车>, 则输出结果为
#include <stdio.h>
main( )
{
int v1=0,v2=0;
char ch;
while ((ch=getchar( ))!='#') switch(ch)
{
case 'a': case 'h': default: v1++;
case 'o': v2++;
}
printf("%d,%d\n",v1,v2);
}
( D )
3、下列描述正确的是________。
( C )
4、若所用变量都已正确定义,则在以下选项中,非法的表达式是________。
( A )
5、若x和y是程序中的两个整型变量,则下列if语句中正确的是________。
( A )
6、下列叙述中正确的是________。
( C )
7、设变量x和y均已正确定义并赋值。以下if语句中,在编译时将产生错误信息的是________。
( A )
8、有以下程序
main()
{
int i;
for(i=0;i<3;i++)
switch(i)
{
case 1: printf("%d",i);
case 2: printf("%d",i);
default: printf("%d",i);
}
}
执行后输出的结果是________。
( A )
9、选择出合法的if语句(设int x,a,b,c;)________。
( B )
10、假定所有变量均已正确定义,下列程序段运行后x的值是________。 k1=1; k2=2; k3=3; x=15; if(!k1) x--; else if(k2) x=4; else x=3;
三、循环结构 (共10题,每题1分,共计10分)
( B )
1、若变量已正确定义,有以下程序段
int i=0;
do
printf("%d,",i);
while(i++);
printf("%d",i) 其输出结果是________。
( C )
2、以下描述中正确的是________。
( A )
3、下列while循环的次数是________。 while (int i=0)i--;
( A )
4、有以下程序:
main()
{
int k=5;
while(--k)printf(”%d”,k-=3);
printf(”n”);
}
执行后的输出结果是________。
( B )
5、有以下程序
main()
{
int i, j;
for(i=1;i<4;i++)
{
for(j=i;j<4;j++) printf("%d*%d=%d ",i,j,i*j);
printf("\n");
}
}
程序运行后的输出结果是______。
( B )
6、关于循环体while的说法下列正确的是________。
( C )
7、以下描述中正确的是________。
( A )
8、执行以下循环语句时,下列说法正确的是________。x = -1;
do
{
x = x * x;
}
while (x == 0);
( A )
9、设n 为整型变量,则循环语句for(n=10;n > 0;n--) 的循环次数为________。
( D )
10、以下程序段的输出结果为()。
char c[]="abc";
int i=0;
do ;while(c[i++]!='\0');printf("%d",i-1);
四、数组/指针数组 (共10题,每题1分,共计10分)
( C )
1、下列描述中不正确的是________。
( 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]);的输出结果是________。
( A )
3、定义如下变量和数组: int i; int x[3][3]={ 1,2,3,4,5,6,7,8,9 } 则下面语句的输出结果是________。 for(i=0;i<3;i++) printf("%d",x[i][2-1]);
( C )
4、以下对二维数组a的正确说明是________。
( D )
5、下面程序输出的结果是 __________.
#include <stdio.h>
void main( )
{
int i,j,x=0;
static int a[6]={1,2,3,4,5,6};
for(i=0,j=1;i<5;++i,j++) x+=a[i]*a[j];
printf("%d\n",x);
}
( D )
6、已有定义:int i,a[10],*p; 则合法的赋值语句是________。
( D )
7、已知英文字母a的十进制ascii码值为65,那么a的十进制ascii码值为______。
( D )
8、下列二维数组的说明中,不正确的是________。
( D )
9、已知p,p1为指针变量,a为数组名,j为整型变量,下列赋值语句中 不正确的是________。
( D )
10、若有定义:int b[5]; 则以下对b 数组元素的正确引用是________。
五、字符串/字符串指针 (共10题,每题1分,共计10分)
( C )
1、下列能正确进行字符串赋值的是________。
( A )
2、下述程序用来输出两个字符串前7个字符中对应相等的字符及其位置号,则程序空白上应该填写的是________。
main()
{
char s1[]="chinese",s2[]="japanese";
int i;
for(i=0;s1[i]='\0'&&s2[i]!='\0';i++) if(s1[i]==s2[i]&&i<7) ________;
}
( C )
3、以下程序段中,不能正确赋字符串(编译时系统会提示错误)的是________。
( D )
4、下列字符串中不能作为c标识符使用的是________。
( C )
5、null是指 ________。
( C )
6、下面程序段的运行结果是 char *s="abcde"; s+=2; printf("%d",s);
( B )
7、下列选项中c语言中不合法的字符串常量的是________。
( A )
8、以下选项中合法的c语言字符常量是________。
( A )
9、以下不能将s所指字符串正确复制到t所指存储空间的是______。
( B )
10、在c语言中,不允许有常量的数据类型是________。
六、函数/函数指针 (共10题,每题1分,共计10分)
( C )
1、#define能作简单的替代,用宏来替代计算多项式5*X*x 4-5*x+5的值的函数f,正确的宏定义语句为( )。
( A )
2、下列函数的类型是________。 fun(double x)
{
float y;
y=3*x-4;
return y;
}
( B )
3、以下关于函数的叙述中正确的是________。
( D )
4、要求函数的功能是交换 x 和 y 中的值,且通过正确调用返回交换结果 . 能正确执行 此功能的函数是______。
( B )
5、结构化程序设计方法的三种基本控制结构中不包括(. )。
( D )
6、在c 语言程序中,在函数内部定义的变量称为________。
( D )
7、设函数定义如下: float f1(float a,float b)
{
return(a+b);
}
若有float x=1.1,y=2.2;
,则以下语句中正确的函数调用是________。
( D )
8、下列选项不属于函数的组成部分是?
( A )
9、c 语言程序的三种基本结构是顺序结构、选择结构和______结构.
( A )
10、以下叙述中正确的是()。
七、指针 (共10题,每题1分,共计10分)
( B )
1、若有定义语句:int a[3][6]; ,按在内存中的存放顺序,a数组的第10个元素是________。
( A )
2、设有如下程序段 char s[20]= "bejing",*p; p=s; 则执行p=s; 语句后,以下叙述正确的是________。
( B )
3、字符串 "\\\"abc\"\\" 的长度是______。
( D )
4、以下数组定义中不正确的是 __________.
( A )
5、执行完语句int [] x= new int [25]; 后,则下列哪项说法是正确的
( B )
6、设int*p[4]; 则标识符p是________。
( D )
7、下列描述中,正确的一条是______。
( D )
8、下面关于数组的描述错误的是________。
( A )
9、对于以下递归函数f,调用f(4),其返回值为()
int f(int n)
{
if (n) return f(n - 1) + n;
else return n;
}
( B )
10、有以下程序段若要给 c1、c2、c3 分别输入字母a,b,c,则以下对输入形式的描述正确的是________。
八、结构体 (共10题,每题1分,共计10分)
( A )
1、有以下程序 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 )
2、若有以下说明语句:
struct student
{
int num;
char name[ ];
float score;
} stu;
则下面的叙述不正确的是: ( )
( D )
3、下列选项中属于c语言构造类型的是________。
( A )
4、以下结构体类型说明和变量定义中正确的是________。
( B )
5、有以下结构体说明和变量的定义,且指针p指向变量a,指针q指向变量b。则不能把结点b连接到结点a之后的语句是 struct node char data; struct node*next; a,b,*p=&a,*q=&b;
( C )
6、以下程序运行后的输出结果是
#include<stdio.h>
struct st
{
int x, y;
} data[2] = {{1, 10},{2, 20}};
main ()
{
struct st *p = data;
printf ("%d,", p->y);
printf ("%d\n", (++p)->x);
}
( C )
7、下面说法正确的是________。
( C )
8、static struct
{
int a1;
float a2;
char a3;
}
a[10]={1,3.5,'a'};
说明数组a是地址常量,它有10个结构体型的下标变量,采用静态存 储方式,其中被初始化的下标变量是________。
( C )
9、定义结构体的关键字是________。
( A )
10、当定义一个结构体变量时,系统分配给它的内存是________。
九、程序题 (共10题,每题1分,共计10分)
( C )
1、有如下程序
main()
{
float x=2.0,y;
if(x<0.0) y=0.0;
else if(x<10.0) y=1.0/x;
else y=1.0;
printf("%f\n",y);
}
该程序的输出结果是________。
( A )
2、有以下程序:
#include<stdio.h>
main()
{
char c1='1',c2='2';
c1=getchar();
c2=getchar();
putchar(c1);
putchar (c2);
}
当程序运行时输入a<回车>后,下列叙述中正确的是________。
( A )
3、下述程序执行的输出结果是________。
main()
{
char a[2][4];
strcpy(a,"are");
strcpy(a[1],"you");
a[0][3]='&';
printf("%s\n",a):
}
( B )
4、有以下程序
#include<stdio.h>
int fun() {
static int x=1;
x+=1;
return x;
}
main() {
int i;
s=1;
for(i=1;i<=5;i++) s+=fun();
printf("%d\n",s);
}
程序运行后的输出结果是________。
( C )
5、有以下程序
#include<stdio.h>
main()
{
int a[5]={1,2,3,4,5}, b[5]={0,2,1,3,0}, i, s=0;
for(i=0;i<5;i++) s=s+a[b[i]];
printf("%d\n",s);
}
程序运行后的输出结果是________。
( C )
6、以下程序输出的结果是 __________.
#include <stdio.h>
void main( )
{
int a[ ]={5,4,3,2,1},i,j;
long s=0;
for(i=0;i<5;i++) s=s*10+a[i];
printf("s=%ld\n",s);
}
( C )
7、下列程序的输出结果是 __________.
#include <stdio.h>
void main()
{
char b[]="abcdefg";
char p=0;
while(p<7) putchar(b[p++]);
putchar('\n');
}
( B )
8、运行下列程序的输出是
#include<stdio.h>
int main()
{
int k=1;
{
int k=2;
printf("%d",k);
}
printf("%d",k);
return 0;
}
( A )
9、下面程序
main()
{
int x=100, a=10, b=20, ok1=5, ok2=0;
if(a<b)if(b!=15)if(!ok1) x=1;
else if(ok2) x=10;
x=-1;
printf("%d\n",x);
}
的输出是______。
( D )
10、下面程序的运行结果是________。
#include <stdio.h>
main()
{
int i, b, k = 0;
for (i = 1; i <= 5; i++)
{
b = i % 2;
while (b-- >= 0) k++;
}
printf("%d,%d", k, b);
}
相关标签:
- C语言
- 厦门理工学院
- 专升本冲刺卷