C语言期末考试选择题

合集下载

c语言期末考试题库及详解答案

c语言期末考试题库及详解答案

c语言期末考试题库及详解答案C语言期末考试题库及详解答案一、选择题1. 下列哪个选项是C语言中正确的整型常量?A. 0.1234B. 0x12ABC. 0b1010D. 1e10答案:B2. C语言中,以下哪个关键字用于定义变量的存储类别?A. staticB. constC. typedefD. volatile答案:A3. 在C语言中,以下哪个运算符用于求两个数的余数?A. /B. %C.D. ++答案:B4. 下列哪个选项是C语言中正确的字符常量?A. 'A'B. "A"C. AD. 65答案:A5. 在C语言中,以下哪个函数用于计算两个数的最大值?A. max()B. min()C. pow()D. sqrt()答案:A二、填空题6. C语言中,用于定义数组的关键字是______。

答案:int7. C语言中,用于输入输出的库函数分别是______和______。

答案:scanf(); printf()8. C语言中,若要定义一个指针变量,需要使用关键字______。

答案:int*9. C语言中,用于定义函数的关键字是______。

答案:void 或其他数据类型10. C语言中,若要实现字符串的复制,可以使用库函数______。

答案:strcpy()三、简答题11. 简述C语言中结构体的定义方式。

答案:在C语言中,结构体是一种用户自定义的数据类型,它允许将多个不同类型的数据项组合成一个单一的类型。

结构体的定义方式如下:struct 结构体名 {数据类型成员名1;数据类型成员名2;...};12. 解释C语言中的递归函数。

答案:递归函数是一种函数自己调用自己的特殊函数。

递归函数通常用于解决可以被分解为相似子问题的问题。

递归函数需要有一个明确的终止条件,以防止无限递归。

四、编程题13. 编写一个C语言程序,实现求一个整数的阶乘。

答案:```c#include <stdio.h>long factorial(int n) {if (n <= 1) return 1;else return n * factorial(n - 1);}int main() {int num;printf("Enter a number: ");scanf("%d", &num);printf("Factorial of %d = %ld", num, factorial(num)); return 0;}```14. 编写一个C语言程序,实现字符串的反转。

c程序期末考试题及答案

c程序期末考试题及答案

c程序期末考试题及答案一、选择题(每题2分,共20分)1. 在C语言中,以下哪个选项不是合法的变量名?A. myVariableB. 2variableC. _variableD. variable2答案:B2. 下列哪个是C语言中的整型常量?A. 3.14B. 'A'C. 100LD. "123"答案:C3. C语言中,以下哪个语句是正确的?A. int a = 5, b = 0;B. int a = 5;int b = 0;C. int a = 5int b = 0;D. int a = 5 b = 0;答案:A4. 在C语言中,以下哪个是正确的数组声明?A. int array[];B. int array[10] = {0};C. int array = {0, 1, 2, 3};D. int array[10] = 0;答案:B5. 下列哪个是C语言中的条件语句?A. if (condition)B. switch (expression)C. for (initialization; condition; increment)D. while (condition)答案:A6. 在C语言中,以下哪个是正确的函数声明?A. int function();B. void myFunction(int a, int b);C. int myFunction(int a, int b) { ... }D. Both A and B答案:D7. 在C语言中,以下哪个是正确的字符串字面量?A. "Hello World"B. 'Hello World'C. "Hello" + "World"D. "Hello", "World"答案:A8. 下列哪个是C语言中的循环结构?A. ifB. forC. whileD. Both B and C答案:D9. 在C语言中,以下哪个操作符用于计算两个数的乘积?A. +B. -C. *D. /答案:C10. 下列哪个是C语言中的位运算符?A. &&B. ||C. &D. <答案:C二、填空题(每题2分,共20分)1. 在C语言中,基本数据类型包括______、______、______、______和______。

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语言期末考试题目

C语言期末考试一、选择题1.在C语言中,每个语句和数据定义是用结束。

A)句号 B)逗号 C)分号 D)括号2. 一个C语言程序是由。

A)一个主程序和若干个子程序组成;B)函数组成, 并且每一个C程序必须且只能由一个主函数;C)若干过程组成;D)若干子程序组成.3.在C语言中,反斜杠符是。

A)\n B)\t C)\v D)\ \4. 设d为字符变量,下列表达式不正确的是。

A)d=97 B)d=’a’ C)d=”a”D)d=’g’5. 根据定义和数据的输入方式,输入语句的正确形式为:。

已有定义:float a1, a2;数据的输入方式: 4.5233.52A)scanf(“%f %f ”, &a1,&a2);B)scanf(“%f ,%f ”, a1, a2);C)scanf(“%4.3f ,%3.2f ”, &a1,&a2);D)scanf(“%4.3f %3.2f ”, a1,a2);6. 若已知a=10,b=20,则表达式!a<b的值为。

A)10 B)20 C)1 D)07判断字符型变量ch为大写字母的表达式是。

