c语言试卷第四套

合集下载

2024年6月青少年软件编程C语言等级考试试卷四级真题

2024年6月青少年软件编程C语言等级考试试卷四级真题

2024年6月青少年软件编程C语言等级考试试卷四级真题分数:100 题数:41.人以群分(25分)。

社交网络中我们给每个人定义了一个“活跃度”,现希望根据这个指标把人群分为两大类,即外向型(outgoing,即活跃度高的)和内向型(introverted,即活跃度低的)。

要求两类人群的规模尽可能接近,而他们的总活跃度差距尽可能拉开。

输入:第一行给出一个正整数N(2≤N≤105)。

随后一行给出N个正整数,分别是每个人的活跃度,其间以空格分隔。

题目保证这些数字以及它们的和都不会超过231。

输出:按下列格式输出:,其中N1是外向型人的个数;N2是内向型人的个数;N3是两群人总活跃度之差的绝对值。

2.那就别担心了(25分)。

下图转自“英式没品笑话百科”的新浪微博——所以无论有没有遇到难题,其实都不用担心。

博主将这种逻辑推演称为“逻辑自洽”,即从某个命题出发的所有推理路径都会将结论引导到同一个最终命题(开玩笑的,千万别以为这是真正的逻辑自洽的定义……)。

现给定一个更为复杂的逻辑推理图,本题就请你检查从一个给定命题到另一个命题的推理是否是“逻辑自洽”的,以及存在多少种不同的推理路径。

例如上图,从“你遇到难题了吗?”到“那就别担心了”就是一种“逻辑自洽”的推理,一共有3条不同的推理路径。

输入:首先在一行中给出两个正整数N(1<N≤500)和M,分别为命题个数和推理个数。

这里我们假设命题从1到N编号。

接下来M行,每行给出一对命题之间的推理关系,即两个命题的编号S1 S2,表示可以从S1推出S2。

题目保证任意两命题之间只存在最多一种推理关系,且任一命题不能循环自证(即从该命题出发推出该命题自己)。

最后一行给出待检验的两个命题的编号A B。

输出:在一行中首先输出从A到B有多少种不同的推理路径,然后输出Yes如果推理是“逻辑自洽”的,或No如果不是。

题目保证输出数据不超过109。

3.凑零钱(25分)。

