2018年C语言程序设计期末考试第4套

合集下载

C语言程序设计-国家开放大学中央电大2018年秋季学期“本科”期未考试试题及答案

C语言程序设计-国家开放大学中央电大2018年秋季学期“本科”期未考试试题及答案

8. 在一个数组中,数组元素 a[ 目前面的元素个数为(
)。
A. i
C. i—1
B. i+l
D. 2 * i
9. 假定有一个定义语句为 "int a[lO] = {3 ,4 ,2 ,8,6} ;", 则元素 a[5] 的值为(
)。
A. o
B. 2
c. 8
D. 6
10. 若需要比较两个字符串的大小,则选用的函数是(
}
33. 执行下面程序的输出结果为(
)。
# include<stdio. h>
# define N 8
void main () {
int a[N]={3,5,8,10,15,20,32,66}; .mt.1, x;
for(i=O; i<N/2; i++) {
x=a[i]; a[i]=a[N-1-i]; a[N-1-i]=x;
)
27. 在递归函数的每次递归调用中,对于参数表中的每个形参,得到的值都相同。(
)
28. 定义结构类型的变量时,能够同时进行初始化。(
)
29. 当向字符文件输出一个换行符时,实际将输出的是回车和换行这两个字符。(
)

三、程序填空题(分析程序后把合适的内容填写在括号内。每小题 5 分,共 20 分)
30. 执行下面程序的输出结果为(
B. fgetsO
C. fputsO
D. fgetc() 623

二、是非判断题(根据叙述正确与否在其后面的括号内打对号"✓ "或 叉号 "X" 。每小题 2 分,共 30 分)
15. 在 C 语言中,每个保留字是有专门含义和作用的,不能作为一般标识符使用。(

C语言程序设计谭浩强(第四版)期末复习试题重点

C语言程序设计谭浩强(第四版)期末复习试题重点

第一章程序设计和C语言1.1.什么是计算机程序程序..:一组计算机能识别和执行的指令。

只要让计算机执行这个程序,计算机就会自动地、有条不紊地进行工作计算机的一切操作都是由程序控制的,离开程序,计算机将一事无成。

1.2什么是计算机语言计算机语言:人和计算机交流信息的、计算机和人都能识别的语言。

计算机语言发展阶段:机器语言(由0和1组成的指令)符号语言(用英文字母和数字表示指令)高级语言(接近于人的自然语言和数学语言)面向过程的语言(非结构化的语言、结构化语言);面向对象的语言1.3C语言的发展及其特点C语言是一种用途广泛、功能强大、使用灵活的过程性编程语言,既可用于编写应用软件,又能用于编写系统软件。

因此C语言问世以后得到迅速推广。

C语言主要特点:语言简洁、紧凑,使用方便、灵活。

(只有37个关键字、9种控制语句;程序书写形式自由,源程序短)运算符丰富。

(34种运算符;把括号、赋值、强制类型转换等都作为运算符处理;表达式类型多样化)数据类型丰富。

(包括:整型、浮点型、字符型、数组类型、指针类型、结构体类型、共用体类型;C99又扩充了复数浮点类型、超长整型、布尔类型;指针类型数据,能用来实现各种复杂的数据结构的运算。

)具有结构化的控制语句。

(如if…else语句、while语句、do…while语句、switch语句、for语句用函数作为程序的模块单位,便于实现程序的模块化;C语言是完全模块化和结构化的语言)语法限制不太严格,程序设计自由度大。

(对数组下标越界不做检查;对变量的类型使用比较灵活,例如,整型量与字符型数据可以通用;C语言允许程序编写者有较大的自由度,因此放宽了语法检查)允许直接访问物理地址,能进行位操作,可以直接对硬件进行操作。

(C语言具有高级语言的功能和低级语言的许多功能,可用来编写系统软件;这种双重性,使它既是成功的系统描述语言,又是通用的程序设计语言)用C语言编写的程序可移植性好。

武汉工程大学2019-2020学年第一学期2018级软件工程专业《C语言程序设计》期末考试

武汉工程大学2019-2020学年第一学期2018级软件工程专业《C语言程序设计》期末考试

武汉工程大学2019-2020学年第一学期2018级软件工程专业《C语言程序设计》期末考试试题姓名:_________ 年级:_______级专业:_________ 学号:___________一、单项选择题(本大题共10小题,每小题1分,共10分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。

错选、多选或未选均无分。

1. 用C语言编写的代码程序( B )A)可立即执行B)是一个源程序C)经过编译即可执行D)经过编译解释才能执行2. C语言中用于结构化程序设计的三种基本结构是( A )A)顺序结构、选择结构、循环结构B)if、switch、break C)for、while、do-while D)if、for、continue3. 以下定义语句中正确的是( C )A)char a='A'b='B'; B float a=b=10.0;C)int a=10,*b=&a; D)float *a,b=&a;4.下列选项中,不能用作标识符的是( D )A)_1234_ B)_1_2 C) int_2_ D)2_int_5.在函数调用过程中,如果函数funA调用了函数funB,函数funB又调用了函数funA,则( B )A)称为函数的直接递归调用B)称为函数的间接递归调用C)称为函数的循环调用D)C语言中不允许这样的递归调用6.以下叙述中正确的是( A )A)局部变量说明为static存储类,其生存期将得到延长B)全局变量说明为static存储类,其作用域将被扩大C)任何存储类的变量在未赋初值时,其值都是不确定的D)形参可以使用的存储类说明符与局部变量完全相同7.若变量已正确定义,要求程序段完成求5!的计算,不能完成此操作的程序段是( B)A)for(i=1,p=1;i<=5;i++) p*=i;B)for(i=1;i<=5;i++){ p=1; p*=i;}C)i=1;p=1;while(i<=5){p*=i; i++;}D)i=1;p=1;do{p*=i; i++; }while(i<=5);8.有以下程序(a)main(){ char a='a',b;printf("%c,",++a);printf("%c\n",b=a++);}程序运行后的输出结果是a)b,b B)b,c C)a,b D)a,c9.有以下函数定义:(c)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)10.已定义c为字符型变量,则下列语句中正确的是(c)A)c='97'; B)c="97"; C)c=97; D)c="a";11.以下能正确定义一维数组的选项是(a)A)int num[]; B) #define N 100C)int num[0..100]; D) int N=100;int num[N]; int num[N];12.以下能正确定义数组并正确赋初值的语句是(d)A)int N=5,b[N][N]; B)int a[1][2]={{1},{3}};C)int c[2][]= {{1,2},{3,4}}; D)int d[3][2]={{1,2},{34}};13.有以下程序(a)main(){ int i;for (i=0; i<3; i++)switch (i){ case 1: printf("%d ", i);case 2: printf("%d ", i);default : printf("%d ", i); }}执行后输出结果是A)011122 B)012 C)012020 D)12014.有以下程序(d)main(){ int p[7]={11,13,14,15,16,17,18}, i=0,k=0;while(i<7 && p[i]%2) { k =k+ p[i]; i++; }printf("%d\n", k);}执行后输出结果是A)58 B)56 C)45 D)2415.以下叙述中正确的是(c)A)C语言比其他语言高级B)C语言可以不用编译就能被计算机识别执行C)C语言以接近英语国家的自然语言和数学语言作为语言的表达形式D)C语言出现的最晚,具有其他语言的一切优点16.下列叙述中正确的是(d)A)C语言中既有逻辑类型也有集合类型B)C语言中没有逻辑类型但有集合类型C)C语言中有逻辑类型但没有集合类型D)C语言中既没有逻辑类型也没有集合类型17.以下叙述中正确的是(a)A)C程序中注释部分可以出现在程序中任意合适的地方B)花括号"{"和"}"只能作为函数体的定界符C)构成C程序的.基本单位是函数,所有函数名都可以由用户命名D)分号是C语句之间的分隔符,不是语句的一部分二、填空题1.以下程序输入3个整数值给a,b,c,变量b中的值给a,变量c中的值给b,变量a中的值给c,交换后输出a,b,c的值。