A)’A’<=ch<=’Z’ B)(ch>=’A’)&(ch<=’Z’)C)(ch>=’A’)&&(ch<=’Z’) D)(ch>=’A’)AND(ch<=’Z’)8.判断字符型变量ch为小写字母的表达式是。

A)’a’<=ch<=’z’ B)(ch>=a)&&(ch<=z)C)(ch>=’a’)||(ch<=’z’) D)(ch>=’a’)&&(ch<=’z’)9. 两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是。

main( ){ int x;scanf(“%d”,&x);if(x++>5) printf(“%d”,x);else printf(“%d\n”,x--);}A)7和5 B)6和3 C)7和4 D)6和410. 已知 int x=30,y=50,z=80;以下语句执行后变量x、y、z的值分别为:。

期末c语言考试题库及答案

期末c语言考试题库及答案

期末c语言考试题库及答案一、选择题(每题2分,共20分)1. C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 下列哪个选项是合法的C语言变量名?A. 2nd_variableB. _variableC. variable-nameD. variable$name答案:C3. 在C语言中,以下哪个函数用于将字符串转换为浮点数?A. atoiB. atofC. itoaD. sprintf答案:B4. 下列哪个选项是C语言中的逻辑运算符?A. &&B. ||C. ==D. =答案:A5. C语言中,以下哪个关键字用于定义一个函数?A. classB. functionC. intD. void答案:C6. 在C语言中,以下哪个选项表示“不等于”?A. ==B. !=C. =D. <=答案:B7. 下列哪个选项是C语言中的循环结构?A. ifB. forC. switchD. case答案:B8. 在C语言中,以下哪个函数用于计算字符串的长度?A. strlenB. strcpyC. strcatD. strcmp答案:A9. C语言中,以下哪个关键字用于定义一个指针?A. *B. &C. %D. #答案:A10. 下列哪个选项是C语言中的数组?A. int a[10];B. int *a;C. int a=10;D. int a;答案:A二、填空题(每题2分,共10分)1. 在C语言中,用于定义一个字符常量的数据类型是______。

答案:char2. 在C语言中,用于定义一个整型变量的数据类型是______。

答案:int3. 在C语言中,用于定义一个浮点型变量的数据类型是______。

答案:float4. 在C语言中,用于定义一个双精度浮点型变量的数据类型是______。

答案:double5. 在C语言中,用于定义一个布尔型变量的数据类型是______。

C语言程序设计期末考试试题含答案

C语言程序设计期末考试试题含答案

C语言程序设计期末考试试题含答案一、选择题(每题 3 分,共 30 分)1、以下选项中,不是 C 语言关键字的是()A intB floatC charD string答案:D解释:string 不是 C 语言的关键字,C 语言中表示字符串通常使用字符数组。

2、以下能正确表示八进制整数的是()A 018B 0x18C 0o18D 18答案:C解释:在 C 语言中,八进制整数以 0 开头,数字取值范围 0 7,所以 0o18 能正确表示八进制整数。

3、若有定义:int a = 5, b = 2; 则表达式 a / b 的值是()A 25B 2C 20D 3答案:B解释:在 C 语言中,两个整数相除,结果为整数,舍去小数部分,所以 5 / 2 的结果是 2 。

4、以下程序段的输出结果是()int x = 10;printf("%d\n",++x);A 10B 11C 9D 12答案:B解释:++x 是先将 x 的值增加 1,然后再使用 x 的值,所以输出11 。

5、若有定义:int a5 ={1, 2, 3, 4, 5};则 a2的值是()A 2B 3C 4D 5答案:B解释:数组下标从 0 开始,所以 a2的值是 3 。

6、以下函数声明中,正确的是()A void fun(int a, b);B void fun(int a, int b);C void fun(int a; int b);D void fun(int, int);答案:B解释:函数参数列表中,每个参数都需要明确指定其类型,所以 B 选项正确。

7、若有定义:char str ="hello";则 sizeof(str)的值是()A 5B 6C 20D 不确定答案:B解释:str 数组不仅包含字符'h','e','l','l','o',还包含一个字符串结束符'\0',所以 sizeof(str)的值是 6 。

c语言程序设计期末考试试卷

c语言程序设计期末考试试卷

