二级C语言程序填空

合集下载

计算机等级考试二级C语言程序填空题(一)

计算机等级考试二级C语言程序填空题(一)

一、函数fun的功能是:不断从终端读入整数k,用变量a统计大于0的个数,用变量b来统计小于0的个数,当输入0时结束输入,并通过形参px和py把统计的数据传回主函数进行输出。

注意:部分源程序给出如下。

请勿改动函数main()和其他函数中的任何内容,仅在fun()函数的横线上填入所编写的若干表达式或语句。

试题程序:#include <stdio.h>void fun(int *px,int *py){int ________; // 【1】scanf("%d",&k);while (________) // 【2】{if (k>0) a++;else b++;________; // 【3】}*px=a; *py=b;}int main(){int x,y;fun(&x,&y);printf("x=%d,y=%d\n",x,y);return 0;}参考答案:【1】a=0,b=0,k【2】k!=0 (或k)【3】scanf("%d",&k)解析:函数中有3个局部变量,且a和b需要赋初值0,因此,【1】处填写“a=0,b=0,k”。

循环输入数据的结束条件为K==0,故【2】处填写“k!=0”。

循环中处理了输入的数据后,需要再输入下一个数据,故【3】处填写“scanf("%d",&k)”。

二.请补充main()函数,该函数的功能是:输入两个正整数num1和num2,求这两个数的最大公约和最小公倍数。

例如,若输入的两个正整数为12,24,则它们的最大公约数为12,最小公倍数为4。

注意:部分源程序给出如下。

请勿改动main()函数和其他函数中的任何内容,仅在main()函数的横线上填入所编写的若干表达式或语句。

试题程序:#include <stdio.h>int main(){int a,b,num1,num2,t;printf("\nInput two numbers:\n");scanf("%d %d",&num1,&num2);a=num1;b=num2;while (________) //【1】{t=________; //【2】a=b;b=t;}printf("Greatest common divisor:%d\n",a);printf("Least common multiple:%d\n",________); // 【3】return 0;}参考答案:【1】b!=0 【2】a%b 【3】num1*num2/a解析:采用辗转相除法求两个整数a和b的最大公约数。

计算机二级考试C语言练习题及答案

计算机二级考试C语言练习题及答案
typedefstruct{intn;charc;}REC;RECtl,t2;
structRECctREC;{intn=0;charc='A';}tl,t2;
D.struct{intn;charc;}REC;RECtl,t2;
正确答案:A 答案解析:定义结构体类型的一般形式为:StrUCt结构体名{成员列表};StrUCt结构体名后不能加〃;〃号,所以选 项B、C)错误,选项D中定义无名称的结构体类型同时定义结构体变量形式应为StrUett1,t2;选项A为用户自定义类型 ,其为正确的定义形式。
.若实体A和B是一对多的联系,实体B和C是一对一的联系,则实体A和C的联系是() A.一对一 B.一对多
C.多对一 D.多对多 正确答案:B
答案解析:由于B和C有一一对应的联系,而A和B只间有一对多的联系,则通过关系之间的传递,则A和C之间 也是一对多的联系。
.关于C语言的变量,以下叙述中错误的是() A.所谓变量是指在程序运行过程中其值可以被改变的量
B.变量所占的存储单元地址可以随时改变 C.程序中用到的所有变量都必须先定义后才能使用
D.由三条下划线构成的符号名是合法的变量名
正确答案:B
答案解析:变量是指在程序运行过程中其值可以改变的值,一个变量实质上是代表了内存中的某个存储单元。 在程序中对某个变量的操作实际上就是对这个存储单元的操作,程序运行期间,这个分配的存储单元不会改变,但 是其值可以变化。变量命名要符合标识符的规定,其中下划线是标识符的组成字符。程序中所有变量都必须先定义 后使用。
【参考答案】⑴a[i](2)a[j](3)a[j]
【考点分析】
本题考查:数组的引用;if语句条件表达式,如果表达式的值为真,则执行下面的语句,如果该值为假,财不执 行下面的语句。

3月全国计算机等级考试二级C语言上机题库(20~30套)

