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 语⾔程序设计》期末试卷⼀、单项选择题(10x2’=20’)1、以下叙述正确的是()A )C 语⾔的源程序不必通过编译就可以直接运⾏。

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

C )C 语⾔源程序经编译形成的⼆进制代码可以直接运⾏。

D )C 语⾔中的函数不可以单独进⾏编译。

2、⼀个C 语⾔的源程序中()A )必须有⼀个主函数B )可能有多个主函数C )必须有除主函数外其它函数D )可以没有主函数3、以下不能定义为⽤户标识符的是()A )scanfB )VoidC )_3comD )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、有以下程序:#includevoid 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、有以下程序:#includevoid main(){int i,s=0;for(i=1;i<10;i+=2)s+=i+1;printf(“%d\n ”,s);}程序执⾏后的输出结果是()A )⾃然数1~9的累加和B )⾃然数1~10的累加和C)⾃然数1~9中奇数之和D)⾃然数1~10中偶数之和10、有以下函数定义:void fun(int n,double x){……}若以下选项中的变量都已经正确定义并赋值,则对函数fun的正确调⽤语句是()A)fun(int y,double m);B)k=fun(10,12.5);C)fun(x,n); D)void fun(n,x);⼆、填空题(10x2’=20’)11、C语⾔描述“x和y都⼤于或等于z”的表达式是:。

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. intB. floatC. doubleD. character答案:D2. 在C语言中,下面哪个选项是合法的变量名?A. 2abcB. abc12C. abc_12D. abc&12答案:B3. 下面哪个选项不是C语言的运算符?A. +C.D. %答案:D4. 在C语言中,下面哪个选项表示取模运算?A. %B. /C.D. ^答案:A5. 下面哪个选项是C语言中的关系运算符?A. ==B. !=C. >D. <答案:A、B、C、D6. 下面哪个选项是C语言中的逻辑运算符?B. ||C. !D. &答案:A、B、C7. 下面哪个选项是C语言中的赋值运算符?A. =B. +=C. -=D. =答案:A、B、C、D8. 下面哪个选项不是C语言中的控制语句?A. ifB. whileC. do-whileD. for答案:D9. 在C语言中,下面哪个选项表示循环不变量?A. 初始化表达式B. 循环条件C. 循环体D. 步进表达式答案:D10. 下面哪个选项是C语言中的递归调用?A. function(function());B. function();function();C. function(function());function();D. function();function(function());答案:A二、填空题(每题2分,共20分)1. C语言中,一个整型数据占____个字节。

答案:42. C语言中,一个浮点型数据占____个字节。

答案:43. 在C语言中,一元运算符“++”和“--”的优先级高于二元运算符“+”、“-”、“”、“/”、“%”。

答案:正确4. 在C语言中,关系运算符“==”和“!=”的优先级高于“<”、“>”、“<=”、“>=”。

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. 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. 用于声明一个字符变量的关键字是:________。

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

期末总复习(基础知识+程序设计部分)一.填空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值是 411. 若定义的函数没有返回值时,则应该在该函数定义时加上类型说明符void12. 凡在函数中未指定存储类型的变量,其隐含的存储类别为动态存储13. 在C语言中,一个函数直接或间接地调用自身,编构成函数的递归14. 如果被调用的自定义函数和调用函数不再同一个文件中,则在应以函数的文件中应将该文件的存储类型定义成型,在调用函数的文件中将该函数说明为型。

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

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

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

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

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

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

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

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

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

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

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.下列变量名中哪些是合法的?π 2a a# C$ t3 _var θ int2.语言中用________表示逻辑值“真”。

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

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

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

A) 19 B) 15 C) 18 D) 不合法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. 若有以下定义:char a ; int b ; float c ; double d ;则表达式 a * b + d – c 的值的类型为_____________ A) float B) int C) charD) double 8. 设有语句int a = 3; 执行了语句a += a -= a * a; 后,变量a 的值是________。

A) 3 B) 0 C) 9 D) -12 9. 设有语句int a = 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) x111+ (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(){ int a = 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; else s2;B) if (!a) s2; else s1;C) if (a != 0) s1; else s2;D) if (a == 0) s1; else s2;15. 设有声明语句:int a=1,b=0;则执行以下语句后输出为: 。

switch (a){case 1:switch (b){case 0: printf("**0**");break;case 1: printf("**1**");break;}case 2: printf("**2**");break;}A)**0** B) **0****2** C)**0****1****2** D)有语法错误16.在while (x)语句中的xA) x == 0 B) x == 1 C) x != 117. 若int x;且有下面的程序片断,则输出结果为:。

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) int a[10] = (0,0,0,0,0);B) int a[10] = {};C) int a[] = {0};D) int a[10] = {10*1};19. 以下能对外部的二维数组a进行正确初始化的语句是:。

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

相关文档
最新文档