黑龙江科技大学往年计算机C语言专升本冲刺卷
本试卷为黑龙江科技大学往年计算机C语言专升本冲刺卷,题目包括:理论基础,控制结构,循环结构,数组/指针数组,字符串/字符串指针,函数/函数指针,指针,结构体,程序题。
覆盖的内容包括:理论题,基础知识,控制结构,循环结构,数组/指针数组,字符串/字符串指针,函数/函数指针,指针,结构体,程序题。
计算机C语言专升本冲刺卷
一、理论基础 (共20题,每题1分,共计10分)
( A )
1、表示关系x<=y<=z的c语言表达式为
( B )
2、将八进制数307转换成二进制数是________。
( A )
3、若"int n; float f=13.8; ",则执行"n=(int)f%3"后,n的值是________。
( B )
4、有如下程序段 int *p, a=10, b=1; p=&a ; a=*p+b; 执行该程序段后, a 的值为 。
( B )
5、数据是信息的符号表示; 信息是数据的内涵,是数据的________。
( B )
6、在下面关于指针的说法中,错误的一条是________。
( C )
7、若有定义int a[10],*p=a; 则p+5表示的是________。
( B )
8、下列语句序列执行后,x的值是________。 int a=3,b=4,x=5; if (++ a==b)x=++a*x;
( B )
9、下面关于变量组成部分的描述中正确的是________。
( D )
10、判断char型变量c1是否为小写字母的正确表达式为________。
( B )
11、下列关于自动类型转换的说法中,正确的一个是______。
( D )
12、已有定义int a= -2; 和输出语句 printf("%8x",a); 以下正确的叙述是________。
( A )
13、设变量 m 为 float 类型,变量 n 为 int 类型,则以下能实现将 m 中的数值保留小数点后两位,第三位进行四舍五入运算的表达式是________。
( D )
14、下列是多行注释的符号是________。
( B )
15、设整型变量 m,n,a,b,c,d 均为1,执行 (m=a>b)&&(n=c>d)后, m,n 的值是________。
( B )
16、关于二进制的说法中,正确的是________。
( C )
17、下列选项中,不能正确定义c语言整型常量是?
( A )
18、若变量已正确说明为float类型,要通过语句 scanf("%f %f %f",&a,&b,&c); 给a赋予10.0,b赋予22.0,c赋予33.0,正确的输入形式是________。
( C )
19、以下数值中,不正确的八进制数或十六进制数是________。
( A )
20、char a1[]="abc",a2[80]="1234"; 将a1串连接到a2串后面的语句是________。
二、控制结构 (共10题,每题1分,共计10分)
( A )
1、若a是数值类型,则逻辑表达式(a==1)||(a!=1)的值是________。
( C )
2、设a、b、e、d、m、n均为int型变量,且a=5、b=6、c=7、d=8、m=2、n=2,则逻辑表达式(m=a>b)&&(n=c>d)运算后,n的值是________。
( B )
3、下列表达式为关系表达式的为_________。(其中a为一整型变量)
( A )
4、switch语句不能用于下列哪种数据类型 ( )
( A )
5、分析下列程序:
#include<stdio.h>
main()
{
int*p1,*p2,*p;
int a=6,b=9;
p1=&a;
p2=&b;
if(a<b)
{
p=p1;
p1=p2;
p2=p;
}
printf("%d,%d",*p1,*p2);
printf("%d,%d",a,b);
}
程序的输出结果为________。
( C )
6、c语言中下面哪个不是条件语句?
( A )
7、c语言的if语句中,用作判断的表达式为____
( D )
8、选择结构中的条件与循环结构中循环成立的条件,在写法上可以是任一表达 式,但其值只能被判断为“真”或“假”。哪个数作为逻辑“假”值()。
( C )
9、结构化程序设计所规定的三种基本控制结构是()。
( A )
10、执行下面语句后的输出为____
int i= -1;
if (i < =0)printf("****\n");
else printf("%%%%\n");
三、循环结构 (共10题,每题1分,共计10分)
( C )
1、有以下程序
#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");
}
程序运行后的输出结果是________。
( A )
2、下列关于宏操作的叙述错误的是________。
( C )
3、下列关于break语句的描述,不正确的是________。
( C )
4、在下列选项中,没有构成死循环的程序段是________。
( B )
5、以下选项中与if(a==1)a++; else a=b; 语句功能不同的语句是________。
( D )
6、以下程序的输出结果是______。
main()
{
int a,b;
for(a=1,b=1;a<=100;a++)
{
if(b>=10) break;
if(b%3==1)
{
b+=3;
continue;
}
}
printf("%d\n",a);
}
( A )
7、下列c语言程序段中关于while循环体正确的说法是inti=1;
while(5)
{
i++;
if(i>3)break;
}
( B )
8、若变量已正确定义:for(x=0,y=0;(y!=99&&x<4);x++) 则以上 for 循环()
( A )
9、以下叙述中正确的是________。
( D )
10、以下程序中,while循环的循环次数是______
main()
{
int i=0;
while(i<10)
{
if(i<1) continue;
if(i==5) break;
i++;
}
}
四、数组/指针数组 (共10题,每题1分,共计10分)
( B )
1、以下能正确定义一维数组的选项是________。
( A )
2、设有如下程序段 char s[20]= "bejing",*p; p=s; 则执行p=s; 语句后,以下叙述正确的是________。
( C )
3、在定义 int a[5][6]; 后,数组 a 中的第 10 个元素是__________ (设 a[0][0] 为第一个元素)
( B )
4、若有定义:int a[4][10]; 则以下选项中对数组元素a[i][j]引用错误的是______。 (0<=i<4,0<=j<10)
( C )
5、下面程序的输出结果是
#include<stdio.h>
main()
{
int a[]=1,2,3,4,5,6,7,8,9,0,*p;
p=a;
printf("%d\n",*p+9);
}
( C )
6、设有如下定义:char*aa[2]="abcd","abcd",则以下说法中正确的是________。
( A )
7、对于定好的数组,系统会自动为该数组分配内存空间,char c[20]= { "hello world" }对于c对应的内存中的地址编号是2000,则c[4]对应的内存地址的编号为________。
( B )
8、以下能正确定义一维数组的选项是________。
( D )
9、若有以下定义和语句: int a[10]={1,2,3,4,5,6,7,8,9,10}
, *p=a;
不能表示a数组元素的表达式是________。
( A )
10、下列数组说明中,正确的是()。
五、字符串/字符串指针 (共10题,每题1分,共计10分)
( B )
1、设有字符串a="he has 钱!",则该字符串的长度为( )。
( A )
2、下列字符串是标识符的是________。
( A )
3、以下不能正确进行字符串赋初值的语句是________。
( C )
4、设有定义:char s[81]; int i=0; 以下不能将一行(不超过80个字符)带有空格的字符串正确读入的语句或语句组是________。
( D )
5、以下程序运行后的输出结果是
main( )
{
char s[]="ABCD",*p;
for(p=s+1;p<s+4;p++)printf("%s\n",p);
}
( B )
6、在c语言中,不允许有常量的数据类型是________。
( A )
7、下面不正确的字符串常量是________。
( A )
8、以下正确的字符串常量是________。
( D )
9、若有char s1[]="abc",s2[20],*t=s2;gets(t);则下列语句中能够实现当字符串 s1 大于字符串 s2 时,输出 s2 的语句是()。
( A )
10、char a[]="This is a program.";输出前 5 个字符的语句是()。
六、函数/函数指针 (共10题,每题1分,共计10分)
( B )
1、c语言允许函数值类型缺省定义,此时该函数值隐含的类型是________.
( A )
2、c 语言的基本构成单位是: 。
( B )
3、在以下叙述中,不正确的选项是 __________ 。
( A )
4、假设有语句sizeof(double),则它是________。
( C )
5、下面正确的函数定义形式为________。
( A )
6、以下叙述中错误的是______。
( B )
7、有以下函数 int fun(char *s)
{
char *t=s;
while(*t++);
return(t-s);
}
该函数的功能是________。
( B )
8、有以下程序: fun(int x,int y)
{
static int m=0, i=2;
i+=m+1;
m=i+x+y;
return m;
}
main()
{
int j=1,m=1,k;
k=fun(j,m);
printf("%d,"k);
k=fun(j,m);
printf("%d\n",k);
}
执行后的输出结果是________。
( D )
9、c语言中函数能否嵌套调用和递归调用?( )
( D )
10、函数调用:strcat(strcpy(str1,str2),str3)的功能是________。
七、指针 (共10题,每题1分,共计10分)
( D )
1、若有定义:int c[4][5],(*cp)[5]; 和语句cp=c; ,则能正确引用c数组元素的是________。
( 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、定义如下变量和数组 : int i;
int x[4][4]= { 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16 };
则下面语句的输出结果是 __________.
for(i=0;i<4;i++)
printf("%3d",x[i][3-i]);
( A )
4、设函数中有整型变量a,为保证其在未赋初值的情况下初值为0,应选择的存储类别是________。
( C )
5、若有说明语句:int i,x[3][4]; 则不能将x[1][1]的值赋给变量i的语句是______。
( C )
6、设有定义语句int a []= { 66,77,99 },则下列对此语句的叙述中错误的是________。
( C )
7、null是指 ________。
( A )
8、以下叙述中正确的是______。
( D )
9、下列有关格式输入函数scanf的叙述中正确的是________。
( B )
10、字符串指针变量中存入的是________。
八、结构体 (共10题,每题1分,共计10分)
( C )
1、有以下程序
struct stu
{
char name[10];
int num;
int score;
}
;
main( )
{
struct stu s[5]={{"yangsan",20041,703} , {"lisiguo",20042,580 , {"wangyin",20043,680}, {"sundan",20044,550}, {"penghua",20045,537}},*p[5],*t;
int i,j;
for(i=0;i<5;i++) p[i]=&s[i];
for(i=0;i<4;i++) for(j=i+1;j<5;j++) if(p[i]->score>p[j]->score)
{
t=p[i];
p[i]=p[j];
p[j]=t;
}
printf("5d %d\n",s[1].score,p[1]->score);
}
执行后输出结果是________。
( B )
2、下面结构体的定义语句中,错误的是________。
( C )
3、设有以下说明语句:
typedef struct stu
{
int a;
float b;
} stutype;
则下面叙述中错误的是________。
( C )
4、有以下程序段
typedef struct node
{
int data;
struct node * next;
}
* node;
node p;
以下叙述中正确的是________。
( A )
5、c 语言中的基本数据类型包括
( B )
6、设有如下定义:
struct sk
{
int a;
float b;
}
data,*p;
若有p=&data;
则对data中成员a的引用正确的是________。
( B )
7、有如下定义
struct person
{
char name[9];
int age;
}
;
struct person class[10] = {"john",17, "paul",19, "mary",18, "adam",16};
根据上述定义,能输出字母a的语句是______。
( C )
8、static struct
{
int a1;
float a2;
char a3;
}
a[10]={1,3.5,'a'};
说明数组a是地址常量,它有10个结构体型的下标变量,采用静态存 储方式,其中被初始化的下标变量是________。
( C )
9、定义结构体的关键字是________。
( D )
10、在说明一个结构体变量时系统分配给它的存储空间是________ 。
九、程序题 (共10题,每题1分,共计10分)
( B )
1、有以下程序
#include <stdio.h>
main()
{
int x;
scanf("%d",&x);
if(x<=3);
else if(x!=10) printf("%d\n",x);
}
程序运行时,输入的值在哪个范围才会有输出结果
( A )
2、下列程序执行后输出的结果是________。
int d=1;
fun (int p)
{
int d=5;
d + =p ++;
printf("%d,",d);
}
main()
{
int a=3;
fun(a);
d += a++;
printf("%d\n",d);
}
( B )
3、下列程序的输出结果是________。
int b=2: int func(int*a)
{
b+=*a;
return b;
}
main()
{
int a=1,t=2;
t+=func(&a): printf("%d\n",t);
}
( A )
4、有以下程序
#inctude<stdio.h>
#include<stdlib.h>
main() {
int *a,*b,*c;
a=b=c=(int*)malloc(sizeof(int));
*a=1;
*b=2,*c=3;
a=b;
printf("%d,%d,%d\n",*a,*b,*c);
}
程序运行后的输出结果是________。
( A )
5、有以下程序
#include <stdio.h>
#define F(X,Y) (X)*(Y)
main()
{
int a=3, b=4;
printf("%d\n", F(a++, b++));
}
程序运行后的输出结果是________。
( A )
6、以下程序的输出结果是
main()
{
char x=040;
printf("%0\n",x<<1);
}
( C )
7、有以下程序
#include <stdio.h>
void fun(char *a,char *b)
{
while(*a==’*’) a++;
while(*b=*a)
{
b++;
a++;
}
}
main()
{
char *s="****a*b****",t[80];
fun(s,t);
puts(t);
}
程序的运行结果是________。
( C )
8、请读程序:
# include<stdio.h>
main( ) {
int num=0;
while(num<=2) {
num++;
printf("%d\n",num);
}
}
上面程序的输出结果是________。
( A )
9、有以下程序: void
main()
{
int m,n,p;
scanf("m=%dn=%dp=%d",&m,&n,&p);
printf("%d%d%d\n",m,n,p);
}
若想从键盘上输入数据,使变量m中的值为123,n中的值为456,p中的值为789,则正确的输入是________。
( D )
10、下面程序
void prtv(int *x)
{
printf("%d\n",++*x);
}
main()
{
int a=25;
prtv(&a);
}
的输出是______。
相关标签:
- C语言
- 黑龙江科技大学
- 专升本冲刺卷