c语言程序设计期末考试试卷C语言程序设计期末考试试卷一、选择题(每题2分,共20分)1. 在C语言中,以下哪个选项表示一个字符常量?- A. 'A'- B. "A"- C. \A- D. A2. 以下哪个是C语言中的合法标识符?- A. 2variable- B. variable2- C. variable!3. C语言中,以下哪个语句用于定义一个整型数组?- A. int array[10] = {0};- B. int [10] array = {0};- C. int array = [10] = {0};- D. int array[10];4. 以下哪个是C语言中定义函数的关键字?- A. function- B. method- C. def- D. int5. C语言中,以下哪个是正确的函数声明?- A. int add(int a, int b)- B. int add(int a, int b) {}- C. int add(int, int);- D. void add(int a, int b);6. 在C语言中,以下哪个语句用于实现循环?- A. do-while- B. for- C. switch-case- D. if-else7. 在C语言中,以下哪个语句用于实现条件判断? - A. if-else- B. switch-case- C. while- D. for8. 在C语言中,以下哪个语句用于实现跳转?- A. return- B. break- C. continue- D. goto9. 在C语言中,以下哪个是正确的字符串字面量? - A. "Hello World"- B. 'Hello World'- C. "hello world"- D. {"Hello World"}10. 在C语言中,以下哪个是正确的结构体定义?- A. struct person { int age; char name[20]; };- B. struct { int age; char name[20]; } person;- C. struct person { int age; char name; };- D. struct person int age; char name[20];二、填空题(每空1分,共10分)1. 在C语言中,一个整型变量的默认值是______。

数据结构c语言期末考试试题及答案

数据结构c语言期末考试试题及答案

数据结构c语言期末考试试题及答案一、选择题(每题2分,共20分)1. 在C语言中,以下哪个关键字用于定义结构体?A. structB. unionC. enumD. typedef答案:A2. 在C语言中,以下哪个函数用于创建链表节点?A. mallocB. callocC. reallocD. free答案:A3. 如果一个链表的头指针为NULL,这意味着什么?A. 链表为空A. 链表已满C. 链表正在使用中D. 链表已损坏答案:A4. 在C语言中,以下哪个数据结构允许快速随机访问?A. 链表B. 数组C. 栈D. 队列5. 在二叉树中,以下哪个术语描述了没有子节点的节点?A. 根节点B. 叶节点C. 内部节点D. 父节点答案:B6. 以下哪个算法用于在二叉搜索树中查找一个元素?A. 深度优先搜索B. 广度优先搜索C. 插入排序D. 二分查找答案:D7. 在C语言中,以下哪个关键字用于定义一个函数?A. intB. voidC. returnD. struct答案:A8. 以下哪个选项是正确的递归函数定义?A. int fact(int n) { if (n > 1) return n * fact(n-1); else return 1; }B. int fact(int n) { if (n > 1) return n * fact(n); else return 1; }C. int fact(int n) { if (n > 1) return n * fact(n+1); else return 1; }D. int fact(int n) { if (n > 1) return n; else return 1; }9. 在C语言中,以下哪个函数用于释放动态分配的内存?A. mallocB. callocC. reallocD. free答案:D10. 在C语言中,以下哪个关键字用于定义一个指针?A. intB. charC. *D. &答案:C二、填空题(每题2分,共20分)1. 在C语言中,结构体的成员可以通过其结构体变量名和______访问。

(完整版)c语言期末考试题及其答案

(完整版)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语言期末考试试题及详细答案

C语言期末考试试题及详细答案

C语⾔期末考试试题及详细答案选择练习题1、C 语⾔中最简单的数据类型包括( B )。

A 、整型,实型,逻辑型B 、整型,实型,字符型C 、整型,字符型,逻辑型D 、整型,实型,逻辑型,字符型2、C 语⾔中,运算对象必须是整型数的运算符是(A )。

A 、%B 、/C 、%和/D 、*3、为表⽰关系x <y <z ,应使⽤C 语⾔表达式( A )。

A 、(x <y)&&(y <z ) B 、(x <y)AND (y <z) C 、(x <y <z) D 、(x <y) &(y <z)4、C 语⾔程序的基本单位是( C )。

A 、程序⾏B 、语句C 、函数D 、字符 5、C 语⾔的程序⼀⾏写不下时,可以( D )。

A 、⽤逗号换⾏ B 、⽤分号换⾏ C 、⽤回车符换⾏ D 、在任意⼀空格处换⾏ 6、下述标识符中,( C )是合法的⽤户标识符。

