C语言期末复习卷习题

合集下载

期末c语言试题及答案

期末c语言试题及答案

期末c语言试题及答案一、选择题(每题2分,共20分)1. 下列哪个选项不是C语言中的关键字?A. intB. charC. voidD. for答案:C2. C语言中,用于定义单精度浮点型变量的关键字是?A. floatB. doubleC. intD. char答案:A3. 在C语言中,以下哪个运算符用于取模?A. %B. /C. *D. -答案:A4. 下列哪个选项不是C语言中的控制语句?A. ifB. switchC. whileD. do-while答案:B5. C语言中,用于定义一个结构体的关键字是?A. structB. unionC. enumD. typedef答案:A6. 在C语言中,以下哪个函数用于将字符串连接到另一个字符串的末尾?A. strcatB. strcpyC. strcmpD. strlen答案:A7. 下列哪个选项不是C语言中的标准库函数?A. printfB. scanfC. mallocD. strcpy答案:D8. 在C语言中,以下哪个关键字用于定义一个函数?A. functionB. defC. voidD. int答案:C9. C语言中,用于定义一个枚举类型的关键字是?A. enumB. structC. unionD. typedef答案:A10. 在C语言中,以下哪个选项用于定义一个指针?A. *B. &C. %D. #答案:A二、填空题(每题2分,共20分)1. C语言中,用于定义一个整型变量的关键字是________。

答案:int2. C语言中,用于定义一个字符型变量的关键字是________。

答案:char3. C语言中,用于定义一个双精度浮点型变量的关键字是________。

答案:double4. C语言中,用于定义一个布尔型变量的关键字是________。

答案:_Bool5. 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语言一、选择题1.C语言的基本构成单位是: A 。

A. 函数B. 函数和过程C. 超文本过程D. 子程序2.一个C语言程序总是从 B 开始执行。

A. 主过程B. 主函数C. 子程序D.主程序3.C语言的程序一行写不下时,可以。

A. 用逗号换行B. 用分号换行C. 在任意一空格处换行D. 用回车符换行4.以下叙述不正确的是: C 。

A. 在C程序中,语句之间必须要用分号";"分隔B. 若a是实型变量,C程序中a=10是正确的,因为实型变量中允许存放整型数C. 在C程序中,无论是整数还是实数都能正确无误地表示D. 在C程序中,%是只能用于整数运算的运算符5.以下不正确的C语言标识符是 D 。

A. ABCB. abcC. a_bcD. ab.c6.下列字符串是标识符的是: A 。

A. _HJB. 9_studentC. longD. LINE 17.以下说法中正确的是: C 。

A. C语言程序总是从第一个定义的函数开始执行B. 在C语言程序中,要调用的函数必须放在main()函数中定义C. C语言程序总是从main()函数开始执行D. C语言程序中的main()函数必须放在程序的开始部分8.不合法的常量是: D 。

A. ‘\2’B. ""C. ‘3’D. ‘\483’9.已知各变量的类型说明如下,则以下不符合C语言语法的表达式是: A 。

int k,a,b;unsigned long w=5;double x=1.422;A. x%(-3)B. w+=-2C. k=(a=2,b=3,a+b)D. a+=a=+(b=4)*(a=3)10.在C语言中,字符型数据在内存中以 D 形式存放。

A. 原码B. BCD码C. 反码D. ASCII码11.若有定义:int a=7; float x=2.5; y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是: A 。

C期末考试复习题(答案)

C期末考试复习题(答案)

C期末考试复习题(答案)C语言复习题一、单项选择题1、C语言源程序文件经过C编译程序编译连接之后生成一个后缀为( C )的文件。

A).c B).obj C).exe D).bas2、)完成C源文件编辑后、到生成执行文件,C语言处理系统必须执行的步骤依次为( B )A)连接、编译B)编译、连接 C)连接、运行D)运行3、关于C语言的叙述中,不正确的是(D)A)C程序可由一个或多个函数组成B)C程序必须包含一个main ()函数C)C程序的基本组成单位是函数D)注释说明只能位于一条语句的后面4、一个C程序的执行是从(A )。

