二级C语言等级考试程序填空题题库
计算机二级c语言考前模拟二

第一部分:C语言程序设计试卷(共100分)一、填空题(每题1分,共10分)1、若已知a=20,b=l0,则表达式!a>b的值为( )。
2、为表示关系x大于等于y并且大于等于z,应使用的C语言表达式是()。
3、有以下程序main( ){int x=102,y=012;printf(“%2d,%2d ”,x,y);}执行后输出结果是()。
4、已知大写字母A的ASCII码是65,小写字母a的ASCII码是97,则用八进制表示的字符常量'\101'是( )。
5、有以下程序main( ){ char A[]=”abcdefg”,B[10]=”abcdefg”;printf(“%d %d ”,sizeof(A) ,sizeof(B) );}执行后输出结果是()。
6、以下程序运行时若从键盘输入:B33<回车>,则输出结果是( )。
#include <stdio.h>main(){char a,b;a=getchar();scanf("%d",&b);a=a-'a'+31;b=b*2;printf("%d %c\n",a,b);}7、以下程序运行后的输出结果是( )。
main(){ int x=10,y=20,t=0;if(x==y) t=x;x=y;y=t;printf("%d,%d\n",x,y);}8、以下程序的输出结果是( )。
main(){int arr[]={30,25,20,15,10,5},*p=arr;p++;printf("%d\n",*(p+3));}9、下列程序段的输出结果是( )。
main(){char b[]="Hello you";b[5]=0;printf("%s\n",b);}10、用以下语句调用库函数malloc,使字符指针st指向具有11个字节的动态存储空间,请填空。
计算机二级C语言程序填空题练习题

