长江师范学院2022年计算机C语言期末预测卷
本试卷为长江师范学院2022年计算机C语言期末预测卷,题目包括:单项选择题。
覆盖的内容包括:理论题,基础知识,控制结构,循环结构,指针,数组/指针数组,字符串/字符串指针,函数/函数指针,程序题,结构体,文件。
本卷包括如下题型:
计算机C语言期末预测卷
一、单项选择题 (共50题,每题2分,共计100分)
( D )
1、设x、y和z是int型变量,且x=4,y=6,z=8,则下列表达式中值为0的是________。
( B )
2、设a为存放(短)整型的一维数组,如果a的首地址为p,那么a中第i 个元素的地址为( )。
( C )
3、下列选项中不合法的十六进制数是________。
( C )
4、以下符合c语言语法的实型常量是________。
( D )
5、有以下程序
#include <stdio.h>
void fun(int *a, int n)/*fun函数的功能是将a所指数组元数从大到小排序*/
{
int t,i,j;
for(i=o;i<n-1;j++) for(j=j+1;j<n;j++) if(a[i]<a[j])
{
t=a[i];
a[i]=a[j];
a[j]=t;
}
}
main()
{
int c[10]={1,2,3,4,5,6,7,8,9,0} ,i;
fun(c+4,6);
for(i=0;i<10,i++) printf("%d,",c[i]);
}
程序的运行结果是________。
( A )
6、程序中有下面的说明和定义
struct abc
{
int x ;
char y ;
}
struct abc s1 , s2 ;
则会发生的情况是______。
( D )
7、运行下面程序时,若从键盘输入 "3,5<cr>" ,则程序的输出结果是 __________.
#include <stdio.h>
void main( )
{
int x,y;
scanf("%d,%d",&x,&y);
if (x==y) printf("x==y");
else if (x>y) printf("x>y");
else printf("x<y");
}
( A )
8、以下选项中,与k=n++完全等价的表达式是________。
( C )
9、以下说法中正确的是________。
( A )
10、在c语言中,变量的隐含存储类别是________。
( C )
11、关于数组的叙述中,下列说法不正确的是________。
( A )
12、数组a[1..5,1..6]的每个元素占5个单元,将其按行优先顺序存储在起始地址为1000的连续的内存单元中,则元素a[5,5]的地址为 (15) 。
( A )
13、下列描述说明正确的是________。
( C )
14、设变量x和y均已正确定义并赋值。以下if语句中,在编译时将产生错误信息的是________。
( C )
15、以下不正确的是 ______。
( D )
16、下列叙述中正确的是________。
( A )
17、下列四个不同数制表示的数中,数值最大的是________。
( A )
18、下列哪个是c语言的有效标识符
( B )
19、假定有以下变量定义: int k=6,x=12; 则能使x、k值为5、6的表达式是________。
( D )
20、有以下程序:
#include<stdio.h>
main()
{
int i=0,a=0;
while(i<20)
{
for(;;)
{
if((i%5)==0)break;
else i--;
}
i+=13,a+=i;
}
printf("%d\n",a);
}
程序的输出结果是________。
( B )
21、下列选项中,值为1的表达式是________。
( A )
22、有以下程序
struct s
{
int n;
int a[20];
};
void f(int *a,int n)
{
int i;
for(i=0;i<n-1;i++)a[i]+=i;
}
main()
{
int i;
struct s s={10,{ 2,3,1,6,8,7,5,4,10,9}};
f(s.a,s.n);
for(i=0; i<s.n; i++)printf("%d,",s.a[i]);
}
程序运行后的输出结果是________。
( C )
23、有以下程序
main()
{
char s[]="\n123\\";
printf("%d,%d\n",strlen(s),sizeof(s));
}
执行后输出结果是________。
( A )
24、设有以下函数
f(int a) {
int b=0;
static int c=3;
b++;
c++;
return(a+b+c);
}
如果在下面的程序中调用该函数,则输出结果是______。
main() {
int a=2,i;
for(i=0;i<3;i++)printf("%d\n"f(a));
}
( B )
25、有以下程序: int*f(int*x,int*y)
{
if(*x<*y) return x;
else return y;
}
main()
{
int a=7,b=8,*p,*q,*r;
p=&a;
q=&b;
r=f(p,q);
print("% d,% d,% d\n",*p,*q,*r);
}
执行后的输出结果是 ______。
( B )
26、有如下程序
#define N 2
#define M N+1
#define NUM 2*M+1
main()
{
int i;
for(i=1;i<=NUM;i++) printf("%d\n"i)
}
该程序中的for循环执行的次数是______。
( C )
27、下面程序段的运行结果是________。 char * format="%s,a=%d,b=%d\n"; int a=11,b=10; a+=b; printf(format,"a+=b",a,b);
( D )
28、有下面程序段 char a[3],b[]="china"; a=b; printf("%3",a); 则下面的说法正确的是______。
( B )
29、下面程序的输出是________。 typedef union
{
long x[2];
int y[4];
char z[8];
}
mytype;
mytype them;
void main()
{
printf("%d\n", sizeof(them));
}
( B )
30、有如下程序
main( )
{
int n=8;
while(n>6)
{
n--;
printf("%d",n);
}
}
该程序段的输出结果是______。
( B )
31、有如下程序段int *p,a=6,b=2; p=&a; a=*p+b; 执行该程序段后,a的值为______。
( C )
32、若定义了以下函数:
void f(……)
{
……*p=(double*)malloc(10*sizeof(double));
……
}
p是该函数的形参,要求通过p把动态分配存储单元的地址传回主调函数,则形参p的正确定义应当是______。
( B )
33、若fp是指向某文件的指针,且未读到此文件末尾,则库函数feof(fp)的返回值是______。
( D )
34、假定int类型变量占用4个字节,若有定义:int x[10]= {0,2,4}则数组x在内存中所占字节数是______。
( C )
35、以下关于宏的叙述中正确的是______。
( A )
36、若变量已正确定义,表达式 (j=3, j++) 的值是____。
( B )
37、以下说法正确的是________。
( D )
38、函数调用结束后,形式参数( )
( B )
39、以下叙述中错误的______。
( B )
40、程序必须在有限的步骤、有限的时间内执行完毕,指的是算法的( )特点
( A )
41、以下选项中哪些描述是不正确的?
( D )
42、按照c语言规定的用户标识符命名规则,不能出现在标识符中的是________。
( C )
43、有以下程序段:
int x=3;
do
{
printf(”%3d”,x-=2);
}
while(!(--x));
程序段的输出结果是________。
( B )
44、在c语言中,不允许有常量的数据类型是________。
( B )
45、有以下程序
main()
{
int a=666,b=888;
printf("%d\n",a,b);
}
程序运行后的输出结果是______。
( C )
46、下列关于指针变量的描述,不正确的是________。
( C )
47、以下程序的执行结果是_______.
main()
{
int num = 0;
while( num <= 2 )
{
num++;
printf( "%d,",num );
}
}
( B )
48、c语言的switch语句中case后____
( B )
49、已有以下数组定义和f 函数调用语句, 则在f 函数的说明中,对形参数组array 的错误定义方式为________。int a[3][4]; f(a);
( C )
50、以下选项中合法的实型常数是()。
相关标签:
- C语言
- 长江师范学院
- 期末预测卷