A 、A&B B 、voidC 、_studentD 、7、在C 语⾔中,字符型数据在内存中以( BA 、补码B 、ASCII 码C 、反码D 、原码8、⼀个程序由若⼲⽂件组成,共⽤同⼀变量,则此变量的存储类别应该为( B )。

A 、auto B 、extern C 、static D 、RegisterB 、在switch 语句中,可以根据需要使⽤或不使⽤break 语句C 、break 语句只能⽤于switch 语句中D 、break 语句是switch 语句的⼀部分10、C 语⾔规定:调⽤⼀个函数时,实参变量和形参变量之间的数据传递是(B )。

A 、地址传递 B 、值传递C 、由实参传给形参,并由形参传回给实参D 、由⽤户指定传递⽅式 11、下述C 语⾔转义符中( D )是⾮法的。

A 、'\b' B 、'\037' C 、'\0xf ' D 、'\''12、为了要计算s=10!(10的阶乘),则以下对s 的定义正确的是( D )。

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语言期末考试题及答案及解析一、选择题(每题2分,共20分)1. 下列哪个是C语言的标准输入输出库函数?A. printf()B. scanf()C. getchar()D. All of the above答案:D解析:在C语言中,标准输入输出库函数包括printf()、scanf()和getchar()等,它们都用于输入输出操作。

2. 以下哪个不是C语言的关键字?A. intB. floatC. doubleD. string答案:D解析:int、float和double都是C语言的基本数据类型关键字,而string不是C语言的关键字,它是C++中的一个类。

3. 以下哪个语句可以正确地声明一个整型数组?A. int arr[10];B. int [10] arr;C. Both A and BD. None of the above答案:C解析:在C语言中,数组的声明可以是int arr[10];也可以是int [10] arr;,两者都是正确的声明方式。

4. 下列哪个是正确的C语言函数定义?A. int myFunction(int x, int y) { /* ... */ }B. void myFunction(int x, int y) { /* ... */ }C. Both A and BD. None of the above答案:C解析:在C语言中,函数定义可以返回int类型,也可以是void类型,表示没有返回值。

5. 以下哪个是正确的C语言循环结构?A. forB. whileC. do-whileD. All of the above答案:D解析:C语言支持多种循环结构,包括for循环、while循环和do-while循环。

6. 以下哪个是C语言的位运算符?A. &&B. ||C. &D. All of the above答案:C解析:&是C语言的位运算符之一,用于按位与操作。

c语言期末考试题库完整

c语言期末考试题库完整

习题一一、选择题1.C语言是一种(C )。

A. 低级语言B. 汇编语言C. 高级语言D. 机器语言2.以下不是C语言的特点的是( D )。

A. 语言简洁紧凑B. 可以直接对硬件进行操作C. 数据类型丰富D. 是面向对象的程序设计语言3.一个C程序的执行是从( A )。

A. 本程序的main函数开始,到main函数结束B. 本函数的第一个数开始,到本程序文件的最后一个函数结束C. 本程序的main函数开始,到本程序文件的最后一个函数结束D. 本函数的第一个数开始,到本程序main函数结束4.以下叙述正确的是(C )。

A. 在C程序中,main函数必须位于程序的最前面B. C程序的每行只能写一条语句C. C语言的本身没有输入输出语句D. 在对一个C程序进行编译的过程中,可以发现注释中的拼写错误5.以下叙述不正确的是(D )。

A. 一个C源程序可由一个或多个函数组成B. 一个C源程序必须包括一个main函数C. C程序的基本组成单位是函数D. 在C程序中,注释说明只能位于一条语句的后面6.C语言规定:在一个源程序中,main函数的位置( C )。

A. 必须在最开始B. 必须在系统调用的库函数的后面C. 可以任意D. 必须在最后7.一个C语言程序是由( B )。

A. 一个主程序和若干子程序组成B. 函数组成C. 若干过程组成D. 若干子程序组成8.以下叙述中正确的是( C )。

A. C程序的基本组成单位是语句B. C程序中的每一行只能写一条语句C. C语句必须以分号结束D. C语言必须在一行写完9.以下叙述中正确的是( C )。

A. C程序中的注释只能出现在程序的开始位置和语句的后面B. C程序书写格式严格,要求一行只能写一个语句C. C程序书写格式自由,一个语句可以写在多行上D. 用C语言编写的程序只能放在一个程序文件中10.以下叙述中正确的是( C )。

A. C语言程序将从源程序中第一个函数开始执行B. 可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行C. C语言规定必须用main作为主函数名,程序从此开始执行,在此结束D. main可作为用户标识符,用以命名任意一个函数作为主函数11.下列叙述中正确的是( A )。

c语言期末考试题及答案详解

c语言期末考试题及答案详解

c语言期末考试题及答案详解C语言期末考试题及答案详解一、选择题(每题2分,共20分)1. 下列哪个关键字用于定义C语言的函数?A. classB. functionC. voidD. int答案:D2. C语言中,哪个运算符用于取模?A. /B. %C. *D. -答案:B3. 在C语言中,哪个关键字用于声明一个变量为静态存储类别?A. staticB. autoC. registerD. extern答案:A4. 下列哪个不是C语言的控制语句?A. ifB. switchC. forD. loop答案:D5. 在C语言中,哪个函数用于将整数转换为字符串?A. atoiB. itoaC. atolD. tolower答案:B6. C语言中,哪个函数用于计算两个数的绝对值?A. fabsB. absC. fmodD. pow答案:B7. 在C语言中,哪个关键字用于声明一个函数的返回类型?A. returnB. typeC. valueD. type_of答案:A8. 下列哪个不是C语言的数组类型?A. intB. charC. floatD. string答案:D9. C语言中,哪个关键字用于定义一个结构体?A. structB. unionC. enumD. class答案:A10. 在C语言中,哪个函数用于打开一个文件?A. fopenB. fcloseC. freadD. fwrite答案:A二、填空题(每空2分,共20分)1. C语言中,一个完整的程序至少包含一个________函数。

答案:main2. 定义一个字符数组char str[10],使用________运算符可以给数组赋值。

答案:=3. 在C语言中,使用________关键字可以进行条件判断。

答案:if4. 一个C语言程序在编译时,首先会被预处理器处理,其中________指令用于包含头文件。

答案:#include5. C语言中,使用________函数可以输出格式化的字符串。

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.inta(20);B.inta[]={1,2,5,7,0};C.inta[n];D.inta[2]={1,2,4,6};8.在定义intb[2][10];之后,对b数组元素引用正确的是()。

A.b[0][9]B.b[2,3]C.b(1)(5)D.b[10][0]9.如有定义语句intc[]={1,5,3,4,6,7,0};,则数组c有()个元素。

大学c语言期末考试题及答案

大学c语言期末考试题及答案

大学c语言期末考试题及答案一、选择题(每题2分,共20分)1. 下列哪个选项是C语言的关键字?A. intB. floatC. doubleD. string答案:A2. C语言中,哪个函数用于将整数转换为字符串?A. itoa()B. atoi()C. printf()D. sprintf()答案:A3. 在C语言中,以下哪个是正确的字符串定义方式?A. char str[] = "Hello World";B. string str = "Hello World";C. char str = "Hello World";D. char str[12] = "Hello World";答案:A4. 下列哪个是C语言中正确的数组声明?A. int array[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};B. int array[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};C. int array = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};D. int array[10] = 0;答案:B5. C语言中,哪个运算符用于求两个数的余数?A. %B. /C. *D. -答案:A6. 下列哪个是C语言中正确的条件语句?A. if (x > y)B. if x > yC. if(x > y)D. if (x > y)答案:D7. 在C语言中,哪个函数用于计算两个数的最大值?A. max()B. max_int()C. max_value()D. None of the above答案:D8. C语言中,哪个关键字用于定义函数?A. functionB. defC. funcD. int答案:D9. 在C语言中,哪个语句用于结束程序的执行?A. break;B. exit();C. return;D. end;答案:B10. 下列哪个是C语言中正确的循环结构?A. do-whileB. forC. whileD. All of the above答案:D二、填空题(每题2分,共10分)1. C语言中,用于定义变量的关键字是________。

