湖北汽车工业学院2023年计算机C语言专升本预测卷
本试卷为湖北汽车工业学院2023年计算机C语言专升本预测卷,题目包括:理论基础,控制结构,循环结构,数组/指针数组,字符串/字符串指针,函数/函数指针,指针,结构体,程序题。
覆盖的内容包括:理论题,基础知识,控制结构,循环结构,数组/指针数组,字符串/字符串指针,函数/函数指针,指针,结构体,程序题。
计算机C语言专升本预测卷
一、理论基础 (共20题,每题1分,共计10分)
( B )
1、若变量已正确定义为float型,要通过输入语句:scanf("%f%f%f",&a,&b,&c);给a赋值11.0,b赋值22.0,e赋值33.0,不正确的输入形式是________。
( B )
2、现有定义int a; double b; float c; char k; 则表达式a/b+c-k值的类型为
( C )
3、若变量c为char类型,则能正确判断出c为大写字母的表达式是________。
( B )
4、设有以下语句char ch1,ch2, scanf("%c%c",&ch1,&ch2);
若要为变量ch1和ch2分别输入字符a和b,正确的输入形式应该是________。
( B )
5、如果一个表达式包含算术运算、关系运算、逻辑运算和字符运算时,运算的先后顺序是________。
( C )
6、以下选项中属于c语言数据类型的是________。
( C )
7、下列声明和赋值语句错误的是________。
( C )
8、下列关于指针说法的选项中,正确的是________。
( B )
9、有如下程序段int *p,a=1,b=2; p=&b; a=*p+a; 执行该程序段后,a的值为______。
( C )
10、不正确的赋值或赋初值的方式是____。
( D )
11、执行语句组 int a,b; b=(a=4*9,a*2),a-3; 后, b 的值是________。
( C )
12、"对下面程序段: #define A 3 #define B(a) ((A+1)*a)...x=3*(A+B(7)); 正确的判断是________。"
( D )
13、以下关于注释的叙述中错误的是________。
( B )
14、表达式,0x13&0x17的值是________。
( D )
15、整型变量x和y的值相等、且为非0值,则以下选项中,结果为零的 表达式是________。
( D )
16、为了要计算s=10!(10 的阶乘),则以下对s 的定义正确的是________。标识符由字母,数字和下划线组成且第一个字符必须为字母或下划线auto 自动变量register 寄存器变量extern 外部变量static 静态变量
( B )
17、若 x=2,y=3 则 x||y 的结果是
( A )
18、C语言中,char 类型数据占()。
( B )
19、下列各 m 的值中,能使 m%3==2&&m%5==3&&m%7==2 为真的是()。
( C )
20、以下运算符中,优先级最高的运算符是()。
二、控制结构 (共10题,每题1分,共计10分)
( D )
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的值是________。
( A )
3、下列程序的输出结果是________。
main()
{
int a=0,i;
for(i=1;i<5;i++)
{
switch(i)
{
case 0: case 3:a+=1;
case 1;
case 2:a+=2;
default:a+=3;
}
}
printf("%d",a);
}
( C )
4、若a的值为3时,下列程序段被执行后,c的值是________。 int c = 1; if (a>0) if (a>3) c = 2; else c = 3; else c = 4;
( A )
5、在c程序中,判断逻辑值时,分别用( )表示逻辑值"真"、"假"。
( A )
6、if语句的基本形式是:if(表达式)语句,以下关于"表达式"值的叙述中正确的是______。
( B )
7、以下if语句书写正确的是________。
( D )
8、以下叙述中正确的是________。
( A )
9、c语言的if语句嵌套时,if与else的配对关系是________。
( A )
10、c 语言中逻辑表达式的值为________。
三、循环结构 (共10题,每题1分,共计10分)
( D )
1、以下叙述中正确的是________。
( B )
2、若i、j已定义成int型,则下列程序段中内循环体的总执行次数是________。
for(i=6;i>0;i--) for(j=0;j<4;j++)
{
…
}
( B )
3、语句 for(k=0;k<5;++k)
{
if(k== 3) continue;
printf("%d",k);
}
的输出结果为______
( D )
4、下列关于do…while语句的叙述中正确的是________。
( C )
5、for(int x=0,y=0;!x&&y<=5;y++)语句执行循环的次数是________。
( B )
6、程序语言一般都提供多种循环语句,例如实现先判断循环条件再执行循环体的while语句和先执行循环体再判断循环条件的do-while语句。关于这两种循环结构,在不改变循环体的条件下, (17) 是正确的。
( B )
7、下列for循环的次数为________。 for( int i=0,x=0;!x&&i<=5;i++)
( D )
8、下面有关for循环的正确描述是________。
( B )
9、有以下程序
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<回车>,程序执行后的输出结果是________。
( C )
10、以下描述正确的是________。
四、数组/指针数组 (共10题,每题1分,共计10分)
( C )
1、设有数组定义:char array[]="student"; 则数组所占的存贮空间为________。
( A )
2、二维数组a[8][9]按行优先顺序存储,若数组元素a[2][3]的存储地址为1087,a[4][7]的存储地址为1153,则数组元素a[6][7]的存储地址为 ( )
( A )
3、有以下程序:
main()
{
int a[]={1,2,3,4,5,6,7,8,9,0},*p;
for(p=a;p<a+10,p++)printf("%d,",*p);
}
程序运行后的输出结果是________。
( A )
4、设有数组定义:char array[]="china"; 则数组array所占的空间为________。
( C )
5、阅读下列程序段: char s[18] = "a book!"; printf("%.4s\n", s);
其输出结果为________。
( C )
6、以下二维数组c 的定义形式是________。
( B )
7、以下能正确定义一维数组的选项是________。
( D )
8、若有以下定义和语句: int a[10]={1,2,3,4,5,6,7,8,9,10}
, *p=a;
不能表示a数组元素的表达式是________。
( B )
9、若有说明: static int a[3][4]; 则数组中各元素________。
( B )
10、若有下列定义和语句,则对 a 数组元素的非法引用是()。 int a[2][3], (*pt)[3]; pt=a;
五、字符串/字符串指针 (共10题,每题1分,共计10分)
( D )
1、s1和s2已正确定义并分别指向两个字符串。若要求:当s1所指串大于s2所指串时,执行语句s; 则以下选项中正确的是________。
( A )
2、下列字符串是标识符的是________。
( A )
3、下列选项中,能够满足"若字符串s1等于字符串s2,则执行st"要求的是________。
( A )
4、下列字符串是标识符的是: 。
( B )
5、设宏定义#define PI 3.1415926,用宏名PI替换的是________。
( D )
6、有以下程序:
#include<string.h>
main()
{
char *p="abcde\0ghjik\0";
printf("%d\n",strlen(p) );
}
程序运行后的输出结果是________。
( B )
7、以下关系表达式中,其值为true的是________。
( D )
8、下列字符串中可以用作c标识符的是________。
( B )
9、宏定义用于将一个标识符定义为一个
( D )
10、有以下程序
void fun(char s[][10],int n)
{
char t;int i,j;
for(i=0;i<N-1;I++)
for(j=i+1,j<N;J++)}
/*比较字符串的首字符大小,并交换字符
串的首字符*/
if(s[i][0])>s[j][0]){
t=s[i][0];s[i][0]=s[j][0];s[j][0]=t;
}
main()
{
char ss[5][10]={“bcc”,”bbcc”,”xy”,”aaaacc”,”aabcc”};
fun(ss,5);printf(”%s,%s”,ss[0],ss[4]);
}
程序运行结果是________。
六、函数/函数指针 (共10题,每题1分,共计10分)
( D )
1、有以下程序 char fun(char x , char y)
{
if(x<y) return x;
return y;
}
main( )
{
int a=’9’,b=’8’,c=’7’;
printf("%c\n",fun(fun(a,b),fun(b,c)));
}
程序的执行结果是________。
( C )
2、若有以下程序
#include <stdio.h>
void f(int n);
main()
{
void f(int n);
f(5);
}
void f(int n)
{
printf("%d\n",n);
}
则以下叙述中不正确的是________。
( A )
3、下列程序的输出结果是________。
#include <stdio.h>
int f(int a,int b);
main()
{
int i=2,p,j,k;
j=i;
k=++i;
p=f(j,k);
printf("%d",p);
}
int f(int a,int b)
{
int c;
if(a>b)c=1;
else if(a==b) c=0;
else c=-1;
return(c);
}
( A )
4、下述函数功能是_______。
int fun (char *x)
{
char *y = x;
while (*y++);
return y - s - 1;
}
( C )
5、若有以下说明和定义union dt
{
int a;
char b;
double c;
}
data;
以下叙述中错误的是______。
( D )
6、设变量均已正确定义,若要通过scanf("%d%c%d%c",&a1,&c1,&a2,&c2); 语句为变量a1和a2赋数值 10和20,为变量c1和c2赋字符x和y。以下所示的输入形式中正确的是(注:口代表空格字符)
( B )
7、如果在一个函数中的复合语句中定义了一个变量,则该变量________。
( A )
8、以下描述错误的是________。
( D )
9、以下叙述中正确的是________。
( D )
10、若调用 fputc 函数输出字符成功,则其返回值是()。
七、指针 (共10题,每题1分,共计10分)
( D )
1、若已定义: int a[4][3]=(1,2,3,4,5,6,7,8,9,10,1i,12),(*prt) [3]=a,*p=a[0];则能够正确表示数组元素a[1][2]的表达式是________。
( C )
2、以下正确的函数定义形式是________.
( B )
3、以下正确的描述是________ 。
( A )
4、以下不能正确计算代数式 值的c语言表达式是________。
( A )
5、若有定义语句: int a[4][10],*p,*q[4]; 且0<=i<4,则错误的赋值是________。
( B )
6、以下叙述中正确的是________。
( C )
7、以下叙述中正确的是________。
( B )
8、c语言中不可以嵌套的是________。
( B )
9、putchar()函数可以向终端输出一个________。
( A )
10、以下叙述中正确的是()。
八、结构体 (共10题,每题1分,共计10分)
( A )
1、有以下程序
#include <studio.h>
#include <string.h>
struct a
{
int a;
char b[10];
double c;
};
void f(struct a t);
main()
{
struct a a={1001,"zhangda",1098.0};
f(a);
pringt("%d,%s,%6.1f\n",a.a,a.b,a.c);
}
void f(struct a t)
{
t.a=1002;
strcpy(t.b,"changrong");
t.c=1202.0;
}
程序运行后的输出结果是________。
( C )
2、设
struct data
{
int a;
float b;
} c,*p=&c;
,引用正确的是________。
( B )
3、有以下定义和语句:
struct students {
int num;
char name[20];
char c;
struct {
int grade1;
int grade2;
} s;
};
struct students w,*pw;
*pw=w;
下列赋值语句不正确的是________。
( B )
4、c语言中的基本数据类型是________。
( C )
5、设有如下说明
typedef struct st
{
long a;
int b;
char c[2];
}
new;
则下面叙述中正确的是______。
( B )
6、有以下结构体说明和变量的定义,且指针p指向变量a,指针q指向变量b。则不能把结点b连接到结点a之后的语句是________。
struct node
{
char data;
struct node *next;
}
a,b,*p=&a,*q=&b;
( A )
7、以下程序的运行结果是
#include"stdio.h"
main()
{
struct date {
int year, month, day ;
} today;
printf("%d\n",sizeof(struct date));
}
( C )
8、在c语言中,系统为一个结构体变量分配的内存是________。
( D )
9、设有以下说明语句:
typedef struct stu
{
int a;
float b;
}
stutype;
则下面叙述中错误的是________。
( C )
10、若有定义:
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);
语句的输出结果为________。
九、程序题 (共10题,每题1分,共计10分)
( A )
1、有以下程序:
#include<stdio.h>
main()
{
char c1='1',c2='2';
c1=getchar();
c2=getchar();
putchar(c1);
putchar (c2);
}
当程序运行时输入a<回车>后,下列叙述中正确的是________。
( B )
2、以下程序运行后,输出结果是________。
#define PT 5.5
#define S(x) PT*x*X
main()
{
int a=1,b=2:;
printf("%4.1f\n",s(a+b));
}
( A )
3、以下程序的输出结果是
main()
{
char x=040;
printf("%0\n",x<<1);
}
( C )
4、以下程序输出的结果是 __________.
#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);
}
( A )
5、以下程序输出的结果是 __________.
#include <stdio.h>
void main( )
{
int a[ ]={1,2,3,4,5},i,j,s=0;
for(i=0;i<5;i++) s=s*10+a[i];
printf("s=%d\n",s);
}
( A )
6、以下程序的输出结果是________。
main()
{
int x=0x02ff,y=0x0ff00;
printf("%d\n",(x&y)>>410x005f);
}
( C )
7、有如下程序
main( )
{
int a=7,b=5,c=9;
if(a<b)if(b<0) c=0;
else c++;
printf("%d\n",c);
}
该程序的输出结果是______。
( C )
8、以下程序的输出结果是______。
main()
{
int i,x[3][3]={9,8,7,6,5,4,3,2,1},*p=&x[1][1];
for(i=0;i<4;i+=2) printf("%d",p[i]);
}
( A )
9、下列程序的输出结果为________。
main()
{
int m=7,n=4;
float a=38.4,b=6.4,x;
x=m/2+n*a/b+1/2;
printf("%f\n",x);
}
( A )
10、以下程序的运行结果是________。
void sub (int x,int y,int *z)
{
*z=y-x;
}
main()
{
int a,b,c;
sub(10,5,&a);
sub(7,a,&b);
sub(a,b,&c);
printf("%4d,%4d,%4d",a,b,c);
}
相关标签:
- C语言
- 湖北汽车工业学院
- 专升本预测卷