A) 本程序的main函数开始,到main函数结束B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C) 本程序的main函数开始,到本程序文件的最后一个函数结束D) 本程序文件的第一个函数开始,到本程序main函数结束5、以下正确的叙述是(C )A) 在C语言中,main函数必须位于文件的开头B) C语言每行中只能写一条语句C) C语言本身没有输入、输出语句D) 对一个C语言进行编译预处理时,可检查宏定义的语法错误6、下列选项中,不能用作标识符的是( D)。

A) _1234_ B) _1_2 C) int_2_ D) 2_int_7、常数的书写格式决定了常数的类型和值,0x1011是( C )A)8进制整型常量B)字符常量 C)16进制整型常数D)2进制整型常数8、以下4组用户定义标识符中,全部合法的一组是( A )A)_total clu_1 sum B)if -max turbC)txt REAL 3COM D)int k_2 _0019、_( D )是合法的用户自定义标识符。

A) b-b B)float C)123a D) _isw10、以下选项中不正确的整型常量是( C )。

A) 12L B) -10 C) 1,900 D) 123U11、表达式( C )的值是0。

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

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

c语言期末考试题及答案详一、选择题(每题2分,共20分)1. C语言中,用于定义变量的关键字是:A. defineB. declareC. definetypeD. type答案:B2. 下列哪个是C语言中的合法标识符?A. 123abcB. intC. _123abcD. if答案:C3. 在C语言中,哪个运算符用于计算两个整数的平均值?A. /B. %C. +D. /答案:D4. 下列哪个是C语言中正确的字符串定义?A. char str[] = "Hello, World!";B. char str = "Hello, World!";C. string str = "Hello, World!";D. str "Hello, World!";答案:A5. 在C语言中,哪个函数用于计算一个数的平方根?A. sqrt()B. square()C. root()D. power()答案:A6. 下列哪个语句用于在C语言中交换两个变量的值?A. swap(a, b);B. exchange(a, b);C. a = b; b = a;D. a, b = a + b;答案:C7. 在C语言中,哪个关键字用于声明一个函数?A. functionB. defC. funcD. void答案:D8. 下列哪个是C语言中正确的数组初始化方式?A. int arr[5] = {1, 2, 3};B. int arr[] = {1, 2, 3, 4, 5};C. int arr[5] = {1, 2, 3, 4};D. int arr = {1, 2, 3, 4, 5};答案:B9. 在C语言中,哪个语句用于结束程序的执行?A. break;B. end;C. exit();D. stop;答案:C10. 下列哪个是C语言中正确的条件语句?A. if (x > 0) { ... }B. condition (x > 0) { ... }C. if (x > 0) then { ... }D. if (x > 0) { ... } else { ... }答案:D二、填空题(每空2分,共20分)11. 在C语言中,使用________关键字来定义一个结构体。

C语言期末复习卷习题

C语言期末复习卷习题

期末总复习(基础知识+程序设计部分)一.填空1.已知char ch='A’;则下列表达式的值是: aCh=(ch>=’A’&&ch〈=’Z’)? (ch+32):ch;2。

若x=1,y=2,z=3, 则表达式z+=++x+y++之值是73.若x=2,y=3,则x%=y+3之值为 24.. 若有定义int y=3; float z=5.2, x=4.8;则表达式y+=(int)x+x+z的值为175。

设x,y,z为int型变量,且x=3,y=—4,z=5,请写出下列各表达式的值1)(x&&y)==(x||z) 12)!(x>y)+(y!=z)||(x+y)&&(y-z)03)x++-y+(++z)136。

设x,y,z为int型变量,请用C语言表达式描述下列命题1)x和y中有一个小于z (x〈z&&y>z||x>z&&y〈z )==12) x,y和z中有两个为负数(x〈0&&y<0&&z>=0||z<0&&y<0&&x〉=0||y<0&&x〈0&&z>=0)==13)y是奇数y%2 !=07。

下面for循环语句最多可执行 4 次For (x=0,y=0 ;(y !=99)&&(x<4) ;x++)8。

设i,j,k均为int型变量,则执行以下for语句后,k的值是10for (i=0,j=10 ;i〈=j ;i++,j——)k=i+j ;9.若已知x,y,z,m,n均为int 型变量,则执行下面语句后,x的值为7 y的值为9z的值为7m=10 ;n=5;x=(-—m==n++)?—-m : ++n;y=m++;z=n;10。