C语言期末考试题(含答案)

C语言期末考试题(含答案)

《C 语言程序设计》期末试卷一、单项选择题(10x2’=20’)1、以下叙述正确的是( )A )C 语言的源程序不必通过编译就可以直接运行。

B )C 语言中的每条可执行语句最终都将被转换成二进制的机器指令。

C)C 语言源程序经编译形成的二进制代码可以直接运行.D )C 语言中的函数不可以单独进行编译。

2、一个C 语言的源程序中( )A )必须有一个主函数B )可能有多个主函数C)必须有除主函数外其它函数 D )可以没有主函数3、以下不能定义为用户标识符的是( )A )scanfB )Void C)_3com D )int4、若以下选项中的变量已正确定义,则正确的赋值语句是( )A)x1=26。

8%3; B )1+2=x2; C )x3=0x12; D)x4=1+2=3;5、设有定义:float a=2,b=4,h=3;以下C 语言表达式中与代数式h b a *)(21 的计算结果不.相符的是( ) A )(a+b)*h/2 B)(1/2)*(a+b)*h C )(a+b)*h *1/2 D )h/2*(a+b )6、C 语言中用于结构化程序设计的3种基本结构是( )A )顺序结构、选择结构、循环结构B)if 、switch 、breakC )for 、while 、do-whileD )if 、for 、continue7.在while(!x)语句中的!x 与下面条件表达式等价的是( )A) x !=0 B ) x==1 C) x!=1 D) x==08、有以下程序:#include <stdio.h 〉void main (){int i=1,j=1,k=2;if ( (j++||k++)&&i++ )printf(“%d ,%d ,%d\n ”,i ,j,k );}执行后的输出结果是( )A )1,1,2B )2,2,1C )2,2,2D )2,2,39、有以下程序:#include <stdio 。

c语言期末考试试题及答案

c语言期末考试试题及答案

c语言期末考试试题及答案一、选择题1. C语言中,用于表示整数常量的数据类型是()。

A. floatB. doubleC. intD. char答案:C2. 若有定义:int a = 5; float b =3.14; 则下列表达式中错误的是()。

A. a + bB. a * bC. a / bD. b % a答案:D3. C语言中,用于输入的函数是()。

A. printf()B. scanf()C. puts()D. gets()答案:B4. 下列关于数组的说法,正确的是()。

A. 数组大小是动态的,可以在运行时改变B. 数组一旦定义,其大小不可改变C. 数组可以存储不同类型的数据D. 数组的索引必须从0开始答案:B5. 在C语言中,一个合法的指针变量是()。

A. int *pB. *int pC. float *pD. p int答案:A二、填空题1. 在C语言中,使用关键字________定义一个全局变量。

