四川大学C语言期末试题最新版.docx
- 文档编号:7755632
- 上传时间:2023-01-26
- 格式:DOCX
- 页数:10
- 大小:24.85KB
四川大学C语言期末试题最新版.docx
《四川大学C语言期末试题最新版.docx》由会员分享,可在线阅读,更多相关《四川大学C语言期末试题最新版.docx(10页珍藏版)》请在冰豆网上搜索。
四川大学C语言期末试题最新版
四川大学C语言期末试题(最新
版)
一、单项选择题(在每小题的四个备选答案中,选出一个正确的答案,并将其号码填在题干后的括号内。
每小题1分,共16分)
1.对于一个正常运行的C程序,以下叙述中正确的是A_。
A)程序的执行总是从main函数开始,在main函数结束
B)程序的执行是从程序的第一个函数开始,
在main函数结束
C)程序的执行是从main函数开始,在程序的最后一个函数中结束
D)程序的执行是从程序的第一个函数开始,
在程序的最后一个函数中结束
2.按照C语言规定的用户标识符命名规则,不能出现在标识符中的是B—。
A)字母B)减号C)数字字符
注:
1试题字迹务必清晰,书写工整。
本题14页,本页为第2页
2题间不留空,一般应题卷分开教务处试题编号:
3务必用A4纸打印
D)下划线
3.下列定义变量的语句中错误的是C。
A)int」f;B)doubleIf;C)charforch
D)floatx&;
4.以下选项中可作为C语言合法常量的是
A_。
A)-80B)-0819C)-1el.O
D)-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.下列叙述正确的是—。
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;”,则能通过seanf
语句正确给输入项读入数据的程序段是。
A)*p=&a;seanf("%f",p);B)*p=&a;
scanf("%lf",p);
C)p=&a;seanf("%f",*p);D)p=&a;
seanf("%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]=sj s[j]=t; inverts,[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中,然后从该文件读出字符串并显示出来。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 四川大学 语言 期末 试题 最新版
![提示](https://static.bdocx.com/images/bang_tan.gif)