- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
c语言期末测试题(附答案)
A)自动存储类别B)静态存储类别C)寄存器存储类别
D)外部存储类别
10、以下关于指针的描述中,错误的是【】。A)指针变
量必须先定义再使用B)指针变量存放的是地址C)指针变量
可以指向任何类型的变量D)指针变量的值可以直接进行运算
11、以下程序的输出结果是【】。voidmain()
inti=3,j=4,k=5,m=5,n=6;
if(iXXXm)
printf(“1”);
elseif(i+jk+n)
printf(“2”);
elseif(i+j+km+n)
printf(“3”);
else
printf(“4”);
A)1B)2C)3D)4
12、以下关于结构体的描述中,错误的是【】。A)结构
体是由不同类型的变量组成的B)结构体变量的大小等于其各
成员变量大小之和C)结构体变量的地址等于其第一个成员变
量的地址D)结构体变量的成员变量可以是结构体类型
13、以下函数的功能是【】。voidswap(int*a,int*b)
inttemp;
temp=*a;
a=*b;
b=temp;
A)交换两个整型变量的值B)求两个整型变量的差C)
比较两个整型变量的大小D)求两个整型变量的和
14、以下程序的输出结果是【】。voidmain()
chara[10]=“hello”;
charb[10]=“world”;
strcat(a,b);
printf(“%s”,a);
A)helloworldB)helloworldC)worldhelloD)hello
15、以下程序的输出结果是【】。voidmain()
inti=1,sum=0;
do
sum=sum+i;
i++;
while(i=10);
printf(“%d”,sum);
A)10B)45C)55D)无输出
第二部分
二、编程题(共70分)
1、编写一个程序,输入一个整数n,输出1~n中所有的
质数。每行输出5个,每个数之间用空格隔开。例如,输入
10,输出结果为:2357.(20分)
2、编写一个程序,输入一个字符串,将其中的大写字母
转换为小写字母,将其中的小写字母转换为大写字母,其他字
符不变,并输出转换后的结果。(20分)
3、编写一个程序,输入一个字符串,统计其中各个单词
出现的次数,并按照单词出现的次数从高到低输出各个单词及
其出现次数。假设单词之间用空格隔开,不考虑标点符号。
(30分)
10、该程序的输出结果为C。a=1.b=1.在switch语句中,
当x=2时,a和b都会加1;当x=1时,a加1,b减1;当
x=0时,b加1.因此最终a=1,b=1.
11、表示关系ab=c的C语言表达式为A。
(ab)(b=c)。
12、程序运行时,输入的值在大于3且不等于10的整数
范围内才会有输出结果。if语句中的分号导致if语句的执行体
为空,因此不论输入什么值都会执行else语句,但只有在输
入大于3且不等于10的整数时才会有输出结果。
13、break语句的正确用法是B.在多重循环中,只能退出
最靠近的那一层循环语句。break语句只能用于循环语句或
switch语句中,用于跳出当前循环或switch语句。在多重循环
中,break语句只能退出最靠近的那一层循环语句。
14、执行程序段后,t的值为A。70.MAX(a+b,c+d)先计算
a+b和c+d的值,然后取其中较小的值作为结果,即
MAX(a+b,c+d)=3.因此t=3*10=30.
15、执行程序段后,m的值为90.p指向数组a的第一个
元素,即a[0],*p=1.因此m=1*3*5=15,但是p指向的是整型
数组
文档评论(0)