3月全国计算机等级考试二级C语言上机题库(20~30套)

3月全国计算机等级考试二级C语言上机题库(20~30套)考试频道小编收集整理计算机等级考试资料,免费提供给大家交流参考。

第二十一套1. 程序填空给定程序中,函数fun的功能是:在形参ss所指字符串数组中,将所有串长超过k的字符串右边的字符删去,只保留左边的k个字符。

ss所指字符串数组中共有N个字符串,且串小于M。

第一处void fun(char (*ss)[M], int k)第二处while (i第三处ss[i][k]=0;i++;}2. 程序修改给定程序MODI1.C中函数fun的功能是:根据以下公式求值,并作为函数值返回。

例如,给指定精度的变量eps输入0.0005时,应当输出Pi=30140578.。

/**found**/t=1;/**found**/return(2*s);3. 程序设计假定输入字符串中只包含字母和*号。

请编写函数fun,它的功能是:将字符串的前导*号不得多于n个;若多于n个,则删除多余的*号;若少于或等于n个,则什么也不做,字符串中间和尾部的*号不删除。

函数fun中给出的语句仅供参考。

void fun(char*a,int n){int i=0,k=0;while(a[k]= =*)k++;if(kn){i=n;j=k;for(;a[j]!=0;j++)a[i++]=a[j];a[i]=0;}}第二十二套1. 程序填空给定程序中,函数fun的功能是:a所指43矩阵中第k行的元素与第0行元素交换。

