C语言》课程期末考试-第九套
C语言期末考试试卷附参考答案

一、单项选择题(请将答案填在下面表格中20×1)1. 以下叙述中正确的是()。
A. C语言比其他语言高级B. C语言可以不用编译就能被计算机识别执行C. C语言以接近英语国家的自然语言和数学语言作为语言的表达形式D. C语言出现的最晚,具有其他语言的一切优点2. 以下叙述中正确的是()。
A.构成C程序的基本单位是函数B.可在一个函数中定义另一个函数C. main函数必须放在其他函数之前D.所有被调用的函数一定要在调用之前进行定义3. 以下叙述中正确的是()。
A. C语言程序总是从第一个函数开始执行B.在C语言程序中,要调用函数必须在main()函数中定义C. C语言程序总是从main()函数开始执行D. C语言程序中的main()函数必须放在程序的开始部分4. 以下有关for循环的正确描述是()。
A. for循环只能用于循环次数已经确定的情况B. for循环是先执行循环体语句,后判断表达式C.在for循环中,不能用break语句跳出循环体D. for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来5. 对下面程序段的描述,正确的是()。
x=-1;do{x=x*x;}while(!x);A.是死循环B. 循环执行一次C. 循环执行两次D. 有语法错误6. 以下有关C语言数组说法正确的是()。
A.数组元素的数据类型可以不一致B.数组元素的个数可以不确定,允许随机变动C.可以使用动态内存分配技术,定义元素个数可变的数组D.定义一个数组后,就确定了它所容纳的具有相同数据类型元素的个数7.以下数组定义正确的是()。
A. int a(20);B. int a[ ]={1,2,5,7,0};C. int a[n];D. int a[2]={1,2,4,6};8.在定义int b[2][10];之后,对b数组元素引用正确的是( )。
A. b[0][9]B. b[2,3]C. b(1)(5)D. b[10] [0]9. 如有定义语句int c[ ]={1,5,3,4,6,7,0};,则数组c有()个元素。
c语言第九章题库及详解答案

c语言第九章题库及详解答案C语言第九章题库及详解答案一、选择题1. 在C语言中,以下哪个关键字用于定义数组?A. arrayB. listC. setD. define2. 以下哪个选项是正确的C语言数组声明?A. int myArray[];B. int myArray[10] = {};C. int myArray = 10;D. int myArray(10);3. 数组元素的默认初始化值是什么?A. 0B. 1C. -1D. 随机值4. 在C语言中,数组的索引是从哪个数字开始的?A. 0B. 1C. -1D. 105. 以下哪个函数可以用于计算数组中元素的个数?A. count()B. size()C. length()D. sizeof()二、填空题6. 在C语言中,声明一个具有10个整数元素的数组的语句是:________。
答案:int myArray[10];7. 如果数组的索引从0开始,那么数组myArray[10]的最后一个元素的索引是:________。
答案:98. 要初始化一个数组的所有元素为0,可以使用:________。
答案:int myArray[10] = {0};9. 在C语言中,可以使用________运算符来访问数组的元素。
答案:[]10. 当数组作为参数传递给函数时,实际上传递的是数组的________。
答案:首地址三、简答题11. 解释C语言中数组的内存分配方式。
答案:在C语言中,数组是连续存储在内存中的。
数组的内存分配是静态的,即在编译时分配。
数组的元素按照声明的顺序在内存中连续排列。
12. 说明数组和指针在C语言中的关系。
答案:在C语言中,数组名可以作为指针使用。
数组名代表数组的首地址。
当数组作为参数传递给函数时,数组名退化为指向数组第一个元素的指针。
四、编程题13. 编写一个C语言程序,实现对一个整数数组的排序。
答案:```c#include <stdio.h>void sortArray(int arr[], int size) {int i, j, temp;for (i = 0; i < size - 1; i++) {for (j = i + 1; j < size; j++) {if (arr[i] > arr[j]) {temp = arr[i];arr[i] = arr[j];arr[j] = temp;}}}}int main() {int myArray[] = {5, 3, 8, 2, 1};int size = sizeof(myArray) / sizeof(myArray[0]);sortArray(myArray, size);printf("Sorted array: ");for (int i = 0; i < size; i++) {printf("%d ", myArray[i]);}return 0;}```14. 编写一个C语言程序,实现查找数组中的最大值和最小值。
c语言期末考试题库及详解答案选择题

