C语言期末考试_试题及答案_最新201

合集下载

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. 2variableB. intC. _first_variableD. for答案:C2. C语言中,用于定义一个整型数组的关键字是?A. charB. intC. floatD. double答案:B3. 在C语言中,哪个运算符用于比较两个值是否不相等?A. ==B. !=C. =D. <答案:B4. 下列哪个函数用于计算数组中元素的个数?A. strlenB. sizeofC. strcpyD. strcmp答案:B5. C语言中,用于定义一个结构体的关键字是?A. structB. unionC. enumD. typedef答案:A6. 下列哪个选项是C语言中合法的常量?A. 0x1AB. 1.23e-5C. 2.3.4D. 0b101答案:A7. 在C语言中,哪个关键字用于定义一个函数?A. intB. voidC. structD. return答案:B8. C语言中,用于定义一个指针的关键字是?A. intB. charC. floatD. *答案:D9. 下列哪个选项是C语言中合法的字符串字面量?A. "Hello, World!"B. 'Hello, World!'C. "Hello\nWorld"D. "Hello\tWorld"答案:A10. 在C语言中,哪个运算符用于执行算术运算?A. %B. &C. +D. ||答案:C二、填空题(每题2分,共20分)1. 在C语言中,定义一个整型变量的正确语法是:______。

答案:int variable_name;2. 用于将一个字符串复制到另一个字符串的C语言函数是:______。

答案:strcpy3. C语言中,用于声明一个指向整型变量的指针的语法是:______。

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

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

最新c语言期末考试试题及答案1. 一个C程序的组成部分可以是()。

A)一个主函数和一至若干个其他函数B)一至若干个主函数C)一个主程序和一至若干个其他函数D)一个主程序和一至若干个子程序2. 一个C程序的执行是从()。

(A)本程序的main函数开始,到main函数结束(B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束(C)本程序的main函数开始,到本程序文件的最后一个函数结束(D)本程序文件的第一个函数开始,到本程序main函数结束3. C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符()。

A)必须为字母B)必须为下划线C)必须为字母或下划线D)可以是字母、数字和下划线中任一种字符4. 设有定义:int m=1,n=-1;则执行语句printf("%d\n",(m--&++n);后的输出结果是()。

A)–1 B)0 C) 1 D) 25. 表达式11&10的结果用二进制表示为()。

A)11B)3C)1D)106. 设有语句int a=3;则执行语句a+=a-=a*a后,变量a的值是()。

(A)3(B)0(C)9(D)-127. 在下列选项中,不的赋值语句是()。

A)t/=5;B)n1=(n2=(n3=0));C)k=i==j;D)a=b+c=1;8. 下列( )表达式不满足:当x的值为偶数时值为"真",为奇数时值"假"。

A)X%2==0B)!x%2!=0C)(x/2*2-x)==0D)!(x%2)9. 若有定义:int a=8,b= 5,c;执行语句c=a/b+0.4 后c的值为()A)1.4 B)1 C)2.0 D)210. 假设a=3,b=4,c=5,则逻辑表达式:!(a+b)+c-1&&b+c/2的值是()。

A)true B)false C)0D) 111. 若int a=3,b=4;则执行c=a++>2||b-->=4之后,b变量的值为()。

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

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

C语言程序设计期末考试试题(含答案)C语言程序设计期末考试试题(含答案)一、选择题(共20题,每题2分,共40分)在每个题目给出的选项中选出一个正确答案,并将其序号填入题前括号内。

1. 下列关于C语言标准库的说法,错误的是:A. C语言标准库提供了多个头文件,如<stdio.h>、<stdlib.h>等。

B. C语言标准库中包含了很多有用的函数和变量。

C. C语言标准库的函数和变量的声明保存在头文件中。

D. C语言标准库中的函数和变量可以直接使用,无需任何声明和定义。

2. 下面哪个选项是正确的整型常量表示法?A. 3.14B. 'A'C. 3.0E8D. 0xFC3. 下面代码中,输出结果是多少?```c#include <stdio.h>int main() {int x = 3, y = 4, z;z = (x++) + (++y);printf("%d\n", z);return 0;}```A. 7B. 8C. 9D. 104. 下面哪个选项是正确的声明一个指向整型数据的指针?A. int *ptr;B. int ptr;C. *int ptr;D. ptr *int;5. 下面哪个选项是正确的函数声明?A. int add(int a, int b);B. int add(int a, b);C. add(int a, int b);D. add(int a, b);(略去其他题目...)二、编程题(共2题,每题30分,共60分)请编写符合题目要求的程序。

1. 题目描述:编写一个程序,实现求解1至100之间的所有偶数的和,并打印输出结果。

