C语言期末考试试题(四)及详细参考答案_第1页
C语言期末考试试题(四)及详细参考答案_第2页
C语言期末考试试题(四)及详细参考答案_第3页
C语言期末考试试题(四)及详细参考答案_第4页
C语言期末考试试题(四)及详细参考答案_第5页
已阅读5页,还剩2页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C语言期末考试试题(四)及详细参考答案考试时长:90分钟满分:100分适用对象:本科/专科计算机及相关专业一、单项选择题(每题2分,共30分)1.以下选项中,属于C语言合法标识符的是()A.3abcB.abc_3C.abc-3D.int2.C语言中,char、short、int、long在内存中占用字节数最少的是()A.charB.shortC.intD.long3.已知inta=5,b=2;,则表达式a/b的结果是()A.2.5B.2C.3D.2.04.若定义inta=8;,则表达式a%3的值为()A.0B.1C.2D.35.在C语言中,逻辑运算结果的正确取值是()A.真、假B.1、0C.T、FD.-1、06.已知intx=3,y=0,z=0;,执行语句if(x=y+z)x++;elsex--;后x的值为()A.4B.3C.2D.07.以下关于switch语句说法正确的是()A.必须有default分支

B.case后面必须是常量表达式

C.case语句后不能省略break

D.switch括号内可以是浮点类型8.循环语句中,能够提前结束本次循环、直接进入下一次循环的语句是()A.breakB.continueC.gotoD.return9.定义数组inta[5];下列说法正确的是()A.数组下标范围是1~5

B.数组下标范围是0~4

C.数组共有4个元素

D.数组元素可以直接整体赋值10.若有定义chars[]="hello";,则数组s在内存中的字节数是()A.5B.6C.7D.不确定11.在C语言中,函数返回值类型由()决定A.return语句的值类型

B.函数定义时的返回值类型

C.调用函数时的变量类型

D.系统默认规则12.以下关于局部变量的叙述正确的是()A.局部变量生命周期贯穿整个程序

B.局部变量在函数调用结束后释放内存

C.局部变量默认初始值为0

D.局部变量可以被所有函数访问13.已知inta=10,*p=&a;,则*p的值是()A.变量a的地址B.10C.随机值D.无法确定14.结构体变量在内存中()A.所有成员共用同一段内存

B.各成员依次连续存储

C.必须占用相同字节数

D.存储顺序随机15.以只读方式打开文件data.txt的正确写法是()A.fopen("data.txt","w");

B.fopen("data.txt","r");

C.fopen("data.txt","a");

D.fopen("data.txt","rw");二、填空题(每空2分,共20分)1.C语言中,基本数据类型包括整型、________、字符型。2.表达式3+5*2的运算结果是________。3.条件表达式max=(a>b?a:b)的功能是________。4.for循环的三个表达式分别负责初始化、________、更新变量。5.在C语言中,字符串结束标志是________。6.数组名代表数组的________地址。7.函数内部定义的变量称为________变量。8.指针变量本质上是存放________的变量。9.结构体关键字是________。10.关闭文件的函数是________。三、程序阅读题(每题6分,共30分)1.写出以下程序运行结果PlainText

#include<stdio.h>

intmain()

{

inta=6,b=3;

a=a+b;

b=a-b;

a=a-b;

printf("%d%d",a,b);

return0;

}2.写出以下程序运行结果PlainText

#include<stdio.h>

intmain()

{

inti,s=0;

for(i=1;i<=5;i++)

{

if(i%2==0)

continue;

s+=i;

}

printf("%d",s);

return0;

}3.写出以下程序运行结果PlainText

#include<stdio.h>

intmain()

{

inta[3]={1,2,3};

int*p=a;

printf("%d",*(p+1));

return0;

}4.写出以下程序运行结果PlainText

#include<stdio.h>

intfun(intx)

{

returnx*x;

}

intmain()

{

inta=3;

printf("%d",fun(a+1));

return0;

}5.写出以下程序运行结果PlainText

#include<stdio.h>

intmain()

{

chars[]="Ctest";

printf("%d",strlen(s));

return0;

}四、编程题(每题10分,共20分)1.编写程序,输入一个整数,判断该数是否为偶数,若是偶数输出yes,否则输出no。2.编写程序,利用循环计算1~100所有整数的累加和并输出结果。参考答案及详细解析一、单项选择题答案与解析1.B解析:标识符不能以数字开头、不能含横线以外符号、不能使用关键字。A以数字开头,C含非法字符,D是关键字。2.A解析:char占1字节,short占2字节,int通常4字节,long不少于4字节。3.B解析:两个整数相除结果仍为整数,直接舍去小数部分,5/2=2。4.B解析:取余运算8%3余数为1。5.B解析:C语言逻辑真为1,逻辑假为0,无专门布尔类型关键字。6.C解析:判断条件为赋值表达式x=y+z=0,条件为假,执行x--,x=2。7.B解析:case后必须为常量;default可选;break可省略;switch不能用浮点型。8.B解析:continue结束本次循环进入下次;break跳出整层循环。9.B解析:数组长度为5,下标从0开始,合法下标0~4。10.B解析:字符串自动补'\0'结束符,5个有效字符+1个结束符共6字节。11.B解析:函数返回值类型由函数头部定义的类型决定。12.B解析:局部变量随函数调用创建和释放,无默认初值,仅本函数可见。13.B解析:p保存a的地址,*p取地址对应的值,即10。14.B解析:结构体成员按定义顺序连续存储,各成员类型长度可不同。15.B解析:r为只读,w清空写入,a追加写入。二、填空题答案1.浮点型(实型)2.133.取出a、b两个数中的最大值4.循环条件判断5.'\0'6.首元素7.局部8.内存地址9.struct10.fclose三、程序阅读题答案与解析1.运行结果:36解析:不借助中间变量完成两数交换,最终a、b数值互换。2.运行结果:9解析:累加1、3、5,偶数跳过,和为9。3.运行结果:2解析:p指向数组首地址,p+1指向第二个元素,取值为2。4.运行结果:16解析:a+1=4,函数返回4*4=16。5.运行结果:5解析:strlen统计有效字符个数,不统计'\0',共5个字符。四、编程题参考代码1.判断偶数PlainText

#include<stdio.h>

intmain()

{

intn;

scanf("%d",&n);

if(n%2==0)

{

printf("yes\n");

}

else

{

printf("no\n");

}

return

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论