c语言程序设计(第四版)考试题

c语言程序设计(第四版)考试题

C程序设计(第四版)期末考试题本卷共有4道大题:一、单项选择题(20道小题,共20分)1、以下对C语言函数的有关描述中,正确的是()(1分)A、在C中,调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参B、C函数既可以嵌套定义又可以递归调用C、函数必须有返回值,否则不能使用函数D、C程序中有关调用关系的所有函数必须放在同一个源程序文件中2、strcpy库函数用于复制一个字符串。

若有以下定义:char*str1="copy",str2[10],*str3="hijklmn";char*str4,*str5="abcd";则对strcpy库函数的错误调用是()(1分)A、strcpy(str2,str1)B、strcpy(str3,str1)C、strcpy(str4,str1)D、strcpy(str5,str1)3、设有以下语句:char str[4][12]={"aaa","bbb","ccc","ddd"};char*strp[4];int i;for(i=0;i<4;i++)strp[i]=str[i];若0<=k<4,下列选项中对字符串的非法引用是()(1分)A、strpB、str[k]C、strp[k]D、*strp4、以下各选项企图说明一种新的类型名,其中正确的是()(1分)A、typedef v1int;B、typedef v2=int;C、typedef v1int v3;D、typedef v4:int;5、若以下定义和语句:int a[]={1,2,3,4,5,6,7,8,9,0};int*p,i;p=a;0<i<10,则对数组元素地址的正确表示是()(1分)A、&(a+1)B、a++C、&pD、&p[i]6、C语言标准库函数"fgets(string,n,fp)"的功能是()(1分)A、从文件fp中读取长度为n的字符串存入指针string指向的内存B、从文件fp中读取长度不超过n-1的字符串存入指针string指向的内存C、从文件fp中读取n个字符串存入指针string指向的内存D、从文件fp中读取不超过长度为n的字符串存入指针string指向的内存7、以下叙述中不正确的是()(1分)A、在函数中,通过return语句传回函数值B、在函数中,可以有多条return语句C、在C中,main后的一对圆括号中也可以带有形参D、在C中,调用函数,必需在一条独立的语句中完成8、若有以下定义:char a;int b;float c;double d;则表达式a*b+d-c值的类型为()(1分)A、floatB、intC、charD、double9、以下叙述中正确的是()(1分)A、输入项可以是一个实型常量,如:scanf("%f",3.5);B、只有格式控制,没有输入项,也能正确输入数据到内存,例如:scanf("a=%d,b=%d");C、当输入一个实型数据时,格式控制部分可以规定小数点后的位数,例如:scanf("%4.2f",&d);D、当输入数据时,必须指明变量地址,例如:scanf("%f",&f);10、x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是()(1分)A、INPUT x、y、z;B、scanf("%d%d%d",&x,&y,&z);C、scanf("%d%d%d",x,y,z);D、read("%d%d%d",&x,&y,&z);11、若变量都已正确定义,a=2;b=3;printf(a>b?"***a=%d":"###b=%d",a,b);则程序段()(1分)A、没有正确的输出格式控制B、输出为:***a=2C、输出为:###b=2D、输出为:***a=2###b=212、设有如下的变量定义:int i=8,k,a,b;unsigned long w=5;double x=1.42,y=5.2;则以下符合C 语言语法的表达式是()(1分)A、a=a-=(b=4)*(a=3)B、x%(--3);C、a=a*3=2D、y=float(i)13、假设所有变量均为整型,表达式(a=2,b=5,a>b?a++:b++,a+b)的值是()(1分)A、7B、8C、9D、214、以下标识符中,不能作为合法的C用户定义标识符的是()(1分)A、ForB、printC、WORDD、sizeof15、以下合法的赋值语句是()(1分)A、x=y=100B、d--;C、x+y;D、c=int(a+b);16、在下列选项中,没有构成死循环的程序是()(1分)A、int i=100;whine(1){i=i%1001;if(i>100)break;}B、for(;;);C、int k=1000;do{k;}while(k>=1000);D、int s=36;while(s);--s;17、设a=1,b=2,c=3,d=4,则表达式:a<b?a:c<d?b:d的结果为()(1分)A、4B、3C、2D、118、假定w、x、y、z、m均为int型变量,有如下程序段:w=1;x=2;y=3;z=4;m=(w<x)?w:x;m=(m<y)?m:y;m=(m<z)?m:z;则该程序运行后,m的值是()(1分)A、4B、3C、2D、119、有定义语句:int a=4,b=5,c=6,x;,则以下选项中各程序段执行后,x的值不为6的是()(1分)A、if(a<6)x=6;else if(a<5)x=5;else x=4;B、if(a<6)x=6;if(a<5)x=4;if(b<c)x=c;C、if(a<b)x=b;if(a<4)x=4;if(c<a)x=a;D、if(c<a)x=4;else if(b<a)x=5;else x=6;20、在宏定义#define PI3.14159中,用宏名PI代替一个()(1分)A、单精度数B、双数度数C、常量D、字符串二、填空题(12道小题,共40分)1、计算机中内存储器的最小存储单位是字节,一个整数占个字节(2分)--------------------------------------------------------------------------------2、一个算法应该具有以下特点:、确定性、有零个或多个输入、有一个或多个输出、有效性(2分)--------------------------------------------------------------------------------3、唯一的一个三目运算符是(2分)--------------------------------------------------------------------------------4、printf("%5.3f\n",123456.12345);输出为(2分)--------------------------------------------------------------------------------5、描述命题“A小于B或小于C”的表达式为(2分)--------------------------------------------------------------------------------6、int i=0,s=0,a[10];while(i<10)s+=a[i++];等价于int i,s,a[10];for()(2分)--------------------------------------------------------------------------------7、已知一数组:a[0]=10,a[1]=20,a[2]=30,a[3]=40,a[4]=50,s是int型指针,s已指向a[4],现要使s指向a[2],则s=(2分)--------------------------------------------------------------------------------8、变量分为全局和局部两种,变量离开了其所定义的函数,其存储单元就会被释放。

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

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