答案:extern2. 若有定义:int x = 10; 则表达式 `x + (x++) * 2` 的值是________。

答案:303. 在C语言中,使用________可以将字符串常量输出到控制台。

答案:printf4. 一个整型变量可以存储的最大值(假设为int max)与最小值(假设为int min)的范围是________ < int max < int min。

答案:-32768, 32767(假设是16位整型)5. 函数________用于计算一个字符串的长度。

答案:strlen三、判断题1. C语言中的注释可以使用“//”或“/* */”两种形式。

()答案:正确2. 在C语言中,所有的函数都有返回值。

()答案:错误3. 指针变量的地址可以通过使用&运算符获得。

()答案:正确4. 在C语言中,long int和int类型的大小是相同的。

()答案:错误5. 使用switch语句时,case标签后的值必须是整型或字符型。

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、下列选项中,不是用来表达转义字符的是()A \\B \‟C 074D \02、下列选项中,不是C语言提供的合法关键字的是()A switchB beginC caseD default3、以下选项中,能作为C程序自定义标识符的是()A num(10)B file_bakC breakD class+24、设a为5,执行下列语句后,b的值不为2的是()A b=a/2B b=6-(--a)C b=a%2D b=a<3?3:25、执行语句x=(a=3,b=a--);后,x,a,b的值依次为()A 3,3,2B 2,3,2C 3,2,3D 2,3,36、在以下一组运算符中,优先级最高的运算符是()A <=B =C %D &&7、设a为整形变量,下列C表达式中,不能表达数学关系式10<a<15的是()A 10<a<15B a= =11||a= =12||a= =13||a= =14C a>10&&a<15D !(a<=10)&&!(a>=15)8、若有以下定义:char a;int b;float c;double d;则表达式a*b+d-c值的类型为()A floatB intC charD double9、设a,b为字符型变量,执行scanf(“a=%c,b=%c”,&a,&b)函数调用后使a为‟A‟,b为‟B‟,正确的输入是()A …A‟‟B‟B …A‟,‟B‟C A=A,B=BD a=A,b=B10、设有int i=010,j=10;执行printf(“%d,%d\n”,++i,j--);语句后的输出是()A 11,10B 9,10C 010,9D 10,911、设a=3,b=4,执行printf(“%d,%d”,(a,b),(b,a));语句后的输出是()A 3,4B 4,3C 3,3D 4,412、假定所有变量均已正确定义,下列程序段运行后x的值是()a=b=c=0;x=35;if(!a)x--;else if(b);if(c) x=3;else x=4;A 34B 4C 35D 313、执行下列程序段后的输出结果是()x=9;while(x>7){printf(“*”);x--;}A ****B ***C **D *14、下列语句中错误的是()A while(x=y)5;B do x++ while(x= =10);C while(0);D do 2;while(a= =b);15、循环语句for(x=0,y=0;(y!=123)||(x<4);x++);的循环执行()A 无限次B 不确定次C 4次D 3次16、若i、j已定义为int类型,则以下程序段中的内循环体的执行次数是()for(i=5;i;i--)for(j=0;j<4;j++){……}A 20B 24C 25D 3017、以只写方式打开一个二进制文件,应选择的使用方式是()A “a+”B “w+”C “rb”D “wb”18、设有定义语句“int(*ptr)[10]”,其中的ptr是()A 10个指向整型变量的指针B 指向10个整型变量的函数指针C 一个指向具有10个元素的一维数组的指针D 具有10个指针元素的一维数组19、执行语句char a[10]={“abcd”},*p=a;后,*(p+4)的值是()A “abcd”B …d‟C …\0‟D 不能确定20、C语言中,函数的隐含存储类型是()A autoB staticC externD 无存储类别21、函数调用时,下列说法中不正确的是()A 若用值传递方式,则形式参数不予分配内存B 实际参数和形式参数可以同名C 主调函数和被调用函数可以不在同一个文件中D 函数间传递数据可以使用全局变量22、定义一个具有10个元素的整型数组,应该使用语句()A int a[10];B int a[2,5];C int a[];D int *a[10]23、设有定义int a=3,b,*p=&a;,则下列语句中不能使为3的语句是()A b=*&aB b=*pC b=a C b=*a24、若已定义:int a[9],*p=a;,并在以后的语句中未改变p的值,不能表示a[1]地址的表达式是()A p+1B a+1C a++D ++p25、设有定义语句struct{int x;int y;}d[2]={{1,3},{2,7}};,则printf(“%d\n”,d[0].y/d[0].x*d[1].x);的输出是()A 0B 1C 3D 626、存储整形数据-7856时,在二进制文件和文本文件中占用的字节数分别是()A 2,2B 2,5C 5,5D 5,227、以下数据类型属于构造类型的是()A 整型B 字符型C 数组型D 单精度实型28、字符串"m\x42\\\np\102q"的长度是()A 7B 9C 15D 1629、执行下列程序段后*(p+7)的值为()char s[]=”student”,*p;p=s;A …t‟B …t‟的地址C …\0‟D 不确定值30、若fp是指向某文件的指针,且已读到该文件的末尾,则C语言函数feof(fp)的返回值是()A EOFB -1C 非零值D NULL二、判断题1、C语言中,优先级最低的运算符是逻辑运算符()2、C语言本身没有输入输出语句()3、C语言的标识符只能由字母和数字组成()4、for语句中的三个表达式都可以省略,但两个分号不能省略()5、一个函数调用自己,必将产生死循环()6、函数的定义和调用都可以嵌套()7、宏定义是C语句,要在行末尾加分号()8、int (*p)[4]定义的是一个指针数组,该数组每个元素是指向整型变量的指针()9、fwrite()函数的正确调用形式是fwrite(buffer,count,fp,size);()10、do和char都是合法的关键字()三、程序题1、编程序解百鸡问题:100元钱买100只鸡,公鸡每只3元,母鸡每只5元,小鸡3只1元,问公鸡、母鸡、小鸡各多少只?2、输入n个整数,对它们用冒泡法从小到大排序,然后输出。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1、以下叙述正确的是_____。