计算机二级C语言程序填空题练习题计算机二级C语言程序填空题练习题导语:为帮助同学们更好更有准备地复习计算机二级C语言,店铺整理了计算机二级C语言程序填空题练习题,一起来测试一下吧:程序填空题下列给定程序中,函数fun的功能是:把形参a所指数组中的最小值放在元素a[o]中,接着把a_所指数组中的最大值放在a[1]元素中;再把a所指数组元素中的次小值放在a[2]中,把a所指数组元素中的次大值放在a[3],以此类推。
例如,若a所指数组中的数据最初排列为:9、1…4 2 3、6、5、8、7;则按规则移动后,数据排列为:1、9.2、8:3、7、4、6、5。
形参13.中存放a所指数组中数据的个数。
‘规定fum函数中的'max存放当前所找的最大值,px存放当前所找最大值的下标。
请在程序的下划线处填人正确的内容并将下划线删除,使程序得出正确的结果。
注意:部分源程序在文件BLANKl.C中。
不得增行或删行,也不得更改程序的结构!【参考答案】(1)a[i](2)a[j](3)a[j]【考点分析】本题考查:数组的引用;if语句条件表达式,如果表达式的值为真,则执行下面的语句,如果该值为假,财不执行下面的语句。
【解题思路】填空1:for循环语句循环体中将数组元素a[i]赋值给变量max和变量rain。
填空2:通过一次for循环,找到数组中的最大值,if语句的条件表达式是mu< P>填空3:同理,此处if语句的条件表达式是min>a[j]。
【解题宝典】求最大值或者最小值的题目,一般都是假设一个元素最大或最小,然后通过if条件语句将该元素和其他元素进行比较操作来完成。
【计算机二级C语言程序填空题练习题】。
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、double a[1][4]; D、float a(3)(4)
18、若已定义char s[10];在下面表达式中不能表示s[1]的地址的是(B )。 (2分)
A、s+1 B、s++
C、&s[0]+1 D、&s[1]
本卷共有4道大
一、单项选择题(25道小题,共50分)
1、以下说法中正确的是(C)(2分)
A、C语言程序总是从第一个的函数开始执行 B、在C语言程序中,要调用的函数必须在main()函数中定义
C、C语言程序总是从main()函数开始执行 D、C语言程序中的main()函数必须放在程序的开始部分
7、x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是 (B)(2分)
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);
C、p+=3,*p++ D、p+=2,++*p
24、设有说明语句“struct stu{ int a; float b;}stutype;”,则叙述不正确的是(C )(2分)
A、struct是结构体类型的关键字。 B、struct stu是用定义的结构体变量名。 D、a和b都是结构体变量。
38、c语言中( D )。(2分)
A、不能使用do-while语句构成的循环
二级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 }; ”,则执行
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语言题库
计算机二级C语言题库包括以下题目:
1. 选择题
(1)为了避免流程图在描述程序逻辑时的灵活性,提出了用方框图来代替传统的程序流程图,通常也把这种图称为:
A. PAD图
B. N-S图
C. 结构图
D. 数据流图
(2)结构化程序设计主要强调的是:
A. 程序的。
2. 填空题
【】si【】9【】t=n
改错题:【】t=x;x=y;【】return t;
【】t=i【】i【】0
改错题:【】while(fabs(t)=num)【】t=s。
以上只是部分题目的示例,完整的计算机二级C语言题库会包含更多题目,包括选择题、填空题、改错题等各类题型。
您可以通过考试培训网站或教育类网站获取计算机二级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中。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
程序填空题一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应该表示的是乘号两边的某一项。
(*f)和(*g)用来表示sin或cos,参数x和y的加减法运算作为sin或cos函数的参数,故应填写(*f)(x+y)/ (*g)(y-x)。
3.下面程序的作用是将以下给出的字符按其格式读入数组ss中,然后输出行、列号之和为3的数组元素,请在____处填入正确内容。
A a fc B de b cg f Dmain(){static char ss[4][3]={'A','a','f','c','B','d','e','b','C','g','f','D'};int x,y,z;for(x=0;【1】;x++)for(y=0;【2】;y++){z=x+y;if(【3】)printf("%c\n",ss[x][y]);}}解:(1)x<4(2)y<3(3)z==3[解析]本题应用穷举法找到满足要求的值。
第一个空:变量x为行数所以是x<4;第二个空:变量y为列数所以是y<3;第三个空:判断x+y是否为3所以是z==3。
4.下面程序的作用是将以下给出的字符按其格式读入数组ss中,然后输出行、列号之和为3的数组元素,请在____处填入正确内容。
A a fc B de b cg f Dmain(){static char ss[4][3]={'A','a','f','c','B','d','e','b','C','g','f','D'};int x,y,z;for(x=0;【1】;x++)for(y=0;【2】;y++){z=x+y;if(【3】)printf("%c\n",ss[x][y]);}1}解:(1)x<4(2)y<3(3)z==3[解析]本题应用穷举法找到满足要求的值。
第一个空:变量x为行数所以是x<4;第二个空:变量y为列数所以是y<3;第三个空:判断x+y是否为3所以是z==3。
程序填空题二【3.1】下面程序的功能是不用第三个变量,实现两个数的对调操作。
#include <stdio.h>main(){ 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);}答案: ① a+b ② a-b ③ a-b 或者① a^b ② b^a ③ a^b【3.2】下面程序的功能是根据近似公式:π2/6≈ 1/12+1/22+1/32+ …… +1/n2,求π值。
#include <math.h> /*数学函数数包含在头函数math.h 中*/double pi(long n){ double s=0.0;long i;for(i=1;i<=n;i++)s=s+ ①;return( ② );}答案:① 1.0/(float)(i*i) ② sqrt(6*s) /* sqrt()是求平方根函数*/【 3.3】下面程序的功能是计算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);}答案:① t=t*i ② t=t>0?-1:1【3.4】下面程序的功能是从键盘上输入若干学生的学习成绩,统计并输出最高成绩和最低成绩,当输入为负数时结束输入。
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,ami n);}答案: ① x>=0 ② x<amin【3.5】下面程序的功能是将形参x的值转换为二进制数,所得的二进制数放在一个一维数组中返回,二进制数的最低位放在下标为0的元素中。
fun(int x,int b[]){ int k=0,r;do{ r=x% ①;b[k++]=r;x/= ②;}while(x);}答案: ① 2 ② 2【3.6】下面程序的功能是输出100以内的个位数为6、且能被3整除的所有数。
main(){ int i,j;for(i=0;①;i++){ j=i*10+6;if( ② ) countinue;2printf("%d",j);}}答案:① i<=9 ② j%3!=0说明:100以内的个位数为6的数有10个,即6、16、26、36、46、56、66、76、86、96【3.7】下面程序的功能是用辗转相除法求两个正整数m和n的最大公约数。
hcf(int m,int n){ int r;if(m<n){ r=m;①;n=r;}r=m%n;while( ② ){ m=n;n=r;r=m%n;}③;}答案:① m=n ② r!=0 ③ return(n)【3.8】下面程序的功能是使用冒泡法对输入的10个浮点数从小到大进行排序。
排好序的10个数分两行输出。
程序如下:#include <stdio.h>main(){ ①;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");}答案:① float a[10],x ② i<=9 ③ i<=8 ④ j<=9-i⑤ a[j]>a[j+1] ⑥ a[j]=a[j+1] ⑦ i<=9 ⑧i%5==0【3.9】下面程序的功能是读入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);}答案:① &a[i] ② continue注释:①是基本概念,使用scanf函数输入数组元素的值。
当输入的元素值小于0时,应当跳过后面的语句,取下一个数,所以②要填入continue。
【3.10】下面程序的功能是删除字符串s中的空格。
#include <stdio.h>main(){ 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);}答案:① s[j++]=s[i] ② s[j]=s[i]【3.11】下面程序的功能是将字符串s中所有3的字符'c'删除。
请选择填空。
#include<stdio.h>main( ){ 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);}答案:① s[j++]=s[i]【3.12】下面程序的功能是输出两个字符串中对应相等的字符。