若有说明语句: w=1,x=2,y=3,z=4; 则表达式w〉x? w:z〉y?z:x值是 4 11。

若定义的函数没有返回值时,则应该在该函数定义时加上类型说明符void12. 凡在函数中未指定存储类型的变量,其隐含的存储类别为动态存储13。

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

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

c语言期末试题及答案及详解一、选择题(每题2分,共20分)1. 下列哪个选项是C语言中的关键字?A. defineB. caseC. functionD. include答案:B2. C语言中,用于定义一个结构体的关键字是:A. structB. unionC. enumD. typedef答案:A3. 若有以下代码:```cint a = 5, b = 10;a = a + b;b = a - b;a = a - b;```执行后变量a的值是:A. 5B. 10C. 15D. 0答案:B4. 下列关于指针的描述,错误的是:A. 指针可以指向一个变量B. 指针可以指向一个数组C. 指针可以指向一个函数D. 指针不可以指向一个指针答案:D5. 在C语言中,以下哪个函数用于将字符串从源字符串复制到目标字符串?A. strcpyB. strcatC. strcmpD. strlen答案:A6. 下列哪个选项是C语言中合法的数组声明?A. int arr[5] = {0, 1, 2, 3, 4};B. int arr[] = {0, 1, 2, 3, 4};C. int arr[5] = {0, 1, 2};D. int arr[] = {0, 1, 2, 3};答案:B7. C语言中,以下哪个运算符用于执行按位与操作?A. &&B. ||C. &D. &&答案:C8. 下列关于函数的描述,正确的是:A. C语言中的函数可以没有返回值B. C语言中的函数可以返回多个值C. C语言中的函数可以重载D. C语言中的函数可以嵌套定义答案:A9. 在C语言中,以下哪个选项是正确的文件操作函数?A. fopenB. fcloseC. fgetcD. All of the above答案:D10. 下列关于C语言中循环的描述,错误的是:A. for循环可以嵌套使用B. while循环可以和do-while循环嵌套使用C. do-while循环至少执行一次D. break语句可以跳出循环体答案:B二、填空题(每题2分,共20分)1. 在C语言中,用于定义一个整型变量的关键字是________。

期末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语言考试题及答案一、选择题(每题2分,共20分)1. 下列关于C语言的描述,正确的是()。

A. C语言是一种面向对象的编程语言B. C语言是一种面向过程的编程语言C. C语言是一种脚本语言D. C语言是一种汇编语言答案:B2. 在C语言中,用于定义常量的关键字是()。

A. varB. constC. staticD. final答案:B3. 下列哪个选项不是C语言中的基本数据类型()。

A. intB. floatC. charD. string答案:D4. 在C语言中,用于实现循环结构的关键字是()。

A. loopB. forC. whileD. repeat5. 下列关于数组的描述,错误的是()。

A. 数组可以存储一系列相同类型的数据B. 数组的索引从0开始C. 数组的大小在定义时可以改变D. 数组可以存储不同类型的数据答案:D6. 下列关于函数的描述,正确的是()。

A. 函数可以没有返回值B. 函数可以返回多个值C. 函数可以没有参数D. 函数可以有多个返回值答案:C7. 在C语言中,用于定义指针的关键字是()。

A. refB. ptrC. *D. @答案:C8. 下列关于结构体的描述,正确的是()。

A. 结构体是一种用户自定义的数据类型B. 结构体不能包含其他结构体C. 结构体不能包含函数D. 结构体不能包含数组答案:A9. 在C语言中,用于定义枚举类型的关键字是()。

B. enumtypeC. enumstructD. enumlist答案:A10. 下列关于文件操作的描述,错误的是()。

A. 文件操作需要使用文件指针B. 文件操作前需要打开文件C. 文件操作后需要关闭文件D. 文件操作只能在程序内部进行答案:D二、填空题(每题2分,共20分)1. 在C语言中,定义一个整型变量的正确语法是:________。

答案:int variable_name;2. 用于声明一个字符变量的关键字是:________。

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

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

c语言期末考试试题及答案一、选择题1. C语言中用于表示逻辑“与”操作的关键字是()。

A. &&B. ||C. &D. and答案:A2. 若有定义:int a = 5; int b = 10; 则表达式 a * b / 3 的值是()。