c语言期末考试题库及详解答案选择题在C语言期末考试中,选择题是常见的题型之一,它考查学生对C语言基础知识点的掌握程度。
以下是一些典型的C语言选择题及其详解答案,供同学们参考:1. 下列哪个是合法的C语言常量?A. 0.123E-2B. .123C. 0x12AB34D. 0L答案:C。
解析:C语言中的常量可以是整型常量、浮点型常量、字符常量等。
选项A中缺少整数部分,选项B中没有整数部分或指数部分,选项D中的'L'是长整型后缀,但前面没有数字,因此选项C是合法的十六进制常量。
2. 以下哪个语句不能通过编译?A. int a = 5;B. int b = 0x12;C. int c = 0755;D. int d = 1.23e0;答案:C。
解析:选项C中的0755是一个八进制常量,但是八进制常量不能以数字5开始,因此选项C是错误的。
3. 以下哪个是正确的C语言数组声明?A. int arr[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};B. int arr[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};C. int arr[5] = {0, 1, 2, 3, 4, 5};D. int arr[10];答案:B。
解析:选项A中数组的大小是10,但初始化列表中只有9个元素,这是不正确的。
选项C中初始化列表有6个元素,但数组的大小是5,这会导致编译错误。
选项D没有初始化列表,但数组的大小是10,这是合法的。
选项B是正确的,因为它允许数组的大小由初始化列表中的元素数量决定。
4. 下列哪个是正确的C语言函数声明?A. void myFunction();B. int myFunction(int a, int b);C. double myFunction(double);D. void myFunction(int);答案:B。
解析:选项A中没有参数,但函数名后没有括号,这是不正确的。
c语言下期末考试题库及详解答案

c语言下期末考试题库及详解答案一、选择题(每题2分,共20分)1. 下列哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 在C语言中,哪个函数用于将字符串复制到另一个字符串?A. strcpyB. strcatC. strcmpD. strlen答案:A3. C语言中,以下哪个选项不是文件操作的模式?A. "r"B. "w"C. "a"D. "b"答案:D4. 下列哪个运算符用于执行按位与操作?A. &&B. ||C. &D. |答案:C5. 在C语言中,下面哪个选项表示无符号整型?A. intB. longC. unsigned intD. float答案:C6. 下列哪个函数用于将整数转换为字符串?A. atoiB. itoaC. sprintfD. printf答案:B7. C语言中,以下哪个关键字用于定义一个函数?A. intB. voidC. returnD. struct答案:B8. 下列哪个选项不是C语言中的循环结构?A. forB. whileC. do-whileD. switch答案:D9. 在C语言中,以下哪个选项用于声明一个指针?A. int *p;B. int p[];C. int p[5];D. int (*p)[5];答案:A10. 下列哪个选项是正确的C语言注释?A. // this is a commentB. /* this is a comment */C. //* this is a commentD. /* this is a comment */答案:B二、填空题(每题3分,共15分)1. C语言中,______关键字用于定义一个宏。
答案:#define2. 在C语言中,______函数用于计算字符串的长度。
大学生C语言期末考试试题汇总

大学生C语言期末考试试题汇总第1-3章习题一、单项挑选题1C语言属于()。
A.机器语言B.低级语言C.中级语言D.高级语言2一个C程序可以包含随意多个不同名的函数,但有且仅有一个。
A.函数B.主函数C.includeD.过程3系统默认的C语言源程序扩展名为.C,需经过之后,生成.exe文件,才干运行?A.编辑?编译B.编译?衔接C.编辑?改错D.编辑?衔接4C语言程序从开头执行。
A.程序中第一条可执行语句B.程序中第一个函数C.程序中的main函数D.包含文件中的第一个函数5C语言程序是由构成的。
A.一些可执行语言B.main函数C.函数D.包含文件中的第一个函数6一个算法应具有“确定性”等5个特性,则对另外4个特性描述错误的是。
A.有效性B.有穷性C.有零个或多个输入D.有零个或多个输出7设变量a是整型,f是实型,i双精度型,则表达式10+’a’+i*f 值的数据类型。
A.intB.floatC.doubleD.不确定8在C语言中,变量所分配的内存空间大小是由。
A.均为一个字节B.由用户自己定义C.由变量的类型打算D.是随意的9执行scanf (“a=%d,b=%d”,&a,&b)语句,若要使变量a和b的值分离为3和4,则正确的输入办法为。
A. 3 ,4B.a:3 b: 4C.a=3,b=4D. 3 410在算术表达式中允许使用的括号类型是。
A.{ }B.[ ]C.( )D.以上三项皆错11存储以下数据,占用存储字节最少的是。
A. 0B. ‘0’C. “0”D. 0.012设n=10,i=4,则运算n%=i+1执行后,n 的值是。
A.0B.3C.2D.113C语言中运算对象必需是整型的运算符是。
A.%B. /C. =D.〈=14已知int x=5,y=5,z=5;执行语句x%=y+z;后,x的值是.A .0 B. 1 C. 5 D. 615若有以下类型说明语句:char w;int x;float y;double z;则表达式w-x*y/z的结果为类型A.floatB.charC.intD.double16在C语言的库函数中,可以输出char型变量x值的语句是。
c语言习题第九章答案

