收藏 分销(赏)

二级c语言套题-答案(四).doc

上传人:仙人****88 文档编号:9451326 上传时间:2025-03-26 格式:DOC 页数:18 大小:55.50KB 下载积分:10 金币
下载 相关 举报
二级c语言套题-答案(四).doc_第1页
第1页 / 共18页
二级c语言套题-答案(四).doc_第2页
第2页 / 共18页


点击查看更多>>
资源描述
━━━━━━━━━━━━━━━ 一、填空 共10题 (共计10分) ━━━━━━━━━━━━━━━ 第1题 (1.0分) 已知:int i=8,j=10,m,n;m=++i;n=j++;问语句执行后m=【1】,n=【2】。 答案: =======(答案1)======= 9 =======(答案2)======= 10 第2题 (1.0分) C语言中一个函数由函数首部和【1】两部分组成. 答案: =======(答案1)======= 函数体 第3题 (1.0分) 若在程序中用到"strlen()"函数时,应在程序开头写上包含命令# include "【1】". 答案: =======(答案1)======= string.h 第4题 (1.0分) 从函数的形式上看,函数分为无参函数和【1】两种类型. 答案: =======(答案1)======= 有参函数 第5题 (1.0分) 若输入字符串:abcde<回车>,则以下while循环体将执行 【1】 次.While((ch=getchar())=='e') printf("*"); 答案: =======(答案1)======= 0 第6题 (1.0分) C语言把文件看作是一个【1】的序列. 答案: =======(答案1)======= 字符 =========或========= 字节 第7题 (1.0分) 已知 a=10,b=15,c=1,d=2,e=0,则表达式!a<e的值为【1】. 答案: =======(答案1)======= 0 第8题 (1.0分) C语言源程序的基本单位是【1】. 答案: =======(答案1)======= 函数 第9题 (1.0分) int x=2;z=x++-1; 则x的值为【1】. 答案: =======(答案1)======= 3 第10题 (1.0分) 在c语言中,格式输入操作是由库函数在C语言中,格式输入操作是由库函数【1】完成的,格式输出操作是由库函数【2】完成的. 答案: =======(答案1)======= scanf =======(答案2)======= printf ━━━━━━━━━━━━━━━ 二、判断 共10题 (共计10分) ━━━━━━━━━━━━━━━ 第1题 (1.0分) 如果被调用函数的定义出现在主调函数之前,可以不必加以声明. 答案:Y 第2题 (1.0分) 逻辑表达式-5&&!8的值为1. 答案:N 第3题 (1.0分) while和do…while循环不论什么条件下它们的结果都是相同的. 答案:N 第4题 (1.0分) C语言所有函数都是外部函数. 答案:N 第5题 (1.0分) 若i =3,则printf("%d",-i++);输出的值为 -4。 答案:N 第6题 (1.0分) 若有说明int c;则while(c=getchar());是正确的C语句。 答案:Y 第7题 (1.0分) 在程序中定义了一个结构体类型后,可以多次用它来定义具有 该类型的变量。 答案:Y 第8题 (1.0分) C语言中"%"运算符的运算对象必须是整型. 答案:Y 第9题 (1.0分) 在C 语言中,此定义和语句是合法的: enum aa{ a=5,b,c}bb;bb=(enum aa)5; 答案:Y 第10题 (1.0分) #define 和printf 都不是C语句。 答案:Y ━━━━━━━━━━━━━━━━━ 三、单项选择 共30题 (共计30分) ━━━━━━━━━━━━━━━━━ 第1题 (1.0分) 下列( )表达式的值为真,其中a=5;b=8;c=10;d=0 A:a*2>8+2 B:a&&d C:(a*2-c)||d D:a-b<c*d 答案:D 第2题 (1.0分) 若变量已正确定义,执行语句scanf("%d,%d,%d ",&k1,&k2,&k3);时,___是正确的输入 A:2030,40 B:20 30 40 C:20, 30 40 D:20,30,40 答案:D 第3题 (1.0分) 从循环体内某一层跳出,继续执行循环外的语句是 A:break语句 B:return语句 C:continue语句 D:空语句 答案:A 第4题 (1.0分) C语言源程序名的后缀是 A:exe B:c C:obj D:cp 答案:B 第5题 (1.0分) 在一个C源程序文件中,若要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需要使用的存储类型是 A:extern B:register C:auto D:static 答案:D 第6题 (1.0分) C语言源程序文件经过C编译程序编译后生成的目标文件的后缀为 A:.c B:.obj C:.exe D:.bas 答案:B 第7题 (1.0分) C语言的if语句中,用作判断的表达式为 A:任意表达式 B:逻辑表达式 C:关系表达式 D:算术表达式 答案:A 第8题 (1.0分) 能正确表示逻辑关系:" a≥10或a≤0 "的C语言表达式是 A:a>=10 or a<=0 B:a>=0 | a<=10 C:a>=10 && a<=0 D:a>=10 || a<=0 答案:D 第9题 (1.0分) C语言源程序文件经过C编译程序编译连接之后生成一个后缀为()的可执行文件 A:.c B:.obj C:.exe D:.bas 答案:C 第10题 (1.0分) 下列数据中属于"字符串常量"的是 A:ABC B:"ABC" C:'ABC' D:'A' 答案:B 第11题 (1.0分) 以下程序段的输出结果是()。 char *alp[]={"ABC","DEF","GHI"}; int j; puts(alp[1]); A:A B:B C:D D:DEF 答案:D 第12题 (1.0分) 以下叙述不正确的是()。 A:一个C源程序可由一个或多个函数组成 B:一个C源程序必须包含一个main函数 C:C程序的基本组成单位是函数 D:在C程序中,注释说明只能位于一条语句的后面 答案:D 第13题 (1.0分) 设有以下语句, 若0<k<4,下列选项中对字符串的非法引用是()。 char str[4][2]={"aaa","bbb","ccc","ddd"},*strp[4]; int j; for (j=0;j<4;j++) strp[j]=str[j]; A:strp B:str[k] C:strp[k] D:*strp 答案:A 第14题 (1.0分) 执行以下程序段后,输出结果和a的值是()。int a=10;printf("%d",a++); A:10 和 10 B:10 和 11 C:11 和 10 D:11 和 11 答案:B 第15题 (1.0分) 设C语言中,一个int型数据在内存中占2个字节,则unsigned int 型数据的取值范围为()。 A:0--255 B:0--32767 C:0--65535 D:0--2147483647 答案:C 第16题 (1.0分) 以下程序的运行结果是()。 main() { int i=1,sum=0; while(i<10) sum=sum+1;i++; printf("i=%d,sum=%d",i,sum); } A:i=10,sum=9 B:i=9,sum=9 C:i=2,sum=1 D:运行出现错误 答案:D 第17题 (1.0分) 若有定义:int aa[ 8];则以下表达式中不能代表数组元aa[1]的 地址的是()。 A:&aa[0]+1 B:&aa[1] C:&aa[0]++ D:aa+1 答案:C 第18题 (1.0分) 以下语句中,不能实现回车换行的是()。 A:printf("\n"); B:putchar("\n"); C:fprintf(stdout,"\n"); D:fwrite("\n",1,1,stdout); 答案:B 第19题 (1.0分) 若有int *p=(int *)malloc(sizeof(int));则向内存申请到内存 空间存入整数123的语句为()。 A:scanf("%d",p); B:scanf("%d",&p); C:scanf("%d",*p); D:scanf("%d",**p); 答案:A 第20题 (1.0分) 设j和k都是int类型,则下面的for循环语句()。 for(j=0,k=0;j<=9&&k!=876;j++) scanf("%d",&k); A:最多执行10次 B:最多执行9次 C:是无限循环 D:循环体一次也不执行 答案:A 第21题 (1.0分) 已知字符'A'的ASCⅡ代码值是65,字符变量c1的值是'A',c2的值是'D'.执行语句printf("%d,%d",c1,c2-2);后,输出结果是 A:A,B B:A,68 C:65,66 D:65,68 答案:C 第22题 (1.0分) 若有如下定义和语句,且0<=i<5,下面( )是对数值为3数组元素的引用 int a[]={1,2,3,4,5},*p,i; p=a; A:*(a+2) B:a[p-3] C:p+2 D:a+3 答案:A 第23题 (1.0分) 若int a=3,则执行完表达式a-=a+=a*a后,a的值是 A:-15 B:-9 C:-3 D:0 答案:D 第24题 (1.0分) 若有定义int a[10],*p=a;,则p+5表示 A:元素a[5]的地址 B:元素a[5]的值 C:元素a[6]的地址 D:元素a[6]的值 答案:A 第25题 (1.0分) 若有以下定义和语句: int a[10]={1,2,3,4,5,6,7,8,9,10}, *p=a; 不能表示a数组元素的表达式是 A:*p B:a[9] C:*p++ D:a[*p-a] 答案:D 第26题 (1.0分) 对于定义,char *aa[2]={"abcd","ABCD"},选项中说法正确的是 A:aa数组元素的值分别是"abcd"和"ABCD" B:aa是指针变量,它指向含有两个数组元素的字符型一维数组 C:aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址 D:aa数组的两个元素中各自存放了字符'a'和'A'的地址 答案:D 第27题 (1.0分) int (*p)[6]; 它的含义为()。 A:具有6个元素的一维数组 B:定义了一个指向具有6个元素的一维数组的指针变量 C:指向整型指针变量 D:指向6个整数中的一个的地址 答案:B 第28题 (1.0分) 下列语句的结果是()。 main() { int j; j=3; printf("%d,",++j); printf("%d",j++); } A:3,3 B:3,4 C:4,3 D:4,4 答案:D 第29题 (1.0分) 若有以下定义:char s='\092'; 则该语句()。 A:使s的值包含1个字符 B:定义不合法,s的值不确定 C:使s的值包含4个字符 D:使s的值包含3个字符 答案:B 第30题 (1.0分) 在C语言中,形参的缺省存储类是()。 A:auto B:register C:static D:extern 答案:A ━━━━━━━━━━━━━━━━ 四、程序填空 共2题 (共计20分) ━━━━━━━━━━━━━━━━ 第1题 (10.0分) /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能:在歌星大奖赛中,有10个评委为参赛的选手打分,分数为 1~100分。选手最后得分为:去掉一个最高分和一个最低分 后其余8个分数的平均值。请编写一个程序实现。 -------------------------------------------------------*/ #include<stdio.h> void main() { int score,i,max,min,sum; max=-32768; min=32767; sum=0; for(i=1;i<=10;i++) { printf("input number %d=",i); /***********SPACE***********/ scanf("%d",【?】); sum+=score; /***********SPACE***********/ if(【?】) max=score; /***********SPACE***********/ if(【?】) min=score; } printf("Canceled max score:%d\nCanceled min score:%d\n",max,min); /***********SPACE***********/ printf("Average score:%d\n",【?】); } 答案: =======(答案1)======= &score =======(答案2)======= score>max =========或========= max<score =======(答案3)======= score<min =========或========= min>score =======(答案4)======= (sum-max-min)/8 =========或========= (sum -max - min )/8 第2题 (10.0分) /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能:现有两组有序数组(增序),x[i]、y[j]代表数组x、y的 任一元素,问满足x[i]>y[i]的元素对有多少个? -------------------------------------------------------*/ #include <stdio.h> int dominance_count(int f[], int g[], int m, int n) { int index_f, index_g; int count; count = index_f = index_g = 0; while (index_f < m && index_g < n) if (f[index_f] <= g[index_g]) index_f++; else { index_g++; /***********SPACE***********/ count += 【?】; } /***********SPACE***********/ 【?】; } #include <stdio.h> void main(void) { int x[] = { 1, 6, 8 }; int nx = sizeof(x)/sizeof(int); int y[] = { 4, 5, 7 }; int ny = sizeof(y)/sizeof(int); int dominance_count(int [], int [], int, int), i; printf("\nDominance Count of two increasing Arrays\n"); printf("\n # Array 1 Array 2"); printf("\n -- ------- -------"); for (i = 0; i < nx; i++) printf("\n%3d%10d%10d", i, x[i], y[i]); printf("\n\nThere are %d Dominance Pairs.", /***********SPACE***********/ 【?】); } 答案: =======(答案1)======= m - index_f =========或========= m - index_f =======(答案2)======= return count =======(答案3)======= dominance_count(x, y, nx, ny) ━━━━━━━━━━━━━━━━ 五、程序改错 共1题 (共计10分) ━━━━━━━━━━━━━━━━ 第1题 (10.0分) /*------------------------------------------------------ 【程序改错】 -------------------------------------------------------- 功能:输入一行字符,分别统计出其中英文字母、空格、数字和 其它字符的个数。 ------------------------------------------------------*/ #include <stdio.h> main() { char c; int letters=0,space=0,digit=0,others=0; printf("please input some characters\n"); /**********FOUND**********/ while((c=getchar())=='\n') { /**********FOUND**********/ if(c>='a'&&c<='z'&&c>='A'&&c<='Z') letters++; /**********FOUND**********/ else if(c=!' ') space++; else if(c>='0'&&c<='9') digit++; else others++; } printf("all in all:char=%d space=%d digit=%d others=%d\n",letters, space,digit,others); } 答案: =======(答案1)======= while((c=getchar())!='\n') =======(答案2)======= if( c>='a'&&c<='z' || c>='A'&&c<='Z' ) =========或========= if( c<='z'&&c>='a' || c>='A'&&c<='Z' ) =========或========= if( c <= 'z' && c >= 'a' || c >= 'A' && c<='Z' ) =======(答案3)======= else if(c==' ') ━━━━━━━━━━━━━━━━ 六、程序设计 共2题 (共计20分) ━━━━━━━━━━━━━━━━ 第1题 (10.0分) /*------------------------------------------------ 【程序设计】 -------------------------------------------------- 功能:求1到100之间的偶数之积。 ------------------------------------------------*/ #include <stdio.h> void wwjt(); double fun(int m) { /**********Program**********/ /********** End **********/ } main() { printf("ji=%f\n",fun(100)); wwjt(); } void wwjt() { FILE *IN,*OUT; int iIN,i; double dOUT; 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); dOUT=fun(iIN); fprintf(OUT,"%f\n",dOUT); } fclose(IN); fclose(OUT); } 答案:---------------------- double y=1; int i; for(i=1;i<=m;i++) if(i%2==0)y*=i; return y; ---------------------- 第2题 (10.0分) /*------------------------------------------------ 【程序设计】 -------------------------------------------------- 功能:编写函数用冒泡排序法对数组中的数据进行从小到 大的排序。 ------------------------------------------------*/ #include <stdlib.h> #include<stdio.h> void wwjt(); void sort(int a[],int n) { /**********Program**********/ /********** End **********/ } main() { int a[16],i; for(i=0;i<16;i++) a[i]=random(30)+15; for(i=0;i<16;i++) printf("%3d",a[i]); printf("\n-------------------\n"); sort(a,16); for(i=0;i<16;i++) printf("%3d",a[i]); wwjt(); } void wwjt() { FILE *IN,*OUT; int n; int i[10]; IN=fopen("in.dat","r"); if(IN==NULL) { printf("Read FILE Error"); } OUT=fopen("out.dat","w"); if(OUT==NULL) { printf("Write FILE Error"); } for(n=0;n<10;n++) { fscanf(IN,"%d",&i[n]); } sort(i,10); for(n=0;n<10;n++) fprintf(OUT,"%d\n",i[n]); fclose(IN); fclose(OUT); } 答案:---------------------- int i,j,t; for(i=0;i<n-1;i++) for(j=0;j<n-1-i;j++) if(a[j]>a[j+1]) {t=a[j]; a[j]=a[j+1]; a[j+1]=t; } ----------------------
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 小学其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服