韩梅梅喜欢满宇宙到处逛街。

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 v1 int;B、typedef v2=int;C、typedef v1 int 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<="" p="">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分)B、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:cA、4B、3C、2D、118、假定w、x、y、z、m均为int型变量,有如下程序段:w=1; x=2; y=3; z=4; m=(w<x)?w:x;< p="">m=(mA、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 (bD、if (c20、在宏定义#define PI 3.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、变量分为全局和局部两种,变量离开了其所定义的函数,其存储单元就会被释放。

C语言第四套

C语言第四套

判断题第1题-1.0分#include”stdio.h"是每个程序中必须写的。

N第2题-1.0分在C程序中,语句之间必须要用分号";"分隔Y第3题-1.0分在一个C程序中,main函数必须出现在所有函数之前.N第4题- 1.0分若x为float型变量,则以下语句x=213.82631;printf("%-4.2f\n",x);的输出为213.82.N第5题- 1.0分一个变量可以同时被定义为多种类型.N第6题- 1.0分#define和printf都不是C语句,Y第7题-1.0分[3,6,18,23]是合法的表达式N第8题-1.0分表达式(j=3, j++)的值是4.N第9题-1.0分执行表达式(int)i后,的类型一定变为整型.N第10题-1.0分若a是实型变量,在执行了a= 5;后,a将变为整型变量.N第11题-1.0分若a和b类型相同,,在执行了赋值语句a= b;后b中的值将放入a中b中的值不变,Y第12题- 1.0分若a是实型变量C程序中允许以下赋值a= 10;因此实型变量中允许存放整型数据,N第13题- 1.0分int i=3,j=5; f(>j);j+ +; else i++;是正确的。

N第14题- 1.0分若有int i =10, j=0;则执行完语句if(j=0) i ++;elsei--;i的值为11. N第15题-1.0分if语句后面的控制表达式只能使用关系表达式或逻辑表达式,N第16题-1.0分int a=1,b=2,c=3;if(a>c)b=a;a=c;c= b;则c的值为2. Y第17题-1.0分若有int i=10, j=0;则执行完语句if(j=0)i+ +; else i--; i的值为11. N第18题-1.0分循环较套中,内外层循环控制变最可以使用相同名,不会造成混乱。

N第19题-1.0分for(i=0,k=-1;k=1;k+ +,i++ )printf("*\n");循环结束的条件不合法. N第20题-1.0分数组定义int a[10];占内存10个字节. N第21题- 1.0分数组说明int a[3,3]={1,2.3.4.5 .6}.是正确的. N第22题- 1.0分在调用函数时,实参把值传送给对应位置上的形参形参的值也能传给实参,N第23题-1.0分C语言中函数调用的方式只有函数做表达式一种. N第24题-1.0分在程序中定义了一个结构体类型后,可以多次用它来定义具有该类型的变量. Y第25题- 1.0分在C语言中,此定义和语句是合法的:enum aa { a=5,b,g}bb;bb=(enum aa)5; Y选择题第1题- 1.0分(共25题,共25.0分)求平方根函数的函数名为(D).(B)abs(C)pow(D)sqrt第2题- 1.0分(共25题,共25.0分)有以下定义和语句:struct student{ int age; int num; };struct student stu[3]={{1001,20};{1002,19},{1003,21}};void main(){ struct student *p;p=stu;则不正确的引用是( D) 。

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

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

C程序设计谭浩强第四版试卷试卷及答案Last updated on the afternoon of January 3, 2021一、单项选择题(20题,每题2分,共40分)1.一个C语言程序是由组成的。

A.主程序B.子程序C.函数D.过程2.判断char型变量c1是否为小写字母的最简单且正确的表达式为。

A.'a'<=c1<='z'B.(c1>=a)&&(c1<=z)C.('a'<=c1)||('z'>=c1)D.(c1>='a')&&(c1<='z')3.为了判断两个字符串s1和s2是否相等,应当使用。

(s1==s2)(s1=s2)(strcpy(s1,s2))(strcmp(s1,s2)==0)4.设a,b都是int型变量,则表达式:(a=2,b=5,a>b?a++:b++,a+b)的值为。

5.设x、y和t均为int型变量,则以下语句:t=x;x=y;y=t;的功能是。

A.把x和y按从大到小排列?B.把x和y按从小到大排列C.无确定结果?D.交换x和y中的值6.下面标识符中,合法的用户标识符为。

#Ad?7.循环语句while(!E);中的表达式!E等价于。

!=0?!=1?==0?==18.设有以下语句,则不是对a数组元素的正确引用,其中0≤i<10。

inta[10]={0,1,2,3,4,5,6,7,8,9};int*p=a;供选择的答案是:[p-5]B.*(&a[i])[i]D.*(a+i)9.若用数组名作为函数调用的实参,传递给形参的是。

A.数组的首地址B.数组第一个元素的值C.数组中全部元素的值D.数组元素的个数10.下面四段程序中,不是死循环的程序段是。

──────—───┬───────────────A.inti=100;k=0;while(1)do{++k;{i=i%100+1;}while(k>=0);if(i>100)───────────────break;s=3379;}│while(s);──────────┤s++;(;;);──────────┴───────────────11.在一个文件中定义的全局变量的作用域为。

C语言练习题(谭浩强第四版)附有答案

C语言练习题(谭浩强第四版)附有答案

C语言练习题(谭浩强第四版)附有答案高级语言程序设计综合练习一学号:姓名:一、选择题1、一个C程序由若干个C函数组成,各个函数在文件中的位置顺序为:()A、任意B、第一个函数必须是主函数,其他函数任意C、必须完全按照执行的顺序排列D、其他函数可以任意,主函数必须在最后2、下列四个叙述中,正确的是:()A、C程序中的所有字母都必须小写B、C程序中的关键字必须小写,其他标示符不区分大小写C、C程序中的所有字母都不区分大小写D、C语言中的所有关键字必须小写3、下列四个叙述中,错误的是:()A、一个C源程序必须有且只能有一个主函数B、一个C源程序可以有多个函数C、在C源程序中注释说明必须位于语句之后D、C源程序的基本结构是函数4、下面不是C语言合法标识符的是:()A、abcB、5nC、_4mD、某35、以下叙述不正确的是:()A.分号是C语句的必要组成部分B.C程序的注释可以写在语句的后面C.函数是C程序的基本单位D.主函数的名字不一定非用main来表示6、C语言中允许的基本数据类型包括:()A.整型、实型、逻辑型B.整型、实型、字符型C.整型、字符型、逻辑型D.整型、实型、逻辑型、字符型7、C语言中能用八进制表示的数据类型为:()A、字符型、整型B、整形、实型C、字符型、实型、双精度型D、字符型、整型、实型、双精度型8、下列属于C语言合法的字符常数是:()A、’\\97’B、”A”C、’\\t’D、”\\0”9、在C语言(VC环境)中,5种基本数据类型的存储空间长度的排列顺序为:()A、char高级语言程序设计综合练习一学号:姓名:printf(“%d,%c\\n”,c2-c1,c2-‘a’+’A’);则输出结果是:()A、2,MB、3,EC、2,ED、输出项与相应的格式控制不一致,输出结果不确定11、以下合法的赋值语句是:()A、某=y=100B、d--;C、某+yD、c=int(a+b);12、在以下一组运算符中,优先级最高的是:()A、<=B、==C、%D、&&13、下列能正确表示a≥10或a≤0的关系表达式是:()A、a>=10ora<=0B、a<=10||a>=0C、a>=10||a<=0D、a>=10&&a<=014、下列只有当整数某为奇数时,其值为“真”的表达式是:()A、某%2==0B、!(某%2==0)C、(某-某/2某2)==0D、!(某%2)15、设a为整型变量,不能正确表达数学关系10=15)C、a>10&&a<15D、!(a<=10)&&!(a>=15)16、已知某=43,ch=’A’,y=0;则表达式(某>=y&&chA、0B、1C、2D、318、一个可执行的C程序的开始执行点是:()A.程序中的第一个语句B.包含文件中的第一个函数C.名为main的函数D.程序中的第一个函数19、组成C语句的一个必不可少的符号是:()A.逗号B.引号C.冒号D.分号20、若将int、long、float等类型的数据进行混合运算,其结果的数据类型是:(A.intB.longC.floatD.double21、下述是C语言中有关变量定义的几个说法,正确的是:()A.变量可以不定义直接使用B.一个说明语句只能定义一个变量C.几个不同类型的变量可在同一语句中定义D.变量可以在定义时进行初绐化22、与某某=y+z等价的赋值表达式是:()2)高级语言程序设计综合练习一学号:姓名:A.某=y+zB.某=某某y+zC.某=某某(y+z)D.某=某+y某z23、当代电子计算机能够自动地处理指定的问题是因为:()A.计算机是电动的B.有解决该问题的计算机程序C.事先存储了解决该问题的程序D.以上都不是24、以下叙述中最准确的是:()A.计算机程序是处理某一问题所有指令的集合B.计算机程序是处理某一问题所用到的所有数据的集合C.计算机程序是处理某一问题的所有指令及其数据的集合D.计算机程序是处理某一问题的所有指令及其数据的有序集合25、目前编写计算机程序一般采用的是:()A.机器语言B.汇编语言C.高级语言D.英语26、设计一个计算机程序最基本的工作是:()A.制定正确的算法B.选择合理的数据结构C.制定正确的算法和选择合理的数据结构D.以上都不是27、算法具有五个特性,以下选项中不属于算法特性的是:()A.有穷性B.简洁性C.可行性D.确定性28、下述哪一个不是结构化程序基本结构:()A.顺序B.选择C.循环D.嵌套29、C语言是一种:()A.机器语言B.汇编语言C.高级语言D.以上都不是30、C语言源程序的扩展名为:()A..e某eB..cC..objD..cpp31、C程序编译、连接后最终产生(即计算机执行)的文件的扩展名为()A..e某eB..cC..objD..cpp32、构成C语言源程序的基本单位是:()A.子程序B.过程C.文本D.函数33、下列叙述正确的是:()A.C语言源程序可以直接在DOS环境中运行B.编译C语言源程序得到的目标文件可以直接在DOS环境中运行C.C语言源程序经过编译、连接得到的可执行程序可以直接在DOS环境中运行D.C语言源程序可以直接在VC++环境中运行34、某C程序由一个主函数main()和一个自定义函数ma某()组成,则该程序:()3高级语言程序设计综合练习一学号:姓名:A.写在前面的函数先开始执行B.总是从main()函数开始执行C.总是从ma某()函数开始执行D.写在后面的函数先开始执行35、以下叙述不正确的是:()A.分号是C语句的必要组成部分B.C程序的注释可以写在语句的后面C.函数是C程序的基本单位D.主函数的名字不一定用mian表示36、以下为C语句的是:()A.a=8B.a++;C.if(a>8)D.#include37、以下所列语句中,合法的语句是:()A.a=1,b=2B.++a;C.a=a+1=5D.y=int(a);二、判断题1.(T)C语言是严格区分大写和小写的,因此主函数不能写成main()以外的其他形式。

C语言》课程期末考试第四套

C语言》课程期末考试第四套

C语⾔》课程期末考试第四套第四套期末考试题第⼀部分选择题单项选择题(本⼤题共20⼩题,每⼩题1分,共20分)在每⼩题列出地四个选项中只有⼀个选项是符合题⽬要求地,请将正确选项前地字母填在题后地括内1. 在计算机上可以直接运⾏地程序是_____________.A. ⾼级语⾔程序B.汇编语⾔程序C.机器语⾔程序D. C语⾔程序2. 不属于C语⾔地是__________.A. forB. gotoC. ifD. loop3. 正确地C语⾔⾃定义标识符是__________.A. num(10)B. file_bakC. continueD. class+24. 字符串”m\x43\\\np\102q”地长度是__________.A. 7B. 9C. 15D. 165. 设 int x=8, y, z; 执⾏y=z=x++; x=y==z后,变量x地值是__________.A. 0B. 1C. 8D. 96. 对于输⼊语句scanf(“%f,%f”, &a, &b); 要使变量a、b地值分别为1.78和2.48,则正确地输⼊是__________.A. 1.78, 2.48 后跟回车B. 1.78 2.48 后跟回车C. 1.782.48 后跟回车D. 1.78;2.48 后跟回车7. 设int a=8, b=7, c=6, x=1; 执⾏语句if(a>6) if(b>7) if(c>8) x=2; else x=3;后x地值是__________.A. 0B. 1C. 2D. 38. 执⾏下列程序段x=9;while(x>7) { printf(“*”); x--; }后输出地结果是__________.A. ****B. ***C. **D. *9. 定义⼀个具有10个元素地整数型数组,应当使⽤语句__________.A. int a[10];B. int a[2,5];C. int a[];D. int *a[10];10. 设char str1[10]=”ABCDE”, str2[10]=”xyz”;则执⾏语句printf(“%d”, strlen(strcpy(str1, str2)));后地输出结果是__________.A. 9B. 8C. 5D. 311. 设int x[]={1,3,5,7,9,11,13}, *p=x;则不能正确引⽤数组元素地表达式是__________.A. *(p--)B. *(--p)C. *(p++)D. *(++p)12. 设int x[]={1,2,3,4}, y, *p=&x[1];则执⾏语句 y=(*--p)++; 后变量y地值为__________.B. 2C. 3D.413. 函数调⽤时,下列说法中不正确地是__________.A. 若⽤值传递⽅式,则形式参数不予分配内存B. 实际参数和形式参数可以同名C. 主调函数和被调⽤函数可以不在同⼀个⽂件中D. 函数间传递数据可以使⽤全局变量14. 执⾏下列程序int fun(int x1, int x2){ int x; x1>x2 ? (x=3) : (x=4); return (x+x1); }main(){ printf(“%d\n”, fun(7,8)); }后输出地结果.A. 9B. 10C. 11D. 1215. 设typedef union {long x[2]; short y[4][5]; char z[10];} TYPE1;TYPE1 u1;则printf(“%d\n”, sizeof(u1)); 地输出是__________.A. 8B. 10C. 40D. 5816. 下列数据类型中不属于构造类型地是__________.A. 数组型B. 结构型C. 共⽤型D. 枚举型17. 存储整型数据-7856时,在⼆进制⽂件和⽂本⽂件中占⽤地字节数分别是__________.A. 2,2B. 2,5C. 5,518. 以只写⽅式打开⼀个⼆进制⽂件,应该选择地使⽤⽅式是__________.A. “a+”B. “w+”C. “rb”D. “wb”19. 计算平⽅数时不可能引起⼆义性地宏定义是A. #define SQR(x) x*xB. #define SQR(x) (x)*(x)C. #define SQR(x) (x*x)D. #define SQR(x) ((x)*(x))20. 执⾏下列程序#define M(a,b) (a)>(b) ? (a):(b)main(){ int i=10, j=15; printf(“%d\n”, 10*m(i,j)); }后输出地结果是__________.A. 10B. 15C. 100D. 150第⼆部分⾮选择题⼆、填空题(本⼤题共10⼩题,每⼩题2分,共20分)21. 以下分别是算术、位、关系和逻辑运算符+ & < !其优先级最低地是__________.22. 设int x=4; 表达式x+=x*=x+1地值是__________.23. 设int a, b=10;执⾏a=b<<2+1; 后a 地值是__________.24. 设short k=-1; 执⾏printf(“%o”,k); 输出为__________.25. 设int j,k; 执⾏for(j=k=0; j-11; k+=j++);后k 地值是__________.26. 函数调⽤时,若形、实参数均为数组,则其传递⽅式是__________.27. 在C 语⾔中,__________类型变量地所有成员以覆盖⽅式共享存储单元.28. 设FILE *fp; 关闭fp ⽂件地操作语句是__________.29. 设float *p, m=2.718; 根据下列图⽰,建⽴指针变量p 和变量m 之间地关系地赋值语句是__________.30. 设 int a[3][4], *p=a[1]; 该指针变量p 指向地元素是__________.三、程序分析题(本⼤题共5⼩题,每⼩题5分,共25分)阅读下列程序,将输出结果写到各题右侧地空⽩处31. int a=200;main(){ int i;for(i=1; i<=5; i++) {a++; printf(“%d,”, a); s();}}void s(){ static int a=20;a++; printf(“%d \n”, a);}32. #include “stdio.h”main(){ char c;c=getchar();if(c>=’a’ && c<=’w’ || c>=’A’ && c<=’W’) c=c+3;else if(c>=’x’ && c<=’z’ || c>=’X’ && c<=’Z’) c=c -23; printf(“%c \n”, c);}设从键盘上输⼊Next33. #define N 7main(){ int i, j, temp, a[N]={1, 2, 3, 4, 5, 6, 7};for(i=0; imj=N-1-i;temp=a[i]; a[i]=a[j]; a[j]=temp;}for(i=0; i}34. struct porb{ char *name; int count;} x[]={“Li ning”, 19, “Lang ping”, 21, “Zhu jian hua”, 20}; main(){ int i;for(i=0; i<3; i++)printf(“%s: %d \n”, x[i].name, x[i].count);}35. main(){ union {short a; char ch;} M;M.a=100; M.ch=’A’;printf(“%d,%d,%c \n”, sizeof(M), M.a, M.ch);}四、程序填充题(本⼤题共3⼩题,每⼩题6分,共18分)阅读下列程序,将横线处缺少地部分补上,使其能正确运⾏.36. 下⾯数pi()地功能是根据下列公式求π值(直到最后⼀上于10-6为⽌).(9)473523173523152313112++??+?++=π double pi(){ double s=0.0, t=1.0; int n;for(__________; t>=__________; n++) {s+=t; t=n*t/(2*n+1);}return(2.0*__________);}37. 将⼀字符串中地⼩写英⽂字母改成⼤写.main(){ int i=0; char str[80];scanf(“%s”, str);while(__________) {if(__________) str[i]-=’a’-‘A’;__________;}printf(“%s \n”, str);}38. 使⽤结构型计算复数x 和y 地和.main(){ struct comp {float re, im;};__________ x,y,z;scanf(“%f%f%f%f”, &x.re, &x.im, &y.re, &y.im);z.re=__________; z.im=__________;printf(“%6.2f, %6.2f\n”, z.re, z.im);}五、程序设计题(本⼤题共3⼩题,第39⼩题5分,第40、41⼩题各6分,共17分)39. 编写⼀程序,输出如下图形.* * * * ** * * * ** * * * ** * * * *40. 编写⼀程序,从键盘输⼊10个实数,计算输出算术平均值.41. 编写⼀个模拟简单计算器地程序,计算表达式:a1 op a2地值,要求a1、op、a2从键盘输⼊.其中a1、a2(作除数时不能为0)为数值,op为运算符+、-、*、/.版权申明本⽂部分内容,包括⽂字、图⽚、以及设计等在⽹上搜集整理.版权为个⼈所有This article includes some parts, including text, pictures, and design. Copyright is personal ownership.⽂档来源⽹络及个⼈整理,勿⽤作商业⽤途⽤户可将本⽂地内容或服务⽤于个⼈学习、研究或欣赏,以及其他⾮商业性或⾮盈利性⽤途,但同时应遵守著作权法及其他相关法律地规定,不得侵犯本⽹站及相关权利⼈地合法权利.除此以外,将本⽂任何内容或服务⽤于其他⽤途时,须征得本⼈及相关权利⼈地书⾯许可,并⽀付报酬.⽂档来源⽹络及个⼈整理,勿⽤作商业⽤途Users may use the contents or services of this article for personal study, research or appreciation, and othernon-commercial or non-profit purposes, but at the same time, they shall abide by the provisions of copyright law and other relevant laws, and shall not infringe upon the legitimate rights of this website and its relevant obligees. In addition, when any content or service of this article is used for other purposes, written permission and remuneration shall be obtained from the person concerned and the relevant obligee.⽂档来源⽹络及个⼈整理,勿⽤作商业⽤途转载或引⽤本⽂内容必须是以新闻性或资料性公共免费信息为使⽤⽬地地合理、善意引⽤,不得对本⽂内容原意进⾏曲解、修改,并⾃负版权等法律责任.⽂档来源⽹络及个⼈整理,勿⽤作商业⽤途Reproduction or quotation of the content of this article must be reasonable and good-faith citation for the use of news or informative public free information. It shall not misinterpret or modify the original intention of the content of this article, and shall bear legal liability such as copyright.⽂档来源⽹络及个⼈整理,勿⽤作商业⽤途本⽂部分内容,包括⽂字、图⽚、以及设计等在⽹上搜集整理.版权为个⼈所有This article includes some parts, including text, pictures, and design. Copyright is personal ownership.⽂档来源⽹络及个⼈整理,勿⽤作商业⽤途⽤户可将本⽂地内容或服务⽤于个⼈学习、研究或欣赏,以及其他⾮商业性或⾮盈利性⽤途,但同时应遵守著作权法及其他相关法律地规定,不得侵犯本⽹站及相关权利⼈地合法权利.除此以外,将本⽂任何内容或服务⽤于其他⽤途时,须征得本⼈及相关权利⼈地书⾯许可,并⽀付报酬.⽂档来源⽹络及个⼈整理,勿⽤作商业⽤途Users may use the contents or services of this article for personal study, research or appreciation, and othernon-commercial or non-profit purposes, but at the same time, they shall abide by the provisions of copyright law and other relevant laws, and shall not infringe upon the legitimate rights of this website and its relevant obligees. In addition, when any content or service of this article is used for other purposes, written permission and remuneration shall be obtained from the person concerned and the relevant obligee.⽂档来源⽹络及个⼈整理,勿⽤作商业⽤途转载或引⽤本⽂内容必须是以新闻性或资料性公共免费信息为使⽤⽬地地合理、善意引⽤,不得对本⽂内容原意进⾏曲解、修改,并⾃负版权等法律责任.⽂档来源⽹络及个⼈整理,勿⽤作商业⽤途Reproduction or quotation of the content of this article must be reasonable and good-faith citation for the use of news or informative public free information. It shall not misinterpret or modify the original intention of the content of this article, and shall bear legal liability such as copyright.⽂档来源⽹络及个⼈整理。

青少年软件编程(C语言)等级考试试卷(四级)202206

青少年软件编程(C语言)等级考试试卷(四级)202206

青少年软件编程(C语言)等级考试试卷(四级)分数:100 题数:4一、编程题(共4题,共100分)1. 公共子序列我们称序列Z = < z1, z2, ..., z k >是序列X = < x1, x2, ..., x m >的子序列当且仅当存在严格上升的序列< i1, i2, ..., i k >,使得对j = 1, 2, ... ,k, 有x ij = z j。

比如Z = < a, b, f, c > 是X = < a, b, c, f, b, c >的子序列。

现在给出两个序列X和Y,你的任务是找到X和Y的最大公共子序列,也就是说要找到一个最长的序列Z,使得Z既是X的子序列也是Y的子序列。

时间限制:3000内存限制:65536输入输入包括多组测试数据。

每组数据包括一行,给出两个长度不超过200的字符串,表示两个序列。

两个字符串之间由若干个空格隔开。

输出对每组输入数据,输出一行,给出两个序列的最大公共子序列的长度。

样例输入样例输出试题编号:_4_01试题类型:编程题标准答案:试题难度:一般展示地址:点击浏览考生答案:考生得分:0是否评分:已评分评价描述:2. 硬币问题有N(不大于100)种硬币,编号为1至N,已知每种硬币的重量(不超过100的正整数)和面额(不超过100的正整数),每种硬币数量不限。

选取总重量不超过C(不大于1000的正整数)的硬币,最多能获得多少总面额?时间限制:1000内存限制:65536输入第一行输入N 第二行输入C 第三行输入各硬币重量,用空格隔开第四行输入各硬币价值,用空格隔开输出最大总面额样例输入样例输出试题编号:_4_02试题类型:编程题标准答案:试题难度:一般展示地址:点击浏览考生答案:(此题已作答)考生得分:0是否评分:已评分评价描述:3. 田忌赛马你一定听过田忌赛马的故事吧?如果3匹马变成1000匹,齐王仍然让他的马按从优到劣的顺序出赛,田忌可以按任意顺序选择他的赛马出赛。

2022.12全国青少年软件编程(C语言)等级考试试卷(四级)

2022.12全国青少年软件编程(C语言)等级考试试卷(四级)

2022.12青少年软件编程(C语言)等级考试试卷(四级)开餐馆北大信息学院的同学小明毕业之后打算创业开餐馆.现在共有n 个地点可供选择。

小明打算从中选择合适的位置开设一些餐馆。

这n 个地点排列在同一条直线上。

我们用一个整数序列m1, m2, ... m n来表示他们的相对位置。

由于地段关系,开餐馆的利润会有所不同。

我们用p i表示在m i处开餐馆的利润。

为了避免自己的餐馆的内部竞争,餐馆之间的距离必须大于k。

请你帮助小明选择一个总利润最大的方案。

时间限制:1000内存限制:65536输入标准的输入包含若干组测试数据。

输入第一行是整数T (1 <= T <= 1000) ,表明有T 组测试数据。

紧接着有T组连续的测试。

每组测试数据有3行, 第1行:地点总数n (n < 100), 距离限制k (k > 0 && k < 1000). 第2行:n 个地点的位置m1 , m2, ... mn( 1000000 > mi > 0 且为整数,升序排列) 第3行:n 个地点的餐馆利润p1 , p2, ... pn ( 1000 > pi > 0 且为整数)输出对于每组测试数据可能的最大利润样例输入样例输出糖果由于在维护世界和平的事务中做出巨大贡献,Dzx被赠予糖果公司2010年5月23日当天无限量糖果免费优惠券。

在这一天,Dzx可以从糖果公司的N件产品中任意选择若干件带回家享用。

糖果公司的N件产品每件都包含数量不同的糖果。

Dzx希望他选择的产品包含的糖果总数是K的整数倍,这样他才能平均地将糖果分给帮助他维护世界和平的伙伴们。

当然,在满足这一条件的基础上,糖果总数越多越好。

Dzx最多能带走多少糖果呢?注意:Dzx只能将糖果公司的产品整件带走。

时间限制:7000内存限制:65536输入第一行包含两个整数N(1<=N<=100)和K(1<=K<=100) 以下N行每行1个整数,表示糖果公司该件产品中包含的糖果数目,不超过1000000输出符合要求的最多能达到的糖果总数,如果不能达到K的倍数这一要求,输出0样例输入样例输出提示Dzx的选择是2+3+4+5=14,这样糖果总数是7的倍数,并且是总数最多的选择。

电子学会青少年软件编程(C语言四级)等级考试真题试卷(2021年12月)-附答案

电子学会青少年软件编程(C语言四级)等级考试真题试卷(2021年12月)-附答案
int x; int y; }st[N*N],tu[N*N][N*N]; int a[N*N]; bool ran_out(int x,int y){ return x<1||x>n||y<1||y>m; } void fuzhi(int step){ ans++; a[ans]=step; flag=true; for(int i=0;i<=step;i++){
dfs(xx,yy,step+1); } } } int main(){ std::ios::sync_with_stdio(false); cin>>n>>m; dfs(1,1,0); p
第 2 题
问答题
博学佑航-青少年考级竞赛题库
移动办公 假设你经营着一家公司,公司在北京和南京各有一个办公地点。公司只有你一个人,所以你只能每月选择在一 个城市办公。在第i个月,如果你在北京办公,你能获得Pi的营业额,如果你在南京办公,你能获得Ni的营业 额。但是,如果你某个月在一个城市办公,下个月在另一个城市办公,你需要支付M的交通费。那么,该怎样 规划你的行程(可在任何一个城市开始),才能使得总收入(总营业额减去总交通费)最大? 时间限制:1000 内存限制:65536 输入 输入的第一行有两个整数T(1 <= T <= 100)和M(1 <= M <= 100),T代表总共的月数,M代表交通费。接 下来的T行每行包括两个在1到100之间(包括1和100)的的整数,分别表示某个月在北京和在南京办公获得的 营业额。 输出 输出只包括一行,这一行只包含一个整数,表示可以获得的最大总收入。
青少年软件编程(C语言四级)等级考试真题试卷(2021年12月)

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套

山东建筑大学C语言程序设计试题第4套C语言程序设计试题(第4套)(已删除考试范围之外的题目)一、单项选择题(30分,每题2分)1.C语言中定义的变量只能由字母、数字和下划线三种字符组成,且第一个字符_______。

A、必须为字母或下划线。

B、必须为下划线。

C、必须为字母D、可以是字母、数字或下划线。

2.下面4种说法,正确的是______。

A、C语言中,关系运算符有多个,其中的几个是<、>、=、!=。

B、C语言提供的三种逻辑运算符都是双目运算符。

C、C语言中不允许出现goto语句。

D、一般情况下,do-while循环和while循环可以互相代替,即都可以用来处理同一问题。

3. C语言源程序的基本单位是______。

A、语句B、对象C、函数D、过程4. 下列选项中,不能用作标识符的是_______。

A、_1234_B、_1_2C、int_2_D、2_int_5. 能正确表示逻辑关系:“a≥10或a ≤0”的C语言表达式是_______。

A、a≥10&& a≤0 B、a≥10‖a≤0C、a>=10 &&a<=0D、a>=10‖a<=06. 若有定义:int a=8,b=5,c; ,则执行语句c=a/b+0.4; 后,c的值为_______。

A、1.4B、1C、2.0D、27.有以下程序段int m=0,n=0; char c='a';scanf("%d%c%d",&m,&c,&n);printf("%d,%c,%d\n",m,c,n);若从键盘上输入:10A10<回车>,则输出结果是_______。

A、10,A,10B、10,a,10C、10,a,0D、10,A,08. 当a=5,b=3,c=2时,执行下面一段程序后,x的值为_______。

A、1B、 2C、6D、8if(a<b){ if(b<c) x=1;else x=2;}else{ if(b<c) x=6;else x=8;}9.若有i=8; 执行下列程序段后,变量i的值是_______。

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)不对。

2023.09全国青少年软件编程(C语言)等级考试试卷(四级)

2023.09全国青少年软件编程(C语言)等级考试试卷(四级)

青少年软件编程(C语言)等级考试试卷(四级)分数:100 题数:4一、编程题(共4题,共100分)1.酒鬼酒鬼Santo刚刚与房东打赌赢得了一间在New Clondike 的大客厅。

今天,他来到这个大客厅欣赏他的奖品。

房东摆出了一行瓶子在酒吧上。

瓶子里都装有不同体积的酒。

令Santo 高兴的是,瓶子中的酒都有不同的味道。

房东说道:“你可以喝尽可能多的酒,但是一旦打开酒盖你就必须把它喝完,喝完一瓶后把它放回原处。

还有一件最重要的事,你必须从左至右依次喝,并且不能连续超过三瓶,不然会给你带来坏运气。

”现在可怜的Santo 站在酒吧前努力的想着,他到底应该喝哪几瓶才能使喝的酒最多呢?请帮助他找出他应该喝的酒瓶号,因为思考让他感到不安。

时间限制:2000内存限制:131072输入第一行一个整数N,有N个酒瓶。

N<=700接下有N行,第I+1行的数字代表酒瓶I中酒的体积。

输出一个数字,喝的酒的最大总体积。

遵守以上规则,使得三个连续瓶子中至少一个瓶子是满的。

样例输入样例输出试题编号:20230909-4-01试题类型:编程题标准答案:试题难度:一般试题解析:展示地址:点击浏览考生答案:#include<bits/stdc++.h>using namespace std;int f[701][5];int main(){int n;int a[1000];cin>>n;for(int i = 1;i<=n;i++){cin>>a[i];}for(int i = 1;i<=n;i++){f[i][0] = f[i-1][3];int mx = f[i][0];for(int j = 1;j<=2;j++){f[i][j] = f[i-1][j-1]+a[i];mx = max(mx,f[i][j]);}f[i][3] = mx;}cout<<f[n][3];}考生得分:25是否评分:已评分评价描述:2.大盗阿福大盗阿福是一名经验丰富的大盗。

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.在c语言中,一维数组的定义方式为:类型说明符:数组名(d)。

a、 [constant expression]B.[integer expression]C.[integer constant]或[integer expression]D.[integer constant]2以下选项中正确的语句组是(D)。

a.chars[8];s={\b.char*s;s={\c.chars[8];s=\d.char*s;s=\3.以下能对一维数组a 进行正确初始化的语句是(c)a、 inta[10]=(0,0,0,0)b.inta[10]={};c.inta[]={0};d.inta[10]={10*1};4.若有说明:int*p,m=5,n;以下正确的程序段是(d)。

a.p=&n;scanf(\b.p=&n;scanf(\c.scanf(\d.p=&n;*p=m;5.在C语言中,当引用数组元素时,其数组下标的数据类型允许为(C)。

a.整型常量b.整型表达式c.整型常量或整型表达式d.任何类型的表达式6.经过下列的语句intj,a[10],*p;定义后,下列语句中合法的是(a)。

a.p=p+2;b.p=a[5];c.p=a[2]+2;d.p=&(j+2);7.对于基本类型相同的两个指针变量,不能执行的操作为(c)。

a、 <b.=c.+d-8.inta[10];给数组a的所有元素分别赋值为1、2、3、……的语句是(b)。

a.for(i=1;i<11;i++)a[i]=i;b.for(i=1;i<11;i++)a[i-1]=i;c.for(i=1;i<11;i++)a[i+1]=i;d.for(i=1;i<11;i++)a[0]=1;9.设有数组定义:chararray[]=\则数组array所占的空间为(c)。

a.4个字节b.5个字节c.6个字节d.7个字节10.若已定义x为int类型变量,下列语句中说明指针变量p的正确语句是(c)。

C语言期末考试试卷及答案4

C语言期末考试试卷及答案4

C语言期末考试试卷及答案4一、单项选择题 (本大题共20小题,每小题1分,共20分)1. 构成一个可执行的C程序的是A. 一个主函数和若干个非主函数B. 若干个主函数和若干个非主函数C. 一个主函数和最多一个非主函数 C. 若干个主函数和最多一个非主函数2. 下面那一个是合法的C语言标识符: ()A. abcB. longC. 4thD. a-33. 用十进制数表示表达式“12|012”的运算结果是()A. 1B. 0C. 14D. 124. 以下哪一个不是C语言合法的运算符()A. *B. &C. @D. +5. 按照结构化程序设计的概念,C语言程序设计的基本单位是( )A. 过程B. 函数C. 子程序D. 语句6. 下面哪个表达式的值为4. ( )A. 11/3B. 11.0/3C. (float)11/3D. (int)(11.0/3+0.5)7.下面C代码的输出结果是()int answer,result;answer=100;result=answer-10;printf(“The result is %d”, result+5);A. The result is 90B. The result is 95C. The result is 10D. The result is 1008. 设x和y均为int型变量,则执行下面的循环后,y的值为( )for(y=1,x=1;y<=50;y++){ if(x>=10)break;if(x%2==1){x+=5;continue;}x-=3;}A. 2.B. 4C. 6D. 89.有如下程序,输出结果是()main(){float x=4.0,y;if(x<0.0)y=0.0;else if(x<8.0) y=1.0/x;else y=1.0;printf(“%f\n”,y);}A. 0.000000B.0.250000C. 0.500000D. 1.00000010.合法的数组定义是()A. int a[]={“String”};B. int a[5]={0,1,2,3,4,5}C. char a={“String”};D. char a[]={0,1,2,3,4,5}11.语句printf(“%d\n”,strlen(“ats\n\\g”));的输出结果是()A. 5B. 6C. 7 D 8所占的字节数为:s则; ”}Good morning“char s[20]={.设有定义:12.A. 20B. 12C. 13D. 21( )13. C语言规定,函数返回值的类型由什么决定调用该函数时的主调函数类型B A return语句中的表达式类型在定义该函数时所指定的函数类型调用该函数时的形参类型 D C 语言中函数的隐含存储类型是14.C 无存储类型A. auto B. static C. extern D.的值,不正确的是:x和y15.以下函数的功能是交换funa(int *x,int *y) B. funb(int x,int y)A.{ int *p; { int t;*x;*x=*y;*y=*p;} t=x;x=y;y=t;}=*pfunc(int *x,int *y) D. fund(int *x,int *y)C.*x-*y; x=x=*x+*y;*y=*x-*y; *{ int p; { *p=*x;*x=*y;*y=p; }}的值为()后,z16.设有以下宏定义,则执行语句z=2*(N+Y(5+1));#define N 3#define Y(n) ((N+1)*n)B. 42C. 48D. 54 出错A.) 17.以下程序的输出结果是( #define ADD(x) (x)+(x)main(){ int a=4,b=6,c=7,d=ADD(a+b)*c;,d); }d=%d”“ printf( A d=70 B d=140 C d=280 D d=807}}; 则printf(“%d\n”int 句 struct {int x; y;} , 定18.设有义语d[0].y/d[0].x*d[1].x);的输出是()A. 0B. 1C. 3D. 619. 设int b[20]; 则对b数组元素的错误引用是:A. b[5]B. *(b+1)C. b[20%2]D. b(5)20.若文件型指针fp已指向某文件的末尾,则函数feof(fp)返回值是()A. 0B. –1C. 非零值D. NULL二、填空题 (本大题共10小题,每小题2分,共20分)1.若自定义函数要求返回一个值,则应在该函数体中有一条_______________语句,若自定义函数要求不返回值,则应该在定义该函数时的返回类型是__________________.2. 当a=3,b=4,c=5时,写出下列各式的值。

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

若x,i,j,k 都是int型变量,则计算x=(i=4,j=16,k=i+32)后,x的值为:(D).A.52B.16C.4D.36整型变量x=1,y=3,经下列计算后,x的值不等于6的是(D)。

A.x=y*4/2B.x=9-(--y)-(--y)C.x=(x=1+2,x*2)D.x=y<2?6:5以下程序的输出结果为(A)。

main(){int i=010,j=10;printf("%d,%d\n",++i,j--);}A.9,10B.10,9C.010,9D.11,10如下说法不正确的是(D).A.若b为假a为真,则 a||b为真B.若b为真a为假,则 a||b为真C.若b为真a为真,则 b&&!a为假D.若b为假,则!b+1为假下列(C)表达式的值为真,其中a=5;b=8;c=10;d=0A.(a*2-c)||dB.a*2>8+2C.a-b<c*dD.a&&d以下能计算1×2×3×┈×10的程序段是(C).A.do{ i=1;s=1;s=s*i;i++;}while(i>=10) ;B.do{ i=1;s=1;s=s*i;i++;}while(i<=10) ;C.i=1;s=1;do {s=s*i; i++; }while(i<=10) ;D.i=1;s=1; do { s=s*i; i++;}while(i>=10) ;以下正确的描述是(A).A.continue语句用来终止本次循环,继续下一次循环。

B.switch语句中不能出现continue语句C.在循环中break语句不能独立出现D.goto语句只能用于退出多层循环下面各语句中,能正确进行赋字符串操作的语句是(B).A.char s1[5][ ]={"ABCDE"};B.char s2[6]={'A','B','C','D','E'};C.char st[ ][ ]={"ABCDE"};D.char s[5]={'A','B','C','D','E'};下述对C语言字符数组的描述中,错误的是(C).A.不可以用关系运算符对字符数组中的字符串进行比较.B.字符数组中的字符串可以整体输入、输出.C.可以通过赋值运算符"="对字符数组整体赋值.D.字符数组中可以存放字符串.若有说明 int a[3][4];则对a数组元素的正确引用是(C)。

A.a[1,3]B.a[2][4]C.a[1+1][0]D.a(2)(1)程序运行结束后,屏幕上输出值为(B).static int x=10;f( ){ x++;}main( ){ int x=3;f( );x- -;printf("%d",x);}A.10B.2C.11D.3C语言规定,函数返回值的类型是由(A)。

A.在定义该函数时所指定的函数类型所决定B.return语句中的表达式类型所决定C.调用该函数时系统临时决定D.调用该函数时的主调函数类型所决定若调用一个函数,且此函数中没有return语句,则正确的说法是:该函数(B)。

A.没有返回值B.返回一个不确定的值C.返回若干个系统默认值D.能返回一个用户所希望的值设有宏定义#define PI 3.14 和#define S(r) PI*r*r,则S(2)的值为(B).A.6.28B.12.56C.3.14D.9.42下面选择中正确的赋值语句是(设char a[5],*p=a;)(A)。

A.p="abcd";B.a="abcd";C.*a="abcd";D.*p="abcd";static struct {int a1;float a2;char a3;}a[10]={1,3.5,'A'}; 说明数组a是地址常量,它有10个结构体型的下标变量,采用静态存储方式,其中被初始化的下标变量是(A)。

A.a[0]B.a[10]C.a[1]D.a[-1]在C程序中,可以一次写入一组数据到指定文件中的函数是(C)。

A.fprintfB.freadC.fwriteD.fputc整型变量在可输出字符范围内,可以和字符型数据相互转化. Tputchar 函数的原型(函数说明)在 stdio.h 内. T设i=1,j=2,k=3,则逻辑表达式!(i>j)||!k&&1的值为0. F已知三目运算exp1?exp2:exp3的含义是先求exp1,若为0,则求解exp2,则表达式值为exp2的值,否则是exp3的值. F对于for(表达式1;表达式2;表达式3)语句来说,continue语句意味着转去执行表达式2. Ffor循环可以用于循环次数不确定而给出循环条件的情况下. T设有数组定义: char array[ ]="hello"; 则数组 array所占的内存空间为5字节. F数组整体不参加数据处理(即不参加各种运算),参加数据处理的只能是数组的元素. Tputs 函数用来输出一个字符. F在一个函数中定义的静态局部变量不能被另外一个函数所调用. TC语言中,只允许直接递归调用而不允许间接递归调用. F数组名可作为函数的实参,但不能作为函数的形参. F计算机编译系统对宏定义在编译时进行语法检查. F定义 int k[ ]={1,2,3,4},y,*p=&k[1];,则执行y=(*--p)++后, y的值不是2. T在定义结构体变量时,允许使用初始化方法对其整体赋初值. TC语言中,在打开文件时,必须说明文件的使用方式,"w"用于文件的读写. F若x和n均是int型变量,且x和n的初值均为5,则计算表达式 x+=n++ 后x的值为 __10___,n 的值为__6___.设(k=a=5,b=3,a*b),则表达式的值为__15___.若int x=6;则x+=x-=x*x表达式最后x的值是__-60___.设a,b,c,t为整型变量,初值为a=3,b=4,c=5,执行完语句t=!(a+b)+c-1&&b+c/2 后,t的值是__1___.C语言中,数组元素的下标下限为__0___.局部静态变量是在静态存储区分配存储单元的,在整个程序运行期间始终占__内存___的.设有以下共用体类型说明和变量定义,在TC编译环境下,变量d在内存所占字节数是 __12___。

union stud{ short int num;char name[8];float score[3];double ave;}d,stu[3];feof(fp)函数用来判断文件是否结束,如果遇到文件结束,函数值为__非零值___。

/*------------------------------------------------【程序设计】--------------------------------------------------功能:将主函数中输入的字符串反序存放。

例如:输入字符串"abcdefg",则应输出"gfedcba"。

------------------------------------------------*/#include "stdio.h"#include "string.h"#include "conio.h"#define N 81void fun(char *str,int n){/*********Begin**********//********** End **********/}【参考代码】int i,j;char c;for(i=0,j=n-1;i<j;i++,j--) /*或者for(i=0,j=n-1;i<n/2;i++,j--)*/ {c=*(str+i);*(str+i)=*(str+j);*(str+j)=c;}/*------------------------------------------------【程序设计】--------------------------------------------------功能:从低位开始取出长整型变量s中偶数位上的数,依次构成一个新数放在t中。

例如:当s中的数为:时,t中的数为:642。

------------------------------------------------*/#include "stdio.h"long fun (long s){/*********Begin**********//********** End **********/}【参考代码】long sl=10,t;s /= 10;t = s % 10;while(s > 0){ s = s/100;t = s%10*sl + t;sl = sl * 10;}return t;;/*------------------------------------------------------ 【程序改错】--------------------------------------------------------功能:实现两个字符串的连接。

例如:输入dfdfqe和12345时,则输出dfdfqe12345.------------------------------------------------------*/#include"stdio.h"main(){char s1[80],s2[80];void scat(char s1[],char s2[]);gets(s1);gets(s2);scat(s1,s2);puts(s1);}void scat (char s1[],char s2[]){int i=0,j=0;/**********ERROR**********/while(s1[i]=='\0') i++;/**********ERROR**********/while(s2[j]=='\0'){/**********ERROR**********/s2[j]=s1[i];i++;j++;/**********ERROR**********/s2[j]='\0';}【改错1】【参考答案】while(s1[i]!='\0')i++;while(s1[i])i++;while(s1[i]!=NULL)i++;while(s1[i]!=0)i++;【改错2】【参考答案】while(s2[j]!='\0')while(s2[j])while(s2[j]!=NULL)while(s2[j]!=0)【改错3】【参考答案】s1[i]=s2[j];【改错4】【参考答案】s1[i]='\0';s1[i]=NULL;*(s1+i)='\0';s1[i]=0;/*------------------------------------------------------ 【程序改错】--------------------------------------------------------题目:输出某学生出生的月份。

相关文档
最新文档