例如:有下列矩阵1 2 34 5 67 8 910 11 12若k为2,程序执行结果为7 8 94 5 61 2 310 11 12第一处void fun(int (*a)[N],int k)第二处for(i=0;i第三处a[0][i]=a[k][i];2. 程序修改给定程序MODI1.C中函数fun的功能是:读入一个字符串(长度20),将该字符串中的所有字符串按ASCII码升序排序后输出。

计算机二级C语言操作题高频考卷(四)

计算机二级C语言操作题高频考卷(四)

一、程序填空题1 [填空题]函数fun的功熊是:输出a所指数组中的前a个数据,要求每行输出5个数。

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

注意:源程序存放在考生文件夹下的BLANK1.C中。

不得增行或删行,也不得更改程序的结构!试题程序:参考解析:【参考答案】【解题思路】填空1:每行输出5个数,即当下标值能整除5时换行。

填空2:输出换行符'\n'。

填空3:输出数组元素。

二、程序修改题2 [简答题]下列给定程序中,函数fun的功能是:将s所指字符串中最后一次出现的与t1所指字符串相同的子串替换成t2所指字符串,所形成的新串放在W所指的数组中。

要求t1和t2所指字符串的长度相同。

例如,当s所指字符串中的内容为“abcdabfabc”,t1所指串中的内容为“ab”,t2所指子串中的内容为“99”时,结果在W所指的数组中的内容应为“abcdabf99c”。

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

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!试题程序:参考解析:【参考答案】【解题思路】(1)此处要判断的是值的真假,而不是地址,所以改为while( * w)。

(2)c语言中关键字区分大小写,只需运行程序,就可以根据错误提示找到。

三. 程序设计题3 [简答题]请编写函数fun,其功能是:判断t所指字符串中的字母是否由连续递增字母序列组成(字符串长度大于等于2)。

例如字符串:uvwxyz满足要求;而字符串:uvxwyz不满足要求。

注意:部分源程序存放在PROG1.C中,请勿改动主函数main和其他函数中的任何内容,仅在函数fun指定的部位填入所编写的若干语句。

试题程序:参考解析:【参考答案】【解题思路】函数fun的功能是判断指针t指向的字符串是否是由连续递增的字母构成,返回值为整数,0代表不满足条件。

根据题目要求,字符串长度必须大于等于2,所以首先需要对t指向的字符串进行长度判断,小于2的字符串返回0。

二级C语言笔试复习(填空部分)

二级C语言笔试复习(填空部分)

22. 表示 “当x取值在[1, ) 范围内时, y取值1, 否则y 取 值 -1 ” 所使用的C表达式为: x>=1&&x<sqrt(10)
y=
? 1 : -1
23.已有声明: int a; char s[80]="123456";
则执行语句: strcpy( s+4 , "123456" ); a=strlen(s); 后变量a的值是
的输出结果是
3

3.可以改变局部变量的生存期、但不能改变它的 作用域的存储类别是
static

4.C语言有效的预处理命令总是以
#
开头。
5.若有声明:
int a=15, b=20, c=25, e;
则执行语句:
e=a>b ? --c : ++c ;
后变量e的值是 26 。
6.若有声明 “ int a=5 , b=2 ; ” ,则表达式: b+=(float)(a+b)/2
运算后b的值为
5

7.若有声明 “ char s[10]= “remind ”; ”,则执行
“ puts(s+2) ; ” 后的输出结果是 mind

8.若有声明 “ double x=10 , y=5; ”,则计算xy的库
函数调用形式是 pow( x , y ) 。
9. 已知某程序中有预处理命令“#include<stdio.h>”, 为使语句 “ zx=fopen(“c:\\a.txt ” , “ r ” ); ” 能正 常执行,在该语句之前必须有声明 FILE *ZX ; 。
12.若已有定义 “ enum TP{ A, B, C }; ”,则执行

计算机二级C语言选择题及填空题

计算机二级C语言选择题及填空题

计算机二级C语言选择题及填空题下面的138道题目,在二级考试中命中率极高。

一、选择题(1) 下面叙述正确的是(C)A. 算法的执行效率与数据的存储结构无关B. 算法的空间复杂度是指算法程序中指令(或语句)的条数C. 算法的有穷性是指算法必须能在执行有限个步骤之后终止D. 以上三种描述都不对(2) 以下数据结构中不属于线性数据结构的是(C)A. 队列B. 线性表C. 二叉树D. 栈(3) 在一棵二叉树上第5层的结点数最多是(B) 注:由公式2k-1得A. 8B. 16C. 32D. 15(4) 下面描述中,符合结构化程序设计风格的是(A)A. 使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑B. 模块只有一个入口,可以有多个出口C. 注重提高程序的执行效率D. 不使用goto语句(5) 下面概念中,不属于面向对象方法的是 (D) 注:P55-58A. 对象B. 继承C. 类D. 过程调用(6) 在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是(B)A. 可行性分析B. 需求分析C. 详细设计D. 程序编码(7) 在软件开发中,下面任务不属于设计阶段的是(D)A. 数据结构设计B. 给出系统模块结构C. 定义模块算法D. 定义需求并建立系统模型(8) 数据库系统的核心是(B)A. 数据模型B. 数据库管理系统C. 软件工具D. 数据库(9) 下列叙述中正确的是(C)A.数据库是一个独立的系统,不需要操作系统的支持B.数据库设计是指设计数据库管理系统C.数据库技术的根本目标是要解决数据共享的问题D.数据库系统中,数据的物理结构必须与逻辑结构一致(10) 下列模式中,能够给出数据库物理存储结构与物理存取方法的是(A) 注:P108A. 内模式B. 外模式C. 概念模式D. 逻辑模式(11) 算法的时间复杂度是指(C)A. 执行算法程序所需要的时间B. 算法程序的长度C. 算法执行过程中所需要的基本运算次数D. 算法程序中的指令条数(12) 算法的空间复杂度是指(D)A. 算法程序的长度B. 算法程序中的指令条数C. 算法程序所占的存储空间D. 算法执行过程中所需要的存储空间(13) 设一棵完全二叉树共有699个结点,则在该二叉树中的叶子结点数为(B) 注:利用公式n=n0+n1+n2、n0=n2+1和完全二叉数的特点可求出A. 349B. 350C. 255D. 351(14) 结构化程序设计主要强调的是(B)A.程序的规模B.程序的易读性C.程序的执行效率D.程序的可移植性(15) 在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是(D) 注:即第一个阶段A. 概要设计B. 详细设计C. 可行性分析D. 需求分析(16) 数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。

全国计算机等级考试二级C语言上机考试题库及答案

全国计算机等级考试二级C语言上机考试题库及答案

第1套一、填空给定函数的功能是调用fun 函数建立班级通讯录。

通讯录记录每位学生的编号,姓名和电话号码。

班级的人数和学生的信息从键盘读入,每个人的信息作为一个数据块写到名为答案yfile5.dat的二进制文件中。

答案:1. STYPE 2. FILE3. fp二、修改先将在字符串s中的字符按正序存放到t串中,然后把s 中的字符按逆序连接到t串后面。

答案:1. for(i = 0 ; i < sl ;i++) 2. t[2*sl] =` 0`; 三、程序将两个两位数的正整数a,答案合并成一个整数放在c中。

合并的方式是:将a数的十位和个位数依次放在c数的千位和十位上,答案数的十位和个位数依次放在c数的百位和个位上。

*c=(a/10)*1000+(b/10)*100+(a%10)*10+(b%10);第2套一、填空从键盘输入若干行文本(每行不超过80个字符),写到文件答案yfile4.txt中,用-1作为字符串输入结束的标记。

然后将文件的内容读出显示在屏幕上。

文件的读写分别有自定义函数ReadText 和WriteText实现。

答案:*fw str str 二、修改从低位开始取出长整形变量s中的奇数位上的数,依次构成一个新数放在t中,高位仍放在高位,低位仍放在低位。

答案:long *t sl =sl*10;三、程序将两个两位数的正整数a,答案合并成一个整数放在c中。

合并的方式:将a数的十位和个位数依次放在c数的千位和十位上,答案数的十位和个位数依次放在c数的百位和个位上。

*c=(b/10)*1000+(a%10)*100+(b%10)*10 +(a/10);第3套一、填空将自然数1~10以及它们的平方根写到名为答案yfile3txt的文本文档中,然后再顺序读出显示在屏幕上。

答案:(1)fp (2)fclose(fp)(3)fname二、修改将n个无序整数从小到大排序。

答案:for(i=j+1;i<n;i++)p=i;三、程序将两个两位数的正整数a,答案合并成一个整数放在c中。

计算机二级 C语言部分

计算机二级 C语言部分

C语言部分(2010秋)一、选择题(用答题卡答题,答案依次填在21~30答题号内,共10分)21.以下关于C源程序的叙述中,正确的是(21) 。

A.注释只能出现在程序的开始位置或语句后面B.一行中不能写多条语句C.一条语句可以分写在多行中D.一个源程序只能保存在一个文件中22.C源程序中的命令#include与#define是在(22) 阶段被处理的。

A.预处理B.编译C.连接D.执行23.以下语句中有语法错误的是(23) 。

A.printf("%d",0xAB); B.printf("%f",3.45E2.5);C.printf("%d",037); D.printf("%c", '\\');24.已有声明“int x=5,y;float z=2;”,以下表达式中语法正确的是(24) 。

A.y=x%z B.x>0?y=x:y=-xC.y=x/2=z D.y=x=z /225.已知字母A的ASCII码是65,字母a的ASCII码是97,变量c中存储了一个大写字母的编码。

若要求将c中大写字母编码转换成对应小写字母编码,则以下表达式中不能实现该功能的是(25) 。

A.c=tolower(c) B.c=c+32C.c=c-'A'+ 'a' D.c=(c+'A')%26-'a'26.一元二次方程ax2+bx+c=0有两个相异实根的条件是a≠0且b2-4ac>0,以下选项中能正确表示该条件的C语言表达式是(26) 。

A.a!=0,b*b-4*a*c>0 B.a!=0 || b*b-4*a*c>0C.a&&b*b-4*a*c>0 D.!a&&b*b-4*a*c>027.以下关于break和continue语句的叙述中正确的是(27) 。

计算机二级C语言填空题答案

计算机二级C语言填空题答案
第1处填空:I 第2处填空:j
第3处填空:aa,&n
21、给定程序中,函数fun的功能是:将s所指字符串中的所有数字字符移到所有非数字字符之后,并保持数字字符串和非数字字符串原有的先后次序。
第1处填空:j++或++j或j+=1或j=j+1
第2处填空:s[i]=t1[i] 第3处填空:j
22、给定程序中,函数fun的功能是:在形参s所指字符串中的每个数字字符之后插入一个*号。
第3处填空:n%i==0或!(n%i)或0==n%i
14、请补充fun函数,该函数的功能是:依次取出字符串中所有小写字母,形成新的字符串,并取代原字符串。
第1处填空:*p或*p!='\0'或*p!=0
第2处填空:i++或++i或i+=1或i=i+1
第3处填空:'\0'或0
15、给定程序的功能是判断字符ch是否与串str中的某个字符相同;若相同,什么也不作,若不同,则插在串的最后。
第3处填空:max=c
11、给定程序中,函数fun的功能是:把形参s所指字符串中下标为奇数的字符右移到下一个奇数位置,最右边被移出字符串的字符绕回放到第一个奇数位置,下标为偶数的字符不动(注:字符串的长度大于等于2)。
第1处:1 第2处:s[k]或*(s+k)
第3处:c
12、请补充fun函数,该函数的功能是将字符串tt中的大写字母都改为对应的小写字母,其他字符不变。
第1处填空:!= 第2处填空:str[1]或*(str+1)
第3处填空:s,c
16、请补充fun函数,该函数的功能是:判断一个年份是否为闰年。

NCRE题库二级C语言

NCRE题库二级C语言

第1套上机操作题一、程序填空题【微答案】(1) 0 (2) i++或++i或i+=1或i=i+1 (3)2.0*i【微分析】填空1:循环变量1从开始参加运算,但是在每次循环的开始i都进行自加1操作,故i应赋初值为0。

填空2:循环变量i自增1运算。

填空3:根据公式确定表达式通项。

注意x为double类型,故应将i变为double类型再进行运算。

二、程序修改题【微答案】(1)void fun ( char *s , char *t )(2)t[2*d]='\0';或t[d+i]='\0';或t[2*d]=0;或t[d+i]=0;【微分析】(1)从调用函数来看,函数传递的是数组,所以函数的形参应为指针。

(2) 循环结束后回文字符的个数为2*d个,因为数组下标是从0开始的,所以最后一个字符的下标为2*d-1,在最后一个字符的后面加上结束符'\0',因此为t[2*d]='\0';。

三、程序设计题【微答案】void fun(char *s, char t[]){int i,j=0,n;n=strlen(s);for(i=0;i<n;i++)if(i%2!=0&&s[i]%2!=0){t[j]=s[i]; /*将下标为奇数同时ASCII码值为奇数的字符放入数组t中*/ j++;}t[j]='\0'; /*最后加上结束标识符*/}【微分析】本题要求除了下标为奇数同时ASCII码值也为奇数的字符之外,其余的所有字符都删除。

即要留下下标为奇数同时ASCII码值也为奇数的字符。

所以if的条件语句中应使用if(i%2!=0&&s[i]%2!=0)。

第2套上机操作题一、程序填空题【微答案】(1)t=i (2) i (3) '\0'或0【微分析】本题中第一个for循环的作用是得到字符串的长度,第二个for循环的作用是对下标为奇数的字符按ASCII码大小排序,最后将排好序的字符取出。

二级C语言等级考试程序填空题题库

二级C语言等级考试程序填空题题库

程序填空题一1. 下面C语言程序将两个递增有序的数值a和b 合并一个数组c,并保持递增次序,最后输出数组c.#include < stodio.h>#define M6#define N5main( ){int a[M]={1,3,5,7,9,11} b[N]={2,4,6,8,10}int c[M+N]int i ,j, k;i=j=k=0while( 1 )if a[i]<b[j]c[k++]=a[i++];else c[k++]=b[j++];while( 2 )c[k++]=a[i++];while(j<N)c[k++]=( 3 )for(k=0;k<( 4 );k[++])printf(%dxt,c[k]; )其中(1)(2)(3)(4)处分别填一数据,使程序达到其功能。

答案:1:i<M&&j<N2:i<M;3:b[j++];4:M+N2.下面h函数的功能是计算如下数学函数H的值。

请填空。

double fgh(double(*f)(double a),double (* g)(double b),double x,double y){return(【1】);}double h(double a,double b)return(fgh(sin,cos,a,b)* fgh(【2】));}解:(1)(*f)(x+y)/(*g)(y-x)(2)cos,sin,a,b[解析]本题考察的是函数的声明。

