上海海事大学(C语言期末)上机题库 (6)
试卷编号:9618
所属语言:C语言
试卷方案:练习1
试卷总分:100分
共有题型:5种
一、填空共8题(共计8分)
*第1题(1.0分)题号:513
若有以下定义,则计算表达式y+=y-=m*=y后的y值是【1】.
int m=5,y=2;
答案:
=======(答案1)=======
-16
第2题(1.0分)题号:84
写出语句 b=(a=6,a*3); 执行后整型变量b的值是【1】.
答案:
=======(答案1)=======
18
第3题(1.0分)题号:293
getchar()函数只能接收一个【1】.
答案:
=======(答案1)=======
字符
第4题(1.0分)题号:437
以下程序的输出结果为【1】,
#include "stdio.h" main(){int a=010,j=10;printf("%d,%d\n",++a,j--);} 答案:
=======(答案1)=======
9,10
第5题(1.0分)题号:86
写出表达式 1.234&&5.982 的值是【1】.
答案:
=======(答案1)=======
1
第6题(1.0分)题号:303
为了避免嵌套条件语句的二义性,C语言规定else与其前面最近的【1】语句配对.
答案:
=======(答案1)=======
if
第7题(1.0分)题号:311
若所用变量均已正确定义,则执行下面程序段后的值是【1】.
for(i=0 ; i<2 ; i++ ) printf("YES"); printf("\n");
答案:
=======(答案1)=======
YESYES
第8题(1.0分)题号:312
以下程序段要求从键盘输入字符,当输入字母为'Y' 时,执行循环体,则括号内应填写【1】. ch=getchar();
while(ch ____ 'Y')/*在括号中填写*/
ch=getchar();
答案:
=======(答案1)=======
==
二、判断共15题(共计15分)
第1题(1.0分)题号:937
在C程序中,每行中只能写一条语句
答案:N
*第2题(1.0分)题号:928
C程序中的关键字必须小写.
答案:Y
第3题(1.0分)题号:715
整数 -32100可以赋值给int型和long int型变量.
答案:Y
第4题(1.0分)题号:929
在C语言中,5种基本数据类型的存储空间长度的排列顺序为:char 答案:Y 第5题(1.0分)题号:947 printf函数中,%c和%s都可以输出字符串. 答案:N 第6题(1.0分)题号:194 若有定义和语句: int a;char c;float f;scanf("%d,%c,%f",&a,&c,&f); 若通过键盘输入: 10,A,12.5,则a=10,c='A',f=12.5. 答案:Y **第7题(1.0分)题号:944 C语言中,赋值表达式加上分号就构成了赋值语句. 答案:Y 第8题(1.0分)题号:961 C语言本身并不提供输入输出语句.但可以通过输入输出函数来实现数据的输入输出. 答案:Y *第9题(1.0分)题号:950 逻辑运算符中的"&&"和"||"低于关系运算符,"!"高于算术运算符. 答案:Y 第10题(1.0分)题号:951 在执行switch语句时,default和各个case的出现次序不影响执行结果. 答案:Y 第11题(1.0分)题号:723 若 a=3,b=2,c=1 则关系表达式"(a>b)==c" 的值为"真". 答案:Y *第12题(1.0分)题号:709 int i=20;switch(i/10){case 2:printf("A"); case 1:printf("B");}的输出结果为A. 答案:N 第13题(1.0分)题号:742 若有说明int c;则while(c=getchar());是正确的C语句. 答案:Y 第14题(1.0分)题号:954 continue语句只结束本次循环,而不是终止整个循环的执行.break语句则是结束整个循环过程,不再判断执行循环的条件是否成立. 答案:Y 第15题(1.0分)题号:952 do-while循环是先判断循环条件表达式,后执行循环体;while循环是先执行循环体,后判断循环条件表达式. 答案:N 三、单项选择共20题(共计40分) 第1题(2.0分)题号:2016 设C语言中,int类型数据占2个字节,则short类型数据占(). A:1个字节 B:2个字节 C:4个字节 D:8个字节 答案:B 第2题(2.0分)题号:2209 若变量已正确定义并赋值,下面符合C语言语法的表达式是(). A:a:=b+1 B:a=b=c+2 C:int 18.5%3 D:a=a+7=c+b 答案:B 第3题(2.0分)题号:2000 以下的选择中,正确的赋值语句是(). A:a=1,b=2 B:j++ C:a=b=5; D:y=int(x) 答案:C *第4题(2.0分)题号:2130 下列字符序列中,是C语言保留字的是(). A:sizeof B:include C:scanf D:sqrt 答案:A 第5题(2.0分)题号:2211 设以下变量均为int类型,则值不等于7的表达式是(). A:(x=y=6,x+y,x+1) B:(x=y=6,x+y,y+1) C:(x=6,x+1,y=6,x+y) D:(y=6,y+1,x=y,x+1) 答案:C 第6题(2.0分)题号:2127 下列程序段的输出结果为(). float k=0.8567; printf("%4.1f%%",k*100); A:0085.6%% B:85.7% C:0085.6% D:.857 答案:B 第7题(2.0分)题号:2135 下列程序段的输出结果为(). int x=3,y=2; printf("%d",(x-=y,x*=y+8/5)); A:1 B:7 C:3 D:5 答案:C 第8题(2.0分)题号:2189 从键盘上输入某字符串时,不可使用的函数是(). A:getchar() B:gets() C:scanf() D:fread() 答案:A 第9题(2.0分)题号:2039 若k为int型变量,则以下程序段的执行结果是(). k=-8567; printf("k=|%06D|\n"); A:格式描述符不合法,输出无定值 B:输出为k=|%06D| C:输出为|0-8567| D:输出为|-8567| 答案:B 第10题(2.0分)题号:2049 以下程序的输出结果为(). main() {int i=010,j=10; printf("%d,%d\n",++i,j--); } A:11,10 B:9,10 C:010,9 D:10,9 答案:B 第11题(2.0分)题号:2144 int a=1,b=2,c=3; if(a>b)a=b; if(a>c)a=c; 则a的值为(). A:1 B:2 C:3 D:不一定 答案:A 第12题(2.0分)题号:2259 以下关于运算符优先顺序的描述中正确的是(). A:关系运算符<算术运算符<赋值运算符<逻辑运算符 B:逻辑运算符<关系运算符<算术运算符<赋值运算符 C:赋值运算符<逻辑运算符<关系运算符<算术运算符 D:算术运算符<关系运算符<赋值运算符<逻辑运算符 答案:C 第13题(2.0分)题号:2318 在C语言中,要求运算数必须是整型的运算符是(). A:&& B:% C:! D:|| 答案:B *第14题(2.0分)题号:2261 若希望当A的值为奇数时,表达式的值为"真",A的值为偶数时,表达式的值为"假",则以下不能满足要求的表达式是(). A:A%2==1 B:!(A%2==0) C:!(A%2) D:A%2 答案:C 第15题(2.0分)题号:2063 执行下列语句后的输出为(). int j=-1; if(j<=1) printf("****\n"); else printf("%%%%\n"); A:**** B:%%%% C:%%%%c D:有错,执行不正确 答案:A 第16题(2.0分)题号:2248 下面有关 for 循环的正确描述是(). A:for 循环只能用于循环次数已经确定的情况 B:for 循环是先执行循环循环体语句,后判断表达式 C:在 for 循环中,不能用 break 语句跳出循环体 D:for 循环的循环体语句中,可以包含多条语句,但必须用花括号括起来答案:D 第17题(2.0分)题号:2059 以下程序的运行结果是(). main() { int n; for(n=1;n<=10;n++) { if(n%3==0) continue; printf("%d",n); } } A:12457810 B:369 C:12 D:1234567890 答案:A 第18题(2.0分)题号:2141 以下程序段的输出结果为(). for(i=4;i>1;i--) for(j=1;j putchar('#'); A:无 B:###### C:# D:### 答案:B 第19题(2.0分)题号:2251 以下不是无限循环的语句为(). A:for(y=0,x=1;x>++y;x=i++) i=x; B:for(;;x++=i); C:while(1){x++;} D:for(i=10;;i--) sum+=i; 答案:A *第20题(2.0分)题号:2249 若i为整型变量,则以下循环执行次数是(). for(i=2;i==0;) printf("%d",i--); A:无限次 B:0次 C:1次 D:2次 答案:B 四、程序填空共3题(共计27分) 第1题(9.0分)题号:405 /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 题目:要求输出结果为: A,B 65,66 -------------------------------------------------------*/ #include void main() /***********SPACE***********/ {char a,【?】 /***********SPACE***********/ a=【?】; b='b'; a=a-32; /***********SPACE***********/ b=b-【?】; printf("%c, %c\n%d,%d\n",a,b,a,b); } 答案: =======(答案1)======= b; =======(答案2)======= 'a' =========或========= 97 =======(答案3)======= 32 第2题(9.0分)题号:25 /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 题目:以下程序的功能如(图1)。 -------------------------------------------------------*/ /***********SPACE***********/ 【?】 main() { float x,f; scanf("%f",&x); /***********SPACE***********/ if(x<0) 【?】; /***********SPACE***********/ else if(【?】) f=2*x+1; else f=sin(x)+5; /***********SPACE***********/ printf("x=%f,y=%f\n", 【?】); } 答案: =======(答案1)======= #include "math.h" =========或========= #include =======(答案2)======= f=fabs( x + 1 ) =======(答案3)======= x<=5 =========或========= 5>=x =========或========= x<6 =========或========= 6>x =========或========= x>=0&&x<=5 =========或========= 0<=x&&x<=5 =========或========= x>=0&&5>=x =========或========= 0<=x&&5>=x =========或========= !(x>5) =======(答案4)======= x,f 第3题(9.0分)题号:24 /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 题目:以下程序的功能是对任一整数N(N≠0),它都可以分解成1 (或-1)和一些质数(素数)因子的形式。如N=150时,可分 解成1×2×3×5×5;N=-150时,可分解为-1×2×3×5×5。 下边程序能实现这种分解过程。当N=150,输出以下分解结 果:N= 1* 2* 3* 5* 5 -------------------------------------------------------*/ main() { int n,i,j,r; scanf("%d",&n); if (n==0) { printf ("data error \n"); exit(0); } /***********SPACE***********/ else if (【?】 ) printf("n=1"); else { printf("n=-1"); n=-n; } /***********SPACE***********/ for(【?】;i<=n;i++) { /***********SPACE***********/ 【?】 ; while(r==0) { printf("*%d",i); /***********SPACE***********/ 【?】 ; r=n%i; } } printf("\n"); } 答案: =======(答案1)======= n>0 =========或========= 0 =======(答案2)======= i=2 =======(答案3)======= r=n%i =======(答案4)======= n=n/i =========或========= n/=i 五、程序设计共1题(共计10分) 第1题(10.0分)题号:365 /*------------------------------------------------ 【程序设计】 -------------------------------------------------- 19题目:编写函数fun,函数的功能是:求一个 四位数的各位数字的立方和 -------------------------------------------------- 注意:部分源程序给出如下。请勿改动主函数 main和其它函数中的任何内容,仅在函 数fun的花括号中填入所编写的若干语句。 ------------------------------------------------*/ #include "stdio.h" int fun(int n) { /**********Program**********/ /********** End **********/ } main() { int k; k=fun(1234); printf("k=%d\n",k); yzj(); getch(); } yzj() { FILE *IN,*OUT; int iIN,iOUT,i; IN=fopen("in.dat","r"); if(IN==NULL) {printf("Please Verify The Currernt Dir..It May Be Changed"); } OUT=fopen("out.dat","w"); if(OUT==NULL) {printf("Please Verify The Current Dir.. It May Be Changed"); } for(i=0;i<5;i++) {fscanf(IN,"%d",&iIN); iOUT=fun(iIN); fprintf(OUT,"%d\n",iOUT); } fclose(IN); fclose(OUT); } 答案:---------------------- int d,k,s=0; while (n>0) {d=n%10; s+=d*d*d; n/=10; } return s; ---------------------- 1:2:3 #include } } } return 0; } 8 #include"stdio.h" int main() { int a,b[10],m=0,n=0,p; int i,j,k; scanf("%d",&a); for(i=1;i<=a;i++) { m=0; n=0; p=i; for(j=0;p!=0;j++) { b[j]=p%10; p=p/10; } for(k=0;k 2009年3月二级C语言笔试真题((1)—(10)每小题2分,(11)—(50)每题1分,共60分) 下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。 (1)下列叙述中正确的是 A)栈是“先进先出”的线性表 B)队列是“先进先出”的线性表 C)循环队列是非线性结构 D)有序性表既可以采用顺序存储结构,也可以采用链式存储结构 (2)支持子程序调用的数据结构是 A)栈B)树C)队列D)二叉树 (3)某二叉树有5个度为2的结点,则该二叉树中的叶子结点数是 A)10B)8C)6D)4 (4)下列排序方法中,最坏情况下比较次数最少的是 A)冒泡排序 B)简单选择排序 C)直接插入排序 D)堆排序 (5)软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。下面属于应用软件的是 A)编译软件 B)操作系统 C)教务管理系统 D)汇编程序 (6)下面叙述中错误的是 A)软件测试的目的是发现错误并改正错误 B)对被调试的程序进行“错误定位”是程序调试的必要步骤 C)程序调试通常也称为Debug D)软件测试应严格执行测试计划,排除测试的随意性 (7)耦合性和内聚性是对模块独立性度量的两个标准。下列叙述中正确的是 A)提高耦合性降低内聚性有利于提高模块的独立性 B)降低耦合性提高内聚性有利于提高模块的独立性 C)耦合性是指一个模块内部各个元素间彼此结合的紧密程度D)内聚性是指模块间互相连接的紧密程度 (8)数据库应用系统中的核心问题是 A)数据库设计 B)数据库系统设计 C)数据库维护 D)数据库管理员培训 (9)有两个关系R,S如下: 由关系R通过运算得到关系S,则所使用的运算为 A)选择B)投影C)插入D)连接 (10)将E-R图转换为关系模式时,实体和联系都可以表示为A)属性B)键C)关系D)域 (11)以下选项中合法的标识符是 A)1-1B)1—1C)-11D)1-- (12)若函数中有定义语句:intk;,则 A)系统将自动给k赋初值0 B)这时k中值无定义 C)系统将自动给k赋初值-1 D)这时k中无任何值 (13)以下选项中,能用作数据常量的是 A)o115B)0118C))115L (14)设有定义:intx=2;,以下表达式中,值不为6的是A)x*=x+1 B)x++,2*x C)x*=(1+x) 第二章 若有数学式3ae bc,则不正确的C语言表达式是() A.3*a*e/b*c B.a/b/c*e*3 C.3*a*e/b/c D.a*e/c/b*3 设:int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b) && (n=c>d)后n的值为()。 A.4 B.3 C.2 D.1 下列表达式中,不满足"当x的值为偶数时值为真,为奇数时值为假"的要求的是() A.(x/2*2-x)==0 B.!(x%2) C.!(x%2==0) D.x%2==0 表达式18/4*sqrt(4.0)/8值的数据类型为()。 A.char B.double C.不确定 D.float 在C语言中,要求运算数必须是整型的运算符是( ) A.% B./ C.++ D.!= 若x,i,j和k都是int型变量,则计算表达式x=(i=4,j=16,k=32)后,x的值为()。 A.4 C.16 D.52 C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符( ) A.必须为下划线 B.必须为字母 C.可以是字母、数字和下划线中的任意一种 D.必须为字母或下划线 若a是数值类型,则逻辑表达式(a==1)||(a!=1)的值是( ) A.不知道a的值,不能确定 B.0 C.2 D.1 判断字符型变量c1是否为数字字符的正确表达式为( ) A.(c1>='0')&&(c1<='9') B.(c1>=0)&&(c1<=9) C.('0'>=c1)||('9'<=c1) D.'0'<=c1<='9' 下面四个选项中,均是合法的用户标识符的选项是()。 A._123 temp INT B.A p_o do C.b-a goto int D.float lao _A 以下关于C语言数据类型使用的叙述中错误的是( ) A.若要处理如"人员工资"的相关数据,单精度类型 B.若只处理"真"和"假"两种逻辑值,应使用逻辑类型 C.若要保存带有多位小数的数据,应使用双精度类型 D.若要准确无误差的表示自然数,应使用整数类型 假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是()。 A.7 B.8 C.6 D.2 下面正确的字符常量是() C语言习题集 3.11输入'A'~'F'中的一个字母,代表一个十六进制数,将其转换为十进制数,求该数与15的和并输出。 输入格式: B 输出格式: 26 #include 计算机二级c语言历年真题及答案【篇一:国家计算机二级c语言历年真题及答案】 class=txt>c语言程序设计 (考试时间90分钟,满分100分) 一、选择题((1)—(10)、(21)—(40)每题2分,(11)—(20)每题1分,共70分) (1)下列数据结构中,属于非线性结构的是 a)循环队列 b) 带链队列 c) 二叉树 d)带链栈 (2)下列数据结果中,能够按照“先进后出”原则存取数据的是 a) 循环队列 b) 栈 c)队列 d)二叉树 (3)对于循环队列,下列叙述中正确的是 a)队头指针是固定不变的 b)队头指针一定大于队尾指针 c)队头指针一定小于队尾指针 d)队头指针可以大于队尾指针,也可以小于队尾指针 (4)算法的空间复杂度是指 a)算法在执行过程中所需要的计算机存储空间 b)算法所处理的数据量 c)算法程序中的语句或指令条数 d)算法在执行过程中所需要的临时工作单元数 (5)软件设计中划分模块的一个准则是 a) 低内聚低耦合 b) 高内聚低耦合 c) 低内聚高耦合 d) 高内聚高耦合 (6)下列选项中不属于结构化程序设计原则的是 a) 可封装 d) 自顶向下 c) 模块化 d) 逐步求精 (7)软件详细设计产生的图如下: 该图是 a) n-s图 b) pad图 c) 程序流程图 d) e-r图 (8)数据库管理系统是 a)操作系统的一部分 b) 在操作系统支持下的系统软件 c) 一种编译系统 d) 一种操作系统 (9)在e-r图中,用来表示实体联系的图形是 a) 椭圆图 b) 矩形 c) 菱形 d) 三角形 (10)有三个关系r,s和t如下: 其中关系t由关系r和s通过某种操作得到,该操作为 a) 选择 b) 投影 c) 交 d) 并 (11)以下叙述中正确的是 a)程序设计的任务就是编写程序代码并上机调试 b)程序设计的任务就是确定所用数据结构 c)程序设计的任务就是确定所用算法 d)以上三种说法都不完整 (12)以下选项中,能用作用户标识符的是 a)void b)8_8 c)_0_ d)unsigned (13)阅读以下程序 1、给定n 个数据, 求最小值出现的位置(如果最小值 出现多次,求出第一次出现的位置即可)。 2、编写程序求无理数e 的值并输出。计算公式为: e=1+1/1!+1/2!+1/3!+......+1/n! 当1/n!<0.000001时e=2.718282。 3、求一批数中最大值和最小值的积。 4、某一正数的值保留2位小数,对第三位进行四舍 五入。 5、从键盘上输入任意实数x,求出其所对应的函数值。 z=(x-4)的二次幂(x>4) z=x 的八次幂(x>-4) z=z=4/(x*(x+1))(x>-10) z=|x|+20(其他) 6、求出N ×M 整型数组的最大元素及其所在的行坐标 及列坐标(如果最大元素不唯一,选择位置在最前面 的一个)。 例如:输入的数组为: 1 2 3 4 15 6 12 18 9 10 11 2 求出的最大数为18,行坐标为2,列坐标为1。 7、求一个n 位自然数的各位数字的积。(n 是小于10的 自然数) 8、计算n 门课程的平均值,计算结果作为函数值返回。 例如:若有5门课程的成绩是:92,76,69,58,88, 则函数的值为76.599998。 9、求一批数中小于平均值的数的个数。 10、编写函数判断一个整数m 的各位数字之和能否被7整除, 可以被7整除则返回1,否则返回0。调用该函数找出 100~200之间满足条件的所有数。 11、请编一个函数void fun(int tt[M][N],int pp[N]), tt指向一个M行N列的二维数组,求出二维数组每列 中最大元素,并依次放入pp所指一维数组中。二维 数组中的数已在主函数中赋予。 12、编写函数fun用比较法对主程序中用户输入的具有10 个数据的数组a按由大到小排序,并在主程序中输出 排序结果。 13、编写main程序调用函数fact求解从m个元素选n 个元 素的组合数的个数。计算公式是:组合数=m!/(n!.(m-n)!)。 要求:m不能小于n,否则应有容错处理。 说明:函数fact(x)的功能是求x!。 14、找出一批正整数中的最大的偶数。 15、实现两个整数的交换。 例如:给a和b分别输入:60和65,输入为: a=65 b=60 16、将字符串中的小写字母转换为对应的大写字母, 其它字符不变。 17、求一个四位数的各位数字的立方和。 18、求一组数中大于平均值的数的个数。 例如:给定的一组数为1,3,6,9,4,23,35,67,12,88时,函数值为3。 19、对任意输入的x,用下式计算并输出y 的值。 5 x<10 y= 0 x=10 -5 x>10 20、求给定正整数m以内的素数之和。 例如:当m=20时,函数值为77。 21、判断整数x是否是同构数。若是同构数,函数返回1; 否则返回0。x的值由主函数从键盘读入,要求不大 2017年全国计算机等级考试二级 C语言上机题库 第一套 1.程序填空 程序通过定义学生结构体数组,存储了若干个学生的学号、姓名和三门课的成绩。函数fun 的功能是将存放学生数据的结构体数组,按照姓名的字典序(从小到大排序)。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 第一处struct student t; 第二处for(i=0;i 上机考试习题集 1.编写程序,一次输入5个学生的3门课成绩,每输入一个学生的3门成绩后,立即统计并输出该学生的总分和平均分。 #include "stdio.h" void main() { int score[5][3], i,j; float sum[5],average[5]; printf("请分别输入三个学生的成绩:\n"); for(i=0;i<5;i++) { sum[i]=0; for(j=0;j<3;j++) {scanf("%d",&score[i][j]); average[i]=0; sum[i]+=score[i][j]; average[i]=sum[i]/5; } } for(i=0;i<5;i++) printf("第%d个学生的总分为:%f,平均成绩为:%f\n",i+1,sum[i],average[i]); } 2 、编写程序,提示用户从键盘输入一个double类型的数,使该数保留小数点后两位,对第三位小数进行四舍五入处理,然后在显示器上输出此数,以便验证处理是否正确。 #include 2016年计算机二级c语言题库及答案 一、选择题(每小题1分,共40小题,共40分) 1.设循环队列的存储空间为Q(1:35),初始状态为front=rear=35。现经过一系列入队与退队运算后,front=15,rear=15,则循环队列中的元素个数为( )。 或35 2.下列关于栈的叙述中,正确的是( )。 A.栈底元素一定是最后入栈的元素 B.栈操作遵循先进后出的原则 C.栈顶元素一定是最先入栈的元素 D.以上三种说法都不对 3.下列链表中,其逻辑结构属于非线性结构的是( )0、 A.双向链表 B.带链的栈 C.二叉链表 D.循环链表 4.在关系数据库中,用来表示实体间联系的是( )。 A.网状结构 B.树状结构 C.属性 D.二维表 5.公司中有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职员。则实体部门和职员间的联系是( )。 :m联系 :n联系 :1联系 :l联系 6.右两个关系R和S如下: 则由关系R得到关系S的操作是( )。 A.自然连接 B.并 C.选择 D.投影 7.数据字典(DD)所定义的对象都包含于( )。 A.软件结构图 B.方框图 C.数据流图(DFD图) D.程序流程图 8.软件需求规格说明书的作用不包括( )。 A.软件设计的依据 B.软件可行性研究的依据 C.软件验收的依据 D.用户与开发人员对软件要做什么的共同理解 9.下面属于黑盒测试方法的是( )。 A.边界值分析 B.路径覆盖 C.语句覆盖 D.逻辑覆盖 10.下面不属于软件设计阶段任务的是( )。 A.制订软件确认测试计划 B.数据库设计 C.软件总体设计 D.算法设计 11.以下叙述中正确的是( )。 A.在C语言程序中,main函数必须放在其他函数的最前面 B.每个后缀为C的C语言源程序都可以单独进行编译 C.在C语言程序中,只有main函数才可单独进行编译 2020年全国计算机等级考试二级c语言上机精选题库(共80套) 第1套试题 第一题:给定程序中,函数fun的功能是:计算N*N矩阵的主对角元素和反向对角元素之和,并作为函数值返回。注意:要求先累加主对角线元素中的值,然后累加反向对角线元素中的值。 例如,若N=3,有下列矩阵: 1 2 3 4 5 6 7 8 9 fun函数首先累加1、5、9,然后累加3、5、7,函数的返回值为30。 请勿改动主函数main和其他函数中的任何内容,仅在fun函数的横线上填入所编写的若干表达式或语句。 #include 第二题:下列给定程序中,函数fun 的功能是:根据整型参n ,计算如下公式的值。 ,11=A ,1112A +=A ,1123A +=A … ,1 11-A +=A n n 例如,若n=10,则应输出0.617978。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main 函数,不得增行或删行,也不要更改程序的结构! #include 2011,____年上机题100题库 1: 第1题m个人的成绩存放在score数组中,请编写函数fun,它的功能是:将低于平均分的人作为函数值返回,将低于平均分的分数放在below所指定的函数中。 答案: int fun(int score[],int m,int below[]) { int i,k=0,aver=0; for(i=0;i<m;i++) aver+=score[i]; aver/=m; for(i=0;i<m;i++) if(score[i]<aver) { below[k]=score[i]; k++; } return k; } 2: 第2题请编写函数fun,它的功能是:求出1到100之内能北7或者11整除,但不能同时北7和11整除的所有证书,并将他们放在a所指的数组中,通过n返回这些数的个数。 答案: void fun(int *a, int *n) { int i,j=0; for(i=2;i<1000;i++) if ((i%7==0 || i%11==0) && i%77!=0) a[j++]=i; *n=j; } 3: 第3题请编写函数void fun(int x,int pp[],int *n),它的功能是:求出能整除x且不是偶数的各整数,并按从小到大的顺序放在pp所指的数组中,这些除数的个数通过形参n返回。 答案: void fun(int x, int pp[ ], int *n) { int i=1,j=0;k=0,*t=pp; for(i=0;i<=x;i++) if(i%2!=0) { t[j]=I; j++; } 1.填空 给定程序的功能是调用fun函数建立班级通讯录。通讯录中记录每位学生的编号,姓名和电话号码。班级的人数和学生的信息从键盘读入,每个人的信息作为一个数据块写到名为myfile5.dat的二进制文件中。 请在程序的下划线处填入正确的内容并把下划线删除,是程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.c中 不得增行或删行,也不得更改程序的结构! void check(); /**********found**********/ int fun(___1___ *std) { /**********found**********/ ___2___ *fp; int i; if((fp=fopen("myfile5.dat","wb"))==NULL) return(0); printf("\nOutput data to file !\n"); for(i=0; i 计算机c语言编程题库 1、求100之内自然数中最大的能被17整除的数。 void main() { int i; for(i=100;i>0;i--) if(i%17==0)break; printf("%d\n",i); } 2、已知a,b,c都是1位整数,求当三位整数abc、cba的和为1333时a、b、c的值。 void main() { int a,b,c; for(a=1;a<=9;a++) { for(b=0;b<=9;b++) { for(c=1;c<=9;c++) if(a*100+b*10+c+c*100+b*10+a==1333) printf("%d,%d,%d\n",a,b,c); } } } 3、计算并输出200-400之间不能被3整除的整数的和。 void main() { int i,sum=0; for(i=200;i<=400;i++) if(i%3!=0) sum=sum+i; printf("%d\n",sum); } 4、从键盘输入10个数,统计非负数的个数,并计算非负数的和。 void main() { int i,n=0,sum=0; int a[10]; printf(“请输入10个数:”); for(i=0;i<10;i++) scanf(“%d”,&a[i]); for(i=0;i<10;i++) if(a[i]>=0) { sum=sum+a[i]; n++;} printf("非负个数是%d,sum=%d\n",n,sum); } 5、求100之内自然数中偶数之和。 void main() { int i,sum=0; for(i=0;i<=100;i++) if(i%2==0) sum=sum+i; printf("sum=%d\n",sum); } 6、输入5个数,求和并输出。要求编写求和的函数。 void main() { int b(int x[],int n); int sum=0; int a[5]; int i; printf("请输入5个数:"); for(i=0;i<5;i++) scanf("%d",&a[i]); sum=b(a,5); printf("sum=%d\n",sum); } int b(int x[],int n) { int i,sum=0; for(i=0;i<5;i++) sum=sum+x[i]; return sum; } 7、编程计算1*2*3+3*4*5+5*6*7+...+99*100*101的值。 void main() { int i,sum=0; for(i=1;i<=99;i=i+2) sum=sum+i*(i+1)*(i+2); printf("%d\n",sum); } 8、编写程序,将用户输入的字符串中所有的字符a用*代替,然后输出。void main() 第一套题 上机填空: #include { int a, b, c, k; double s; s = 0.0; a = 2; b = 1; for ( k = 1; k <= n; k++ ) { /************found************/ s = s + (Double)a / b; c = a; a = a + b; b = c; } return s; } main( ) { int n = 5; printf( "\nThe value of function is: %lf\n", fun ( n ) ); } 第一处改错:将:void fun ( int n ) 改为double fun ( int n ) 第二处改错:s = s + (Double)a / b; 改为s = s + (double)a / b; 第二套题 上机填空题 #include 50道C语言知识题 1.以下叙述中正确的是 A)用C程序实现的算法必须要有输入和输出操作 B)用C程序实现的算法可以没有输出但必须要有输入 C)用C程序实现的算法可以没有输入但必须要有输出 D)用C程序实现的算法可以既没有输入也没有输出 2.下列可用于C语言用户标识符的一组是 A)void,define,WORDB)a3_3,_123,Car C)For,-abc,IFCaseD)2a,DO,sizeof 3.以下选项中可作为C语言合法常量的是 A)-80B)-080C)-8e1.0D)-80.0e 4.若有语句:char*line[5];,以下叙述中正确的是 A)定义line是一个数组,每个数组元素是一个基类型为char为指针变量 B)定义line是一个指针变量,该变量可以指向一个长度为5的字符型数组 C)定义line是一个指针数组,语句中的*号称为间址运算符 D)定义line是一个指向字符型函数的指针 5.以下定义语句中正确的是 A)inta=b=0;B)charA=65+1,b=′b′; C)floata=1,*b=&a,*c=&b;D)doublea=00;b=1.1; 6.有以下程序段 charch;intk; ch=′a′; k=12; printf("%c,%d,",ch,ch,k);printf("k=%d\n",k); 已知字符a的ASCII码值为97,则执行上述程序段后输出结果是 A)因变量类型与格式描述符的类型不匹配输出无定值 B)输出项与格式描述符个数不符,输出为零值或不定值 C)a,97,12k=12 D)a,97,k=12 7.有以下程序 main() {inti,s=1; for(i=1;i<50;i++) if(!(i%5)&&!(i%3))s+=i; printf("%d\n",s);} 程序的输出结果是 A)409B)277C)1D)91 8.当变量c的值不为2、4、6时,值也为"真"的表达式是 A)(c==2)||(c==4)||(c==6) B)(c>=2&&c<=6)||(c!=3)||(c!=5) C)(c>=2&&c<=6)&&!(c%2) D)(c>=2&&c<=6)&&(c%2!=1) 9.若变量已正确定义,有以下程序段 inta=3,b=5,c=7; 上机考试练习题 20021程序填空,不要改变与输入输出有关的语句。 输入一个正整数repeat (0 int celsius, fahr; /*---------*/ scanf(“%d”,&fahr); celsius=5.0*(fahr-32)/9; printf("celsius = %d\n", celsius); } 20023程序填空,不要改变与输入输出有关的语句。 输入存款金额 money、存期 year 和年利率 rate,根据下列公式计算存款到期时的利息 interest(税前),输出时保留2位小数。 interest = money(1+rate)^year - money 输入输出示例:括号内为说明 输入 1000 3 0.025 (money = 1000, year = 3, rate = 0.025) 输出 interest = 76.89 #include 2017年全国计算机等级考试C语言上机考试题库 学生练习用第41套至第60套 第四十一套 1、程序填空 下列给定程序中,函数fun的功能是:将形参s所指字符串中的所有字母字符顺序前移,其他字符顺序后移,处理后将新字符串的首地址作为函数值返回。 例如,若s所指字符串为:"asd123fgh543df",处理后新字符串为:"asdfghdf123543"。 请在程序的下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。 注意:部分源程序在文件中。 不得增行或删行,也不得更改程序的结构! ----------------------------------------------------------------------------------------------------------------- #include <> #include <> #include <> char *fun(char *s) { int i, j, k, n; char *p, *t; n=strlen(s)+1; t=(char*)malloc(n*sizeof(char)); p=(char*)malloc(n*sizeof(char)); j=0; k=0; for(i=0; i 二级C 语言上机考试复习资料,共有50套题目 一、程序填空题 1、程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。函数fun 的功能是对形参b 所指结构体变量中的数据进行修改,最后在主函数中输出修改后的数据。 例如: b 所指变量t 中的学号、姓名、和三门课的成绩依次是: 1000 2、"ZhangQi"、9 3、85、87,修改后输出t 中的数据应为:1000 4、" LiJie "、93、8 5、87。 请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C 中。 不得增行或删行,也不得更改程序的结构! #include 西工大C语言上机考试题库
全国计算机等级考试二级C语言真题
C语言上机题库百科园第2章!南信大!
C语言上机题库
计算机二级c语言历年真题及答案
c语言上机题库 (1)
2017年全国计算机等级考试二级C语言上机题库
c语言上机考试训练题库及答案
计算机二级c语言题库及答案
2020年全国计算机等级考试二级c语言上机精选题库(共80套)
计算机二级C语言编程题库(100题)
历年全国计算机等级考试-二级C语言上机考试题库及答案
计算机二级C语言考试编程题题库
二级C语言上机题库及答案
(完整版)历年全国计算机二级C语言题库
浙江大学C语言上机考试题库
全国计算机等级考试C语言上机考试题库 套
江西计算机省二级试题及答案_二级C语言上机题库1