四川大学C语言期末试题最新版.docx

上传人:b****4 文档编号:4273285 上传时间:2023-05-06 格式:DOCX 页数:8 大小:17.64KB
下载 相关 举报
四川大学C语言期末试题最新版.docx_第1页
第1页 / 共8页
四川大学C语言期末试题最新版.docx_第2页
第2页 / 共8页
四川大学C语言期末试题最新版.docx_第3页
第3页 / 共8页
四川大学C语言期末试题最新版.docx_第4页
第4页 / 共8页
四川大学C语言期末试题最新版.docx_第5页
第5页 / 共8页
四川大学C语言期末试题最新版.docx_第6页
第6页 / 共8页
四川大学C语言期末试题最新版.docx_第7页
第7页 / 共8页
四川大学C语言期末试题最新版.docx_第8页
第8页 / 共8页
亲,该文档总共8页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

四川大学C语言期末试题最新版.docx

《四川大学C语言期末试题最新版.docx》由会员分享,可在线阅读,更多相关《四川大学C语言期末试题最新版.docx(8页珍藏版)》请在冰点文库上搜索。

四川大学C语言期末试题最新版.docx

四川大学C语言期末试题最新版

一、单项选择题(在每小题的四个备选答案中,选出一个正确的答案,并将其号码填在题干后的括号内。

每小题1分,共16分)

1.对于一个正常运行的C程序,以下叙述中正确的是A 。

A)程序的执行总是从main函数开始,在main函数结束

B)程序的执行是从程序的第一个函数开始,在main函数结束

C)程序的执行是从main函数开始,在程序的最后一个函数中结束

D)程序的执行是从程序的第一个函数开始,在程序的最后一个函数中结束

2.按照C语言规定的用户标识符命名规则,不能出现在标识符中的是B 。

A)字母 B)减号  C)数字字符 D)下划线

3.下列定义变量的语句中错误的是 C 。

A)int_if;B)doubleIf;C)charforchD)floatx&;

4.以下选项中可作为C语言合法常量的是 A 。

A)-80B)-0819C)-1el.0D)-168.0e

5.以下能正确定义且赋初值的语句是  。

A)inta=b=16;B)charc=97;

C)floatx=x+1.8;D)doublex=1.23E2.0

6.设有定义:

“inta=1,b=6,c=8;”,则以下选项中值为0的表达式是  。

A)(!

a==1)&&(!

b==0)B)(a

c||!

0

C)a&&bD)a||b

7.下列叙述正确的是 D 。

A)break语句只能用于switch语句

B)break语句只能用于循环语句

C)break语句必须与switch语句中的case配对

D)break语句可用于switch语句和循环语句中

8.在以下给出的表达式中,与while(E)中的“(E)”不等价的表达式是 C 。

A)(E!

=0)B)(E>0||E<0)C)(E==0)D)(!

E==0)

9.以下数组定义中错误的是 B 。

A)intx[][3]={0,1,2,3};

B)intx[2][3]={{1,2},{3,4},{5,6}};

C)intx[][3]={{1,2,3},{4,5,6}};

D)intx[2][3]={1,2,3,4,5,6};

10.在C语言中,函数返回值的类型最终取决于  。

A)函数定义时的函数首部所说明的函数类型

B)return语句中表达式值的类型

C)调用函数时的实参的类型

D)函数定义时形参的类型

11.设已有定义:

“floata;”,则以下对指针变量p进行定义且赋初值的语句中正确的是  。

A)float*p=1068;B)int*p=(int)a;

C)floatp=&a;D)float*p=&a;

12.若有说明语句:

“float*p,a;”,则能通过scanf语句正确给输入项读入数据的程序段是  。

A)*p=&a;scanf("%f",p);B)*p=&a;scanf("%lf",p);

C)p=&a;scanf("%f",*p);D)p=&a;scanf("%f",p);

13.若有以下说明和定义:

uniondt

{

shortinta;

charb;

doublec;

}data;

以下叙述中错误的是  。

A)data的每个成员起始地址都相同

B)变量data所占的内存字节数与成员c所占字节数相等

C)程序段“data.a=6;printf("%f\n",data.c);”输出结果为6.000000

D)data可以作为函数的实参

