广西大学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<b)
{
if(c==d)
x=1;
}
else
x=2;
A)若a<b且c=d,则x=1;若a>=b且c!=d,则x=2。
B)若a<b且c=d,则x=1;若a>=b,则x=2。
C)若a<b且c=d,则x=1;若a<b且c!=d,则x=2。
D)若a<b且c=d,则x=1;若c!=d,则x=2。
6.下列程序段的执行结果是______。
int i,x;
大一期末c语言必考知识点 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=65 B)y=21,z=65 C)y=65,z=21 D)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
17.若fun( int x) { printf(“%d\n”,x);}, 则fun_______。
A)返回值为 void 类型 B)返回值无法确定
C)返回值为 int 类型 D)没有返回值
18.实参和和形参之间的数据传送是_______。
A)地址传送 B)实参传给形参,再由形参传给实参
C)值传送 D)由用户指定传送方式
19.以下程序的输出结果是______。
char *s=”ABCD”, *p;
for( p=s; *p ; p++)
printf("%s\n", p);
A)ABCD B)A C)D D)ABCD
BCD B C ABC
CD C B AB
D D A A
20.下列程序段的输出是______。
int fun( int x)
{
static int a=3;
a+=x;
return a;
}
void main( void )
{
int k=2, m=1, n;
n=fun(k);
n=fun(m);
printf( “%d\n”, n);
}
A)3 B)4 C)6 D)9
得分 | |
二. 填空题:(每空1分,共20分)
请将正确答案填在答题卡相应题目的横线上。答在试卷上不得分。
1.C语言有 ⑴ 、 ⑵ 、 ⑶ 、 ⑷ 和 ⑸ 五种常量。
2.C程序的变量不仅要事先 ⑹ ,而且还必须 ⑺ 后才能使用。
3.C语言在给出逻辑运算结果时,以 ⑻ 代表“真”,以 ⑼ 代表“假”;在判断一个量是否为“真”时,以 ⑽ 代表“假”,以 ⑾ 代表“真”。
4.C语言规定只有 ⑿ 数组和 ⒀ 数组才能初始化;这种数组不赋初值,系统会对所有数组元素自动赋以 ⒁ 值。
5.对两个指针变量进行关系运算的条件是 ⒂ ,其结果表示 ⒃ 。
6.一个C文件是一个 ⒄ 或 ⒅ ,它把数据看成是 ⒆ ,对文件的存取是以 ⒇ 为单位。
得分 | |
三. 程序设计题(每空2分,共40分)
阅读下列程序,在横线上填入适当的内容使程序完整。请将正确答案填在答题卡相应题目的横线上。答在试卷上不得分。
1.下列程序是求Fibonacci数列:1,1,2,3,5,8……的前40个数,要求每行输出4个数。
main()
{
long int f1,f2;
int i;
f1=1 ; f2=1;
for(i=1;i<= ⑴ ;i++)
{
printf("%12ld %12ld ",f1,f2);
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论