要填写的两个空都出现在return语句中,所以要仔细分析函数的返回值。

本题的第二个空相对要容易一些,只要根据题干和乘号前面的调用语句对比一下即可得到调用语句的四个参数。

第一个空相对要难一些,函数fgh定义时用到了函数指针(*f)和(*g)是为了增加函数的灵活性。

根据函数h的定义以及题干要求,可以看出函数fgh应该表示的是乘号两边的某一项。

国家二级(C语言)机试模拟试卷29(题后含答案及解析)

国家二级(C语言)机试模拟试卷29(题后含答案及解析)

国家二级(C语言)机试模拟试卷29(题后含答案及解析)题型有:1. 选择题 2. 程序填空题 3. 程序修改题 4. 程序设计题选择题1.设栈的顺序存储空间为S(0:49),栈底指针bottom=49,栈顶指针top=30(指向栈顶元素)。

则栈中的元素个数为A.30B.29C.20D.19正确答案:C解析:栈是一种特殊的线性表,它所有的插入与删除都限定在表的同一端进行。

入栈运算即在栈顶位置插入一个新元素,退栈运算即是取出栈顶元素赋予指定变量。

元素依次存储在单元30:49中,个数为20.2.某二叉树的前序序列为ABCDEFG,中序序列为DCBAEFG,则该二叉树的深度(根结点在第1层)为A.2B.3C.4D.5正确答案:C解析:深度,定义一棵树的根节点所在的层次为1,其他节点所在的层次等于它的父节点所在的层次加1,树的最大层次称为树的深度。

