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语言期末考试题及答案详一、选择题(每题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语言期末复习试题附答案

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. 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语言期末考试试题及答案一、选择题(每题2分,共20分)1. C语言中,用于定义一个结构体的关键字是:A. structB. unionC. enumD. typedef答案:A2. 下列哪个选项是C语言的合法整数常量?A. 0x12B. 0123C. 12.34D. 1.2e3答案:A3. 在C语言中,用于将字符串复制到另一个字符串的函数是:A. strcpyB. strcatC. strcmpD. strlen答案:A4. 下列关于C语言函数的描述,错误的是:A. 函数可以返回一个值B. 函数可以没有返回值C. 函数可以有多个返回值D. 函数可以没有参数答案:C5. 在C语言中,用于声明一个指针变量的语法是:A. int *p;B. int *p = 0;C. int p*;D. int p = *0;答案:A6. 下列关于C语言数组的描述,正确的是:A. 数组的大小在声明时确定B. 数组的大小在运行时确定C. 数组的大小可以动态改变D. 数组的大小可以是任意值答案:A7. 在C语言中,用于打开文件的函数是:A. fopenB. fcloseC. freopenD. fgetc答案:A8. 下列关于C语言中文件操作的描述,错误的是:A. 文件指针必须指向有效的文件B. 文件指针可以指向标准输入输出流C. 文件指针可以是任意值D. 文件指针可以用于读写操作答案:C9. 在C语言中,用于输出格式化字符串的函数是:A. printfB. scanfC. sprintfD. fprintf答案:A10. 下列关于C语言中指针的描述,正确的是:A. 指针可以存储变量的地址B. 指针可以存储变量的值C. 指针可以存储函数的地址D. 指针可以存储数组的地址答案:A二、填空题(每题2分,共20分)1. 在C语言中,使用________运算符可以获取变量的地址。

答案:&2. C语言中,使用________运算符可以对指针进行递增操作。

C语言期末考测试卷及其标准答案

C语言期末考测试卷及其标准答案

C语言期耒考试卷及其答案—选择题(7分,每小题0.5分)1・C语言源程序的基本单位是(A过程B函数C子程序D标识符2下列程序的输出结果是(九main(){int a=7,b=53 printf(H%d\n'\b=b/a) o}A5B1 CO D不确定值3•假设变量比b均为整型,表达式 ($二54=2,臼Ab?a++:b++,a+b)的值是()。

A7B8C9D2 4•设a为int型娅,执行下列赋值语句后,a的取值分别是()。

a=125.534。

吐(int) 125.521 %4。

a=5«2。

A125,31J B125J,20C 125,31,20 D 125.534,2,205•设有如下程序段,下面描述中正确的是()。

int k=10 □ - while(k-O) k=k-1 oA循环执彳产次B循环是无限循环C循环体语句一次也不执行D循环体语句执行一•次6•以下程序的输出结果为(儿int i。

void prt() [for(i=50 i<8. i++) printf(r,%c M/*% printf(g } main(){for(i=5a i<-8o i++)Prmtf()o } 7•在C语言程序中,以下说法正确的是(九AT *** C *** *** D ***A函数的定义可以嵌套,但函数的调用不可以嵌套B函数的定义不可以嵌套,但函数的调用可以嵌套C函数的定义和函数的调用都不可以嵌套D函数的宦义利函数的调用者阿以嵌套8.以下函数调用语句中含有()个实参。

func((e1 ,e2),(e3,e4,e5))oA2B 3 C 5 D 语法错误 9以下程序的输出结果为()。

#define ADD(x) x*x main() {int a=4?b=6,c=7,d-ADD(a+b)*Co printf(,,d=%d M ,d). }Ad=70B d 二80 C d=140 D d=700w 分配()字节的空间。

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

本卷共有3道大题:一、单项选择题(50道小题,共50分)1、下列计算机语言中,CPU能直接执行的是( D )。

(1分)A、自然语言B、高级语言C、汇编语言D、机器语言2、算法具有5个特性,以下选项中不属于算法特性的是( B )。

(1分)A、有穷性B、简洁性C、可行性D、确定性3、以下叙述中,正确的叙述是( A )。

(1分)A、构成C程序的基本单位是函数B、可以在一个函数中定义另一个函数C、main( )函数必须放在其他函数之前D、所有被调用的函数一定要在调用之前进行定义4、已知字母A的ASCII码为十进制的65,char ch1,ch2;ch1='A'+'5'-'3';ch2='A'+'6'-'3';,则printf("%d,%c\n",ch1,ch2);的输出是( A )。

(1分)A、67,DB、B,CC、C,DD、不确定的值5、c2为字符型,执行语句“c2='A'+'6'-'3';”后,c2的值为(A )。

(1分)A、DB、63C、不确定的值D、C6、若a为int类型,且其值为5,则执行完表达式a+=a-=a*a后,a的值是( C )。

(1分)A、-5B、20C、-40D、257、设a、b和c都是int型变量,且a=3,b=4,c=5,则下面的表达式中,值为0的表达式是( D )。

(1分)A、'a'&&'b'B、a<=bC、a||b+c&&b-cD、!((a<b)&&!c||1)8、表达式18/4*sqrt(4.0)/8值的数据类型为( C )。

(1分)A、intB、floatC、doubleD、不确定9、设x是int型变量,f是float型变量,用下面的语句给这两个变量输入值:scanf("i=%d,f=%f ",&i,&f);,为了把100和765.12分别送给i和f,正确的输入为(B )。

(1分)A、100<空格〉765.12<回车>B、i=100,f=765.12<回车>C、100<回车〉765.12<回车>D、x=100<回车>f=765.12<回车>10、下列表述中,合法的C语言赋值语句是( B )。

(1分)A、a=b=58B、i++;C、a=58, b=58D、k=int(a+b);11、若k是int型变量,程序片段 k=-3; if(k<=0) printf("####"); else printf("&&&&"); 的输出结果是( A )。

(1分)A、####B、&&&&C、####&&&&D、有语法错误,无输出结果12、程序main(){int x=1, y=0, a=0, b=0;switch(x){case 1: switch(y) {case 0: a++;break; case 1: b++;break; } case 2: a++; b++; break;}printf("a=%d, b=%d\n",a,b); }的输出结果是( A )。

(1分)A、a=2, b=1B、a=1, b=1C、a=1, b=0D、a=2, b=213、若有定义float w; int a, b; ,则合法的switch语句是( C )。

(1分)A、switch(w) { case 1.0: printf("*\n"); case 2.0: printf("**\n"); }B、switch(a); { case 1 printf("*\n"); case 2 printf("**\n"); }C、switch(b) { case 1: printf("*\n"); default: printf("\n"); case 1+2: printf("**\n"); }D、switch(a+b); { case 1: printf("*\n"); case 2: printf("**\n"); default: printf("\n"); }14、若有int a[4][5];,则数组a包含的元素个数是( D )。

(1分)A、4B、5C、9D、2015、下列语句中,正确的定义语句是( B )。

(1分)A、int A[a];B、int A[10];C、int A[3,4];D、int A[][3]16、下列描述中,能正确给字符数组str定义和赋值的是( A )。

(1分)A、char str[]={"China"};B、char str[10];str={"China"};C、char str[10]={"abcdefghijklmn"};D、char str[10];strcpy(str,"abcdefghijklmn");17、若有char c[6]={'H','e','l','l','o'};,则c[5]的值是( B )。

(1分)A、'0'B、'\0'C、空格D、不可知的18、设有定义:char c,string[]="Welcome zhanghong";,若要逐个输出元素的值,可以写一个循环程序段,则这个循环段的“循环条件”是( D )。

(1分)A、c=string[i]='\0'B、(c=string[i])='\0'C、c=string[i]!='\0'D、(c=string[i])!='\0'19、在Turbo C下,若有数组定义:float f[10]={1,2,3,4};,则数组f所占的存储空间为( D )个字节。

(1分)A、4B、16C、10D、4020、C语言允许用外部说明来指定变量、函数等,这里的外部指的是( D )。

(1分)A、冠以关键字externB、位置在函数体外部C、作用范围是全程的D、位置在函数外部21、下列关于静态局部变量的说法中,不正确的说法是( D )。

(1分)A、静态局部变量在函数内定义B、静态局部变量的生存期为整个源程序C、静态局部变量的作用域为整个源程序D、静态局部变量若在说明时未赋初值,则系统自动赋予0值22、下列关于局部变量的说法中,不正确的说法是( A )。

(1分)A、不能在复合语句中定义变量B、局部变量是在函数内部定义说明的C、形参变量属于被调函数的局部变量D、允许在不同的函数中使用相同的变量名23、在复合语句中定义的变量( B )。

(1分)A、只在主函数中有效B、只在本复合语句中有效C、可以在整个文件中有效D、可以在所有函数中有效24、如果全局的外部变量和函数体内定义的局部变量重名,则(B )。

(1分)A、出错B、局部变量优先C、外部变量优先D、全局的外部变量优先25、在主函数中定义的变量( A )。

(1分)A、只在主函数中有效B、可以在整个文件中有效C、可以在所有函数中有效D、可以在被调用的函数中有效26、能够在输出完字符串后自动输出一个回车换行的函数是( B )函数。

(1分)A、putc()B、puts()C、printf()D、putchar()27、在C程序中,main()的位置( A)。

(1分)A、可以任意B、必须作为第一个函数C、必须作为最后一个函数D、必须放在它所调用的函数之后28、如果函数值的类型和return语句中表达式的值不一致,则(C )。

(1分)A、语法出错B、连接出错C、以函数类型为准D、以表达式值的类型为准29、若在程序中用到“strlen()”函数时,应在程序开头写上(D )。

(1分)A、#include<math.h>B、#include<stdio.h>C、#include<stdlib.h>D、#include<string.h>30、若有int f(int a,int b);,则说明函数f( B )。

(1分)A、是一个内部函数B、是一个外部函数C、只能在本文件中使用D、不能被同一源程序其他本文件中的函数调用31、声明一个函数为外部函数,应该在声明函数的函数类型的前面加(C )。

(1分)A、autoB、staticC、externD、register32、若有int a=3,*pa; float f=4.5,*pf;,则下列表述中,错误的是 (B )。

(1分)A、pa=&aB、pa=&fC、pf=&fD、*pf=a+f33、设char s[10];int i=5;,下列表达式中,正确的表达式是( B )。

(1分)A、s[i+6]B、*(s+i)C、*(&s+i)D、*((s++)+i34、若有int a[10],*p=a;,则( C )。

(1分)A、p++可以使p指向下一个字节B、p+=2 相当于p=sizeof(a)/10C、p++可以使p指向下一个元素,即a[1]的首地址D、p+=2可以使p指向下一个元素,即a[1]的首地址35、设有语句:int a[10]={0,1,2,3,4,5,6,7,8,9},i,*p=a;,下列表达式中,对a数组元素引用错误的是( D )。

(1分)A、p[i]B、a[p-a]C、*(&a[i])D、*(*a(a+i))36、在C语句中,&后跟指针变量名,表示该指针变量的((C )。

(1分)A、值B、别名C、地址D、类型37、若程序中包含有以下说明和定义:struct ex{ int x,y;} … struct ex,x,y; …,则在计算机上调试时, ( A )。

(1分)A、编译出错B、可以编译、连接、执行C、可以编译、连接,但不能执行D、可以编译,但连接出错38、“.”运算符称为( C )运算符。

(1分)A、指针B、取地址C、结构体成员D、指向结构体成员39、设有定义语句“struct {int a;float b;char c;}abc;”,则对结构体成员a的引用可以是( A )。

相关文档
最新文档