国际关系学院2022年计算机C语言专升本冲刺卷
本试卷为国际关系学院2022年计算机C语言专升本冲刺卷,题目包括:理论基础,控制结构,循环结构,数组/指针数组,字符串/字符串指针,函数/函数指针,指针,结构体,程序题。
覆盖的内容包括:理论题,基础知识,控制结构,循环结构,数组/指针数组,字符串/字符串指针,函数/函数指针,指针,结构体,程序题。
计算机C语言专升本冲刺卷
一、理论基础 (共20题,每题1分,共计10分)
( C )
1、若ch为char型变量,k为int型变量(已知字符a的ascil码是97),则执行下列语句后输出的结果为( )。
ch='b'; k=10;
printf("%x,%0,",ch,ch,k);
printf("k=%%d\n",k);
( A )
2、下列运算符中优先级最高的算符是________。
( B )
3、在c语言程序中可用做用户标识符的是________。
( C )
4、执行下面程序时,欲将25和2.5分别赋给a和b,正确的输入方法是________。 int a; float b; scanf("a=%d,b=%f",&a,&b);
( A )
5、下列语句中,正确的是________。
( D )
6、有以下程序
main( )
{
int i,s=0;
for(i=1;i<10;i+=2) s+=i+1;
printf("%d\n",s);
}
程序执行后的输出结果是________。
( C )
7、若 a 为整型变量,则以下语句 。 a=-2l; printf("%d\n",a);
( B )
8、在下面关于指针的说法中,错误的一条是________。
( C )
9、以下说法中正确的是________。
( A )
10、若变量均已正确定义并赋值,以下合法的c语言赋值语句是________。
( B )
11、汉字国标码规定的汉字编码每个汉字用______个字节表示。
( D )
12、若有定义:int x,y; char a,b,c; 并有以下输入数据(此处\u代表空格):1\u2\ua\ub\uc,那么能给x赋整数1,给y赋整数2,给a赋字符a,给b赋字符b,给c赋字符c的正确程序段是________。
( B )
13、以下叙述中正确的是______。
( D )
14、在c集成环境执行菜单命令"运行",若运行结束且没有系统提示信息,说明---。
( B )
15、为表示关系x>y>z ,应使用的c 语言表达式是________。
( D )
16、假定x和y为double型,则表达式x=2,y=x+3/2的值是________。
( A )
17、以下选项中不合法的标识是________。
( C )
18、以下叙述中错误的是________。
( D )
19、设变量定义为"int a, b;
",执行下列语句时,输入(),则a和b的值都是10.\n scanf("a=%d, b=%d",&a, &b);
( D )
20、以下不正确的说法是____
二、控制结构 (共10题,每题1分,共计10分)
( A )
1、与 y=(x>0?1:x<0?-1:0); 的功能相同的if语句是________。
( A )
2、若a是数值类型,则逻辑表达式(a==1)||(a!=1)的值是________。
( 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);
}
( A )
4、if语句的基本形式为:if(表达式)语句,其中"表达式"________。
( D )
5、若a和b均是整型变量并已正确赋值,正确的switch语句是________。
( B )
6、有以下程序
#include <stdio.h>
main ()
{
int a = 5, b = 4, c = 3, d = 2;
if (a > b > c)
printf ("%d\n", d);
else if ((c - 1 >= d) == 1)
printf ("%d\n", d + 1);
else
printf ("%d\n", d + 2);
}
执行后输出的结果是________。
( A )
7、有如下程序
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);
}
该程序的输出结果是______。
( B )
8、能正确表示a≥10或a≤0的关系表达式是________。
( D )
9、在c 的if 语句中,可用作条件的表达式是________。
( D )
10、选择结构中的条件与循环结构中循环成立的条件,在写法上可以是任一表达 式,但其值只能被判断为“真”或“假”。哪个数作为逻辑“假”值()。
三、循环结构 (共10题,每题1分,共计10分)
( B )
1、定义如下变量: int n=10; 则下列循环的输出结果是________。 while(n>7)
{
n--;
printf("%d\n",n);
}
( B )
2、有如下程序
#include<stdio.h>
void main()
{
int x=23;
do
{
printf("%d",x--);
}
while(!x);
}
该程序的执行结果是 _________。
( B )
3、对于while、do…while循环结构,正确的说法是________。
( B )
4、下列for循环的次数为________。 for( int i=0,x=0;!x&&i<=5;i++)
( D )
5、下列不是循环语句的是________。
( D )
6、流程控制语句的基本控制结构有三种,其中不包括________。
( C )
7、程序的基本控制结构是______。
( B )
8、以下程序的功能是计算s=1+12+123+1234+12345。
#include <stdio.h>
main()
{
int t=0,s=0,i;
for(i=1;i<=5;i++) {
t=i+_____;
s=s+t;
}
printf("s=%d\n",s);
}
则______部分是________。
( A )
9、有以下程序:
main()
{
int k=5;
while(--k)printf(”%d”,k-=3);
printf(”n”);
}
执行后的输出结果是________。
( A )
10、以下叙述中正确的是________。
四、数组/指针数组 (共10题,每题1分,共计10分)
( D )
1、以下不能正确定义二维数组的选项是________。
( B )
2、以下程序调用findmax函数返回数组中的最大值
findmax(int *a,int n)
{
int *p,*s;
for(p=a,s=a; p-a<n; p++) if ( ) s=p;
return(*s);
}
main()
{
int x[5]={12,21,13,6,18};
printf("%d\n",findmax(x,5));
}
在下划线处应填入的是________。
( C )
3、以下函数按每行8个输出数组中的数据
void fun( int *w, int n)
{
int i;
for(i=0;i<n;i++)
{
________ printf("%d",w[i]);
}
printf("\n");
}
下列划线处应填入的语句是________。
( B )
4、下列对c语言字符数组的描述中正确的是________。
( B )
5、设矩阵a是一个n×n对称矩阵.即a[i,j]=a[i,j],为了节省存储空间,将其下三角部分按行序为主序存放在一维数b[1...n(n+1)/2]中,对任一下三角元素aij(i≥j),在一维数组b的下标位置k的值是______。
( A )
6、设有定义 double a[10],*s=a; 以下能够代表数组元素a[3]的是______。
( D )
7、以下关于排序算法的叙述中,正确的是________。
( A )
8、有说明语句int a[4][5]; 则a[2]+3表示__。
( C )
9、数组 int a[3][4]; 其中错误的数组引用为________。
( A )
10、下列字符数组长度为5的是________。
五、字符串/字符串指针 (共10题,每题1分,共计10分)
( C )
1、对下述程序的判断中,正确的是________。
main()
{
char*p,s[256];
p=s ;
while(strcmp(s,"the end"))
{
printf("input the string:");
gets(s);
while(*p) putchar(*p++);
}
}
( A )
2、下列选项中,能够满足"若字符串s1等于字符串s2,则执行st"要求的是________。
( D )
3、以下能正确定义字符串的语句是________。
( A )
4、以下选项中合法的c语言字符常量是________。
( C )
5、有以下程序:
main()
{
char str[]="xyz", *ps=str;
while(*ps) ps++;
for(ps--;ps-str>=o;ps--) puts(ps);
}
执行后的输出结果是________。
( B )
6、有以下程序
#include<stdio.h>
main()
{
char s[]="012xy\08s34f4w2";
int i, n=0;
for(i=0; s[i]!=0; i++) if(s[i]>='0'&&s[i]<='9') n++;
printf("%d\n", n);
}
程序运行后的输出结果是______。
( B )
7、下列变量定义中,错误的是______。
( C )
8、\、/、mod、*等4个算术运算符中,优先级最低的是________。
( A )
9、下面不能正确进行字符串赋值操作的语句是________。
( D )
10、若有char s1[]="abc",s2[20],*t=s2;gets(t);则下列语句中能够实现当字符串 s1 大于字符串 s2 时,输出 s2 的语句是()。
六、函数/函数指针 (共10题,每题1分,共计10分)
( C )
1、以下叙述中正确的是________。
( D )
2、设有宏定义:#define IsDIV(k,n) ((k%n==1)?1:0)且变量m已正确定义并赋值,则宏调用:IsDIV(m,5)&& IsDIV(m,7)为真时所要表达的是________。
( B )
3、下面函数的功能是______。 sss ( char *s , char *t )
{
while (( *s ) && ( *t ) && ( *t++== *s++ )) ;
return ( *s-*t ) ;
}
( D )
4、若有以下函数首部: int fun(double x[10],int *n) 则下面针对此函数的函数声明语句中正确的是________。
( C )
5、程序中对fun函数有如下说明 void*fun(); 此说明的含义是________。
( D )
6、以下有关function过程的说法中,正确的是______ 。
( C )
7、函数定义为fun(int &i),变量定义n=100,则下面调用正确的是________。
( C )
8、若有以下说明和定义union dt
{
int a;
char b;
double c;
}
data;
以下叙述中错误的是______。
( A )
9、关于函数参数,说法正确的是________。
( C )
10、以下与库函数strcmp(char*s,char*t) 的功能相等的程序段是________。
七、指针 (共10题,每题1分,共计10分)
( B )
1、以下能正确定义二维数组的是________。
( C )
2、若有函数 max ( a , b ),并且已使函数指针变量 p 指向函数 max ,当调用该函数时, 正确的调用方法是______。
( C )
3、下列叙述中错误的是________。
( D )
4、设已有定义:float x; 则以下对指针变量p进行定义且赋初值的语句中正确的是______。
( B )
5、设 void f1 (int *m,long & n); int a; long b; 则以下调用合法的是______ 。
( A )
6、以下程序运行后的输出结果是
#include <stdio.h>
void fun(int a,int b) {
int t;
t=a;
a=b;
b=t;
}
main( ) {
int c[10]=1,2,3,4,5,6,7,8,9,0,i;
for(i=0;i<10;i+=2) fun(c[i],c[i+1]);
for(i=0;i<10;i++) prinff("%d,",c[i]);
printf("\n");
}
( C )
7、下列选项中,表示字符串末尾的结束标志是________。
( B )
8、凡是函数中未指定存储类别的局部变量,其隐含的存储类别为________。
( D )
9、若希望下列的程序运行后输出25,程序空白处的正确选项是________。
main()
{
int i,j=50,a[]={7,4,10,5,8};
for(_____)
j+=a[i];
print(”%d”,j-40);
}
( D )
10、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);
}
执行后的输出结果是________。
( C )
2、以下关于c语言数据类型的叙述中正确的是________。
( A )
3、下列选项中不属于c语言的数据类型是________。
( A )
4、以下结构体类型说明和变量定义中正确的是________。
( C )
5、设有以下语句:
typedef struct tt { char c; int a[4]; } cin; 则下面叙述中正确的是________。
( A )
6、设有以下语句
typedef struct s
{
int g;
char h;
}
t;
则下面叙述中正确的是________。
( A )
7、c 语言中的基本数据类型包括
( B )
8、设有如下定义:
struct sk
{
int a;
float b;
}
data,*p;
若有p=&data;
则对data中成员a的引用正确的是________。
( A )
9、在下列程序段中,枚举变量c1,c2的值依次是________。
enum color
{
red,
yellow,
blue=4,
green,
white
}
c1,c2;
c1=yellow;
c2=white;
printf("%d,%d\n",c1,c2);
( B )
10、c语言中,定义结构体的保留字是________。
九、程序题 (共10题,每题1分,共计10分)
( A )
1、有以下程序
main()
{
int a,b,c=246;
a=c/100%9;
b=(-1)&&(-1);
printf("%d,%d\n",a,b);
}
输出结果是________。
( B )
2、已知x=2.5,a=7,y=4.7,则表达式 x+a%3*(int)(x+y)%2/4 的结果是________。
( D )
3、下面程序的输出是 ___________
#include<stdio.h>
void main()
{
int k=11;
printf("k=%d,k=%o,k=%x\n",k,k,k);
}
( A )
4、已知字母a的ascii码为十进制数65,下面程序的输出结果是________。
main( ) {
char ch1,ch2;
ch1=a+5-3;
ch2=a+6-3;
printf("%d,%c\n",ch1,ch2);
}
( C )
5、下列程序的输出结果是______。 int fun(int x,int y,int*cp,int*dp)
{
*cp=x+y;
*dp=x-y;
}
main()
{
int a, b, c, d;
a=30;
b=50;
fun(a,b,&c,&d);
printf("%d,%d\n", c, d);
}
( A )
6、下列程序的输出结果是______。
#include <stdio.h>
main()
{
union
{
int k;
char i[2];
}
*s,a;
s=&a;
s->i[0]=0x39;
s->i[1]=0x38;
printf("%x\n",s->k);
}
( D )
7、以下程序结果为:______。
void add( )
{
static int y=1;
y++;
printf("%d",y);
}
main( )
{
int m;
for(m=0;m<4;m++)add( );
}
( C )
8、有以下程序
main()
{
int a=666,b=888;
printf("%d\n",(a,b));
}
程序运行后的输出结果是______。
( B )
9、有以下程序
#include <stdio.h>
#define N 4
void fun(int a[][N],int b[])
{
int i;
for(i=0;i<N;i++) b[i]=a[i][i];
}
main()
{
int x[][N]={{1,2,3},{4},{5,6,7,8},{9,10}},y[N],i;
fun(x,y);
for(i=0;i<N;i++) printf("%d,",y[i]);
printf("\n");
}
程序的运行结果是______。
( B )
10、有以下程序的输出结果为________。
main()
{
char a = 0x95, b, c;
b = (a & 0xf) << 4;
c = (a & 0xf0) >> 4;
a = b | c;
printf("%x\n",a);
}
相关标签:
- C语言
- 国际关系学院
- 专升本冲刺卷