二叉树遍历可以分为3种:前序遍历(访问根节点再访问左子树和访问右子树之前)、中序遍历(访问根节点在访问左子树和访问右子树两者之间)、后序遍历(访问根节点在访问左子树和访问右子树之后)。

二叉树的前序序列为ABCDEFG,A为根节点。

中序序列为DCBAEFG,可知DCB为左子树节点,EFG为右子树节点。

同理B为C父节点,C为D父节点。

同理E为F根节点,F为G根节点。

故二叉树深度为4层。

C选项正确。

3.下列叙述中正确的是A.存储空间连续的数据结构一定是线性结构B.存储空间不连续的数据结构一定是非线性结构C.没有根结点的非空数据结构一定是线性结构D.具有两个根结点的数据结构一定是非线性结构正确答案:D解析:一个非空的数据结构如果满足以下两个条件:有且只有一个根节点;每一个节点最多有一个前件,也最多有一个后件,称为线性结构,也称为线性表,可以采用顺序存储和链接存储,其中顺序存储的空间连续而链式存储空间不连续。

非线性结构是指不满足以上两个条件的数据结构,非线性结构主要是指树形结构和网状结构。

2019年全国计算机等级考试二级C语言程序设计模拟试题及答案(一)

2019年全国计算机等级考试二级C语言程序设计模拟试题及答案(一)