A. 在C程序中.main函数必须位于程序的最前面B. C程序的每行中只能写一条语句C. C语言本身没有输入输出语句D. 在对一个C程序进行编译的过程中,可发现注释中的拼写错误2、C语言基本类型包括________。

A.整型、实型、逻辑型B.整型、实型、字符型、逻辑型C.整型、字符型、逻辑型D.整型、实型、字符型3、C语言中的标识符只能由字母、数字、下划线三种字符组成,且第一个字符_____。

A.必须为字母B.必须为下划线C.必须为字母或下划线D.可以是字母、数字、下划线中任意一种字符4、若已定义x和y为double类型,则表达式:x=1,y=x+3/2的值是________。

A.1B.2C.2.0D.2.55、下面不正确的字符常量是________。

A."c"B.‘\‘‘C.‘W‘D.‘‘6、若有如下程序段,其中s、a、b、c均已定义为整型变量,且a、c均已赋值(c大于0)s=a;for(b=1;b<=c;b++)s=s+1;则与上述程序段功能等价的赋值语句是________。

A.s=a+b;B.s=a+c;C.s=s+c;D.s=b+c;7、以下正确的描述是_____。

A.continue语句的作用是结束整个循环的执行B.只能在循环体内和switch语句体内使用break语句C.在循环体内使用break语句或continue语句的作用相同D.从多层循环嵌套中退出时,只能使用goto语句8、下面有关for循环的正确描述是_____。

A. for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来B.for循环是先执行循环体语句,后判断表达式2C.在for循环中,不能用break语句跳出循环体D. for循环只能用于循环次数已经确定的情况9、以下能正确定义二维数组的是________。

A.int a[][3]B.int a[2][3]={{1},{2},{3,4}};C.int a[][3]={};D.int a[][3]={2*3};10、定义如下变题和数组:int i;int x[3][3]={1,2,3,4,5,6,7,8,9};则下面语句的输出结果是________。

for(i=0;i<3;i++)printf("%d",x[i][2-i]);A.159B.147C.357D.36911、以下关于宏替换的叙述不正确的是________。

A.宏替换只是字符替换B.宏名无类型C.宏替换不占用运行时间D.宏替换不占用编译时间12、若有以下定义和语句:int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;则不能表示a数组元素的表达式是________。

A.*pB.a[10]C.*aD.a[p-a]13、设x,y均为float型变量,则以下不合法的赋值语句是________。

A、++x;B、y=(x%2)/10;C、x*=y+8;D、x=y=0;14、按C语言规定,以下不正确的说法是________。

A.实参可以是常量、变量或表达式B.形参可以是常量、变量或表达式C.实参可以是任意类型D.形参应与其对应的实参类型一致15、已知int x=5,y=10,z=1; 执行以下语句后x、y、z的值是_______。

if(x>y)z=x; x=y; y=z;A. x=5, y=10, z=1B. x=10, y=1, z=5C. x=10, y=1, z=1D. x=10, y=1, z=1016、若w=1,x=2,y=3,z=4,则条件表达式w<x?w:y<z?y;z的值是_________。

A. 4 B. 3 C. 2 D. 117、若变量c为char类型,能正确判断出c为小写字母的表达式是______。

A.(c>=‘a‘)&&(c<=‘z‘)B.(c>=‘a‘)||(c<=‘z‘)C.(‘a‘<=c)and(‘z‘>=c)D.‘a‘<=c<=‘z‘18、有以下程序段int n=0,p;do{scanf(“%d”,&p);n++;}while(p!=12345&&n<3);此处do—while循环的结束条件是_________。

