2022年南通大学杏林学院公共课《C语言》科目期末试卷A(有答案)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2022年南通大学杏林学院公共课《C语言》科目期末试卷A(有答案)
一、填空题
1、请读程序段:
int a=1,b=2;
if(a&b)printf("***\n");
else printf("$$ $\n");
以上程序段的输出结果是_______。
2、C语言源程序文件的后缀是;经过编译后,生成文件的后缀是;经过
连接后,生成文件的后缀是
3、在C语言中,输入操作是由库函数________完成的,输出操作是由库函数
________完成的。
4、C语言所提供的基本数据类型包括:单精度型、双精度型、_______、_______和_______。
5、若有定义语句:inte=1,f=4,g=2;float m=10.5,n=4.0,k;,则执行表
达式k=(e+f)/g+sqrt((double)n)*1.2/g+m后k的值是_______。
6、下面程序段的运行结果是_______。
chara[]="12345",*p;
int s=0;
for(p=a;*p!=\0';p++)
s=10*s+*p-'o';
printf("%d\n",s);
7、执行下面程序段后,k的值是_______。
k=1;n=263;
do{k*=n%10;n/=10;} while(n);
8、假设变量a和b均为整型,以下语句可以不借助任何变量把a、b中的值进行交换。请填空。
a+=_______;b=a-_______;a-=_______;
9、设有一输入函数scanf("%d”,k);它不能使float类型变量k得到正确数值
的原因是_______未指明变量k的地址和_______格式控制符与变量类型不匹配。
10、设有以下宏定义:
#define WIDTH80
#define LENGTH(WIDTH+40)
则执行赋值语句:k=LENGTH*20;(k为int型变量)后,k的值是_______。
二、选择题
11、表达式18/4*sqrt(4.0)/8值的数据类型为()
A.int
B.float
C.double
D.不确定
12、若有代数式|x3+log10x|,则正确的C语言表达式是()
A.fabs(x*3+log(x))
B.abs(pow(x,3)+log(x))
C.abs(pow(x,3.0)+log(x))
D.yfabs(pow(x,3.0)+log(x))
13、若x,y均定义为int型,z定义为double型,以下不合法的scanf函数调用语句是()
A.scanf("%d%lx,%le",&x,&y,&z);
B.scanf("%2d*%d%1f",&x,&y,&z);
C.scanf("%x%*d%o”,&x,&y);
D.scanf("%x%0%6.2f",&x,&y,&z);
14、设有以下程序:
#include
int main()
{char cl,c2,c3,c4,c5,c6;
scanf("%c%c%c%c",&c1,&c2,&c3,&c4);
c5=getchar();
c6=getchar();
putchar(c1);。
putchar(c2);
printf("%c%c\n",c5,c6);
return0;
}
若运行时从键盘输入数据:
abc<回车>
defg<回车>,则输出结果是()。
A.abcd
B.abde
C.abef
D.abfg
15、对以下定义语句的正确理解是()。
int a[10]={6,7,8,9,10};
A.将6,7,8,9,10依次赋给a[1]~a[5]
B.将6,7,8,9,10个初值依次赋给a[o]~a[4]
C.将6,7,8,9,10个初值依次赋给a[6]~a[10]
D.因为数组长度与初值的个数不相同,所以此初始化语句不正确
16、以下叙述正确的是
A.在C程序中,main函数必须位于程序的最前面
B.C程序的每行中只能写一条语句
C.C语言本身没有输入输出语句
D.在对一个C程序进行编译的过程中,可以发现注释中的拼写错误
17、若有如下语句:
int x=3;
do {printf("%d\n",x-=2);}while(!(--x));
上面程序段( )。
A.输出1
B.输出1和-2
C.输出3和0
D.是死循环
18、若用数组名作为函数调用的实参,则传递给形参的是()
A.数组的首地址
B.数组第一个元素的值
C.数组中全部元素的值
D.数组元素的个数
19、执行下列程序后编译将出现错误,错误是()。
#include
int main()
{char a,b,c,*d;
a=\V;
b='\xbe';
c=\0xab";
d="\0127";
printf("%c%c%c%c\n",a,b,c,*D.;
return(0);
}
A.只有a=\';语句不正确
B.b='\xbc';语句不正确
C.d="\0127";语句不正确
D.a='\V;和c=\0xab";语句都不正确
20、若有语句:charsl[]="string",s2[8]=",*s3,*s4="string2";则对库函数strcpy的错误调用是()
A.strcpy(s1,"string2");
B.strcpy(s4,"string1");
C.strcpy(s3,"string1");
D.strcpy(s1,s2);
21、以下程序的正确运行结果是()。
#include
#define MAX10
void sub2(),sub1(),sub3(int*A.;
int a[MAX],i;
int main()
{printf("\n");subl();sub3(a);sub2();sub3(a);
return(O);
void sub2( )
{int a[MAX],i,max;
max=5;