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

C语言程序设计期末考试试题含答案第一部分:选择题(每题5分,共40分)1. 下列选项中,不是C语言基本数据类型的是:A. intB. floatC. doubleD. string答案:D2. 在C语言中,for循环和while循环的区别是:A. for循环适用于已知循环次数,while循环适用于未知循环次数B. for循环必须有循环条件,while循环可以没有循环条件C. for循环只能用于数字计算,while循环可以用于任意类型的循环D. for循环和while循环没有区别答案:A3. 下列哪个选项是合法的变量名:A. 123varB. _varD. %var答案:B4. 在C语言中,使用printf函数输出一个整数变量的值,应该使用下列哪个占位符:A. %fB. %cC. %dD. %s答案:C5. 下列代码中,输出的结果是什么:```cint a = 5;printf("%d\n", a++);printf("%d", a);```A. 6 5B. 6 6C. 5 6答案:A6. 下列哪个选项中的函数可以用来比较两个字符串是否相等:A. strcmpB. strcatC. strlenD. strcpy答案:A7. 当我们在编写C语言程序时,通常会将一些常用的函数或者代码片段写成一个个独立的文件,这些文件通常以什么扩展名来保存:A. .cB. .hC. .txtD. .exe答案:B8. 下列代码中,缺少的语句是什么:```cint a = 10;int b = 20;int c = a + b;```A. return c;B. printf("%d", c);C. break;D. continue答案:B第二部分:编程题(每题30分,共60分)题目1:编写一个C程序,实现求取一个整数数组中元素的平均值。
要求通过函数实现,函数原型为:float average(int arr[], int length),其中arr为整数数组的首地址,length为数组的长度。
c语言期末考试题及其答案

C语言期末考试题及其答案一选择题(7分,每小题0.5分)1。
C语言源程序的基本单位是(B)。
A 过程B 函数C 子程序D 标识符2。
下列程序的输出结果是(C )。
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)的值是(B )。
A 7B 8C 9D 24。
设a为int型变量,执行下列赋值语句后,a的取值分别是( ).a=125.534;a=(int)125。
521%4;a=5〈〈2;A 125,31,1B 125,1,20C 125,31,20D 125。
534,2,205。
设有如下程序段,下面描述中正确的是(C )。
int k=10;while(k=0) k=k—1;A 循环执行一次B循环是无限循环C循环体语句一次也不执行D循环体语句执行一次6。
以下程序的输出结果为(D ).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)。
A函数的定义可以嵌套,但函数的调用不可以嵌套B函数的定义不可以嵌套,但函数的调用可以嵌套C函数的定义和函数的调用都不可以嵌套D函数的定义和函数的调用都可以嵌套8。
以下函数调用语句中含有(A )个实参。
func((e1,e2),(e3,e4,e5));A 2B 3C 5D 语法错误9。
以下程序的输出结果为()。
#define ADD(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=140D d=70010。
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语言中,用于定义一个整型变量的关键字是________。
完整word版,C语言程序设计期末考试试题(含答案)

C语言程序设计期末考试试题及其答案一、单项选择题(本大题共20题,每题2 分,共40分)1、以下不是C语言的特点的是( )A、C语言简洁、紧凑B、能够编制出功能复杂的程序C、C语言可以直接对硬件进行操作D、C语言移植性好2、以下不正确的C语言标识符是( )A、ABCB、abcC、a_bcD、ab.c3、一个C语言程序是由( )A、一个主程序和若干子程序组成B、函数组成C、若干过程组成D、若干子程序组成4、一个算法应该具有“确定性”等5个特性,对另外4个特性的描述中错误的是( )A、有零个或多个输入B、有零个或多个输出C、有穷性D、可行性5、设变量a是整型,f是实型,i是双精度型,则表达式10+‘a’+i*f值的数据类型为( )A、intB、floatC、doubleD、不确定6、在C语言中,char型数据在内存中的存储形式是( )A、补码B、反码C、源码D、ASCII码7、有如下程序,输入数据:12345M678<cR>后(<CR>表示回车),x的值是( ) 。
#include<stdio.h>main(){int x;float y;scanf("%3d%f",&x,&y);}A、12345B、123C、45D、3458、若有以下定义int a,b; float x,则正确的赋值语句是( )A、a=1,b=2B、b++;C、a=b=5D、b=int(x);9、以下程序的执行结果是( )#include<stdio.h>{int i=10,j=10;printf("%d,%d\n",++i,j--);}A、11,10B、9,10C、11,9D、10,910、巳知字母A的ASCII码是65,以下程序的执行结果是( )#include<stdio.h>main(){char c1='A',c2='Y';printf("%d,%d\n",c1,c2);A、A,YB、65,65C、65,90D、65,8911、下列运算符中优先级最高的是( )A、<B、十C、%D、!=12、设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0是( ) 。
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语言期末复习试题附答案