2018c语言期末考试题及答案一、选择题(每题2分,共40分)1. 下列哪个选项是C语言中的关键字?A. myVarB. intC. varD. string答案:B2. C语言中,哪个符号用于定义数组的结束?A. ;B. ,C. [D. ]答案:D3. 在C语言中,以下哪个语句是正确的打印语句?A. print("Hello, World!");B. printf("Hello, World!");C. println("Hello, World!");D. cout << "Hello, World!";答案:B...40. 在C语言中,以下哪个函数用于计算两个数的和?A. sum()B. add()C. calculateSum()D. None of the above答案:D二、填空题(每空2分,共20分)1. 在C语言中,______关键字用于定义一个函数。

答案:void 或者 int(取决于函数的返回类型)2. 一个C语言程序的执行从______函数开始。

答案:main...20. 在C语言中,______运算符用于计算两个数的乘积。

答案:*三、简答题(每题10分,共30分)1. 解释C语言中指针的概念及其用途。

答案:指针是C语言中一种特殊的变量,它存储了另一个变量的内存地址。

指针的主要用途包括动态内存分配、数组操作、函数参数传递等。

2. 描述C语言中结构体(struct)的定义和使用方式。

答案:结构体是一种用户自定义的数据类型,它允许将多个不同类型的变量组合成一个单一的类型。

定义结构体使用关键字struct,后跟结构体名称和其包含的变量列表。

使用结构体时,可以创建该类型的变量,并访问其成员。

3. 简述C语言中递归函数的概念及其应用场景。

答案:递归函数是指在函数内部调用自身的函数。

递归常用于解决可以分解为相似子问题的问题,如树的遍历、排序算法(如快速排序、归并排序)等。

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

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

大学C语言期末考试题及答案(4)1、定义了一维int型数组a[10]后,下面错误的引用是_____正确答案是:Ba[0]=1;a[10]=2;a[0]=5*2;a[1]=a[2]*a[0];2、设有定义:int a=1, *p=&a; float b=2.0; char c='A';,以下不合法的运算是()正确答案是:C*p++;a——;b++;c--;3、若有定义:int x[10], *p=x;,则*(p+5)表示()正确答案是:B数组元素x[5]的地址数组元素x[5]的值数组元素x[6]的地址数组元素x[6]的值4、执行以下程序段后,y的值是( )。

int a[ ]={1, 3, 5, 7, 9} int x=0, y=1,*ptr; ptr=&a[1]; while (!x){ y+=*(ptr+x); x++; }正确答案是:C124245、下面程序的运行结果是( )。

# include <stdio。

