2022年南通大学杏林学院公共课《C语言》科目期末试卷A(有答案)

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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;

相关文档
最新文档