A. 15B. 17C. 20D. 25答案:D3. 下列哪个函数用于计算字符串的长度?A. strlen()B. strcmp()C. strcpy()D. strrev()答案:A4. C语言中,文件的打开模式“w”表示什么?A. 写入模式,文件不存在则创建,存在则覆盖B. 写入模式,文件不存在则创建,存在则追加内容C. 读取模式,文件不存在则创建,存在则覆盖D. 读取模式,文件不存在则报错,存在则读取内容答案:A5. 以下哪个选项是C语言中的合法整型常量?A. 0x1FB. 01FC. 1.0e2D. 0b11答案:A二、填空题1. 在C语言中,使用关键字________定义一个全局变量。

答案:extern2. 若有定义:int x = 10; 则执行语句 x += x; 后,变量x的值是________。

答案:203. 在C语言中,使用函数________可以将一个字符串复制到另一个字符串中。

答案:strcpy4. 一个C语言程序的执行是从________函数开始的。

答案:main三、判断题1. C语言中的数组下标是从0开始计数的。

()答案:正确2. 在C语言中,可以定义一个空指针,其值为0。

()答案:正确3. C语言允许在函数定义中再定义另一个函数。

()答案:错误四、简答题1. 请简述C语言中的指针和引用的主要区别。

答案:指针是一个变量,其存储的是另一个变量的地址;而引用是另一个变量的别名,它必须在定义时就被初始化,并且不能被重新指向其他变量。

指针可以直接被修改以指向不同的地址,而引用则始终指向初次定义时的变量。

2. 解释C语言中的预处理器指令#if、#else和#endif的作用。

(完整版)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、已知ch是字符型变量,下面不正确的赋值语句是( B )。

A、ch=…\0‟B、ch=…a+b‟C、ch=…7‟+…9‟D、ch=7+92、以下4组用户定义标识符中,全部合法的一组是(A )。

A、s_5B、IfC、txtD、intabout -max REAL k_2E2 turbo 3COM _0013、C语言中的简单数据类型包括(B )A、整型、实型、逻辑型B、整型、实型、字符型、枚举型C、整型、字符型、逻辑型D、整型、实型、逻辑型、字符型4、已知:int i=1,j;执行语句j=-i++;后,j的值是(C )A、1B、2C、-1D、-25、已知:int i=5;执行语句i+=++i;后,i的值是(C )A、10B、11C、12D、A、B、C答案都不对7、若x为int型变量, x=6;则执行以下语句后,x的值为( C )。

x+=x-=x*x;A、36B、60C、- 60D、-248、设d为字符变量,下列表达式不正确的是(D )。

A、d=‟g‟B、d=‟a‟C、d=97D、d=”g”9、若a=1,b=2,c=3,d=4;则条件表达式a>b?a:c<d?c:d结果为(B )A、4B、3C、2D、110、printf函数中用到格式符"%8s",其中数字8表示输出的字符串占用8列。

如果字符串长度大于8,则按原字符长从左向右全部输出;如果字符串长度小于8,则输出方式为( B )。

A、从左起输出该字符串,右补空格B、右对齐输出该字符,左补空格C、按原字符长从左向右全部输出D、输出错误信息11、在嵌套的if-else语句中,else总是与(D )配对。

A、其之前最近的ifB、第一个ifC、缩进位置相同的ifD、其之前最近的且不带else的if12、一个C语言程序总是从(B )开始执行。

A、程序的第一个函数B、主函数C、子函数D、主程序13、设x=2.9,a=8,y=3.7,算术表达式x+a%3*(int)(x+y)%5/2的值是 ( A )A、3.9B、4C、4.2D、3.7514、程序片段执行后输出结果是( A )int x=5, y=8;printf ("% d", x<y ? x : (x, y));A、5B、8C、5,8D、编译出错15、下面能正确表示变量a在区间[0,8]或(4,10)内的表达式为:( D )。

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。

用高级语言编写的源程序必须通过___________程序翻译成二进制程序才能执行,这个二进制程序称为____________程序。

【答案】编译目标2。