h〉 void select(char *s){ int i,j; char *t; t=s; for(i=0,j=0;*(t+i)!=’\0';i++)if(*(t+i)〉='0’&&*(t+i)<='9'){ *(s+j)=*(t+i); j++;} *(s+j)='\0 正确答案是:DHPw19 &17HPw19 &1719176、对于下面语句描述不正确的为_____ struct Student { unsigned long id; char name[30]; char class[30];}oStu1;正确答案是:Bstruct Student为用户自定义类型Student为用户自定义类型name为结构体成员变量oStu1为结构体变量名称7、已知:char *pstr[]={”abcd",”efgh"},**p=&pstr;那么*(*(p+1)+1)的值为_____正确答案是:Cbcfg8、已知:int a[5]={0,1,2,3,4}; int *p=a; 下面的表达式不可以用来表示a[3]的是_____正确答案是:C*(a+3)*(p+3)*p+3p[3]9、 strlen(”A\0B\0C")的结果为_____正确答案是:B12310、定义了int型二维数组a[6][7]后,数组元素a[3][4]前的数组元素个数为_____正确答案是:B2425281711、下面的描述错误的是_____正确答案是:C函数可以有多个形式参数函数可以没有返回值函数内可以嵌套定义函数函数可以被其他函数调用12、下面关于全局变量的描述中,错误的是_____正确答案是:C所有在函数体外定义的变量都是全局变量全局变量可以和局部变量同名称全局变量第一次被引用时,系统为其分配内存全局变量直到程序结束时才被释放13、以下关于循环的描述中,错误的是_____正确答案是:D可以用for语句实现的循环一定可以用while语句实现可以用while语句实现的循环一定可以用for语句实现可以用do…while语句实现的循环一定可以用while语句实现do…while语句与while语句的区别仅仅是关键字while的位置不同14、引用数组元素时,数组下标可以是_____正确答案是:D整型常量整型变量整型表达式以上均可15、已知:int a[5]={0,1,2,3,4}; int *p=a; 下面的表达式不能用来表示a[3]的是_____正确答案是:C*(a+3)*(p+3)*p+3p[3]16、已知:char str[10],*p=str; 下面的语句中正确的是_____正确答案是:Bstr=”ABC”;p="ABC”;*str=”ABC”;*p="ABC";17、对于下面语句描述不正确的为_____ struct Student { unsigned long id; char name[30]; char calss[30]; }oStu1;正确答案是:Bstruct Student为用户自定义类型Student为用户自定义类型name为结构体成员变量oStu1为结构体变量名称18、一个c程序的执行是从________正确答案是:A本程序的main函数开始,到main函数结束本程序文件的第一个函数开始,到本程序文件的最后一个函数结束本程序的main函数开始,到本程序文件的最后一个函数结束本程序文件的第一个函数开始,到本程序main函数结束19、若x、i、j和k都是int型变量,则计算下面表达式后,x的值为 ________ x=(i=4,j=16,k=32)正确答案是:C416325220、若有定义:int a=7;float x=2.5,y=4。

C程序设计谭浩强第四版试卷试卷及答案

C程序设计谭浩强第四版试卷试卷及答案

一、单项选择题20题,每题2分,共40分1.一个C语言程序是由组成的;A.主程序 B.子程序 C.函数 D.过程2.判断char型变量c1是否为小写字母的最简单且正确的表达式为 ;A. 'a'<=c1<='z'B. c1>=a&&c1<=zC. 'a'<=c1||'z'>=c1D. c1>='a'&&c1<='z'3.为了判断两个字符串s1和s2是否相等,应当使用 ;A. if s1==s2B. if s1=s2C. if strcpys1,s2D. if strcmps1,s2 == 04. 设a,b都是int型变量,则表达式:a=2,b=5,a>b a++ : b++ ,a+b的值为 ;A. 7B. 8C. 9D. 25. 设x、y和t均为int型变量,则以下语句:t=x; x=y; y=t;的功能是 ;A. 把x和y按从大到小排列B. 把x和y按从小到大排列C. 无确定结果D. 交换x和y中的值6. 下面标识符中,合法的用户标识符为 ;A. PAdB.12aC.charD._int7. 循环语句whileE;中的表达式E等价于 ;A. E=0B. E=1C. E==0D. E==18. 设有以下语句,则不是对a数组元素的正确引用,其中0≤i<10;int a10 = {0,1,2,3,4,5,6,7,8,9};int p = a;供选择的答案是:A. ap-5B. &aiC. piD. a+i9. 若用数组名作为函数调用的实参,传递给形参的是 ;A.数组的首地址B.数组第一个元素的值C.数组中全部元素的值D.数组元素的个数10.下面四段程序中,不是死循环的程序段是 ;──────—───┬───────────────A.int i=100; C.int k=0;while 1 do {++k;{ i=i%100+1; } while k>=0;if i>100 ───────────────break; D.int s=3379;} │ while s;──────────┤ s++;B.for ;;;──────────┴───────────────11.在一个文件中定义的全局变量的作用域为 ;A.本程序的全部范围;B.本文件的全部范围;C.函数内的全部范围;D.从定义该变量的位置开始到文件结束; 12.下面的程序执行后,文件test.t中的内容是 ;include <stdio.h>include<string.h>void funchar fname,char st{ FILE myf;int i;myf=fopenfname,"w";fori=0;i<strlenst;i++fputcsti,myf;fclosemyf;}main{ fun"test.t","new world";fun"test.t","hello,";}Ahello, Bnew worldhello, Cnew world Dhello,world13.若有以下定义和语句int a=3,b=4, q,w,p;p=&a; q=&b; w=q; q=NULL;则以下选项中错误的语句是 ;A p=a;B w=p;C q=0;D p=w;14.以下语句中,指针s所指字符串的长度为 ;char s=”\\Hello\tWorld\n”;C.14 D.1015.若调用一个函数,且此函数中没有return语句,则正确的说法是:该函数 ; A.没有返回值 B.返回若干个系统默认值C.能返回一个用户所希望的函数值 D.返回一个不确定的值16.有以下程序main{ int m3={1,4,7,2,5,8,3,6,9};int i,j,k=2;fori=0;i<3;i++printf“%d”,mki;}执行后输出结果是A. 4 5 6B. 2 5 8C. 3 6 9D. 7 8 917.下列程序的输出结果为 ;define SQRx xxmain{ int a=10, k=2, m=1;a/=SQRk+m;printf“%d\n”, a;}A. 1B. 8C. 2D. 918. 设有以下程序段:char a =”study”,p;p=a;printf“%d”,p+5;执行后的结果为:A、111B、0C、104D、不确定19.设有下列程序段,则scanf函数调用语句中对结构体变量成员的不正确引用为;{ char name20;int age;char sex;}stu5, p;p=stu;A. scanf"%s", ;B. scanf"%d", p->age;C. scanf"%c", &p->sex;D. scanf"%d", &stu0.age;20.已知static int a ={5,4,3,2,1},p ={a+3,a+2,a+1,a},q=p;则表达式:p0+1 + q +2 的值是 ; A.5 B.4 C.6 D.7二、程序填空题每空2分,共20分1、求1 + 1/2 +1/4 + 1/6 + ··· + 1/100 的值;include “stdio.h”main{ int i =2 ;float sum ;_______________;while i <=100{ sum = ____________ ;__________________ ; }printf “ sum = %f “ , sum;}2、以下程序的功能是:从键盘输入若干个学生的成绩,统计计算出平均成绩,并输出低于平均分的学生成绩,用输入负数结束输入;main{ float x1000, sum = 0.0, ave, a ;int n=0, i;printf“Enter mark:\n”;scanf“%f”,&a;whilea>=0.0 && n<1000sum =sum+a;xn=______;n++;scanf" % f ",_______;}ave= ________ ;printf“Output: \n”;printf“ave=%f\n”,ave;fori=0; i<n; i++if_________ printf"%f\n”,xi;}4、将输入的百分制成绩转换成相应的等级;100—90分为A,89—80分为B …… 60分以下为E; main{int score,temp;char grade;scanf"%d",&score;ifscore ==100temp=9;elsetemp= __________;switch ______{case 9:grade='A'; break;case 8:grade='B'; break;case 7:grade='C'; break;case 6:grade='D'; break;______________}printf "Score=%d Grade=%c\n", score, grade;三、程序阅读题每题4分,共20分1、以下程序运行后,输出结果是_______; include "stdio.h"main{ char ch='A';int x=8;while ch<='H'{ printf"%c,",ch;ch+=2;}printf"\n";do{ x--;if x%3==0 continue;printf"%d,",x;} while x>0;}2、以下程序运行后,输出结果是_______; int funcint a, int b{ static int m=0,i=2;i+=m+1;m=i+a+b;returnm;}main{ int k=4,m=1,n;n=funck, m;printf“%d, ”, n;n=funck, m;printf“%d ”, n;3、下面程序的运行结果是: ;void swapint a,int b{ int t;t=a; a=b; b=t;}main{ int x=3,y=5,p=&x,q=&y;swapp,q;printf“%d,%d\n”,p,q;}4、下面程序的运行结果是: ;include "stdio.h"main{ int i,j;char ch;fori=1;i<5;i++{ forj=1;j<20-i;j++ printf" ";ch='A';forj=1;j<=2i;j++ printf"%2c",ch++; printf"\n";}}5、以下程序运行后的输出结果是 ;int funcint a,int b{ return a+b;}main{ int x=2,y=5,z=8,r;r=funcfuncx,y,z;printf"%d\n",r;}四、编程题三题中任选两题,每题10分,共20分,1、用递归方法求n;2、从键盘输入十个数,按升序排列后输出排序的结果,请按以下要求完成,要求:1、必须用主、子函数调用完成程序;2、其中十个数的输入及排序后的结果输出在主函数中实现;3、排序功能在子函数中实现;3、从键盘输入一串字符,对其中的的字母,数字及其他字符的数目进行统计,并输出统计结果,方法不限; A卷参考答案一.单项选择题20题,每题2分,共40分1. C2. D3. D4. B5. D6. D7. C8. A9. A 10. C11.D 12. A 13. C 14. A 15. D 16. C 17.C 18. D 19. B 20. A二、程序填空题每空2分,共20分1、sum=1.0或sum=1; sum + 1.0 / i ,i = i + 2;2、a、&a、sum/n、xi<ave3、score-score%10/10;或score/10 , temp , default: grade='E';三、程序阅读题每空2分,共20分1、 A,C,E,G,7,5,4,2,1,2、8,173、3,54、 A BA B C DA B C D E FA B C D E F G H5、15四、编程题20分,任选2题,每题10分1、main 结构正确 1分{ int n,t; 变量及函数说明正确 2分long factint;scanf"%d",&n; 输入正确 1分t=factn; 调用语句正确 1分printf"\n%d",t;}long factint n 函数类型及形参正确 1分{ long s;if n==1s=1; 递归公式1正确 1分elses=nfactn-1; 递归公式2正确 2分return s; 返值正确 1分}2、main 结构正确 1分{ int a10, i ; 变量定义及函数说明正确 2分void sortint b;fori=0;i<10;i++ 输入正确 1分scanf“%d”,&ai;sorta; 函数调用及参数传递正确1分printf"\n";fori=0;i<10;i++ 输出正确 1分printf"%d, ",ai;}void sort int b 结构正确 1分{ int i,jfori=0;i<9;i++ 排序正确 3分forj=9;j>i;j--ifaj<aj-1t=aj,aj=aj-1,aj-1=t;}3、 include "stdio.h"main 结构正确 1分{char str100,st;int d,x,s,q;zm=sz=qt=0; 变量定义及初始值正确 1分getsstr; 输入正确 1分forst=str;st='\0';st++ 循环参数参数设置正确 2分 ifst>='a'&&st<='z'||st>='A'&&st<='Z'zm=zm+1;else ifst>='0'&&st<='9'sz++;else ++qt; 统计正确 3分printf"ZM=%d, SZ=%d, QT=%d",zm,sz,qt 输出正确 2分。

c语言模拟题目第四套

c语言模拟题目第四套

第四套若有说明:int a[3][4];则数组a中各元素()。

A、不能得到确定的初值B、可在程序的编译阶段得到初值0C、可在程序的运行阶段得到初值0D、可在程序的编译或运行阶段得到初值0【参考答案】错误A【学生答案】[未答此题]已定义float a; int i;选择正确的输入语句( ).A、scanf("%6.2f%3d", &a,&i);B、scanf("%f%s", &a,&i);C、scanf("%6f%3d",&a,&i);D、scanf("%f%d", a,i);【参考答案】错误C【学生答案】[未答此题]执行下面程序段后,k的值是:( )int k=2;switch(k+1){case 3:k+=1;case 4:k--;break;case 5:k*=3;case 6:++k;}A、10B、2C、28D、27【参考答案】错误B【学生答案】[未答此题]执行下列语句后的输出为()。

int j=-1;if(j<=1) printf("****\n");else printf("%%%%\n");A、%%%%B、****C、有错,执行不正确D、%%%%c【参考答案】错误B【学生答案】[未答此题]以下程序段中,能够正确地执行循环的是( )。

A、int s=6; m:if(s<100) exit(0); else s-=2; goto m:B、int s=6; do s-=2; while(s);C、for(i=1;i>10;i++)D、static int a; while(a)【参考答案】错误B【学生答案】[未答此题]运行结果是" 11 12"的程序段是:请在A处填写正确内容( )。

for(i=1;i<=2;i++)___A___A、for(j=1;j<=2;j++)printf("%3d",10*i+j);break;B、{for(j=1;j<=2;j++)printf("%3d",10*i+j);break;}C、for(j=1;j<=2;j++)printf("%3d",10*i+j);continue;D、{for(j=1;j<=2;j++)printf("%3d",10*i+j);continue;}【参考答案】错误B【学生答案】[未答此题]对以下说明语句 int a[10]={6,7,8,9,10}; 的正确理解是()。

c语言程序设计形考任务4附答案

c语言程序设计形考任务4附答案

一、选择题(共30分,每小题2分)题目1正确获得2.00分中的2.00分标记题目题干假定有“struct BOOK{char title[40]; float price;}; struct BOOK book;”,则不正确的语句为()。

选择一项:a. struct BOOK *x=malloc(book);回答正确b. struct BOOK x={"C++ Programming",27.0};c. struct BOOK *x=malloc(sizeof(struct BOOK));d. struct BOOK *x=&book;反馈Your answer is correct.题目2正确获得2.00分中的2.00分标记题目题干假定有“struct BOOK{char title[40]; float price;} book;”,则正确的语句为()。

选择一项:a. struct BOOK x= &book;b. struct BOOK *x=&book;回答正确c. struct BOOK x=calloc(BOOK);d. struct BOOK *x=BOOK;反馈Your answer is correct.题目3正确获得2.00分中的2.00分标记题目题干在结构类型的定义中,不同数据成员的定义项之间采用的分隔符是()。

选择一项:a. 句点b. 冒号c. 分号回答正确d. 逗号反馈Your answer is correct.题目4正确获得2.00分中的2.00分题干假定一个结构类型的定义为“struct A{int a,b; double c;};”,则该类型的长度为()。

选择一项:a. 8b. 10c. 12d. 16反馈Your answer is correct.题目5正确获得2.00分中的2.00分标记题目题干假定一个结构类型的定义为“struct D{int a; D* next;};”,则该类型的长度为()。

青岛科技大学c语言期末考试题4

青岛科技大学c语言期末考试题4

第四套试题一、选择题(20个小题,每小题2分,共40分):1、以下不正确的C语言标识符是____。

A.ABC B.abc C.a_bc D.ab。

c2、设a,b和c都是int型变量,且a=3,b=4,c=5,则下面的表达式中,值为0的表达式是____。

A.‘a’&&‘b’ B.a<=b C.a||b+c&&b—c D.!((a〈b)&&!c||1)3、若有以下定义和语句:char c1=‘b',c2=‘e';printf(“%d,%c\n”,c2—c1,c2-‘a’+‘A’);则输出结果是____。

A.2,M B.3,EC.2,e D.输入项与对应的格式控制不一致,输出结果不确定4、当运行以下程序时,在键盘上从第一列开始输入9876543210<CR>(此处〈CR>代表Enter),则程序的输出结果是____.main( ){ int a;float b,c;scanf(“%2d%3f%4f",&a,&b,&c);printf(“\na=%d,b=%f,c=%f\n",a,b,c);}A.a=98,b=765,c=4321 B.a=10,b=432,c=8765C.a=98,b=765.000000,c=4321.000000 D.a=98,b=765.0,c=4321.05、设有如下函数定义:int f(char *s){ char *p=s;while(*p!=‘\0’) p++;return (p-s);}如果在主程序中用下面的语句调用上述函数,则输出结果为____。

printf(“%d\n",f(“goodbye!"));A.3 B.6 C.8 D.06、以下程序的输出结果是____。