2019年全国计算机等级考试二级C语言程序设计模拟试题及答案(一)一、选择题(1)在32位计算机中,一个字长所占的字节数为______。

A) 1 B) 2 C) 4 D) 8(2)与十进制511等值的十六进制数为______。

A) 1FF B) 2FF C) 1FE D) 2FE(3)能将高级语言编写的源程序转换成目标程序的是______。

A) 编辑程序 B) 编译程序 C) 解释程序 D) 链接程序(4)在计算机系统中,存储一个汉字的国标码所需要的字节数为______。

A) 1 B) 2 C) 3 D) 4(5)下列带有通配符的文件名,能表示文件ABC.TXT的是______。

A) *BC.? B) A?.* C) ?BC.* D) ?.?(6)在多媒体计算机系统中,不能用以存储多媒体信息的是______。

A) 光缆 B) 软盘 C) 硬盘 D) 光盘(7)DOS命令“COPY/?”的功能是______。

A) 将当前盘当前目录中的所有文件复制到当前盘的根目录下B) 将当前盘当前目录中所有以单个字符命名的文件复制到当前盘的根目录下C) 以提示方式复制文件D) 显示COPY命令的帮助信息(8)在Windows环境下,若要将当前活动窗口存入剪贴板,则可以按______。

A) Ctrl+PrintScreen键B) Shift+PrintScreen键C) PrintScreen键D) Alt+PrintScreen键(9)在Windows环境下,单击当前应用程序窗口的“关闭”按钮,其功能是______。