下列符号串中,属于C语言合法标识符的是()①else ②a-2 ③_00 ④00【答案】③3.下列说法中,正确的是()①主函数名是由程序设计人员按照“标识符”的规则选取的②分号和回车符号都可以作为一个语句的结束符号③在程序清单的任何地方都可以插入一个或多个空格符号④程序的执行,总是从源程序清单的第1行开始【答案】③4.-12345E-3代表的十进制实数是________________________.【答案】—12.3455.设字符型变量ch中存放字符“A”,则执行“ch+++2”后,ch中的字符是________。

【答案】B6.设字符型变量ch1中存放的字符是“A",字符型变量ch2中存放的字符是“B”,则执行“!(ch1=’B')&&(ch2='C')”的运算后,变量ch2中的字符是_____________.【答案】B6-1.设整型变量m,n,a,b,c,d均为1,执行“(m=a〉b)&&(n=a>b)”后m,n 的值是()①0,0 ②0,l ③1,0 ④1 ,l【答案】②。

7.设整型变量x1和x2的值均为10,则表达式“x1/=x2-4”的值是_______________. 【答案】l8.在C语言中,如果某个关系表达式成立(真),则该关系表达式的值是____;如果某个逻辑表达式为假,则该逻辑表达式的值是_________.【答案】1 09.设有整型变量x,如果表达式“!x”值为0,则x的值为_________;如果表达式“!x"值为1,则x的值为___________。

【答案】非010.下列表达式中,不属于逗号表达式的是()①a=b,c ②a,b=c ③a=(b,c) ④a,(b=c)【答案】③11.在三种选择结构中,能用2个条件,控制从3个操作中选择一个操作执行的选择结构是______选择结构【答案】多分支12.在三种循环结构中,先执行循环操作内容(即循环体),后判断控制循环条件的循环结构是______循环结构。

c语言期末复习题及答案

c语言期末复习题及答案

c语言期末复习题及答案1. 以下哪个是C语言中的合法标识符?A. 2variableB. variable2C. variable-2D. variable$2答案:B2. C语言中,以下哪个数据类型用于存储字符?A. intB. charC. floatD. double答案:B3. 在C语言中,以下哪个关键字用于定义一个函数?A. structB. unionC. functionD. void答案:D4. 若有以下代码片段:```cint a = 5;int b = 10;```则执行语句 `a += b;` 后,变量 `a` 的值是多少?答案:155. 在C语言中,以下哪个运算符用于计算两个数的乘积?A. /B. *C. %D. +答案:B6. 以下哪个选项不是C语言中的基本数据类型?A. intB. floatC. doubleD. string答案:D7. 在C语言中,以下哪个关键字用于声明一个指针变量?A. int*B. intC. *D. pointer答案:A8. 若有以下代码片段:```cint x = 10;printf("%d", x);```则输出结果是什么?答案:109. 在C语言中,以下哪个函数用于计算两个数的绝对值?A. abs()B. fabs()C. sqrt()D. pow()答案:A10. 在C语言中,以下哪个选项是正确的字符串字面量表示?A. "Hello World"B. 'Hello World'C. "Hello World'D. 'Hello World'答案:A11. 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A12. 若有以下代码片段:```cint main() {int a = 3, b = 4;printf("%d", a + b);return 0;}```则程序的输出结果是什么?答案:713. 在C语言中,以下哪个关键字用于声明一个数组?A. arrayB. listC. vectorD. int[]答案:D14. 若有以下代码片段:```cint arr[5] = {1, 2, 3, 4, 5};```则数组 `arr` 的第一个元素是什么?答案:115. 在C语言中,以下哪个函数用于将字符串复制到另一个字符串?A. strcpy()B. strncpy()C. strcat()D. strcmp()答案:A16. 在C语言中,以下哪个关键字用于声明一个枚举类型?A. enumB. unionC. structD. typedef答案:A17. 若有以下代码片段:```cint main() {char c = 'A';printf("%c", c);return 0;}```则程序的输出结果是什么?答案:A18. 在C语言中,以下哪个选项是正确的二维数组声明方式?A. int arr[3][4];B. int arr[][] = {{1, 2}, {3, 4, 5}};C. int arr[3] = {1, 2, 3};D. int arr[3][4] = {1, 2, 3};答案:A19. 在C语言中,以下哪个函数用于计算两个浮点数的差的绝对值?A. fabs()B. floor()C. ceil()D. frexp()答案:A20. 若有以下代码片段:```cint main() {int a = 5;printf("%d", a++);return 0;}```则程序的输出结果是什么?答案:5。