main( ){ int w=4,x=3,y=2,z=1;printf(“%d\n”,(w<x?w:z<y?z:x));}A.1 B.2 C.3 D.47、以下程序段的输出结果是____。

2018年C语言程序设计期末考试试题及其答案

2018年C语言程序设计期末考试试题及其答案

2018年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、可行性A、intB、floatC、doubleD、不确定6、在C言语中,char型数据在内存中的储备方式是( )A、补码B、反码C、源码D、ASCII码7、有如下程序,输入数据:M678<cR>后(表示回车),x的值是( )。

includemain(){int x;float y;scanf("%3d%f",&x,&y);A、 B、123 C、45 D、3458、如有以下界说int a,b。

float x,则精确的赋值语句是( )A、a=1,b=2B、b++;C、a=b=5D、b=int(x);9、以下程序的执行结果是( )includeint i=10,j=10;printf("%d,%d\n",++i,j--);A、11,10B、9,10C、11,9D、10,910、巳知字母A的ASCII码是65,以下步伐的履行成效是( )#includemain()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,则下面表达式中值为是( )。

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

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

2018c语言期末考试题及答案在2018年的C语言期末考试中,学生们面临了一系列旨在评估他们对C语言基础知识和编程技能掌握程度的问题。

考试涵盖了从基础语法到复杂数据结构的广泛主题。

以下是考试题目及其答案的汇总。

1. 题目:写出一个C程序,计算并输出100以内所有奇数的和。

答案:程序首先初始化一个变量用于存储奇数的和,然后使用一个循环结构遍历1到99之间的所有整数,判断每个数是否为奇数,如果是,则将其加到总和中。

最后输出总和。

```c#include <stdio.h>int main() {int sum = 0;for (int i = 1; i <= 100; i++) {if (i % 2 != 0) {sum += i;}}printf("The sum of all odd numbers from 1 to 100is: %d\n", sum);return 0;}```2. 题目:编写一个C程序,实现字符串的反转。

答案:程序定义了两个指针,一个指向字符串的开始,另一个指向字符串的结束。

通过交换这两个指针指向的字符,逐步向字符串的中心移动,直到两个指针相遇或交叉。

```c#include <stdio.h>#include <string.h>void reverseString(char str[]) {int len = strlen(str);for (int i = 0; i < len / 2; i++) {char temp = str[i];str[i] = str[len - i - 1];str[len - i - 1] = temp;}}int main() {char str[] = "Hello World";reverseString(str);printf("Reversed string: %s\n", str);return 0;}```3. 题目:使用C语言编写一个程序,计算并输出一个整数数组中的最大值和最小值。

c语言第4版习题答案

c语言第4版习题答案

c语言第4版习题答案C语言第4版习题答案C语言是一门广泛应用于计算机科学和软件开发领域的编程语言。

对于学习C语言的人来说,习题是非常重要的一部分,通过解答习题可以巩固所学的知识,并提升编程能力。

本文将为读者提供C语言第4版习题的答案,帮助读者更好地理解和掌握C语言。

第一章:开始1.1 问题一:请写出一个简单的C程序。

答案:以下是一个简单的C程序示例:```c#include <stdio.h>int main() {printf("Hello, World!");return 0;}```1.2 问题二:请解释#include <stdio.h>的作用是什么?答案:#include <stdio.h>是一个预处理指令,它告诉编译器在编译过程中将stdio.h这个头文件包含进来。

这个头文件中包含了一些输入输出函数的声明,如printf和scanf。

第二章:数据类型、运算符和表达式2.1 问题一:请写一个程序,计算两个整数相加的结果。

答案:以下是一个计算两个整数相加的程序示例:```c#include <stdio.h>int main() {int a, b, sum;printf("请输入两个整数:");scanf("%d %d", &a, &b);sum = a + b;printf("两个整数的和为:%d", sum);return 0;}```2.2 问题二:请解释赋值运算符和算术运算符的区别。

答案:赋值运算符(=)用于将一个值赋给一个变量。

例如,a = 5; 将5赋给变量a。

而算术运算符(+、-、*、/等)用于执行算术运算,如加法、减法、乘法和除法。

例如,a + b 将变量a和b的值相加。

第三章:控制流3.1 问题一:请写一个程序,判断一个数是否为正数、负数或零。

C语言第四套题

C语言第四套题

C语言第四套题一、选择题1、下列数据结构中,属于非线性结构的是()。

A) 循环队列B) 带链队列C) 二叉树D) 带链栈参考答案:C【解析】树是简单的非线性结构,所以二叉树作为树的一种也是一种非线性结构。