c语言习题第九章答案C语言习题第九章答案第九章是C语言学习中的一个重要章节,主要涉及指针和动态内存分配的知识。
在这一章中,我们将学习如何使用指针来操作内存,并且了解动态内存分配的概念和用法。
本文将为大家提供第九章习题的答案,帮助大家更好地理解和掌握这些知识。
1. 以下代码的输出结果是什么?```c#include <stdio.h>int main() {int arr[] = {1, 2, 3, 4, 5};int *ptr = arr;printf("%d\n", *ptr++);printf("%d\n", *ptr++);printf("%d\n", *ptr++);return 0;}```答案:输出结果为1、2、3。
解析:在这段代码中,我们定义了一个整型数组arr,并且定义了一个指针ptr,将arr的首地址赋值给ptr。
在输出语句中,我们使用了后置自增运算符,这意味着先输出ptr指向的值,然后再将指针ptr的值加1。
因此,第一个输出语句输出的是arr[0]的值1,第二个输出语句输出的是arr[1]的值2,第三个输出语句输出的是arr[2]的值3。
2. 以下代码的输出结果是什么?```c#include <stdio.h>int main() {int arr[] = {1, 2, 3, 4, 5};int *ptr = arr;printf("%d\n", *(ptr++));printf("%d\n", *(ptr++));printf("%d\n", *(ptr++));return 0;}```答案:输出结果为1、2、3。
解析:这段代码与上一题的代码非常相似,唯一的区别在于输出语句中对指针的解引用操作使用了括号。
这是因为后置自增运算符的优先级比解引用运算符高,为了保证先解引用再自增,我们需要使用括号来明确优先级。
(完整版)c语言期末考试题及其答案

(完整版)c语言期末考试题及其答案挑选题(7分,每小题0.5分)1.C语言源程序的基本单位是()。
A 过程B 函数C 子程序D 标识符2.下列程序的输出结果是()。
main( ){ int a=7,b=5;printf("%d\n",b=b/a);}A 5B 1C 0 D不确定值3.假设变量a,b均为整型,表达式(a=5,b=2,a>b?a++:b++,a+b)的值是()。
A 7B 8C 9D 24.设a为int型变量,执行下列赋值语句后,a的取值分离是()。
a=125.534; a=(int)125.521%4; a=5nB ++p->nC p->n++D (*p).n++写出下列程序的运行结果(10分,每小题2分)1.float average (float array[10]){ int i;float aver,sum=array[0];for (i=1;i=20) break;if(b%3==1){b+=3; continue; }b-=5;}printf(“a=%d\tb=%d\n”,a,b);}4.main(){ printf(“main( ) :%d\n”,fact(5)); fact(-5);}fact(int value){ int f;if(valuemax)max=array[i][j];(2) ;}main( ){ int a[3][4], i,j;for(i=0;ia[k]) k=j;if(k!=i){ t=a[k]; a[k]=a[i]; a[i]=t;}}printf("The sorted numbers:\n"); for(i=1;i<11;i++) printf("%d ",a[i]); }答案一挑选题(7分,每小题0.5分)1. B2. C3. B4. B5. C6. A7. B8. A9. A 10. C11. A 12. A 13. B 14. D二推断对错,对的划“√”,错的划“×”(5分,每小题0.5分)1.×2.×3.√4.√5.×6.×7.×8.×9.√10.√四阅读下列程序,在处填入适当内容,使程序完整(8分,每个空1分)1.(1)int array[3][4](int array[][4]) (2)return(max)(3)scanf(“%d”,&a[i][j])2.(4)*p (5)px=&x(py=&y) (6)py=&y(px=&x)3.(7) (8)文档内容到此结束,欢迎大家下载、修改、丰富并分享给更多有需要的人。
计算机C语言填空题库