c语言期末试题及答案

c语言期末试题及答案

c语言期末试题及答案一、选择题(每题2分,共20分)1. 在C语言中,以下哪个关键字用于定义函数?A. classB. structC. functionD. void2. 下列哪个不是C语言的标准输入输出库函数?A. printf()B. scanf()C. coutD. getchar()3. 以下哪个选项是正确的C语言数组声明方式?A. int numbers[] = {1, 2, 3};B. int numbers = {1, 2, 3};C. int numbers[3] = {1, 2, 3};D. int numbers = 1, 2, 3;4. 在C语言中,哪个运算符用于取地址?A. *B. &C. +D. -5. 下列哪个是C语言中的合法赋值语句?A. int x = y = 5;B. int x = 5, y = 5;C. int x = (y = 5);D. int x = y = 5;6. 在C语言中,哪个关键字用于定义一个指针?A. refB. ptrC. pointerD. int*7. 下列哪个不是C语言的控制语句?A. ifB. switchC. whileD. loop8. 在C语言中,哪个函数用于将字符串复制到另一个字符串?A. strcpy()B. strcat()C. strncat()D. strncpy()9. 下列哪个是C语言中正确的递归函数调用?A. void func() { func(); }B. void func() { if (condition) func(); }C. void func() { func(1); }D. void func(int x) { if (x > 0) func(x - 1); }10. 在C语言中,哪个关键字用于定义一个结构体?A. structB. classC. unionD. enum答案:1-5: DCBDA 6-10: DABCA二、简答题(每题5分,共20分)1. 简述C语言中指针和引用的区别。

C语言期末复习题附答案

C语言期末复习题附答案

1、凡是函数中未指定存储类型的局部变量,其隐含的存储类型为( A )。

A、autoB、 staticC、externD、 register2、若有定义:int *ptr[6];则标识符ptr( B )。

A、是一个指向整形变量的指针B、是一个指针数组名C、是一个指针,它指向一个含有四个整形元素的一维数组D、说明不合法3、结构化程序设计的基本结构主要是( D )A、分支结构、平行结构、循环结构B、分支结构、函数结构、循环结构C、平行结构、选择结构、函数结构D、顺序结构、选择结构、循环结构4、一个C程序中,主函数的个数是( B )。

A、2个B、 1个C、任意个D、 10个5、在Visual C++6、0环境下,C源程序文件名的默认后缀是( A )。

A、、cppB、、exeC、、objD、、dsp6、根据C语言的语法规则,下列( B )是用户定义的合法标识符A、elseB、ElseC、user$2D、5_object7、以下叙述中正确的是( C )。

A、break语句只能用于switch语句体中B、continue语句的作用是:使程序的执行流程跳出包含它的所有循环C、break 语句只能用在循环体内和switch语句体内D、在循环体内使用break语句和continue语句的作用相同8、若定义int x=136,y;,执行语句y=x/10%10;后y的值是( B )A、1B、3C、6D、09、下列关于C语言注释的叙述中错误的是( D )。

A、以"/*"开头并以"*/"结尾的字符串为C语言的注释内容B、注释可出现在程序中的任何位置,用来向用户提示或解释程序的意义C、程序编译时,不对注释作任何处理D、程序编译时,需要对注释进行处理10、若有定义:intx,a;则语句x=(a=3,a+1);运行后,x、a的值依次为( C )。

A、 3,3B、 4,4C、 4,3D、 3,411、以下程序运行结果是( A )voidmain(){ int x=28;do{printf("%d",x--);}while(!x);}A、28B、27C、26D、012、如果a=1,b=2,c=3,d=4,则条件表达式a<b?a:c<d?c:d的值为(A )。

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