2、下列数据结构中,能够按照"先进后出"原则存取数据的是()。

A) 循环队列B) 栈C) 队列D) 二叉树参考答案:B【解析】栈是按先进后出的原则组织数据的。

队列是先进先出的原则组织数据3、对于循环队列,下列叙述中正确的是()。

A) 队头指针是固定不变的B) 队头指针一定大于队尾指针C) 队头指针一定小于队尾指针D) 队头指针可以大于队尾指针,也可以小于队尾指针参考答案:D【解析】循环队列的队头指针与队尾指针都不是固定的,随着入队与出队操作要进行变化。

因为是循环利用的队列结构所以对头指针有时可能大于队尾指针有时也可能小于队尾指针。

4、算法的空间复杂度是指()。

A) 算法在执行过程中所需要的计算机存储空间B) 算法所处理的数据量C) 算法程序中的语句或指令条数D) 算法在执行过程中所需要的临时工作单元数参考答案:A【解析】算法的空间复杂度是指算法在执行过程中所需要的内存空间。

所以选择A)。

5、软件设计中划分模块的一个准则是()。

A) 低内聚低耦合B) 高内聚低耦合C) 低内聚高耦合D) 高内聚高耦合参考答案:B【解析】一般较优秀的软件设计,应尽量做到高内聚,低耦合,即减弱模块之间的耦合性和提高模块内的内聚性,有利于提高模块的独立性。

