南京工程学院2022年C语言程序设计期末模拟考试
本试卷为南京工程学院2022年C语言程序设计期末模拟考试,题目包括:单项选择题。
覆盖的内容包括:理论题,基础知识,控制结构,循环结构,指针,数组/指针数组,字符串/字符串指针,函数/函数指针,程序题,结构体,文件。
本卷包括如下题型:
C语言程序设计期末模拟考试
一、单项选择题 (共50题,每题2分,共计100分)
( C )
1、#define能作简单的替代,用宏来替代计算多项式5*X*x 4-5*x+5的值的函数f,正确的宏定义语句为( )。
( B )
2、若有以下语句:
typedef struct s
{
int g;
char h;
} t;
以下叙述中正确的是________。
( C )
3、若已定义:int a[9], *p=a;并在以后的语句中未改变p的值,不能表示a[1]地址的表达式为( )。
( D )
4、执行下面的程序后,a的值为________。
main()
{
int a,b;
for(a=1,b=1;a<=10;a++)
{
if(b%3==l)
{
b+=3;
continue;
}
b-=5;
}
}
( C )
5、下列程序的输出结果是________。
void fun(int*x,int y)
{
printf("%d%d",*x,*y);
*x=3;
*y=1;
}
main()
{
int x=1,y=2;
fun(&y,&x);
printf("%d%d",x,y);
}
( A )
6、有下列程序:
main()
{
int x=0;
int y=0;
while(x<7 &&++v)
{
y--;
x++;
}
printf("%d,%d",y,x);
}
程序的输出结果是________。
( A )
7、下列字符串是标识符的是________。
( C )
8、有以下程序:
#include <stdio.h>
main()
{
char a,b,c;
b='l';
c='a';
for(a=0;a <6;a++)
{
if(a%2)putchar(b+a);
else putchar(c+a);
}
}
程序运行后的输出结果是________。
( D )
9、若有如下定义语句: int a[10]= { 1,2,3,4,5,6,7,8,9,10 } ; 则对数组正确的引用是________。
( C )
10、下述对c语言字符数组的描述中错误的是________。
( C )
11、以下不能对二维数组a进行正确初始化的语句是________。
( D )
12、设有定义:int n=0,*p=&n,**q=&p; 则以下选项中,正确的赋值语句是________。
( A )
13、有以下程序 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);
}
执行后的输出结果是________。
( B )
14、以下选项中不能正确把cl定义成结构体变量的是________。
( A )
15、以下不能正确进行字符串赋初值的语句是________。
( D )
16、若有以下定义和语句: double r=99 , *p=&r ; *p=r ; 则以下正确的叙述是______。
( D )
17、以下循环体的执行次数是 _________
#include<stdio.h>
void main( )
{
int i,j;
for(i=0,j=1; i<=j+1; i+=2, j--) printf("%d \n",i);
}
( A )
18、对于 c 语言的函数,下列叙述中正确的是 ______ __.
( B )
19、下列选项中均属于c语言合法的标识符是________。
( C )
20、在下列字符中,其ascii码值最大的是______。
( A )
21、下面关于形参与实参的说法,正确的是________。
( A )
22、下列关于宏操作的叙述错误的是________。
( D )
23、下列函数原型声明中错误的是________。
( C )
24、下列各项关于变量的描述中正确的是________。
( A )
25、数据和程序以______进制代码形式存放在存储器中。
( D )
26、已知int x=(1,2,3,4); 变量x的值是________。
( C )
27、以下叙述中错误的是________。
( B )
28、下列叙述中正确的是________。
( D )
29、下列关于boolean类型的叙述中,正确的是________。
( C )
30、有以下程序
main()
{
int i=1,j=1,k=2;
if((j++‖k++)&&i++)
printf("%d,%d,%d\n",i,j,k);
}
执行后输出结果是________。
( A )
31、以下选项中合法的c语言字符常量是________。
( A )
32、设有数组定义:char array[]="china"; 则数组array所占的空间为________。
( B )
33、下列程序的输出结果是
#include<stdio.h>
main()
{
int i,a=0,b=0;
for(i=1;i<10;i++)
{
if(i%2==0)
{
a++;
continue;
}
b++;
}
printf("a=%d,b=%d",a,b);
}
( A )
34、以下选项中,不能正确赋值的是 ______。
( A )
35、有以下程序:
main()
{
int a=3,b=4,c=5,d=2;
if(a>b) if(b>c) printf("%d",d+++ 1);
else printf("%d",++d+1);
printf("%d\n",d);
}
程序运行后的输出结果是 ______。
( C )
36、请读程序:
#include <stdio.h>
func(int a, int b) {
int c;
c=a+b;
return c;
}
main()
{
int x=6,y=7,z=8,r;
r=func((x--,y++,x+y),z--);
printf("%d\n",r);
}
上面程序的输出结果是________。
( D )
37、在文件系统中若采用一级目录结构,存在的最主要的一个问题是______。
( D )
38、下列二维数组的说明中,不正确的是________。
( D )
39、以下能正确定义数组并正确赋初值的选项是______。
( D )
40、下面叙述正确的是________。
( D )
41、有如下程序
main( )
{
int a[3][3]={{1,2,3},{3,4,5},{5,6,7}}, i,j,s = 0;
for(i=0; i<3; i++)for(j=0; j<=i; j++) s+=a[i][j]];
printf("%d\n",s);
}
该程序的输出结果是______。
( D )
42、有以下程序
#include <stdio.h>
main()
{
file *fp;
int i,k,n;
fp=fopen("data.dat","w+");
for(i=1;i<6;i++)
{
fprintf(fp,"%d ",i);
if(i%3==0) fprintf(fp,"\n");
}
rewind(fp);
fscanf(fp,"%d%d",&k,&n);
printf("%d %d\n",k,n);
fclose(fp);
}
程序运行后的输出结果是______。
( C )
43、已知int i, a; 执行语句i=(a=2*3,a*5),a+6; 后,变量i的值是________。
( A )
44、表达式8>6>3值是________。
( A )
45、若运行下面程序时,给变量a输入15,则输出结果是________。
( B )
46、关于c语言,下列说法正确的是________。
( C )
47、在c语言中,只有在使用时才占用内存单元的变量,其存储类型是________。
( C )
48、若有下列定义,则对a数组元素的正确引用是________。 int a[5],*p=a;
( A )
49、以下正确的字符串常量是________。
( D )
50、若int a=3, 则执行完表达式a-=a+=a*a 后,a 的值是________。
相关标签:
- C语言
- 南京工程学院
- 期末模拟考试