A. P的值不等于12345并且n的值小于3B. P的值等于12345并且n的值大于等于3C. P的值不等于12345或者n的值小于3D. P的值等于12345或者n的值大于等于319、t为int类型,进人下面的循环之前,t的值为0while(t=l){……}则以下叙述中正确的是_________。

A.循环控制表达式的值为0B.循环控制表达式的值为1C.循环控制表达式不合法D.以上说法都不对20、以下叙述正确的是_________。

A.do-while语句构成的循环不能用其它语句构成的循环来代替。

B. do-while语句构成的循环只能用break语句退出。

C.用do-while语句构成的循环,在while后的表达式为非零时结束循环。

D.用do-while语句构成的循环,在while后的表达式为零时结束循环。

21、在C语言中,引用数组元素时,其数组下标的数据类型允许是____。

A.整型常量 B.整型表达式C.整型常量或整型表达式 D.任何类型的表达式22、若有以下说明和语句,则输出结果是_________。

char sp[]="\t\v\\\0will\n";printf("%d",strlen(sp)); (单选题)A. 1 B. 3 C. 9 D.字符串中有非法字符23、假设指针p已经指向某个整型变量x,则*p相当于_________。

A. &x B. &p C. x D. *x24、switch语句能够改写为_________语句。

A. forB. doC. ifD. while25、C语言中函数返回值的类型是由_________决定的。

A. return语句中表达式的类型B.该函数定义时的类型C.调用函数时的调用语句D.系统根据结果26、程序中主函数的名字为_________。

A. mainB. MAINC. MainD. 任意标识符27、预处理命令在程序中都是以_________符号开头的。

A. *B. #C. &D. @28、假定一条定义语句为“int a[10], x, *pa=a;”,若要把数组a中下标为3的元素值赋给x,则不正确的语句为_________。

A. x=pa[3];B. x=*(a+3);C. x=a[3];D. x=*pa+3;29、凡在函数中未指明存储类别的变量,其隐含的存储类别为________。

A.auto 型B.static 型C.extern 型D.register 型30、以下正确的说法是 _____。

如果在一个函数中的复合语句中定义了一个变量,则该变量A.只在该复合语句中有效B.在该函数中有效C.在本程序范围内均有效D.为非法变量31、在语言中,下面运算符要求运算数必须是整型的是:A)% B)* C)> D)!32、下面不正确的字符串常量是________。

A) ‘abc‘B)"12\‘12"C)"0" D)" "33、正确的标识符是________。

A)?a B) a=2 C) a.3 D) a_334、以下程序段的输出结果是________。

int a=1234;printf("%2d\n",a);A) 12 B) 34 C) 1 234D) 提示出错、无结果35、已知int x=10,y=20,z=30;以下语句执行后x,y,z的值是___________。

if(x>y) z=x;x=y;y=z;A)x=10,y=20,z=30B)x=20,y=30,z=30C)x=20,y=30,z=10D)x=20,y=30,z=2036、表达式-1<=3<=-5值是______。

A) 0B) 1 C) 3 D) 表达式语法有错37、已知各变量的类型说明如下:int k,a,b;unsigned long w=5;double x=1.42;则以下不符合C语言语法的表达式是________。

A) x%(-3)B) w+=-2 C) k=(a=2,b=3,a+b)D) a+=a-=(b=5)*(a=3)38、假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是_____。

A)7 B)8 C)6 D)239、若有以下定义和语句:int u=010,v=0x10,w=10;printf("%d,%d,%d\n,u,v,w);则输出结果是: ________。

A) 8,16,10B) 10,10,10 C) 8,8,10 D) 8,10,1040、若有条件表达式达式(exp)?a++:b--,则以下表达式中能完全等价于表达式(exp)的是__________。

A)(exp==0) B)(exp!=0)C)(exp==1) D)(exp!=1)41、执行以下程序段时x=-1;do {x=x*x; } while(! x);正确的叙述是__________。

A) 循环体将执行一次B) 循环体将执行两次C) 循环体将执行无限次D) 系统将提示有语法错误42、执行语句: for(i=l;i++<4;);后,变量i的值是__________。

A) 3 B) 4 C) 5 D) 不定43、有以下程序段int n,t=1,s=0;scanf("%d",&n);do{ s=s+t; t=t-2; }while (t!=n);为使此程序段不陷入死循环,从键盘输入的数据应该是__________。

A)任意正奇数B)任意负偶数C)任意正偶数D)任意负奇数44、以下能正确定义数组并正确赋初值的语句是__________。

A) int N=5,b[N][N];B) int a[1][2]={{1},{3}};C) int c[2][]={{1,2},{3,4}};D) int d[3][2]={{1,2},{34}};45、已有定义:char a[]="xyz",b[]={‘x‘,‘y‘,‘z‘};,以下叙述中正确的是__________。

A) 数组a和b的长度相同B) a数组长度小于b数组长度C) a数组长度大于b数组长度D) 上述说法都不对46、若二维数组a有m列,则在a[i][j]前的元素个数为__________。

相关文档
最新文档