还剩8页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
c期末考试试题和答案
一、选择题(本题型共15题,每题2分,共30分)
1.以下关于C语言标识符的命名规则,正确的是()A.标识符可以以数字开头B.标识符中可以包含空格C.标识符区分大小写D.关键字可以作为标识符使用
2.若有定义“double x=
3.14,y=
2.0;”,则表达式“intx+y”的数据类型是()A.int B.double C.float D.无法确定
3.以下关于C语言循环结构的描述,错误的是()A.for循环可以实现所有循环功能B.while循环的循环体至少执行一次C.do-while循环的循环体至少执行一次D.嵌套循环是指一个循环体内包含另一个循环
4.函数调用“printf%d,a+b;”中,a和b是int类型变量,若a=5,b=3,则输出结果是()A.5+3B.8C.53D.
155.以下数组定义正确的是()A.int a
[5]={1,2,3,4};B.int a
[5]={1,2,3,4,5,6};C.int a[]={1,2,3};D.int a
[3]
[2]={{1,2},{3,4}};
6.关于指针的描述,正确的是()A.指针变量可以直接赋值为整数0B.指针变量存储的是变量的类型第1页共10页C.指针变量的大小与数据类型无关D.指针变量可以进行加法运算,结果是指针本身的地址加上数据类型的大小
7.以下程序段执行后,变量x的值是()int x=10;ifx5x+=5;elsex-=5;A.5B.10C.15D.不确定
8.函数参数传递时,以下描述正确的是()A.实参是函数定义时声明的参数B.形参在函数调用时分配内存C.传值调用时,实参和形参共享同一块内存D.数组作为参数传递时,传递的是数组的第一个元素
9.以下关于结构体的描述,错误的是()A.结构体可以包含不同类型的成员B.结构体变量的大小等于各成员大小之和C.结构体变量可以直接使用赋值运算符进行整体赋值D.结构体指针可以通过“-”运算符访问成员
10.若有定义“int arr
[4]={1,2,3,4};”,则表达式“arr
[1]+arr
[3]”的值是()A.3B.4C.5D.
611.以下程序段的输出结果是()int a=5;第2页共10页int*p=a;*p=10;printf%d,a;A.5B.10C.不确定D.编译错误
12.以下关于全局变量和局部变量的描述,正确的是()A.全局变量的作用域仅限于定义它的函数B.局部变量在函数调用结束后内存被释放C.同名的全局变量和局部变量,在局部变量的作用域内,全局变量有效D.全局变量必须在所有函数外部定义
13.以下程序段执行后,变量sum的值是()int sum=0;forint i=1;i=5;i++{ifi%2==0continue;sum+=i;}A.9B.10C.15D.
514.若要打开一个文本文件进行追加写入操作,正确的文件打开方式是()A.r B.w C.a D.r+
15.以下关于递归函数的描述,正确的是()A.递归函数的效率一定高于非递归函数B.递归函数不需要终止条件C.递归函数可能导致栈溢出D.递归函数只能直接调用自身第3页共10页
二、填空题(本题型共10题,每题3分,共30分)
1.C语言中,用于存储单个字符的数据类型是__________
2.若有定义“int a=3,b=5;”,则表达式“aba:b”的值是__________
3.函数的__________决定了函数可以被其他函数调用时传递的参数类型和数量
4.数组名在作为函数参数传递时,实际上传递的是数组的__________
5.C语言中,用于表示结束程序运行并返回操作系统的函数是__________
6.C语言中,__________语句用于提前结束本次循环,继续下一次循环
7.若要定义一个指向int类型的指针变量p,正确的定义语句是__________
8.结构体变量的成员可以通过__________运算符访问
9.C语言中,__________函数用于从标准输入设备(键盘)读取数据
10.程序的三种基本控制结构是顺序结构、选择结构和__________
三、判断题(本题型共10题,每题1分,共10分)
1.C语言是一种面向对象的程序设计语言()
2.变量在使用前必须进行初始化()
3.for循环的三个表达式都可以省略,但分号不能省略()
4.数组的下标是从1开始的()
5.指针变量本身占用的内存空间大小与它所指向的数据类型无关()第4页共10页
6.break语句可以用于switch语句和循环语句中()
7.函数可以没有返回值,此时返回值类型应声明为void()
8.结构体变量可以直接作为函数参数进行整体传递()
9.全局变量的作用域是整个程序()
10.C语言中,注释可以出现在代码的任意位置()
四、简答题(本题型共8题,每题5分,共40分)
1.简述C语言中数组和指针的关系,说明数组名作为函数参数时与普通变量作为参数的区别
2.什么是函数的参数传递?C语言中函数参数传递有哪两种主要方式?各有什么特点?
3.说明C语言中结构体(struct)的定义和使用场景,举例说明结构体数组的初始化方式
4.什么是指针?简述指针变量的定义、赋值和使用方法,并说明指针的注意事项
5.比较C语言中的while循环和do-while循环,说明它们的相同点和不同点
6.简述C语言中文件操作的基本步骤,包括打开、读写、关闭文件的函数及注意事项
7.说明C语言中变量的存储类别(auto,static,extern,register)及其作用域和生命周期的区别
8.什么是递归函数?简述递归函数的优缺点和使用递归需注意的问题
五、程序阅读题(本题型共5题,每题5分,共25分)
1.以下程序的输出结果是__________#include stdio.h第5页共10页int main{int a=10;int*p=a;*p=20;printfa=%d,*p=%d\n,a,*p;return0;}
2.以下程序的输出结果是__________#include stdio.hint main{int i,sum=0;fori=1;i=5;i++{ifi%3==0break;sum+=i;}printfsum=%d,sum;return0;}
3.以下程序的输出结果是__________#include stdio.hint addintx,int y{return x+y;}int main{int a=5,b=3,c;第6页共10页c=adda,b;printfa+b=%d,c;return0;}
4.以下程序的输出结果是__________#include stdio.hint main{char str[]=Hello;printf%c,str
[4];return0;}
5.以下程序的输出结果是__________#include stdio.hint main{int arr[]={1,2,3,4,5};int i;fori=0;i5;i++{ifi%2==0continue;printf%d,arr[i];}return0;}
六、程序改错题(本题型共5题,每题5分,共25分)
1.以下程序试图计算1到n的和,其中n由用户输入,存在错误,请找出并改正第7页共10页#include stdio.hint main{int n,sum,i;printfEnter n:;scanf%d,n;//错误__________sum=0;fori=1;i=n;i++sum+i;//错误__________printfSum is%d,sum;return0;}
2.以下程序试图输出数组arr中所有元素,存在错误,请找出并改正#include stdio.hint main{int arr[]={1,2,3,4};int i;fori=0;iarr.length;i++{//错误__________printf%d,arr[i];}return0;}
3.以下程序试图交换两个变量a和b的值,存在错误,请找出并改正#include stdio.h第8页共10页void swapintx,int y{int temp;temp=x;x=y;y=temp;}int main{int a=5,b=10;swapa,b;printfa=%d,b=%d,a,b;return0;}
4.以下程序试图定义一个结构体并输出成员,存在错误,请找出并改正#include stdio.hstruct Student{int id;char name
[20];};int main{struct Students={1001,Tom};printfID:%d,Name:s.name;//错误__________return0;}
5.以下程序试图使用指针访问数组元素,存在错误,请找出并改正第9页共10页#include stdio.hint main{int arr[]={10,20,30};int*p;*p=arr
[0];//错误__________printf%d,*p;return0;}
七、程序设计题(本题型共3题,每题10分,共30分)
1.编写一个C程序,从键盘输入一个字符,判断该字符是否为大写字母(A-Z),如果是则输出“大写字母”,否则输出“不是大写字母”
2.编写一个C程序定义一个函数计算两个整数的最大公约数(GCD),并在主函数中调用该函数,输出结果
3.编写一个C程序,定义一个结构体表示学生信息(学号、姓名、成绩),并定义一个结构体数组存储3个学生的信息,输出所有学生的信息答案汇总
一、选择题答案
1.C;
2.B;
3.B;
4.B;
5.C;
6.D;
7.C;
8.B;
9.B;
10.D;
11.B;
12.B;
13.A;
14.C;第10页共10页。
个人认证
优秀文档
获得点赞 0