以下是程序的运行示例:```1至100之间的所有偶数的和为2550。

```2. 题目描述:编写一个程序,实现将用户输入的英文句子的每个单词首字母变为大写,并打印输出结果。

以下是程序的运行示例:```请输入一个英文句子:hello world!转换后的句子为:Hello World!```三、简答题(共2题,每题10分,共20分)请简要回答以下问题。

c语言期末复习试题附答案

c语言期末复习试题附答案

试卷编号:1120所属语言:C语言试卷方案:C语言期末考试试卷总分:100分共有题型:4种一、单项选择共30题(共计60分)第1题(分)设有定义:int k=0;,以下选项的四个表达式中与其他三个表达式的值不相同的是(A ).A:k++B:k+=1C:++kD:k+1第2题(分)已知int i=5,执行语句i+=++i后,i的值是(C).A:10B:llC:12D:A、B、C都不对第3题(分)以下程序的功能是:给r输入数据后,计算半径为r的圆面积s.程序在编译时出错. ttinclude <>void main()/* Beginning */{ int r;float s;scanf (〃%d〃,&r);s=p*r*r; printf (〃s=%f\n〃,s);出错的原因是(D).A:注释语句书写位置错误B:存放圆半径的变量r不应该定义为整型C:输出语句中格式描述符非法D:计算圆面积的赋值语句中使用了非法变量第4题(分)〃\\\〃 ABC\〃 \\〃的长度是(B ).A:llB:7C:5D:3第5题(分)已知int j, i=l执行语句j=-i++;后,j的值是(C ).A:1B:2串中的内容为“abcdefg”时,c 所指数组中的内容应该为 “lg2f3e4dcba” 。

*/ttinclude <>#include <>#include <>void fun ( char char *b, char *c )int i , j;char ch;i = 0;j 二 strlen(b)-l;/**********FOUND**********/ch = b [ i];b[j] = ch; i++; j —;/**********FOUND**********/while ( *a &&*b )//此处&&改为| | (逻辑或)if ()*c =*a;c++;/**********FOUND**********/a+;)if ( *b )*c 二*b; c++;b++;*c = 0;main()char sl[100],s2[100],t[200];clrscr ();printf (,z \nEnter si string : 〃);scanf (〃如〃,si);printf (,z \nEnter s2 string : 〃);scanf (〃%s 〃, s2);fun( si, s2, t );printf (/z \nThe result is : %s\n 〃,t );i j四、程序设计共1题(共计20分)第1题(分)/*【程序设计】功能:判断一个整数w 的各位数字平方之和能否被5整除, 可以被5整除则返回1,否则返回0。

大学C语言期末考试练习题(带详解答案)

大学C语言期末考试练习题(带详解答案)

大学C语言期末考试练习题(带详解答案)一、单项选择题1.(A)是构成C语言程序的基本单位。

A、函数B、过程C、子程序D、子例程2.C语言程序从C开始执行。

A)程序中第一条可执行语句B)程序中第一个函数C)程序中的main函数D)包含文件中的第一个函数3、以下说法中正确的是(C)。

A、C语言程序总是从第一个定义的函数开始执行B、在C语言程序中,要调用的函数必须在main()函数中定义C、C语言程序总是从main()函数开始执行D、C语言程序中的main()函数必须放在程序的开始部分4.下列关于C语言的说法错误的是(B)A)C程序的工作过程是编辑、编译、连接、运行B)C语言不区分大小写。

C)C程序的三种基本结构是顺序、选择、循环D)C程序从main函数开始执行5.下列正确的标识符是(C)。

A.-a1B.a[i]C.a2_iD.intt5~8题为相同类型题考点:标识符的命名规则(1)只能由字母、数字、下划线构成(2)数字不能作为标识符的开头(3)关键字不能作为标识符选项A中的“-”,选项B中“[”与“]”不满足(1);选项D中的int为关键字,不满足(3)6.下列C语言用户标识符中合法的是(B)。

A)3a某B)某C)caeD)-e2E)union选项A中的标识符以数字开头不满足(2);选项C,E均为为关键字,不满足(3);选项D中的“-”不满足(1);7.下列四组选项中,正确的C语言标识符是(C)。

A)%某B)a+bC)a123D)123选项A中的“%”,选项B中“+”不满足(1);选项D中的标识符以数字开头不满足(2)8、下列四组字符串中都可以用作C语言程序中的标识符的是(A)。

A、print_3ddb8aBcB、I\\amone_halftart$it3paiC、tr_1CpppowwhileD、P某qMy->bookline#Hi.age选项B中的“\\”,”$”,选项D中“>”,”#”,”.”,”-”不满足(1);选项C中的while为关键字,不满足(3)9.C语言中的简单数据类型包括(D)。

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

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