6、下列选项中不属于结构化程序设计原则的是()。

A) 可封装B) 自顶向下C) 模块化D) 逐步求精参考答案:A【解析】结构化程序设计的思想包括:自顶向下、逐步求精、模块化、限制使用goto语句,所以选择A)。

7、软件详细设计生产的图如下:该图是()A) N-S图B) PAD图C) 程序流程图D) E-R图参考答案:C【解析】N-S图提出了用方框图来代替传统的程序流程图,所以A)不对。

C程序设计4(谭浩强)完整版-课后习题答案

C程序设计4(谭浩强)完整版-课后习题答案

C程序设计(第四版)(谭浩强)第一章课后习题答案向屏幕输出文字.#include<>码均调试成功,若有失误大多不是代码问题.自已找找.int main(){printf("\n");return0;}求两个数的和.#include<>int main(){int a,b,sum;a=5;b=4;sum=a+b;printf("Thesumis%d.\n",sum);return0;}调用函数比较两个数的大小.#include<>int main(){int max(int x,int y); int a,b,c;scanf("%d,%d",&a,&b); c=max(a,b); printf("Themaxis%d.\n",c);return0;}int max(int x,int y){int z; if(x>y)z=x;elsez=y;return(z);}三个数的大小.(数字0表示课后练习题)#include<>int main(){int a,b,c,d; int max(int x,int y,int z); printf("Pleaseinput3numbers:\n");scanf("%d%d%d",&a,&b,&c);d=max(a,b,c); printf("Themaxis:%d.\n",d);}int max(int x,int y,int z){int m;if(x>y&&x>z) m=x;if(y>x&&y>z)m=y;if(z>y&&z>x)m=z;return(m);}C程序设计(第四版)(谭浩强)第2章课后习题答案算法——程序的灵魂计算机1-5相乘的积.#include<>int main(){int i,s=1; for(i=1;i<6;i++) {s=s*i;n",s);return0;}#include<>int main(){int i,s=1; for(i=1;i<12;i++)可以是i=i+2{if(i%2!=0) s=s*i;elsecontinue; }printf("Thesumis%d.\n",s);return0;}按要求输出80分以上的学生信息.暂时没法做.判断2000-2500年中的闰年,并输出.年的概念是地球围绕太阳一周的时间(所谓公转周期)称为一年,这个周期是相当稳定的,很长时间也不会变动1秒,但是真正的一年是天(目前)。

湖北经济学院2018年C语言期末模拟试卷(四)及完整答案

湖北经济学院2018年C语言期末模拟试卷(四)及完整答案

湖 北 经 济 学 院 2018年C 语言期末模拟试卷(四) 考试方式:【闭卷】 总分: 【100分】 考试时间:【120分钟】 出题人 :【马玉华】A) break 语句只能用于switch 语句体中B) continue 语句的作用是使程序的执行流程跳出包含它的所有循环 C) break 语句只能用在循环体内和switch 语句体内D) 在循环体内使用break 语句和continue 语句的作用相同4. 以下程序运行后的输出结果是 _______ 。

main( ){int i=0,s=1;for (;;){………………………………………密…………………………………………………封……………………………………………………………………线……………………………………………………………………………………….. 学号-----------------------------姓名----------------------if (i==5) break;i++;s+=i;};printf("%d\n",s);}A)死循环B)16C)15D)115.下列程序的运行结果是________。

#include<stdio.h>void fun(int*s,int*p) static int t=3;*p=s[t];t--;void main() int a[]=2,3,4,5,k;int x;for(k=0;k<4;k++) fun(a,&x);printf("%d,",x);A)5,4,3,2B)2,3,4,5,C)2,2,2,2,D)5,5,5,5,6.设x、y、z和k都是int型变量,则执行表达式:x=(y=4,z=16,k=32)后,x的值为______。

A)4B)16C)32D)527.二维数组a的成员是6个字符组成的串,行下标i的范围从0到8,列下标j的范围从1到10,则存放a至少需要(44) 个字节。

C语言试卷第4套 含答案

C语言试卷第4套 含答案

第四套一、判断题第1题:只有在使用时才为该类型变量分配内存的存储类说明是auto和static (错)第2题:在标准C语言中,枚举元素作为常量,它们是有确定的值的,它们的值按顺序从0开始依次增加且不可以改变。

参考答案:错第3题:在C语言中,合法的长整型常数是216D 。

参考答案:错第4题:在标准C中,语句必须以“;”结束。

参考答案:对第5题:定义char *string=”string?”是将字符串的值赋给指针变量string。

参考答案:错第6题:函数调用在main之后出现必须先定义后使用。

参考答案:对第7题:在C语言中,存储一个汉字的国标码所需要的字节数为2 。

参考答案:对第8题:在标准C语言中,共用体变量中的各成员可以分布在不同的存储空间中。

(错)第9题:在标准C中,所有关系运算符的优先级都相同。

参考答案:错第10题:C语言中的文本文件以ASCII码形式存储数据。