第二十七套
1. 函数fun的功能是:计算f(x)=1+x-2/2!+3/3!-4/4!+……的前n项和。若x=2.5,n=15时,函数值为1.917914。
1 1.0 2 -1 3 t
第二十八套
1. 给定程序中,函数fun的功能是:计算N*N矩阵的主对角线元素和方向对角线元素之和,并作为函数值返回。注意:要求先累加主对角线元素中的值,然后累加反响对角线元素的值。
1 n/2 2 i 3 a[n-i-1]
第四套
(一) 给定程序中,函数fun的功能是:在带有头结点的单向链表中,查找数据域中值为ch的结点。找到后通过函数值返回该结点在链表中所处的顺序号:若不存在值为ch的结点,函数值返回0.
1 NULL 2 n 3 head,ch
第十二套
1. 给定程序中,函数fun的功能是:将自然数1—10以及它们的平方根写到名为myfile3.txt的文本文件中,然后再顺序读出显示在屏幕上。
1 fp 2 fclose(fp) 3 fname
第十三套
1. 给定程序中,函数fun的功能是:找出N×N矩阵中每列元素中的最大值,并按顺序一次存放于形参b所指的一维数组中。
第十五套
1. 程序填空
给定程序中,函数的功能是:把形参s所指字符串下标为奇数的字符右移到下一个奇数位置,最右边呗移出字符串的字符绕回放到第一个奇数位置,下标为偶数的字符不动(注:字符串的长度大于等于2)。例如,形参s所指的字符串为:abcdefgh,执行结果为:ahcbedg。
1 x[i]/N 2 j++ 3 i++
第十套
1程序通过定义学生结构体变量,存储了学生的学号、姓名和三门课的成绩。函数fun的功能是将形参a中的数据进行修改,把修改后的数据作为函数值返回主函数进行输出。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第九套期末考试题
一、填空题(每小题1分,共35分)
1、程序设计语言的发展经历了机器语言、____、____、____四个阶段。
2、C 语言包括___、___、___、空类型四种基本数据类型,其中字
符型、整型、长整型、单精度、双精度分别占1个、___个、___
个、___个、___个字节。
3、字符和字符串在___、___有区别。
4、在C 语言中,我们所学过的运算包括____、____、____、
____和赋值运算等。
5、C 语言程序设计的基本结构包括_____、_____、____。
6、若某一变量为A ,则&A 表示____,*A 表示____。
7、C 语言程序从编写到看到程序的结果要经历编辑、____、____、
____四个步骤,并且在这个过程中产生的文件依次为____、___
_、____。
(源程序的文件名为NONAME )
8、在C 语言循环程序设计的算法中,____和____是具有代表性的
基本应用。
9、C 语言中,变量有_____、____、____、____四种存
储属性。
10、循环控制有两种方法,分别是____和____。
二、选择题(每小题2分,共20分)
1、若有int i ;float f ;scanf(“%3d%*4d%f ”,&i,&f); 输入的数据流为12345678765.43,则f 的值为
( )
A 123
B 4567
C 8765.43
D 12345678765.43
2、若有float x = 333.12345678901234567890;则printf(“%﹒4f ”,x);
的执行结果为( )
A 0.1234
B 333.1
C 333.1235
D 3.3312e+02
3、若int x,y,z ;x=y=z=0;++x&&++y||++z ;则printf(“%d\t%d\t%d\t ”,
x,y,z);的执行结果为( )
A 0 0 0
B 1 1 1
C 1 1 0
D 1 0 1
4、若 int a=6;则 执行a+=a-=a*a ;后a 的值为( )
A 6
B 30
C -60
D 36
5、#define A(x) x*x ,则A(3+2)的值为( )
A 25
B 9
C 11
D 12
6、int x=2,y=3;(x>y)?x++:y++;则x,y 最后的结果为( )
A 3, 3
B 2, 3
C 2, 4
D 3, 4
7、 main()
{ int n=0; A 1
while(n++<=1) B 2
printf(“%d\n ”,n); C 3
} D 4
则最后的n 值为( )
8、main()
{ int x= -1,y= -1,z= -1;
x++&&y++&&z++;
printf(“%d\,%d\,%d\”,x,y,z);}
x,y,z 的值分别为( )
A 0,0,0
B 0,-1,0,
C 1,-1,-1
D 1,0,1
9、main()
{ int x=2,y=3;
printf(“%d\n ”,x<y?x++:y++); }
此程序的执行结果为( )
A 0
B 1
C 3
D 2
10、main()
{ int x=3,y=4,z=4;
printf(“%d\n ”,z>=y&&y>=x); }
此程序的执行结果为( )
A 3
B 4
C 1
D 2
三、判断对错(每小题3分,共15分。
正确的打 √ ,错误的打 ╳ 。
)
1、C 语言的程序均由函数组成。
( )
2、逻辑运算符 !的优先级别比算术运算符高。
( )
3、任何的 switch ……case 语句都可以由 if 语句实现。
( )
4、在相同条件下,while 与 do ……while 循环的次数相同。
( )
5、自定义的函数必须有返回值。
( )
四、编程(6分)
从键盘输入任意一个三位数,按其倒序输出(例如:输入 123,则输出为321)
五、编程(6分) 编写一个程序,判断从键盘输入的一个字符是数字,或
是字母,还是其它字符。
六、编程(6分) 输出所有的水仙花数。
七、编程(每个小题6分,共12分)
(1)打印出以下图形。
* * * * *
* * *
*
(2)知数组 a[6]={9,8,5,7,3,6},请用选择排序法对其进
行排序,并输出排序结果。