大学C语言期末考试试题一选择题(7分,每小题0.5分)1。

C语言源程序的基本单位是()。

A 过程B函数C子程序D标识符2.下列程序的输出结果是()。

main( ){ inta=7,b=5;printf("%d\n",b=b/a);}A 5B 1 C0 D不确定值3.假设变量a,b均为整型,表达式(a=5,b=2,a>b?a++:b++,a+b)的值是()。

A7 B8 C9 D 24.设a为int型变量,执行下列赋值语句后,a的取值分别是()。

a=125.534;a=(int)125.521%4;a=5<<2;A125,31,1 B125,1,20 C 125,31,20D125.534,2,205。

设有如下程序段,下面描述中正确的是( )。

int k=10;while(k=0)k=k—1;A循环执行一次B循环是无限循环C循环体语句一次也不执行D循环体语句执行一次6。

以下程序的输出结果为( ).int i;void prt(){ for(i=5;i<8;i++) printf(”%c”,'*’);printf("\t");}main( ){ for(i=5;i<=8;i++)prt( );}A ***B ************C *** ***D * **7。

在C语言程序中,以下说法正确的是()。

A函数的定义可以嵌套,但函数的调用不可以嵌套B函数的定义不可以嵌套,但函数的调用可以嵌套C函数的定义和函数的调用都不可以嵌套D函数的定义和函数的调用都可以嵌套8。

以下函数调用语句中含有( )个实参.func((e1,e2),(e3,e4,e5));A 2 B3 C5 D语法错误9.以下程序的输出结果为().#defineADD(x)x*xmain( ){int a=4,b=6,c=7,d=ADD(a+b)*c;printf(”d=%d",d);}A d=70B d=80C d=140 Dd=70010。

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的作用。

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

C语言期末考试试题及答案最新2012年一、单项选择题1. ()是合法的用户自定义标识符。

A、b-bB、floatC、<fr>D、_isw2. 若变量已正确定义并赋值,表达式()不符合C 语言语法。

A、a*b/c;B、3.14%2C、2, bD、a/b/c3. ()是不正确的字符常量。

A、'n'B、'1'C、"a"D、'101'4•在C程序中,用()表示逻辑值真”A、1B、非0的数C、非1的数D、大于0的数5. ()把x、y 定义成float 类型变量,并赋同一初值3.14。

A、float x, y=3.14;B、float x, y=2*3.14;C、float x=3.14, y=x=3.14;D、float x=y=3.14;6. 若变量已正确定义,表达式()的值不是2。

A、2&3B、1«1G a==2D 1八37•若变量已正确定义,语句“ if(a>b)k=0;elsek=1和()等价。

A、k=(a>b)?1:0;B、k=a>b;C、k=a<=b;D、a<=b ? 0 : 1;8•设变量定义为“int a, b;,执行下列语句时,输入(),则a和b的值都是10。

scanf("a=%d, b=%d",&a, &b);A、10 10B、10, 10C、a=10 b=10D、a=10, b=109. 下列程序的输出结果是()。

fun(int a, int b, int c){ c =a*b; }void main(){ int c;fun(2,3,c);printf(” %dn” ,c);}A、0B、1 C 6 D、无法确定10. 在C 程序中,若对函数类型未加说明,则函数的隐含类型为()A、intB、doubleC、voidD、char11. 表达式strlen(” he的0值是)()。

A、4B、5C、6D、712. 设变量定义为“ int a[4];,则表达式()不符合C语言语法。

A、*aB、a[0]C、aD、a++13. 设变量定义为“int x, *p=&x;,则&*p相当于()。

A、pB、*pC、xD、*&x14. 若变量已正确定义,()不能使指针p成为空指针。

A、p=EOFB、p=0C、p=''、D p=NULL15. 对于以下的变量定义,表达式()不符合C语言语法。

struct node { int len;char *pk;} x = {2, "right"}, *p = &x;A、p->pkB、*p.pkC、*p->pkD、16. 有如下程序int runc(int a,int b){ return(a+b);}main0{ int x=2,y=5,z=8,r; r=func(func(x,y),z); printf( “%n” ,r);}该程序的输出的结果是()A) 12 B) 13 C) 14 D) 15*x.pk17. 对于基类型相同的两个指针变量之间,不能进行的运算是() A) < B) = C) + D) -18. 有如下程序long fib(int n){ if(n>2) return(fib(n-1)+fib(n-2));else return(2);main0{ printf( “n ”%,dfib(3));该程序的输出结果是()A} 2 B} 4 C} 6 D} 819. 有如下定义struct person{char name[9]; int age;};strict person class[10]={ “Johu”, 17,“Paul ”, 19 “Mary”, 18,“ Adam 16,}; 根据上述定义,能输出字母M 的语句是()A)prinft( “n%”c,class[3].mane);B)pfintf( n” ,cla“ss%[3c].name[1]);C)prinft( n%cclass[2].name[1]);D)printf( n”,claS%2]cname[0]);20. 以下所列的C 语言常量中,错误的是()A) 0xFF B) 1.2e0.5 C) 2L D)72' ‘21. 有以下程序段int k=0 while(k=1)k++;while 循环执行的次数是()A)无限次B)有语法错,不能执行C一次也不执行D)执行1次22. 以下程序的输出结果是()fun(int x, int y, int z){ z=x*x+y*y; }main(){ int a=31;fun(5,2,a);printf( “ %d” ,a);}A) 0 B) 29 C) 31 D无定值23. 下列程序段的输出结果是()void fun(int *x, int *y){ printf( “ %d %d” , *x, *y); *x=3; *y=4;}main(){ int x=1,y=2;fun(&y,&x);printf( “%d %d” ,x, y);}A) 2 1 4 3 B) 1 2 1 2 C) 1 2 3 4 D) 2 1 1 224. 当调用函数时,实参是一个数组名,则向函数传送的是()A)数组的长度B)数组的首地址C数组每一个元素的地址D)数组每个元素中的值25. 以下程序的输出结果是()long fun( int n){ long s;if(n= =1 || n= =2) s=2;else s=n-fun(n-1);return s;}main(){ printf( “n%”ld, fun(3)); }A) 1 B) 2 C) 3 D) 426. 以下程序的输出结果是()#define SQR(X) X*Xmain(){ int a=16, k=2, m=1; a/=SQR(k+m)/SQR(k+m);printf( “n”d,a);}A) 16 B) 2 C) 9 D) 127. 以下函数返回a 所指数组中最小的值所在的下标值,在下划线处应填入的是()fun(int *a, int n){ int i,j=0,p;p=j;for(i=j;i<N;I++)if(a[i]<A[P]) _________ ;return(p);}A) i=p B) a[p]=a[i] C) p=j D) p=i 二、填空题1. 表示“ x > y的C表达式是_____ 。