A) 将当前应用程序转为后台运行B) 退出Windows后再关机C) 退出Windows后重新启动计算机D) 终止当前应用程序的运行(10)在Windows环境下,粘贴快捷键是______。

A) Ctrl+Z B) Ctrl+X C) Ctrl+C D) Ctrl+V(11)以下叙述中正确的是______。

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

【3.1】下面程序的功能是不用第三个变量,实现两个数的对调操作。

#includemain(){ int a,b;scanf("%d%d",&a,&b);printf("a=%d,b=%d\n",a,b);a= ① ;b= ② ;a= ③ ;printf("a=%d,b=%d\n",a,b);}【3.2】下面程序的功能是根据近似公式:π2/6≈ 1/12+1/22+1/32+ …… +1/n2,求π值。

#includedouble pi(long n){ double s=0.0;long i;for(i=1;i<=n;i++)s=s+ ① ;return( ② );}【3.3】下面的程序的功能是求一维数组中的最小元素。

findmin(int *s,int t,int *k){ int p;for(p=0,*k=p;pif(s[p]① ;}main(){ int a[10],i,*k=&i;for(i=0;i<10;i++)scanf("%d",&a[i]);findmin(a,10,k);printf("%d,%d\n",*k,a[*k]);}【3.4】下面程序的功能是计算1-3+5-7+ …… -99+101的值。

main(){ int i,t=1,s=0;for(i=1;i<=101;i+=2){ ① ;s=s+t;② ;}printf("%d\n",s);}【3.5】有以下程序段:s=1.0;for(k=1;k<=n;k++)s=s+1.0/(k*(k+1));printf("%f\n",s);填空完成下述程序,使之与上述程序的功能完全相同。

s=0.0;① ;k=0;do{ s=s+d;② ;d=1.0/(k*(k+1));}while( ③ );printf("%f\n",s);【3.6】下面程序的功能是从键盘上输入若干学生的学习成绩,统计并输出最高成绩和最低成绩,当输入为负数时结束输入。

main(){ float x,amax,amin;scanf("%f",&x);amax=x;amin=x;while( ① ){ if(x>amax) amax=x;if( ② ) amin=x;scanf("%f",&x);}printf("\namax=%f\namin=%f\n",amax,amin);}【3.7】下面程序的功能是将形参x的值转换为二进制数,所得的二进制数放在一个一维数组中返回,二进制数的最低位放在下标为0的元素中。

fun(int x,int b[])do{ r=x% ① ;b[k++]=r;x/= ② ;}while(x);}【3.8】下面程序的功能是输出1到100之间每位数的乘积大于每位数的和的数。

例如数字26,数位上数字的乘积12大于数字之和8。

main(){ int n,k=1,s=0,m;for(n=1;n<=100;n++){ k=1;s=0;① ;while( ② ){ k*=m;s+=m;③ ;}if(k>s)printf("%d",n);}}【3.9】下面程序的功能是统计用0至9之间的不同的数字组成的三位数的个数。

main(){ int i,j,k,count=0;for(i=1;i<=9;i++)for(j=0;j<=9;j++)if( ① ) continue;else for(k=0;k<=9;k++)if( ② ) count++;printf("%d",count);}【3.10】下面程序的功能是输出100以内的个位数为6、且能被3整除的所有数。

main(){ int i,j;for(i=0;① ;i++)if( ② ) countinue;printf("%d",j);}}【3.11】下面程序的功能是用辗转相除法求两个正整数m和n的最大公约数。