试卷编号: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语言期末考试试题及答案

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变量的值为()。
A)3B)0C)4D)212。
C语言期末考试试题及答案

C语言期末考试试题及答案------------------------------------------作者------------------------------------------日期C语言期末考试试卷共 页 第 页一、单选题(每题 分,共 分).以下叙述正确的是 ♉♉♉♉♉♉ 。
✌) 程序的每行只能写一条语句 ✆语言本身没有输入输出语句)在 程序中,注释说明只能位于一条语句的后面)在多函数的程序中,❍♋♓⏹函数必须放在其它子函数的定义之前.以下不正确的常量表示形式是 ♉♉♉♉♉♉ 。
✌✆ ✆✠☞ ✆‘ ’✆ ☜ 以下不正确的变量名是 ♉♉♉♉♉♉ 。
✌✆ ✆ ♉❍♋⌧ ✆ ✋☠❆✆ ✞ 以下正确的一组语句是 ♉♉♉♉♉♉♉♉。
✌✆ ♓⏹♦ ⌧⍓✆ ♓⏹♦ ⏹ ♦♍♋⏹♐☎✂♎✂⏹✆♓⏹♦ ♋☯⏹✆ ♍♒♋❒ ♋✉☐ ☐♋ ✆ ♍♒♋❒ ♦☯ ♦✂♒♏●●☐✂ 若以下变量均已正确定义和赋值,则正确的语句是 ♉♉♉♉♉♉♉♉。
✌✆ ♋♌✆ ⍓⌧ ✆ ⌧⍓ ✆ ⏹✉.下面各组中与给出的程序段功能不等价的是 ♉♉♉♉♉♉♉♉。
♓♐☎♋✆ ♌♏●♦♏ ♓♐☎♋✆ ♌♏●♦♏ ♌✌✆♓♐☎♋✆ ♌ ✆♓♐☎♋✆ ♌✆♓♐☎♋✆ ♌ ✆♓♐☎♋✆♓♐☎♋✆ ♌ ♏●♦♏♓♐☎♋✆ ♌ ♓♐☎♋✆ ♌♓♐☎♋✆ ♌ ♓♐☎♋✆ ♌♏●♦♏ ♌ ♓♐☎♋✆ ♌♏●♦♏ ♌♓♐☎♋✆ ♌ 运行下面程序段,若输入♋♌♍✁,则程序输出是:♉♉♉♉♉♉♉♉。
♍♒♋❒ ♍♓⏹♦ ❖❖♦♒♓●♏☎☎♍♑♏♦♍♒♋❒☎✆✆✐✁✆ ♦♦♓♦♍♒☎♍✆ ♍♋♦♏ ♋❖♎♏♐♋◆●♦ ❖❖♍♋♦♏ ♍❖❝❝☐❒♓⏹♦♐☎✂❖♎❖♎⏹✂❖❖✆✌✆ ✆ ✆ ✆共 页 第 页共 页 第 页共 页 第 页.对♐☐❒☎表达式 表达式 ✆⑤❝可以理解为:♉♉♉♉♉♉♉♉。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
西北农林科技大学信息工程学院西北农林科技大学本科课程考试试卷2015∼2016学年第1学期《C 语言程序设计》课程闭卷专业班级:命题教师:耿楠审题教师:学生姓名:学号:考试成绩:编程题一、..........................................................[15分]编写程序,提示用户输入一个整数n ,n 的取值范围为[1,10000],编程实现平方值小于等于n 的所有奇数的平方值之和。
例如,如果用户输入n 为100,那么小于100的所有奇数平方值为:1,9,25,49,81,它们的和为sum=165(1+9+25+49+81=165)。
如果输入的n 取值范围不在[1,10000],那么输出结果为“invalid number ”以提示用户输入了非法数据后退出程序。
输入样例:100输出样例:sum =165输入样例:10001输出样例:invalid number 评分标准:(1)(2分)输入的n 不在[1,10000]范围时,输出正确。
(2)(8分)for 循环正确。
(3)(3分)正确求和。
(4)(2分)输出语句正确。
测试用例:测试用例输出结果0invalid number 10001invalid number 10000sum =1666501sum =1-1invalid number2015-2016学年第1学期《C 语言程序设计》期末试题示例代码:1#include <stdio.h>2#include <stdlib.h>34int main ()5{6int i,n,sum =0;7scanf("%d",&n);89if (n >10000||n <=0)10{11printf("invalid number \n ");12return 1;13}1415for (i =1;i *i <=n;i ++)16{17if (i %2!=0)18{19sum =sum +i *i;20}21}2223printf("sum=%d \n ",sum);2425return 0;26}编程题二、..........................................................[15分]从键盘上输入10个整型数,利用函数查找并输出最大元素和最小元素,要求使用一维数组和一级指针编程实现。
提示:(1)在主函数main 中输入10个整型数,并声明两个整型变量分别用于存储数组的最大及最小元素值。
(2)编程过程中,请使用以下函数原型,务必要注意的是不得改变该函数原西北农林科技大学信息工程学院型的任何内容!void find_max_min (const int *pa,int n,int *plargest,int *psmallest);//----------------------------------------------------------------//功能:求取一维数组pa 中的最大元素及最小元素//参数:[int *pa]---一维数组a 的首地址(一级指针)//[int n]---数组元素个数//[int *plargest ]---指向最大元素的指针(一级指针)//[int *psmallest]---指向最小元素的指针(一级指针)//----------------------------------------------------------------(3)结果输出,请使用代码:printf("Largest:%d,Smallest:%d \n ",…);//请注意添加需要的代码输入:10个整数输出:最大元素以及最小元素输入样例:38438846595147649输出样例:Largest :84,Smallest :4评分标准:(1)(10分)正确使用和实现void find_max_min (const int *pa,int n,int *plargest,int *psmallest);函数。
(2)(5分)正确实现int main()函数并结果正确。
测试用例:测试用例输出结果38438846595147649Largest :84,Smallest :412345678910Largest :10,Smallest :11828907690232-1048523699Largest :1828,Smallest :-1045404547872112184784546Largest :787,Smallest :6785433-180773588812Largest :88,Smallest :-182015-2016学年第1学期《C 语言程序设计》期末试题示例代码:1#include <stdio.h>2#include <stdlib.h>34void find_max_min (const int *pa,int n,int *plargest,int *psmallest);56int main (void )7{8int a[10];9int largest =0,smallest =0,i;1011for (i =0;i <sizeof (a)/sizeof (a[0]);i ++)12scanf("%d",&a[i]);13find_max_min(a,sizeof (a)/sizeof (a[0]),&largest,&smallest);14printf("Largest:%d,Smallest:%d \n ",largest,smallest);15return 0;16}1718void find_max_min (const int *pa,int n,int *plargest,int *psmallest)19{20const int *p,*p_l,*p_sl;2122for (p =p_l =p_sl =pa;p <pa +n;p ++)23{24if (*p >*p_l)25{26p_l =p;27}28if (*p <*p_sl)29{30p_sl =p;31}32}3334*plargest =*p_l;35*psmallest =*p_sl;36}西北农林科技大学信息工程学院编程题三、..........................................................[15分]从键盘上输入两个向量,每个向量包含5个双精度浮点数(double),计算这两个向量的内积,并输出该计算结果,要求使用函数调用和数组编程实现。
提示:(1)向量内积计算公式为:若有向量a =(a 1,a 2,...,a n )和b =(b 1,b 2,...,b n ),则a 与b 的内积为a 1∗b 1+a 2∗b 2+...+a n ∗b n 。
(2)实现输入函数,该函数用于数组元素的输入,要求函数原型为:void input_vector (double a[],int n);(3)实现内积计算函数,要求函数原型为:double inner_product (double a[],double b[],int n);(4)main 函数的部分代码如下,请根据注释对省略号处的代码进行补充。
int main (void ){double a[N],b[N];printf("Enter vector a:");/*此处调用input_vector 函数实现向量a 的输入*/···printf("Enter vector b:");/*此处调用input_vector 函数实现向量b 的输入*/···/*此处调用inner_product 内积计算函数实现内积计算并输出*/printf("Inner product of a and b is:%1f.\n ",···);return 0;}输入:两个包含有5个元素的向量输出:向量的内积2015-2016学年第1学期《C 语言程序设计》期末试题输入样例:Enter vector a :2.304.503.2Enter vector b :02.803.60输出样例:Inner product of a and b is :0.000000.评分标准:(1)(5分)正确使用和实现void input_vector (double a[],int n);函数。
(2)(10分)正确使用和实现double inner_product (double a[],doubleb[],int n);函数。
测试用例:测试用例输出结果2.304.503.20.00000002.803.602.30.94.50.993.246.6430003.052.84.563.64.0722.310.94.550.9934.261937.16400039.052.00846.5613.644.071234535.00000054321示例代码:1#include <stdio.h>2#include <stdlib.h>3#define N 545void input_vector (double a[],int n);6double inner_product (double a[],double b[],int n);78int main (void )9{西北农林科技大学信息工程学院10double a[N],b[N];11printf("Enter vector a:");12input_vector(a,N);13printf("Enter vector b:");14input_vector(b,N);15printf("Inner product of a and b is:%1f.\n ",inner_product(a,b,N));1617return 0;18}1920void input_vector (double a[],int n)21{22int i;23for (i =0;i <n;i ++)24{25scanf("%lf",&a[i]);26}27}2829double inner_product (double a[],double b[],int n)30{31int i;32double s =0;33for (i =0;i <n;i ++)34{35s +=(a[i]*b[i]);36}37return s;38}编程题四、..........................................................[15分]从键盘上输入5条学生信息记录,利用函数指针实现这5个学生成绩的升序和降序排列,并输出排序后的结果,要求使用函数调用、函数指针以及结构体数组编程实现。