2. 下列程序段的输出是 ____ 。

prin tf("%o n", 010<<1八1);3. 下列程序段的输出是 ____ 。

int k;float s;for (k=0, s=0; k < 7; k ++)s += k/2;printf("%d, %fn", k, s);4 .下列程序段的输出是_______ 。

#define f(a, b, x) a*x+bprintf("%d, %dn", f(3,2,1), f(6, 5, f(3, 2, 1)));5. _____________________ 下列程序段的输出是。

main(){ int k;for(k=1; k<5; k++) {if(k % 2) printf("*"); else continue; printf("#");}}6. _____________________ 下列程序段的输出是。

# include <stdio.h> int f(int x){ static y=1; y++;x += y; return x;}void main(){ int k;k=f(3);printf("%d %dn", k, f(k));}7. _____________________ 下列程序段的输出是。

int *p, *q, k = 5 , j = 6 ;q = &k ; p = q ;q = &j ;printf("%d", *p);8. 函数void f(char s[ ], char t[ ]){int k=0;while (s[k]=t[k])k++;}等价于void f(char *s, char *t){while ( ____ );}9. ______________________ 下列程序段的输出是_ 。

char *a[2]={"one", "two"}, **p=a;printf("%s,", *(p++)+1);printf("%cn", **p-1);10. 下列程序编译后生成t.exe,运行zoo oil 的输出结果是____ 。

void main(int argc, char * argv[ ])tinputoutput { int k;char *p=argv[1];for(k=2; k<argc; k++)if(strcmp(argv[k], p)>0) p=argv[k];printf("%sn", p);}11. 下列程序调用swap函数交换a和b的值,并输出交换后的a和b的值。

程序的输出结void main( ){int a=3, b=5;swap(&a, &b );printf("After swap %d, %d", a, b);}swap( int *p, int *q ){int t;t=*p; ;*p=*q ;*q=t ;}1D 2B 3C 4B 5C 6C 7C 8D 9D 10A 11B 12D 13A14A 15D 16D 17C 18B 19D 20B 21A 22C 23A 24B 25A 26B 27D①x>=y&&y>=z ② 1③ 6,90 ④ 5,25 ⑤ *#*# ⑥ 5 8 ⑦ 5⑧ *s+。

相关文档
最新文档