参考答案:对二、选择题(请选择正确的选项)第1题:当a=1,b=3,c=5,d=4时,执行下面语句后,x的值为if(a<b)if(c<d) x=1; elseif(a<c)if(b<d)x=2;else x=3;else x=6;else x=7; 参考答案:BA、1B、2C、3D、6第2题:若fp是指向某文件的指针,且已读到该文件的末尾,则C语言函数feof(fp)的返回值是参考答案:BA、EOFB、1C、非D、NULL第3题:下面程序段的运行结果是:int n=0; while(n++<=2); printf("%d",n) 参考答案:C A、2 B、3 C、4 D、有语法错第4题:C语言规定,函数返回值的类型是由参考答案:D A、return语句中的表达式类型所决定B、调用该函数时的主函数类型所决定C、调用该函数时系统临时决定D、在定义该函数时所指定的函数类型所决定第5题:下面程序的输出是#include "stdio.h"#include "string.h"main(){char s[ ]="Hangzhou China";printf("%d,%d\n",sizeof(s),strlen(s));} 参考答案:AA、15,14B、15,15C、14,14D、14,15第6题:循环for(i=1,j=6; ++i!=--j; ) s=i+j; 将执行参考答案:DA、2次B、3次C、4次D、以上均不是第7题:在函数间传递数据的四种方式中,不能把被调函数的数据带回到主调函数的是参考答案:A A、值传递B、地址传递C、返回值传递D、全局外部变量第8题:若x是整型变量,pb是整型指针变量,则正确的赋值表达式是参考答案:A A、pb=&x B、pb=x; C、*pb=&x; D、*pb=*x第9题:表示关系x≤y≤z的c语言表达式为参考答案:AA、(x<=y)&&(y<=z)B、(x<=y)and(y<=z)C、(x<=y<=z)D、(x<=y)&(y<=z)第10题:一个C语言程序是由参考答案:B A、一个主程序和若干子程序组成B、函数组成C、若干过程组成D、若干子程序组成三、填空题(请把正确的选项填入试题前的空格中)第1题:2、下列程序利用函数求两个数的最大值,请在____处补上必要的代码:_____;main(){float a,b,c;scanf("%f,%f",&a,&b);c = max (a,b);printf("max = %f\n",c);}float max(float x, float y){float z;_____;return(z) ;}参考答案:float max(float,float)参考答案:z = x>y ? X : y第2题:读入一批正整数(以零或负数为结束标志),输出其中的素数。

c本科四试题及答案

c本科四试题及答案

c本科四试题及答案一、选择题(每题2分,共20分)1. 以下哪项是C语言中合法的标识符?A. 2variableB. variable2C. _variableD. variable$答案:C2. C语言中,用于定义一个整型变量的关键字是?A. intB. floatC. doubleD. char答案:A3. 下列哪个选项不是C语言中的控制结构?A. 顺序结构B. 选择结构C. 循环结构D. 函数结构答案:D4. 在C语言中,以下哪个运算符用于比较两个数是否相等?A. ==B. !=C. <=D. >=答案:A5. C语言中,以下哪个函数用于计算并返回字符串的长度?A. strcat()B. strcpy()C. strlen()D. strcmp()答案:C6. 在C语言中,以下哪个关键字用于定义一个函数?A. intB. voidC. returnD. function答案:B7. C语言中,以下哪个函数用于将一个字符串复制到另一个字符串?A. strcat()B. strcpy()C. strcmp()D. strlen()答案:B8. 在C语言中,以下哪个关键字用于声明一个函数的返回类型?A. intB. voidC. returnD. function答案:A9. C语言中,以下哪个运算符用于执行算术运算?A. %B. +C. &&D. ||答案:B10. 在C语言中,以下哪个函数用于将浮点数转换为字符串?A. sprintf()B. printf()C. scanf()D. atoi()答案:A二、填空题(每题2分,共20分)1. 在C语言中,定义一个整型变量的正确语句是___________。

答案:int variable;2. C语言中,用于输出的函数是___________。

答案:printf();3. 用于在C语言中声明一个字符型变量的关键字是___________。

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

2018年秋季学期A卷、考试、机试、闭卷(第04套)
C语言程序设计
命题教师:农国才阳建中刘顺黄瑜适用班级:计科本、物联本18级
答卷说明:1.本试卷共 3 页,4 个大题,满分100分,时间120分钟。

2.准带的用具或资料:
试卷套号:学号:姓名:班别:
答题要求:1. 选择题请在手机上完成答题,并将答题结果填写在指定空格处);2.程序题⑴请将题目给定的源程序复制粘贴到编译器中;⑵并对程序进行修改、编译、调试、运行;⑶将修改好的源程序存放在考生文件夹中,文件名为“学号_姓名.cpp”(例如:1704412147_王明.cpp);⑷将修改的内容填写到指定答题处,将运行结果截图粘贴答题处。

一、选择题(本大题共20小题,每小题2分,共40分。

1-5:6-10:11-15:15-20:
二、程序填空题(本大题共4个空,每空4分,运行结果正确4分,共20分)
本程序的功能:验证任何一个正整数的立方均可表示成一串连续奇数之和。

请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。

给定源程序:
#include<stdio.h>
/**********found**********/
(1)N30
int main()
{ inti,j,n,k,m,max,sum,a[N];
printf(“Please enter a interger:”);
scanf(“%d”,&n);
m=n*n*n;
for(i=1;;i=i+2)
{
/**********found**********/
(2);
for(k=i;sum<m;k+=2)
sum+=k;
/**********found**********/
if((3))
{for(j=i;j<=k;j+=2)
a[(j-i)/2]=j;
/**********found**********/
max=(4);
break;}
}
printf(“%d^3=”,n);
for(i=0;i<max;i++)
printf(“%d+”,a[i]);
printf(“%d”,a[max]);
return 0;
}
三、程序改错题(本大题共有4处错误,每处4分,运行结果正确4分,共20分)
本程序的功能:取出一个十进制正整数中的所有偶数数字,用这些数字构成了一个最大数。

例如,由123456中取出2、4、6,组成最大数字642。

请改正程序中的错误,使程序能输出正确的结果。

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
#include<stdio.h>
/**********found**********/
#include N 10
int main()
{ inti,j,k=0,t,d,a[N];
longn,m=0;
printf(“请输入一个整数:”);
/**********found**********/
scanf(“%f”,&n);
while(n>0)
{ t=n%10;
n=n/10;}
for(i=0;i<k-1;i++)
{d=i;
for(j=i+1;j<k;j++)
/**********found**********/
if(a[j]<=a[d]) d=j;
if(d!=i)
{t=a[d];a[d]=a[i];a[i]=t;}
}
for(i=0;i<k;i++)
/**********found**********/
m=m/10+a[i];/*此处功能是4,2,6变成整数642*/
return 0;
}
四、编程题(本大题共20分,程序补充部分16分,运行结果4分)
编写程序:求一个圆柱体的表面积和体积。

调用函数area求面积,bulk求体积。


#include<stdio.h>
#define PI 3.14
float area(float r,float b)
{
}
float bulk(float r,float h)
{
}
int main()
{ floatr,h;
printf(“please input r and h:\n”);
scanf(“%f,%f”,&r,&h);
printf(“%f,%f”,area(r,h),bulk(r,h));
return 0;}。

相关文档
最新文档