F__学习_学习文档_c语言_C期末考试样卷A卷
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
安徽大学20 -20 学年第学期
《C语言程序设计》期末考试试卷(A卷120分钟)
年级院系专业姓名学号座位号
题号一二三四五六七八得分
得分
得分
一.单项选择题:(每题2分,共40分)
下列各题A)、B)、C)、D)四个选项中只有一个是正确的,请将正确选项填在答题卡相应题目的横线上。答在试卷上不得分。
1.下面程序段执行后,a的值是______。
int a;
printf("%d \n", (a=3*5, a*4, a+5) );
A)60 B)20 C)15 D)10
2.下列程序段的输出是______。
int x=023;
printf("%d \n", --x );
A)19 B)18 C)23 D)22
3.执行下列语句后,a的值是______。
int a=8;
a+=a-=a*a;
A)-240 B)64 C)112 D)-112
4.执行下列语句后,输出的值是______。
int x=6;
printf("%d,%d,%d\n",x,x++,--x);
A)5,5,5 B)6,5,5 C)7,6,5 D)5,6,5
5.指出下列程序段所表示的逻辑关系是______。
if(a
{
if(c==d)
x=1;
}
else
x=2;
A)若a=b且c!=d,则x=2。
B)若a=b,则x=2。
C)若a
D)若a
6.下列程序段的执行结果是______。
int i,x;
for(i=1,x=1;i<=20;i++)
{
if(x>=10) break;
if(x%2==1)
{
x+=5;
continue;
}
x-=3;
}
printf("%d,%d\n",x,i);
A)6,4 B)7,5 C)10,6 D)14,7
7.下列程序的执行结果是______。
#include "stdio.h"
#include "string.h"
main()
{
static char s[10]={'C','h','i','n','a'};
printf("%d\n",strlen(s));
}
A)6 B)5 C)11 D)10
8.函数的数据类型是______决定的。
A)调用该函数时临时B)调用函数的实参
C)return语句的表达式类型D)函数的形参
9.执行下列程序段后,*(p+5)的值是______。
static char s[]="Hello";
char *p;
p=s;
A)'o' B)'\0' C)'o'的地址D)不确定的值
10.以下程序的输出结果是______。
#include "stdio.h"
main()
{
static int a[]={1,2,3,4,5,6},*p;
p=a; *(p+3)+=2;
printf("%d,%d\n",*p,*(p+3));
}
A)0,5 B)1,5 C)0,6 D)1,6
11.在以下定义中,标识符P______。
int (*p)[3];
A)定义不合法。
B)是一个指针数组名,每个元素是一个指向整型变量的指针。
C)是一个指针,它指向一个具有三个元素的一维数组。
D)是一个指向整型变量的指针。
12.sizeof(int)是______。
A)一个整型表达式B)一个不合法的表达式
C)一种函数调用D)一条语句
13.有宏定义:#define MULT1(a,b) a*b
#define MULT2(a,b) (a)*(b)
在后面的程序中有宏引用:y=MULT1(3+2,5+8);
z=MULT2(3+2,5+8);
则y和z的值是______。
A)y=65,z=65B)y=21,z=65C)y=65,z=21D)y=21,z=21
14.设有程序段:
union MYTYPE { long x; int y[4]; char z[6];}them;
main(){ printf(“%d\n”,sizeof(them)); }
则程序的输出结果是______。
A)18 B)6 C)8 D)4
15.以读写方式打开一个已有的文本文件file1,下面fopen函数正确的调用方式是______。
A)FILE *fp; B)FILE *fp;
fp=fopen("file1","r");
fp=fopen("file1","r+");
C)FILE *fp; D)FILE *fp;
fp=fopen("file1","rb");
fp=fopen("file1","rb+");
16.设有如下定义:
struct sk {int a; float b;} data,*p;
且p=&data;则对data中a域的正确引用是( ).
A) (*p).data.a B) (*p).a C) p->data.a D) p.data.a