C语言期末复习卷习题 Prepared on 24 November 2020期末总复习(基础知识+程序设计部分)一.填空1.已知charch=’A’;则下列表达式的值是:aCh=(ch>=’A’&&ch<=’Z’)(ch+32):ch;2.若x=1,y=2,z=3,则表达式z+=++x+y++之值是73.若x=2,y=3,则x%=y+3之值为24..若有定义inty=3;floatz=,x=;则表达式y+=(int)x+x+z的值为175.设x,y,z为int型变量,且x=3,y=-4,z=5,请写出下列各表达式的值1)(x&&y)==(x||z)12)!(x>y)+(y!=z)||(x+y)&&(y-z)03)x++-y+(++z)136.设x,y,z为int型变量,请用C语言表达式描述下列命题1)x和y中有一个小于z(x<z&&y>z||x>z&&y<z)==12)x,y和z中有两个为负数(x<0&&y<0&&z>=0||z<0&&y<0&&x>=0||y<0&&x<0&&z>=0)==13)y是奇数y%2!=07.下面for循环语句最多可执行4次For(x=0,y=0;(y!=99)&&(x<4);x++)8.设i,j,k均为int型变量,则执行以下for语句后,k的值是10for(i=0,j=10;i<=j;i++,j--)k=i+j;9.若已知x,y,z,m,n均为int型变量,则执行下面语句后,x的值为7y的值为9z的值为7m=10;n=5;x=(--m==n++)--m:++n;y=m++;z=n;10.若有说明语句:w=1,x=2,y=3,z=4;则表达式w>xw:z>yz:x值是411.若定义的函数没有返回值时,则应该在该函数定义时加上类型说明符void12.凡在函数中未指定存储类型的变量,其隐含的存储类别为动态存储13.在C语言中,一个函数直接或间接地调用自身,编构成函数的递归14.如果被调用的自定义函数和调用函数不再同一个文件中,则在应以函数的文件中应将该文件的存储类型定义成型,在调用函数的文件中将该函数说明为型。

15.对于所定义的二维数组a[2][3],元素a[1][2]是数组的第6个元素。

N*j+m+116.若有定义:char*str=”Iamastudent.”;则字符串在存储单元中占16个字节。

17.在执行inta[][3]={{1,2},{3,4}};语句后,a[1][2]的值是0。

18.调用strlen(“abc\0ef\0g”)的返回值是3。

\0为停止符19.设有定义:chars[12]=“string”;则printf(“%d\n”,strlen(s));的输出值是620.执行下列程序段后,*p等于3inta[5]={1,3,5,7,9};*p=a;p++;二.判断(trueorfalse)1.调用函数时,实参的类型、个数和顺序与函数定义时形参的类型、个数和顺序完全一致。

T2.函数可以嵌套定义F3.函数必须有返回值,否则不能正确作用F4.C程序中有调用关系的所有函数必须放在同一源程序文件中。

F5.全局变量与函数体内定义的局部变量重名时,局部变量不起作用。

F6.函数定义时可以不制定形参的类型,函数调用时由实参的类型决定形参的类型F7.当函数定义放在main()函数前面时,可以缺省函数声明。

T8.C语言中允许函数嵌套调用T9.局部静态变量是在编译时赋初值的,即只赋一次初值。

T10.外部变量必须定义在文件的开头部分F11.字符’\0’是字符串的结束标记,其ASCII码为12.若有说明:inta[3][4]={0};则数组a中每个元素的初值都为13.若有说明:inta[2][4]={0,0};则只有a[0][0]和a[0][1]的初值为0,其余元素的初值均不为14.若有说明:inta[3][4];则数组a中各元素可在程序的编译阶段达到初值15.若用数组名作为函数调用时的实参,则实际上传递给形参的是数组的第一个元素值。

F16.在两个字符串的比较中,字符个数多的字符串比字符少的字符串大。

F17.当需要接受用户从键盘上输入的含有空格的字符串时,应使用gets()函数。

T18.在C语言中,二维数组元素在内存中的存放顺序可以随意调整变化。

F19.&b指的是变量b的地址处所存放的值;F20.指针变量可用于保存同类型变量的地址值;F21.存放地址的变量同其他类型的变量一样,可以存放任何类型的数据;F22.指向同一数组的两指针p1,p2相减的结果与所指元素的下标相减的结果是相同的。

F23.如果定义函数时参数是指针变量,那么,调用函数时的参数就可以是同类型的指针变量,数组名或简单变量的地址T24.char*name[5]定义了一个一维指针数组,它有5个元素,每个元素都是指向字符数据的指针型数据。