14.以下叙述中正确的是  。

A)在源文件的一行上可以有多条预处理命令

B)宏名必须用大写字母表示

C)宏替换不占用程序的运行时间

D)前面都是错语的

15.设fp为指向某二进制文件的指针,且已读到此文件末尾,则函数feof(fp)的返回值为  。

A)EOFB)1C)0D)NULL

16.以下叙述中错误的是  。

A)改变函数形参的值,不会改变对应实参的值

B)函数可以返回地址值

C)可以给指针变量赋一个整数作为地址值

D)函数的形参可为指针类型

二、填空题(第小题2分,共14分)

1.已定义“charch=6;inti=6,j;”,执行“j=ch||i++”以后,i的值为  。

2.设有定义语句:

“inta[][8]={{0},{1},{2}};”,则数组元素a[1][2]的值为  。

3.已知inta=3,a的地址为1008,则&a=。

4.设有定义:

“FILE*fp;”,请将以下打开文件的语句补充完整,以便可以向文本文件readme.txt的最后续写内容。

fp=fopen)("readme.txt","  ");

5.已有定义:

“int*p;”,请写出完整的语句,利用malloc函数使p指向一个整型的动态存储单元            。

6.声明外部变量的关键字是extrun。

7.int类型的变量的值只能是所指定的若干名字之一。

三、阅读下面各程序,写出运行结果(每小题5分,共30分)

1.有以下程序:

#include

intmain(void)

{

charal='M',a2='m',a3='u';

printf("%c\n",(al,a2,a3));

return0;

}

运行结果是:

2.有以下程序:

#include

intmain(void)

{

intk=6;

while(--k)printf("%d",k-=4);

return0;

}

运行结果是:

3.有以下程序:

#include

intmain(void)

{

inti=-1;

doprintf("%d",i);while(++i);

printf("%d\n",i);

return0;

}

运行结果是:

4.有以下程序:

#include

doublefun1(doublea){returna*a;}

intfun2(doublex,doubley)

{

doublea=fun1(x),b=fun1(y);

returna+b;

}

intmain(void)

{

intw=fun2(1.3,2.0);

printf("%d\n",w);

return0;

}

运行结果是:

5.有以下程序:

#include

intf(intn)

{

if(n==1)return1;

elsereturnn+f(n-1);

}

intmain(void)

{

printf("%d\n",f(5));

return0;

}

运行结果是:

6.有以下程序:

#include

voidpoint(char*p){p+=5;}

intmain(void)

{

charb[]={'a','b','c','d','f','g'},*p=b;

point(p);

printf("%c\n",*p);

return0;

}

运行结果是:

四、程序填空题(每空2分,共12分)

1.以下程序的功能是:

输出a、b、c三个变量中的最小值。

将程序补充完整。

#include

intmain(void)

{

inta,b,c,t1,t;

scanf("%d%d%d",&a,&b,&c);

t=a

[1];

t=c

[2];

printf("%d\n",t);

return0;

}

2.以下程序调用invert函数按逆序重新放置a数组中元素的值。

a数组中元素的值在main函数中读入。

将程序补充完整。

#include

#defineN10

voidinvert(ints[],inti,intj)

{

if(i

{

intt=s[i];

s[i]=s[j];

s[j]=t;

invert(s,[3],j-1);

}

}

intmain(void)

{

inta[N],i;

for(i=0;i

scanf("%d",[4]);/*输入a[i]*//

invert(a,0,N-1);

for(i=0;i

printf("%d",a[i]);

printf("\n");

return0;

}

3.下面的程序通过函数average计算数组中各元素的平均值,将程序补充完整。

#include

floataverage(inta[],intn)

{

inti;

floats=0;

for(i=0;i

s=s+[5];

returns/[6];

}

intmain(void)

{

inti,a[5]={2,4,6,8,10};

floatmean;

mean=average(a,5);

printf("mean=%f\n",mean);

return0;

}

五、编程题(每小题14分,共28分)

1.输入一行字符,统计其中有多少个单词,单词之间用空格分隔开。

2.编程实现从键盘上输入一个字符串,把此字符串中的小写字母转换成大写字母,输出到文件test.txt中,然后从该文件读出字符串并显示出来。

 

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2