hcf(int m,int n){ int r;if(m{ r=m;① ;n=r;}r=m%n;while( ② ){ m=n;n=r;r=m%n;}③ ;}【3.12】下面程序的功能是使用冒泡法对输入的10个浮点数从小到大进行排序。

排好序的10个数分两行输出。

程序如下:#includemain(){ ① ;int i,j;printf("Input 10 numbers please\n");for(i=0;② ;i++ )scanf("%f", &a[i]);printf("\n");for(i=2;③ ;i++ )for(j=0;④ ;j++ )if( ⑤ ){ x=a[j];⑥ ;a[j+1]=x;}printf("The sorted 10 numbers;\n");for(i=0;⑦ ;i++ ){ if( ⑧ )printf("\n");printf("%f\t",a[i]);}printf("\n");}【3.13】下面程序的功能是读入20个整数,统计非负数个数,并计算非负数之和。

#include "stdio.h"main(){ int i,a[20],s,count;s=count=0;for(i=0;i<20;i++ )scanf("%d", ① );for(i=0;i<20;i++){ if(a[i]<0)② ;s+=a[i];count++;}printf("s=%d\t count=%d\n",s,count);}【3.14】下面程序的功能是删除字符串s中的空格。

#includemain(){ char *s="Beijing ligong daxue";int i,j;for(i=j=0;s[i]!='\0';i++)if(s[i]!= ' ') ① ;else ② ;s[j]= '\0';printf("%s",s);}【3.15】下面程序的功能是将字符串s中所有的字符'c'删除。

请选择填空。

#includemain( ){ char s[80];int i,j;gets(s);for(i=j=0;s[i]!= '\0';i++ )if(s[i]!= 'c') ① ;s[j]= '\0';puts(s);}【3.16】下面程序的功能是输出两个字符串中对应相等的字符。

请选择填空。

#includechar x[]="programming";char y[]="Fortran";main(){ int i=0;while(x[i]!= '\0' && y[i]!= '\0')if(x[i]==y[i])printf("%c", ① );elsei++;}【3.17】下面程序的功能是将字符串s中的每个字符按升序的规则插到数组a中, 字符串a 已排好序。

#includemain(){ char a[20]="cehiknqtw";char s[]="fbla";int i,k,j;for(k=0;s[k]!= '\0';k++ ){ j=0;while(s[k]>=a[j] && a[j]!= '\0' )j++;for( ① )② ;a[j]=s[k];}puts(a);}【3.18】下面程序的功能是对键盘输入的两个字符串进行比较,然后输出两个字符串中第一个不相同字符的ASCII码之差。

例如:输入的两个字符串分别为"abcdefg"和"abceef",则输出为-1。

#includemain(){ char str1[100],str2[100],c;int i,s;printf("Enter string 1: "); gets(str1);printf("Enter string 2: "); gets(str2);i=0;while((str1[i] == str2[i] && str1[i]!= ① ))i++;s= ② ;printf("%d\n", s);}【3.19】下面的函数expand在将字符串s复制到字符串t时,将其中的换行符和制表符转换为可见的转义字符表示,即用'\n'表示换行符,用'\t'表示制表符。

expand(char s[],char t[]){ int i,j;for(i=j=0;s[i]!= '\0';i++ )switch (s[i]){ case '\n': t[ ① ] = ② ;t[j++] = 'n';break;case '\t': t[ ③ ] = ④ ;t[j++] = 't';break;default: t[ ⑤ ] = s[i];break;}t[j] = ⑥ ;}【3.20】下面的函数index(char s[], char t[])检查字符串s中是否包含字符串t,若包含,则返回t在s中的开始位置(下标值),否则送回-1。

index(char s[], char t[]){ int i,j,k;for(i=0;s[i]!= '\0';i++ ){ for(j=i,k=0;① && s[j]==t[k];j++,k++) ;if( ② )return (i);}return(-1);}n【3.21】下面程序的功能是计算S= k! 。

k=0long fun(int n){ int i;long s;for(i=1;i ① ;i++)s*=i;ret urn( ② );}main(){ int k,n;long s;scanf("%d",&n);s= ③ ;for(k=0;k<=n;k++)s+= ④ ;printf("%ld\n",s);}【3.22】下面程序的功能是显示具有n个元素的数组s中的最大元素。

相关文档
最新文档