F25.语句y=*p++;和y=(*p)++;是等价的。

F26.函数指针指向的是函数的入口地址。

T27.int*p;定义了一个指针变量,其值是整型的。

F28.用指针作为函数参数时,采用的是“地址传送”方式.T三、选择题1.下列变量名中哪些是合法的2aa#C$t3_varint2.语言中用________表示逻辑值“真”。

A)true B)整型值0C)非零整数值D)T3.下列合法的字符常量为________。

A)"a"B)'\n'C)'china'D)a4.设有语句charc='\72';则变量c________。

A)包含1个字符B)包含2个字符C)包含3个字符D)不合法5.字符串"\t\"Name\\Address\n"的长度为________。

A)19B)15C)18D)不合法6.设a,b,c为int型变量,且a=3,b=4,c=5,下面表达式值为0的是________。

A)'a'&&'b'B)a<=bC)a||b+c&&b-c D)!((a<b)&&!c||1)7.若有以下定义:chara; intb; floatc;doubled; 则表达式a*b+d –c 的值的类型为_____________A)float B)int C)char D)double8.设有语句inta=3;执行了语句a+=a-=a*a;后,变量a 的值是________。

A)3 B)0 C)9 D)-129.设有语句inta=3;执行了语句printf("%d",-a++);后,输出的结果是__C______,变量a 的值是__D_____。

A)3 B)4 C)-3 D)-210.将下列数学表达式表示为合法的C 语言表达式。

(1)cb a 222+(2)2))((+++d c b a (3)2/))sin((ln y x + (4)r π2(5)x 111+(6)xxy y e ++22)30sin( 12.下列可作为C 语言赋值语句的是:_____________。

A)x=3,y=5 B)a=b=c C)i--; D)y=int(x);13.以下程序的输出结果为:_____________。

main(){inta=2,c=5;printf("a=%%d,b=%%d\n",a,c); }A)a=%2,b=%5 B)a=2,b=5 C)a=%%d,b=%%d D)a=%d,b=%d14.在下面的条件语句中,只有一个在功能上与其它三个语句不等价(其中s1和s2表示它是C 语句),这个不等价的语句是:。

A)if(a)s1;elses2;B)if(!a)s2;elses1; C)if(a!=0)s1;elses2;D)if(a==0)s1;elses2;15.设有声明语句:inta=1,b=0;则执行以下语句后输出为:。

switch(a){case1:switch(b){case0:printf("**0**");break;case1:printf("**1**");break;}case2:printf("**2**");break;}A)**0**B)**0****2**C)**0****1****2**D)有语法错误16.在while(x)语句中的x与下面条件表达式等价的是:。

A)x==0B)x==1C)x!=1D)x!=017.若intx;且有下面的程序片断,则输出结果为:。

for(x=3;x<6;x++){printf((x%2)==0"**%d":"##%d\n",x);}A)**3B)##3C)##3D)**3##4##4**4**4##5**5**5##518.以下能对外部的一维数组a(含有10个元素)进行正确初始化的语句是:。

A)inta[10]=(0,0,0,0,0);B)inta[10]={};C)inta[]={0};D)inta[10]={10*1};19.以下能对外部的二维数组a进行正确初始化的语句是:。

A)inta[2][]={{1,0,1},{5,2,3}};B)inta[][3]={{1,2,1},{5,2,3}};C)2inta[2][4]={{1,2,1},{5,2},{6}};D)inta[][3]={{1,0,2},{},{2,3}};20.若二维数组a有m列,则在a[i][j]之前的元素个数为:。

A)j*m+i B)i*m+j C)i*m+j-1D)i*m+j+121.已知:staticinta[3][4];则数组a中各元素。

A)可在程序运行阶段得到初值0B)可在程序编译阶段得到初值0C)不能得到确定的初值D)可在程序的编译或运行阶段得到初值022.判断字符串s1是否大于字符串s2,应当使用:。

A)if(s1>s2)B)if(strcmp(s1,s2))C)if(strcmp(s2,s1)>0)D)if(strcmp(s1,s2)>0)23..若用数组名作为函数调用时的实参,则实际上传递给形参的是:。

A)数组的首地址;B)数组的第一个元素值;C)数组中全部元素的值;D)数组元素的个数。

相关文档
最新文档