C语言试卷2及答案
国家二级C语言机试(程序设计题)模拟试卷2(题后含答案及解析)

国家二级C语言机试(程序设计题)模拟试卷2(题后含答案及解析) 题型有:1.1.使用VC++2010打开考生文件夹下prog1中的解决方案。
此解决方案的项目中包含一个源程序文件prog1.c。
在此程序中,函数fun的功能是:将s所指字符串中下标为偶数同时ASCII值为奇数的字符删除,s所指串中剩余的字符形成的新串放在t所指的数组中。
例如,若8所指字符串中的内容为“ABCDEFG12345”,其中字符C的ASCII码值为奇数,在数组中的下标为偶数,因此必须删除;而字符1的ASCII码值为奇数,在数组中的下标为奇数,因此不应当删除,其他依此类推。
最后t所指的数组中的内容应是“BDF12345”。
注意:部分源程序在文件PROG1.C中。
请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
试题程序:#include<stdio.h>#include<string.h>void fun(char*s,char t[]){}main( ){char s[100],t[100];void NONO( );printf(“\nPlease enter string S:”);Scanf(“%s”,s);fun(s,t);printf(“\nThe result is:%s\n”,t);NONO( );}void NONO( ){/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。
*/chars[100],t[100];FTLE*rf,*wf;int i;rf=fopen(“in.dat”,”r”);wf=fopen(“out.dat”,”w”);for(i=0;i<10;i++){fscanf(rf,”%s”,s);fun(s,t);fprintf(wf,”%s\n”,t);}fclose(rf);fclose(wf);}正确答案:void fun(char*s,char t[]){int i,j=0;for(i=0;i<strlen(s);i++)if(!((i%2)==0&&(s[i]%2)))t[j++]=s[i];t[j]=0;}解析:本题是从一个字符串按要求生成另一个新的字符串。
《C语言程序设计(第2版)》试题库 期末试卷二

期末试卷二一、单项选择题(每题1分,共45分)1.下列变量名中,哪个是合法的()A.C&D B.string$C.char D._2132.C语言程序的基本单位是()A.程序行B.语句C.函数D.字符3.表达式a+b%3的值是()(设a=13.6,b=10)A.14.6 B.15C.15.9 D.16.64.保存一个C语言源程序的快捷键是()A.F1 B.F2 C.F3 D.F45.字符串”tc20\nlib\101\\\’”含有多少个字符( )A.10 B.11 C.12 D.136.Putchar()函数可以向终端输出一个()A. 整型变量或表达式值B. 实型变量值C. 字符串D. 字符或字符型变量值7.以下所列的C语言常量中,错误的是()A.0xFF B.2*5 C.2.5 D.04568.下列不合法的C语言赋值表达式是()A.a+=b-c B.a+b=cC.a=b=c=1 D.a*=++b+c9.下列程序运行后的输出结果是()main(){ int y=3,x=3;printf(“%d\n”,++x+y++);}A.5 B.8 C.7 D.610.若已正确定义x和y为double类型,则表达式x=1,y=x+3/2的值是()A.1 B.2 C.2.0 D.2.511.在C语言中运算对象必须是整型的运算符是()A.% B./ C.= D.*12.若有以下定义:char a; int b; float c;则表达式a*b-c值的类型为()A.int B.char C.double D.float13.下列正确的C语言赋值语句的是()A.x=3,y=5 B.a=b=1 C.i++; D.y=int(x)14.有如下程序段:int a1,a2;char c1,c2;scanf("%d%c%d%c",& a1,&c1,&a2,&c2);若要求a1、a2、c1、c2的值分别为10、20、A、B,正确的数据输入是()(<CR>表示回车) A.10A 20B<CR> B.10 A 20 B<CR>C.10 A20B<CR> D.10A20 B<CR>15.有如下程序,输入数据:12345m678<CR>后,x的值是()#include <stdio.h>main( ){ int x; float y;scanf("%3d%f", &x,&y);}A.12345 B.123 C.45 D.34516.有如下程序,对应正确的数据输入是()main( ){ float a, b;scanf("%f%f", &a,&b);printf("a=%f,b=%f\n",a,b);}A.2.04<CR> B.2.04,5.67<CR>5.67<CR>C.a=2.04,b=5.67<CR> D.2.045.67<CR>17.有输入语句:scanf("a=%d,b=%d,c=%d",&a,&b,& c);为使变量a的值为1,b的值为3,c的值为2,从键盘输入数据的正确形式是()A.132<CR> B.1,3,2<CR>C.a=1,b=3,c=2<CR> D.a=1 b=3 c=2<CR>18.已知字母A的ASCII码是65,以下程序的执行结果是()main( ){char c1='A', c2='Y';printf("%d,%d\n", c1, c2);}A.A,Y B.65,65 C.65,90 D.65,8919.以下程序的执行结果是()main( ){ int a=2,b=5;printf("a=%d,b=%d\n", a, b);}A.a=%2,b=%5 B.a=2,b=5C.a=%%d,b=%%d D.a=%d,b=%d20.最适合解决选择结构“若x>0, 则y=1;否则y=0;”的语句是()A.switch B.嵌套的if-else C.if-else D.if21.设整型变量x,y和z的值依次为3,2和1,则下列程序段的输出结果是()if(x>y)x=y;if(x>z)x=z;printf(″%d,%d,%d\n″,x,y,z);A.1,1,1 B.1,2,1 C.1,2,3 D.3,2,122.执行下列程序段后,变量x的值是()int a=8,b=7,c=6,x=1;if(a>6) if(b>7) if(c>8) x=2;else x=3;A.0 B.1 C.2 D.323.运行下列程序的输出结果是()main(){ int a1=1,a2=1,a3=1,a4=1;if (a1>0) a3++;if (a1>a2) a3--;else if (a1= =a2) a3++;else a3--;printf(″%d,%d,%d,%d\n″,a4,a3,a2,a1);}A.1,1,1,1 B.1,2,3,4C.4,3,2,1 D.1,3,1,124.执行下列语句后,整型变量x的值是()switch (x=1) { case 0:x=10;break;case 1:switch (x=2) {case1:x=20;break;case2:x=30;}}A.30 B.20 C.10 D.125.以下说法中正确的是()A.continue和break只能用在循环体中B.continue只能用在循环体中C.break只能用在循环体中D.continue只能用在循环体外26.执行下列程序段的输出是()m=8;while (m>=5) m--,--m,n=m--- m;pritnf (″%d,%d″,m,n);A.2, 0 B.5,-1 C.5,0 D.5,127.设整型变量x的值为1,执行下列循环语句后,变量x 的值是()do x++; while (x++<2);A.2 B.3 C.4 D.528.执行下列语句后,变量k的值是()for (k=0;k<=5;k++) do k++;while (k<5);A.5 B.6 C.7 D.829.下列程序段中,不能使变量m的值等于10的程序段是()A.m=0; B.do m=0;while (m++<9); while (m++<10);C.for (m=8;m<10;m++); D.m=0;L:m++;if (m<10)goto L;30.下列语句中不正确的是()A.static int a[5]={1,2,3,4,5};B.static int a[5]={1,2,3};C.static int a[]={0,0,0,0,0};D.static int a[5]={0*5};31.说明:int a[10];则对a数组元素的正确引用是()A.a[10] B.a[3.5] C.a(5) D.a[10-5] 32.下面程序的运行结果是()main(){ int a[6],i;for(i=1;i<6;i++){a[i]=9*(i-2+4*(i>3))%5;printf(“%2d”,a[i]);}}A.-4 0 4 0 4 B.-4 0 4 0 3C.-4 0 4 4 3 D.-4 0 4 4 033.以下程序的输出结果是()main(){ int n[2]={0},i,j,k=2;for(i=0;i<k;i++)for(j=0;j<k;j++)n[j]=n[i]+1;printf(“%d\n”,n[1]);}A.1 B.3 C.2 D.434.下面程序的输出结果是()main(){char s[]=”cat and mouse”;int j=0;while(s[j]!=’\0’) ++j;printf(“%d\n”,j);}A.11 B.0 C.12 D.1335.下面程序的运行结果是()#include <stdio.h>main(){char a[10]=”student”;char b[10]=”boy”;int n;n=strlen(a)+strlen(b);printf(“%d”,n);}A.7 B.10 C.12 D.2036.以下程序的输出结果是()void fun(int a,int b,int c){ a=456;b=567;c=678;}main(){ int x=10,y=20,z=30;fun(x,y,z);printf("%d,%d,%d\n",x,y,z);}A.30,20,10 B.10,20,30C.456,567,678 D.678,567,45637.以下说法中正确的是()A.C语言程序总是从第一个定义的函数开始执行。
C语言考试试卷2.doc

C语言程序设计2(考试时间90分钟,满分100分)一、选择题(每题2分,共6()分)下列各题A)、B)、C)、D)四个选项屮,只有一个选项是正确的,请将正确的选项填涂在答题卡相应位置上,答在试卷上不得分。
(1)以下关于结构化程序设计的叙述中止确的是A)一个结构化程序必须同时由顺序、分支、循坏三种结构纽成B)结构化程序使用goto语句会很便捷C)在C语言中,程序的模块化是利用函数实现的D)由三种基本结构构成的程序只能解决小规模的问题(2)以下关于简单程序设计的步骤和顺序的说法中正确的是A)确定算法后,整理并写岀文档,最后进行编码和上机调试B)首先确定数据结构,然后确定算法,再编码,并上机调试,最后整理文档C)先编码和上机调试,在编码过程中确定算法和数据结构,最后整理文档D)先写好文档,再根据文档进行编码和上机调试,最后确定算法和数据结构(3)以下叙述中错误的是A)C程序在运行过程中所有计算都以二进制方式进行B)C程序在运行过程屮所有计算都以I-进制方式进行C)所有C程序都需要编译链接无谋后才能进行D)C程序小整型变量只能存放整数,实型变量只能存放浮点数(4)有以下定义:int a;long b;double x,y;则以下选项中正确的表达式是A)a%(int)(x-y) B) a=x!=y; C) (a*y)%b D) y=x+y=x(5)以下选项屮能表示合法常量的是A)整数:1,200 B)实数:1.5E2.0C)字符斜杠:丫D)字符串:0007”(6)表达式a+=a-=a=9的值是A)9B) -9 0 18D) 0(7)若变量已正确定义,在if(W)printf(“%d\n”,k);中,以下不可替代W的是A)aob+c B) ch=getchar() C) a==b+c D) a++(8)有以下程序#includemain(){ int a=l,b=0;if(!a) b++;else if(a==0)if(a) b+=2;else b+=3;printfC^dViV^b);程序运行后的输出结果是A) OB) 1 C) 2D) 3(9)若有定义语句int a,b;double x;则下列选项中没有错误的是A)switch (x%2){ case 0: a++; break;case 1: b++; break;default: a++; b++; }B)switch ((int)x/2.0){ case 0: a++; break;case 1: b++; break;default: a++; b++; }C)switch((int)x%2){ case 0: a++; break;case 1: b++; break;default: a++; b++; }D)switch((int)(x)%2){ case 0.0: a++; break;case 1.0: b++; break;default: a++; b++; }(10)有以下程序# includemain(){ int a=l,b=2;whilc(a<6) {b+=a; a+=2;b%=10;}printf(“%d, %d\n,,,a,b);}程序运行后的输出结果是A)5,11 B)7,l C)7,ll D)6,1(ID下列选项中,能够满足喏字符串si等于字符串s2,则执行ST”要求的是A ) if(strcmp(s2,sl) ==0) ST;B)if(sl==s2) ST;C)if(strcpy(sl,s2) ==1)ST;D)if(sl-s2==0) ST;(⑵以下不能将s所指字符串正确复制到t所指存储空间的是A)while(*t=*s) {t++,s++;}B)for(i=0;t[ij=s[ij;i++);C)do{ *t++=*s++; }while(*s);D)for(i=0,j=0;t[i++]=s|j++];);(13)有以下程序(strcat函数用以连接两个字符串)#include <stdio.h>#include <string.h>main(){ char a[20]=''ABCD\0EFG\0", b[ ]="IJK';strcat(a,b);printf(<<%s\n,,,a);}程序运行后的输出结果是A) ABCDE\OFG\OIJKB)ABCDIJKC)IJKD)EFGIJK(14)冇以下程序,程序中库函数islower(ch)用以判断ch中的字母是否为小写字母#inelude <stdio.h>#include <ctype.h>void fun(char *p){ int i=0;while(p[i]){ if(p[i] ==K ,,&&islower(p[i-l])) p[i-l]=p[i-l]-M a<t+tc A t<;i++;}}main (){ charsl[100]="abcdEFG !";fun(sl);printf(“ %s\n”,sl);1程序运行后的结果是A) ab cd EFG ! B) Ab Cd EFg ! C) aB cD EFG ! D) ab cd EFg !(15)有以下程序#includevoid fun(int x){ if(x/2>l)fun(x/2);printf(“ %d ”,x);}main(){ fun(7);printf(u\n n);}程序运行后的输出结果是A) 1 37B) 73 10 73D) 37(16)有以下程序#includeint fun(){ static int x= 1;x+=l;return x;main(){ int i, s=l;for(i=l;i<=5;i++)s+=fun();printf(“%d\n”,s);}程序运行后的输出结果是A) 11 B) 21 C) 6D) 120(17)有以F程序、#include <stdio.h>#include <stdlib.h>main(){ int *a,*b,*c;a=b=c=(int *)malloc(sizeof(int));*a=l;*b=2;*c=3;a=b;printf(“ %cl,%d,%d\n'',*a,*b,*c);}程序运行后的输出结果是A) 3,3,3 B) 2,2,3 0 1,2,3 D) 1,1,3(18)有以下程序#inckidcmain(){ int s,t,A=10;double B=6;s=sizeof(A);t=sizcof(B);printf("%d,%d\n'',s,t);}在VC6平台上编绎运行,程序运行后输出结果是A) 2,4 B) 1,40 4,8 D) 10,6(19)若有以下语句typedef struct S{int g ; char h;} T;以下叙述屮正确的是A)可用S定义结构体变量B)可用T定义结构体变量C) S是struct类型的变量D) T 是struct S 类型的变最(20)有以下程序# includemain(){ short c=124; c=c ;printf(“%d\n”,c);若要使程序的运行结果为248,应在卜•划线处填入的是A) »2B) 1248 C)& 0248 D) «1(21)有以下程序#includemain(){ int y=10;while(y-);printfC t y=%d\n,,,y);}程序执行后的输出结果是A) y=()B)y=-l C)y=l D)while 构成无限循环(22)冇以下程序#inckidcmain(){ char s[ J=M rstuv,*;printf(u%c\n,,,*s+2);}程序运行后的输出结果是A) tuvB)字符t的ASCII值C) tD)出错(23)有以下程序#include <stdio.h>#include <string.h>main(){ char x[ ]="STRING';x[0]=0;x[l]「\(T; x[2]=V\printf ( "%d %d\n,,,sizeof(x),strlen(x));}程序运行后的输出结果是A) 6 1 B) 7 0 C) 6 3 D) 7 1(24)有以下程序#includeint f(int x);main(){ int n=l,m;m=f(f(f(n)));piintf(“ %d\n”,m);}int f(int x){ return x*2; }程序运行后的输出结杲是A) 1 B) 20 4D) 8(25)以下程序段完全正确的是A)int *p; scanf("%d'',&p);B)int *p; scanf("%d”,p);C)int k, *p=&k; scanf("%d",p);D)int k,*p; *p=&k; scanf("%d”,p);(26)有定义语句:int *p[4];以下选项中与此语句等价的是A ) int p[4]; B)int **p; C)int *(p[4]); D)int (*p)[4];(27)下列定义数组的语句中,正确的是A) int N=10; B) #define N 1() int x[N]; int x[N]; C) int x[0..10]; D) int x[ 1;(28)若耍定义一个具有5个元素的整型数组,以下错误的定义语句是A)int a[5]={0); B) int b[ ]={0,0,0,0,0}; C)int c[2+3]; D) int i=5,d[i];(29)有以下程序#includevoid f(int *p);main(){ int a⑸={l,2,3,4,5},*r=a;f(r );printf(u%d\n,\*r);)void f(int *p){ P=P+3;printf("%d,",*p);}程序运行后的输出结果是A)1,4B)4,4 C) 3,1 D)4,l(30)有以下程序(函数fun只对下标为偶数的元素进行操作)#includevoid fun(int *a,int n){ int i,j,k,t;for(i=();i<n-l ;i+=2){k=i;for(j=i;j<n;j+=2) if(a[j]>a[k]) k=j;t=a[i]; a[i]=a[k]; a[k]=t; }}main(){ int aa[10]={l,2,3,4,5,6,7},i;fun(aa,7);for(i=0;i<7;i++)printf(“%d,”,aa[i]);printf(“\iT);1程序运行后输出结果是A) 7,2,5,4,3,6,1, B) 1,6,3,4,5,2,7, C) 7,6,5,4,3,2,1, D) 1,7,3,5,6,2,1,二、填空题(每空2分,共20分)请将每空的正确答案写在答题卡【1】至【10】序号的横线上,答在试卷上不得分。
《C语言程序设计》模拟试卷2

《C 语言程序设计》模拟试卷2考试班级:一、判断题(2’×10=20’)1、C 语言源程序文件的扩展名均为.c 。
( )2、所谓变量,就是在程序运行过程中其值不可以改变的量。
( )3、一个C 语言程序总是从main 函数开始执行。
( )4、C 语言中所有字符串都是以‘\0’结束的。
( )5、在C 语言中do-while 和while 语句均是先判断表达式,再执行循环体语句。
() 6、算术运算符中‘/’的优先级高于‘%’。
( )7、int a[5];该语句表明数组a 中的第五个元素为a[5]。
( ) 8、函数getchar()的作用是:输出一个字符。
( )9、C 语言程序区分大小写。
( )10、C 语言中标识符第一个字符可以由字母,数字和下划线三种字符组成。
()二、单项选择题(2’×15=30’)1、以下说法正确的是( )。
A 、C 语言程序总是从第一个的函数开始执行B 、在C 语言程序中,要调用函数必须在main()函数中定义C 、C 语言程序总是从main()函数开始执行D 、C 语言程序中的main()函数必须放在程序的开始部分2、C 语言中基本数据类型包括( )。
A 、整型、实型、逻辑型B 、整型、实型、字符型C 、整型、字符型、逻辑型D 、字符型、实型、逻辑型3、下列可用于C 语言用户标识符的一组是( )。
A 、1AB 、P_0C 、-abcD 、int4、C 语言的三种基本结构是( )。
A 、顺序结构、逻辑结构、选择结构B 、顺序结构、选择结构、循环结构 系部:班级:学号:姓名:C、逻辑结构、层次结构、网状结构D、层次结构、顺序结构、循环结构5、起换行作用的转义字符是()。
A、’\t’B、’\b’C、’\n’D、’\r’6、设变量a是int型,f是float型,i是double型,则表达式10+′a′+i*f值的数据类型为()。
A、intB、floatC、double D)不确定7、关于数组元素类型的说法,下列那一项是正确的:()。
全国计算机等级考试《二级C语言程序设计》模拟试卷二

全国计算机等级考试《二级C语言程序设计》模拟试卷二[单选题]1.在下列模式中,能够给出数据库物理存储结构与物理存取方法的是((江南博哥))。
A.外模式B.内模式C.概念模式D.逻辑模式参考答案:B参考解析:数据库管理系统的三级模式包括:①外模式,也称子模式、用户模式,是指数据库用户所看到的数据结构,是用户看到的数据视图;②模式,也称逻辑模式,是数据库中对全体数据的逻辑结构和特性的描述,是所有用户所见到的数据视图的总和;③内模式,也称存储模式、物理模式,是指数据在数据库系统内的存储介质上的表示,是对数据的物理结构和存取方式的描述。
答案选择B选项。
[单选题]4.下面不属于需求分析阶段任务的是()。
A.确定软件系统的功能需求B.确定软件系统的性能需求C.需求规格说明书评审D.制定软件集成测试计划参考答案:D参考解析:需求分析阶段的工作主要包括4个方面:①需求获取,其目的是确定对目标系统的各方面需求;②需求分析,对获取的需求进行分析和综合,最终给出系统的解决方案和目标系统的逻辑模型;③编写文档,编写需求规格说明书,编写初步用户使用手册;④确认测试计划,修改完善软件开发计划,需求评审。
制定软件集成测试计划属于概要设计阶段的任务。
答案选择D选项。
[单选题]5.结构化程序的三种基本控制结构是()。
A.顺序、选择和重复(循环)B.过程、子程序和分程序C.顺序、选择和调用D.调用、返回和转移参考答案:A参考解析:结构化程序设计中三种基本控制结构为顺序、选择和重复(循环)。
答案选择A选项。
[单选题]6.构成计算机软件的是()。
A.源代码B.程序和数据C.程序和文档D.程序、数据及相关文档参考答案:D参考解析:计算机软件的定义为:与计算机系统的操作有关的计算机程序、规程、规则,以及可能有的文件、文档及数据。
答案选择D选项。
[单选题]7.在黑盒测试方法中,设计测试用例的主要根据是()。
A.程序内部逻辑B.程序外部功能C.程序数据结构D.程序流程图参考答案:B参考解析:黑盒测试完全不考虑程序内部的逻辑结构和内部特性,只根据程序的需求和功能规格说明,检查程序的功能是否符合它的功能规格说明。
国家二级C语言(数据结构与算法)机试模拟试卷2(题后含答案及解析)

国家二级C语言(数据结构与算法)机试模拟试卷2(题后含答案及解析)题型有:1. 选择题选择题1.算法中,对需要执行的每一步操作,必须给出清楚、严格的规定。
这属于算法的A.正当性B.可行性C.确定性D.有穷性正确答案:C解析:本题考查算法的基本特征。
算法的可行性表示算法中执行的任何步骤都是可以被分解为基本的可执行的操作步:确定性是指算法的每一步骤必须有确切的含义;有穷性是指算法必须能在执行有限个步骤之后终止。
知识模块:数据结构与算法2.下列叙述中正确的是A.算法就是程序B.设计算法时只需要考虑数据结构的设计C.设计算法时只需要考虑结果的可靠性D.以上三种说法都不对正确答案:D解析:所谓算法是指解题方案的准确而完整的描述。
是一组严谨地定义运算顺序的规则,并且每一个规则都是有效的,且是明确的,此顺序将在有限的次数下终止。
算法不等于程序,也不等于计算方法。
设计算法时不仅要考虑对数据对象的运算和操作,还要考虑算法的控制结构。
知识模块:数据结构与算法3.下列叙述中正确的是A.算法的效率只与问题的规模有关,而与数据的存储结构无关B.算法的时间复杂度是指执行算法所需要的计算工作量C.数据的逻辑结构与存储结构是一一对应的D.算法的时间复杂度与空间复杂度一定相关正确答案:B解析:算法的时间复杂度是指执行算法所需要的计算工作量。
算法的工作量用算法所执行的基本运算的次数来度量,而算法所执行的基本运算次数是问题规模的函数;算法的空间复杂度一般是指执行这个算法所需要的内存空间。
算法的时间复杂度与空间复杂度并不相关。
数据的逻辑结构就是数据元素之间的逻辑关系,它是从逻辑上描述数据元素之间的关系,是独立于计算机的;数据的存储结构是研究数据元素和数据元素之问的关系如何在计算机中表示,它们并非一一对应。
算法的执行效率不仅与问题的规模有关,还与数据的存储结构有关。
知识模块:数据结构与算法4.在DOS环境F,代表键盘和显示器的设备文件名为A.PRNB.CONC.NULD.LPT正确答案:B解析:本题考查DOS下面的虚拟设备文件,选项A)的PRN表示打印机,选项B)中的CON表示键盘或屏幕,选项C)的NUL表示虚拟空设备,选项D)的LPT表示并口。
2023年9月青少年软件编程C语言等级考试试卷二级真题(含答案)

2023年9月青少年软件编程C语言等级考试试卷二级(含答案)分数:100题数:5一、编程题(共5题,共100分)第1题.数组指定部分逆序重放将一个数组中的前k项按逆序重新存放,例如,将数组8,6,5,4,1前3项逆序重放得到5,6,8,4,1。
时间限制:1000内存限制:65536输入:有两行,第一行两个整数,以空格分隔,分别为数组元素的个数n(1<n<100)以及指定的k(1<=k<=n)。
第二行是n个整数,每两个整数之间用空格分隔。
输出:只有一行,输出按题目要求逆序后数组的整数,每两个整数之间用空格分隔。
样例输入:5386541样例输出:56841参考答案:#include<bits/stdc++.h>using namespace std;int a[1000],b[1000];int main(){int n,k;cin>>n>>k;for(int i=0;i<n;i++){cin>>a[i];b[i]=a[i];}for(int i=k-1;i>=0;i--){cout<<b[i]<<';';}for(int i=k;i<n;i++){cout<<a[i]<<';';}}第2题.谁考了第k名在一次考试中,每个学生的成绩都不相同,现知道了每个学生的学.号和成绩,求考第k名学生的学.号和成绩。
时间限制:1000内存限制:65536输入:第一行有两个整数,分别是学生的人数n(1≤n≤100),和求第k名学生的k(1≤k≤n)。
其后有n行数据,每行包括一个学.号(整数)和一个成绩(浮点数),中间用一个空格分隔。
输出:输出第k名学生的学.号和成绩,中间用空格分隔。
(注:请用%g输出成绩)。
样例输入:539078800167.89078800290.390788003619078800468.49078800573.9样例输出:9078800468.4参考答案:#include<bits/stdc++.h>using namespace std;int sum(int n){int s=0;while(n>0){s+=n%10;n/=10;}return s;}int main(){int i,j,t,n,a[1000],b[1000];cin>>n;for(i=0;i<n;i++){cin>>a[i];b[i]=sum(a[i]);}for(i=0;i<n-1;i++){for(j=0;j<n-i-1;j++){if((b[j]<b[j+1])||((b[j]==b[j+1])&&(a[j]<a[j+1]))){t=b[j];b[j]=b[j+1];b[j+1]=t;t=a[j];a[j]=a[j+1];a[j+1]=t;}}}for(i=0;i<n;i++){cout<<a[i]<<"";}return0;}第3题.内部元素之和输入一个整数矩阵,计算位于矩阵内部的元素之和。
C语言试卷2及答案

扬州大学试题纸系课程C语言程序设计(A)卷2002—2003学年第2学期班级_________学号________姓名__________得分___________一、选择题(每题分,共30分):1、已知:char a; int b; float c; double d;则执行语句:c=a+b+c+d; 后,变量c的类型为。
A. charB. intC. floatD. double2、已有定义int x; float y; 且执行scanf(“%2d%f”,&x,&y);语句时,从第一列开始输入数据12345 67<回车>,则y的值是。
A. 无定值B. 345.00000C.D.3、设有以下程序段int x=0; s=0;while (!x!=0) s+=++x;printf(“%d”,s);则。
A. 运行程序段后输出0B. 运行程序段后输出1C. 程序段中的控制表达式是非法的D. 程序段执行无限次4、若i为整型变量,则以下循环执行次数是。
for(i=2; i==0;) printf(“%d”, i--);A. 无限次B. 2次C. 1次次5、假设char ch=’a’, *p=&c h; ,以下语句中,有语法错误的是.A. (*p)++;B. ch+=—‘a’+’A’;C. toupper(ch)=ch;D. ch++;6、若说明:char *language[ ]={“VFP”,”C”,”VB”,”VC”,”JAVA”};则language[2]的值是。
A. 一个字符B. 一个地址C. 一个字符串D. 一个不定值7、C语言程序中,当调用函数时。
A. 实参和虚参可以共用存储单元B. 实参和虚参各占一个独立的存储单元C. 可以由用户指定是否共用存储单元D. 由计算机系统自动确定是否共用存储单元8、在程序中要使用语句:printf(“%s\n”, STRING);输出提示信息:“OK! ”(包括双引号),则应使用宏定义语句。
C语言程序设计模拟试卷 (2)

模拟试卷一一、选择题(每题1分,共15分) 在每小题列出的四个选项中只有一个是符合题目要求的,请在正确答案前点选,错选或未选均不得分。
1. 以下选项中不合法的用户标识是:正确答案A. _123B. printfC. A$D. Dim2. 在C 语言中,char 型数据在内存中的存储形式是:正确答案A. 补码B. 反码C. 原码D. ASCII 码正确答案:D3. 设x,y,z 为int 型变量,且x=3,y=4,z=5 ,则下面表达式中值为0 的是:正确答案A. 'x'&&'y'B. !((x<y)&&!z||1)C. x||y+z&&y-zD. x<=y正确答案:B4. 若有定义:int a=2,b=4,c; 执行语句c=a/b+2.6 ;后,c 的值为:正确答案A. 2.6B. 3.1C. 3D. 2正确答案:D5. 设a 为整型变量,不能确定表达数学关系10<a<15 的为C 语言表达式是:正确答案A. 10<a<15B. a==11|| a==12|| a==13|| a==14C. a>10&&a<15D. !(a<=10)&&!(a>=15)正确答案:C6. 若i 、j 已定义为int 型,则以下程序段中语句printf( “ %d ” ,i*j); 的执行次数是:for (i=3;i>0;i-- )for (j=0;j<4;j++ )printf( “ %d ” ,i*j);正确答案A. 12B. 15C. 16D. 20正确答案:A7. 若有输入语句“ scanf( "%d%d%d",&x,&y,&z); ”,则不能使x值为5,y 值为6,z值为7的输入是:正确答案A. 5 ,6 ,7< 回车>B. 5 6 7< 回车>C. 5 6 < 回车> 7< 回车>D. 5< 回车> ,6< 回车> ,7< 回车>正确答案:A8.执行以下程序段后,x ,y 和z 的值分别是:int x=10,y=20,z=30;if(x>y) z=x; x=y; y=z;正确答案A. 10,20,30B. 20,30,30C. 20,30,10D. 20,30,20正确答案:B9. 以下程序段x = -1;do{ x=x*x;} while(!x); 正确的说法是:正确答案A. 死循环B. 循环一次C. 循环两次D. 有语法错正确答案:B10. 以下正确的函数声明形式是:正确答案A. double fun(int x ,int y)B. double fun(int x ;int y)C. double fun(int x ,int y) ;D. double fun(int x ,y) ;正确答案:C11.若有定义char ch[8] ,则以下表达式中不能代表数组元素ch[1] 的地址是:正确答案A. &ch[0]+1B. &ch[1]C. &ch[0]++D. ch+1正确答案:C12. 若有初始化语句“ int a[5]={1,2,3,4,5}; ”,值为4 的表达式是:正确答案A. a[4]B. a[a[2]+1]C. a[a[2]]D. a[3]+1正确答案:C13. 若已有以下函数定义:float fun(float a, int b){int c;c=(int)a%b;return c;}则主调函数中语句“ printf("%f",fun(fun(fun(34,7),4),3)); ”的输出结果是:正确答案A. 2.000000B. 因参数类型与形参类型不一致,函数调用产生错误C. 2D. 因变量c 的类型与fun 函数的返回值类型不符,故输出值为随机值正确答案:A14. 已知:int a[]={1,2,3,4,5,6,7,8,9,10,11,12},*p=a+2 ;则值为3 的表达式是:正确答案A. (*p)++B. *p++C. *++pD. ++*p正确答案:B15. 以下可作为函数fopen 中第一个参数的正确格式是:正确答案A. c:\user\file.txtB. "c:\user\file.txt"C. "c:\\user\\file.txt"D. c:user\file.txt正确答案:C二、填空题(共10题)1. 字符串存储时,末尾被系统自动加上字符。
2021年全国计算机等级考试二级C语言全真模拟试卷及答案(二)

2021年全国计算机等级考试二级C语言全真模拟试卷及答案(二)一、选择题在下列各题的A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确的选项涂写在答题卡相应位置上,答在试卷上不得分。
(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中每个元素距其最终位置不远,为节省时间,应采用的算法是A)堆排序B)直接插入排序C)快速排序D)B)和C)(7)栈底至栈顶依次存放元素A、B、C、D,在第五个元素E入栈前,栈中元素可以出栈,则出栈序列可能是A)ABCED B)DCBEA C)DBCEA D)CDABE(8)数据库设计包括两个方面的设计内容,它们是A)概念设计和逻辑设计B)模式设计和内模式设计C)内模式设计和物理设计D)结构特性设计和行为特性设计(9)关系表中的每一横行称为一个A)元组B)字段C)属性D)码(10)设有表示学生选课的三张表,学生S(学号,姓名,性别,年龄,身份证号),课程C(课号,课名),选课SC(学号,课号,成绩),则表SC的关键字(键或码)为A)课号,成绩B)学号,成绩C)学号,课号D)学号,姓名,成绩(11)以下不正确的叙述是A)在C程序中,逗号运算符的优先级最低B)在C程序中,APH和aph是两个不同的变量C)若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值不变D)当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值(12)请选出可用作C语言用户标识符的是A)void,define,WORD B)a3_b3,_123,IF C)FOR,--abc,Case D)2a,Do,Sizeof(13)以下选项中,不能作为合法常量的是A)1.234e04 B)1.234e0.4 C)1.234e+4 D)1.234e0(14)在C语言中,运算对象必须是整型数的运算符是A)% B)\ C)%和\ D)**(15)若变量均已正确定义并赋值,以下合法的C语言赋值语句是A)x=y==5; B)x=n%2.5; C)x+n=i;D)x=5=4+1;(16)有以下程序段char ch; int k;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(17)已知字母A的ASCII代码值为65,若变量kk为char型,以下不能正确判断出kk中的值为大写字母的表达式是A)kk>=′A′&& kk<=′Z′ B)!(kk>=′A′||kk<=′Z′) C)(kk+32)>=′a′&&(kk+32)<=′Z′ D)isalpha(kk)&&(kk<91)(18)当变量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)(19)若有条件表达式(exp)?a++:b--,则以下表达式中能完全等价于表达式(exp)的是A)(exp==0)B)(exp!=0) C)(exp==1)D)(exp!=1)(20)以下不正确的定义语句是A)double x[5]={2.0,4.0,6.0,8.0,10.0}; B)int y[5]={0,1,3,5,7,9};C)char c1[]={′1′,′2′,′3′,′4′,′5′}; D)char c2[]={′\x10′, ′xa′, ′\x8′};(21)下列程序执行后的输出结果是main(){ int a[3][3], *p,i;p=&a[0][0];for(i=1; i<9; i++)p[i]=i+1;printf("%d\n",a[1][2];)A)3 B)6 C)9 D)随机数(22)设有以下程序段int x=0,s=0;while(!x!=0)s+=++x;printf("%d",s);则A)运行程序段后输出0 B)运行程序段后输出1 C)程序段中的控制表达式是非法的D)程序段执行无限次(23)(23)下面程序段的运行结果是char *s="abcde";s+=2;printf("%d",s);A)cde B)字符′c′ C)字符′c′的地址D)无确定的输出结果(24)阅读下列程序,则执行后的结果为#include "stdio.h"main(){ int c[][4]={1,2,3,4,5,6,7,34,213,56,62,3,23,12,34,56};printf("%x,%x\n",c[2][2],*(*(c+1)+1));}A)3e,6B)62,5C)56,5D)3E,6(25)下面判断正确的是A)char *a="china";等价于char *a;*a="china"; B)char str[5]={"china"};等价于char str[]={"china"};C)char *s="china";等价于char *s;s="china"; D)char c[4]="abc",d[4]="abc";等价于char c[4]=d[4]="abc";(26)若有定义:int a[2][3];,以下选项中对a数组元素正确引用的是A)a[2][!1] B)a[2][3]C)a[0][3]D)a[1>2][!1](27)有定义语句:char s[10];,若要从终端给s输入5个字符,错误的输入语句是A)gets(&s[0]); B)scanf("%s",s+1); C)gets(s);D)scanf("%s",s[1]);(28)有以下程序#include <stdio.h>#define N 5#define M N+1#define f(x) (x*M)main(){ int i1,i2;i1=f(2);i2=f(1+1);printf("%d %d\n",i1,i2);}程序的运行结果是A)12 12 B)11 7C)11 11 D)12 7(29)若有以下说明和定义union dt{ int a; char b; double c;}data;以下叙述中错误的是A)data的每个成员起始地址都相同B)变量data所占内存字节数与成员c所占字节数相等C)程序段:data.a=5;printf("%f\n",data.c);输出结果为 5.000000D)data可以作为函数的实参(30)有以下程序#include<stdio.h>main(){FILE *fp;int k,n,a[6]={1,2,3,4,5,6};fp=fopen("d2.dat","w");fprintf(fp,"%d%d%d\n",a[0],a[1],a[2]);fprintf(fp,"%d%d%d\n",a[3],a[4],a[5]);fclose(fp);fp=fopen("d2.dat","r");fscanf(fp,"%d%d",&k,&n);printf("%d%d\n",k,n);fclose(fp);}程序运行后的输出结果是A)1 2B)1 4C)123 4D)123 456(31)若已定义int a[]={0,1,2,3,4,5,6,7,8,9}, *p=a,i;其中则对a数组元素不正确的引用是A)a[p-a] B)*(&a[i]) C)p[i] D)a[10](32)有以下程序#include <stdio.h>void fun(int *s,int n1,int n2){ int i,j,t;i=n1; j=n2;while(i<j) {t=s[i];s[i]=s[j];s[j]=t;i++;j--;}}main(){ int a[10]={1,2,3,4,5,6,7,8,9,0},k;fun(a,0,3); fun(a,4,9); fun(a,0,9);for(k=0;k<l0;k++)printf("%d",a[k]); printf("\n");}程序的运行结果是A)0987654321 B)4321098765 C)5678901234 D)0987651234(33)阅读下列程序,当运行函数时,输入asd af aa z67,则输出为#include <stdio.h>#include <ctype.h>#include <string.h>int fun (char *str){ int i,j=0;for(i=0;str[i]!=′ \0′;i++)if(str[i]!=′ ′)str[j++]=str[i];str[j]= ′\0′;}main(){char str[81];int n;printf("Input a string : ");gets(str);puts(str);fun(str);printf("%s\n",str);}A)asdafaaz67 B)asd af aa z67 C)asd D)z67(34)有以下程序int fun(int n){if(n==1)return 1;elsereturn(n+fun(n-1));}main(){int x;scanf("%d",&x); x=fun(x);printf("%d\n",x)}执行程序时,给变量x输入10,程序的输出结果是A)55B)54C)65 D)45(35)下面程序段中,输出*的个数是char *s="\ta\018bc";for(;*s!='\0';s++)printf("*");A)9B)5C)6D)7(36)C语言结构体类型变量在程序运行期间A)TC环境在内存中仅仅开辟一个存放结构体变量地址的单元B)所有的成员一直驻留在内存中C)只有最开始的成员驻留在内存中D)部分成员驻留在内存中(37)已知函数的调用形式为fread(buf,size,count,fp),参数buf的含义是A)一个整型变量,代表要读入的数据项总数B)一个文件指针,指向要读的文件C)一个指针,指向要读入数据的存放地址D)一个存储区,存放要读的数据项(38)设有以下语句char x=3,y=6,z;z=x^y<<2;则z的二进制值是A)00010100B)00011011C)00011100D)00011000(39)在C语言中,只有在使用时才占用内存单元的变量,其存储类型是A)auto和register B)extern和register C)auto和staticD)static和register(40)设有定义语句int (*f)(int);,则以下叙述正确的是A)f是基类型为int的指针变量B)f是指向函数的指针变量,该函数具有一个int类型的形参C)f是指向int类型一维数组的指针变量D)f是函数名,该函数的返回值是基类型为int类型的地址二、填空题请将每一个空的正确答案写在答题卡序号的横线上,答在试卷上不给分。
C语言试题(第2学期)及答案

考试科目:C语言试题(第2学期) 班次 姓名 A卷 学号 共 5 页 成绩
注:试卷做在后面答题试卷上。 1. 选择填空(选择一个正确答案,将其对应字母填在横线上) (30分) 1.Turbo C 2.0程序中,一个int整型数据能表示数据的范围为 C ; A:0~255 B:0~65535 C:-32768~32767 D:0~ 32767 2.在下列描述中,正确的字符常量是 B A:“a” B:‘\n’ C:‘ABC’ ; D:‘1234’ B
c[i]=c[len-i-1]; c[len-i-1]=t; } } void main() { char c[100]; gets(c); exe_1(c); puts(c); } #include<stdio.h> #include<string.h> void main() { char s1[29],s2[69],len; int i; gets(s1); len=strlen(s1); for(i=0;i<len;i++) s2[len-1-i]=s1[i]; for(i=0;i<len;i++) printf("%c",s2); }把数组 a中的数赋值给另一个数组b,并逆序输出。 #include<stdio.h> #define n 6 void main() { int a[n]={1,2,3,4,5,6},b[n]; int i; for(i=0;i<n;i++) b[n-i-1]=a[i]; for(i=0;i<n;i++) printf("%d ",b[i]); } }
A:2,4;
C语言程序设计(参考试卷+答案) (2)

题号 一 二 三 四 五 六 总分 得分考试形式:■闭卷 □开卷 ■笔试 □机试 答卷要求:试卷答案需填写至答题卡内一、单项选择题(每小题 2 分,共 30 分)1 2 3 4 5 6 7 8 9 10 D C A B D B B B D A 11 12 13 14 15 BBBCD1、关于C 语言的叙述中,不正确的是(D )。
A) C 程序可由一个或多个函数组成 B) C 程序必须包含一个main()函数 C) C 程序的基本组成单位是函数D) 注释说明只能位于一条语句的后面2、C 语言源程序文件经过C 编译程序编译连接之后生成一个后缀为( C )的文件。
A) .cB) .objC) a#10 D) Pad C) .exe D) .basC) a#10 D) Pad3、若有定义:float x=3.5; int z=8; 则表达式x+z%3/4的值是( A ) A) 3.5B) 3.75C) 3D) 44、下列标识符中,不合法的用户标识符为( B )。
A) _intB) a#10C) abcD) Pad5、下面运算符优先级最低的是(D )。
A) !B) >=C) %D) +=6、若变量已正确定义,执行语句scanf (“%d,%d ”,&a, &b);若要求a 、b 的值分别为10和20,正确的数据输6入是( B ) A) 10 20B) 10,20C) a=10, b=20D) 10;207、对于整型变量x ,下述计语句与赋值句:x=x%2==0?1:0;不等价的是( B ) A) if (x%2!=0)x=0; else x=1; B) if (x%2)x=1; else x=0; C) if (x%2==0)x=1; else x=0; D) if (x%2==1)x=0; else x=1;8、以下程序运行后,循环体运行的次数为( B )int i=10,x; for( ;i<10;i++) x=x+i; A) 10B) 0C) 1D) 无限9、若有定义int a[2][3];则对数组元素的非法引用是( D ) A) a[0][1/2]B) a[1][1]C) a[4-4][0]D) a[0][3]10、在C 程序中,若对函数类型未加说明,则函数的隐含类型为(A )。
C语言试卷2

C语言模拟考试学号:2 姓名:路超颖得分:1 ..................................................................单项选择下列说法中正确的是( ).A.函数调用不占运行时间,只占编译时间.B.宏替换不占运行时间,只占编译时间.C.有参数的宏定义,就是函数.D.在定义宏时,宏名与带参数的括弧之间可以加空格.【评分报告得分:1.0 之 1.0 】【参考答案】正确B【学生答案】B以下标识符中,不能作为合法的C用户定义标识符的是()。
A.PrintfB.WORDC.ForD.sizeof【评分报告得分:0.0 之 1.0 】【参考答案】错误D【学生答案】B以下运算符中优先级最低的是()。
A.&&B.<=C.||D.+【评分报告得分:0.0 之 1.0 】【参考答案】错误C【学生答案】[未答此题]以下选项中合法的实型常数是()。
A.E-3B..2E0C.1.3ED.5E2.0【评分报告得分:0.0 之 1.0 】【参考答案】错误B【学生答案】[未答此题]若有以下程序:main(){int k=2,i=2,m;m=(k+=i*=k);printf("%d,%d\n",m,i);}执行后的输出结果是( )。
A.8,3B.7,4C.8,6D.6,4【评分报告得分:0.0 之 1.0 】【参考答案】错误D【学生答案】[未答此题]执行以下程序段后,输出结果和a的值是()。
int a=10; printf("%d",a++);A.11 和 10B.10 和 11C.11 和 11D.10 和 10【评分报告得分:0.0 之 1.0 】【参考答案】错误B【学生答案】[未答此题]下面叙述中错误的是( )。
A.函数的形式参数,在函数未被调用时就不被分配存储空间B.若函数的定义出现在主调函数之前,则可以不必再加说明C.一般来说,函数的形参和实参的类型要一致D.若一个函数没有return语句,则什么值也不会返回【评分报告得分:0.0 之 1.0 】【参考答案】错误D【学生答案】[未答此题]在C语言中,调用函数除函数名外,还必须有()。
c语言试卷和答案2

for (k=1; k<5; k++) {
if (k%2) printf(“#”);
else continue;
printf(“*”);
}
}
A)#*#* B)*#*#
程序3
#include <stdio.h>
void main()
{int i=0, n;
char s[10]= “298h01”;
n=0;
for(i=0; s[i]!= ‘\0’; i++)
if(s[i]<’9’ && s[i]>=’0’)
n=n*10+(s[i]-‘0’);
程序1【程序说明】输出1~1000之间所有满足各位数字的立方和等于它本身的数。
【程序】
#include <stdio.h>
void main()
{ int digit,k,m,s;
for(k=1;k<=1000;k++){
(24) ;
return x-1;
}
void main()
{ int y;
y=p(&x);
printf(“(%d,%d)”,x,y);
}
A)(-1,0) B)(1,-1) C)(1,0) D)出错
三、 程序填空题(每空2分,共16分)
A)p=’\0’ B)p=0 C)p=NULL D)p=EOF
(23)下列程序的输出结果是 。
#include <stdio.h>
int x;
int p( int *y)
《c语言程序设计》试卷2-答案

下面是经典古文名句赏析!!不需要的朋友,可以下载后编辑删除!!谢谢经典古文名篇(一);1.陋室铭刘禹锡(唐)字梦得《刘梦得文集》;山不在高,有仙则名;2.马说韩愈(唐)字退之《昌黎先生集》;世有伯乐,然后有千里马;马之千里者,一食(shí)或尽粟一石(dàn);策之不以其道,食(sì)之不能尽其材(才),鸣之;3.师说韩愈(唐);古之学者必有师;嗟乎!师道之不传也久矣!欲人之无惑也难矣!古之圣;圣人无常师;李氏子蟠,年十七经典古文名篇(一)1. 陋室铭刘禹锡(唐)字梦得《刘梦得文集》山不在高,有仙则名。
水不在深,有龙则灵。
斯是陋室,惟吾德馨。
苔痕上阶绿,草色入帘青。
谈笑有鸿儒,往来无白丁。
可以调素琴,阅金经。
无丝竹之乱耳,无案牍之劳形。
南阳诸葛庐,西蜀子云亭。
孔子云:何陋之有?2.马说韩愈(唐)字退之《昌黎先生集》世有伯乐,然后有千里马。
千里马常有,而伯乐不常有。
故虽有名马,只辱于奴隶人之手,骈死于槽枥之间,不以千里称也。
马之千里者,一食(shí)或尽粟一石(dàn)。
食(sì)马者不知千里而食(sì)也。
是马也,虽有千里之能,食(shí)不饱,力不足,才美不外见(现),且欲与常马等不可得,安求其能千里也?策之不以其道,食(sì)之不能尽其材(才),鸣之而不能通其意,执策而临之,曰:“天下无马!”呜呼!其真无马邪(ye)?其真不知马也。
3.师说韩愈(唐)古之学者必有师。
师者,所以传道受(授)业解惑也。
人非生而知之者,孰能无惑?惑而不从师,其为惑也,终不解矣。
生乎吾前,其闻道也固先乎吾,吾从而师之;生乎吾后,其闻道也亦先乎吾,吾从而师之。
吾师道也,夫庸知其年之先后生于吾乎?是故无贵无贱,无长无少,道之所存,师之所存也。
嗟乎!师道之不传也久矣!欲人之无惑也难矣!古之圣人,其出人也远矣,犹且从师而问焉;今之众人,其下圣人也亦远矣,而耻学于师。
C语言程序设计试卷2(含答案)

setw(int *b,int m,int n,int dat) { int k;
for(k=0;k<m*n;k++) { *b = = dat;b++; } }
假设变量a的说明为 int a,求调用此函数的正确写法是( )。
A. setw(*a,5,8,1); B. setw(&a,5,8,1); C. setw((int *)a,5,8,1); D. setw(a,5,8,1); 7、请读程序: #include<stdio.h> main( )
上面程序的输出结果( )。
A. 101001 B. 001001 C. 111001 D. 101101 8、请读程序
#include <math.h> #include <stdio.h> main( )
{ float x,y,z;
#include <stdio.h> main()
{ int *p1,*p2,*p; int a=5, b=8; p1=&a;p2=&b;
if(a<b) {p=p1;p1=p2;p2=p;} printf(&uot;%d,%d,&uot;,*p1,*p2); printf(&uot;%d,%d&uot;,a,b);}
若运行时从键盘上输入3.6 2.4<CR>, 则输出结果是( )。 A. 1.500000 B. 1.600000 C. 2.000000 D. 2.400000 9、若有说明
事业单位招录计算机专业知识(C语言)模拟试卷2(题后含答案及解析)

事业单位招录计算机专业知识(C语言)模拟试卷2(题后含答案及解析)题型有:1. 单项选择题 4. 简答题单项选择题1.若有定义int x,y;并已正确给变量赋值,则以下选项中与表达式(x-y)?(x++):(y++)中的条件表达式(x-y)等价的是( )。
A.(x-y<0)B.(x-y=0)C.x-y>0)D.(x-y<0‖(x-y)>0)正确答案:D解析:x-y判断为真执行x++,为假执行y++,无论真假与否会执行语句,故选D。
知识模块:C语言2.表示关系x<=y<=z的c语言表达式为( )。
A.(x<=y)AND(y<=z)B.(x<=y<=z)C.(x<=y)&(y<=z)D.(x<=y)&&(y<=z)正确答案:D解析:x<=y<=z这种写法是数学上的表达方法,在C语言中,如果写成这样,程序编译并不报错,这也是一个合法的逻辑运算表达式。
先计算x<=y,结果是真(1)或假(0),然后再用这个结果与z进行比较。
得到最终结果。
但本题显然是判断y>=x同时y<=z,C语言中逻辑“与”为“&&”。
故x<=y<=z的c语言表达式为正确表达式为:(x<=y)&&(y<=z)。
main( ) { int i=0:i=~i:printf(“%d\n”,i);} 知识模块:C语言3.如下C程序的输出结果为( ) main( ) { int i=0:i=-i:Printf(“%d\n”,i);}A.1B.8C.65535D.-1正确答案:D解析:i取反后为11111111,为负数,最高位代表符号位,其他代表数值,那么该数的原码为减一取反,故选D。
知识模块:C语言4.下面程序段执行后的结果为( )。
int sum=0,n=10;d0{sum =sum+n;n++;} while(n<10) printf(“%d,%d”,sum,n);A.10,11B.0,11C.0,10D.以上结果都不对正确答案:A解析:do-while循环是先执行后判断,先执行语句sum=sum+n,n++则执行后sun变为10,n变为11,再判断条件n<10为假。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
扬州大学试题纸系课程 C语言程序设计(A)卷2002—2003学年第2学期班级_________学号________姓名__________得分___________一、选择题(每题分,共30分):1、已知:char a; int b; float c; double d;则执行语句:c=a+b+c+d; 后,变量c的类型为。
A. charB. intC. floatD. double2、已有定义int x; float y; 且执行scanf(“%2d%f”,&x,&y);语句时,从第一列开始输入数据12345 67<回车>,则y的值是。
A. 无定值B. 345.00000C.D.3、设有以下程序段int x=0; s=0;while (!x!=0) s+=++x;printf(“%d”,s);则。
A. 运行程序段后输出0B. 运行程序段后输出1C. 程序段中的控制表达式是非法的D. 程序段执行无限次4、若i为整型变量,则以下循环执行次数是。
for(i=2; i==0;) printf(“%d”, i--);A. 无限次B. 2次C. 1次次5、假设char ch=’a’, *p=&c h; ,以下语句中,有语法错误的是 .A. (*p)++;B. ch+=—‘a’+’A’;C. toupper(ch)=ch;D. ch++;6、若说明:char *language[ ]={“VFP”,”C”,”VB”,”VC”,”JAVA”};则language[2]的值是。
A. 一个字符B. 一个地址C. 一个字符串D. 一个不定值7、C语言程序中,当调用函数时。
A. 实参和虚参可以共用存储单元B. 实参和虚参各占一个独立的存储单元C. 可以由用户指定是否共用存储单元D. 由计算机系统自动确定是否共用存储单元8、在程序中要使用语句:printf(“%s\n”, STRING);输出提示信息:“OK! ”(包括双引号),则应使用宏定义语句。
A. #define STRING “OK!”B. #define STRING “”OK!””C. #define STRING \”OK!\”D.以上三个答案都是错误的9、数组和链表都可以用于存储一组数据,以下说法不正确的是_____________。
A. 数组占用连续的一块存储区域,链表可能占用若干不连续的存储区域B. 数组和链表所占用的存储区域均不能在程序运行期间动态分配C. 数组中的数据可以随机存取或顺序存取,链表中的数据只能顺序存取D. 数组的长度是固定的,链表的长度是不固定的。
10、已知语句FIL E *fp; char ch= ‘c’;fp=fopen(“”,”w”);如果需要将ch的值保存到一个磁盘文件中,则以下函数调用形式中,正确的是_____________。
A. fprintf(“%c”,ch);B. fprintf(“%c”,ch, fp);C. fprintf(fp,”%c”,ch);D. fprintf(“”,”%c”,x);11、以下标识符中,不能..作为合法的C用户定义标识符的是。
A. ForB. printfC. getcharD. sizeof12、设p为指向结构体变量的指针,num为该结构体中的一个整型成员,y为一整型变量,则y=++p->num;与等价。
A. ++p;y=p->num;B. y=(++p)->num;C. ++(p->num); y=p->num;D. y=p->num;++y;13、若要对a进行++运算,则a应具有下面说明。
A. int a[3][2]B. char *a[ ]={“12”,”ab”};C. char (*a)( );D. int b[10], *a=b;14、以下程序段运行后,a,b的值是int a,b,d=241;a= d/100%9;b=(-1)&&(-1);A. 6,1B. 2,1C. 6,0D. 2,015、以下正确的说明语句是。
A. int *b[ ]={1,2,3};B. int a[3]={1,2,3},*b[3]={a[0],a[1],a[2]};C. int a[3],*b[3]={&a[0],&a[1],&a[2]};D. int a[3][2],(*b)[3];b[0]=&a[2][1];16、下面语句,合法是。
A. scanf(“%7.2f”,&x);B. b=getchar(a);C. if((a=b;)>0) t=a;D. printf(“%”,”CHINA”);17、下述程序段中,无语法错误.....的是。
A. int a=2,b=0;B. char a=’A’,b=0;switch(a) switch(a){ case b+1:a--;break; { case ‘A’:b++;break;case b+3:a++;break; case -1 : b=3;} }C. int a=2,b=5;D. #define N 10switch(b) int a=2,b=0;{ case b>0: a=1;break; switch(a)case b= =0:a=0;break; { case N-9: b++;break;} case 1: b=1;break; }18、以下说法不正确的是。
A. 在不同函数中可以使用同名变量B. 形式参数是局部变量C. 在函数内定义的变量只在本函数范围内有效D. 在函数内的复合语句中定义的变量只在本函数范围内有效19、在程序的执行过程中,该程序的某一个函数f中说明的static型变量x有这样的特性。
A. x存在于函数f被调用期间且仅能被函数f所用B. x存在于整个程序执行过程中且仅能被函数f所用C. x存在于函数f被调用期间且可被所有函数所用D. x存在于整个程序执行过程中且可被所有函数所用20、设p1和p2是指向同一个字符串的指针变量,c为字符变量,则以下不能正确执行的赋值语句是。
A. c=*p1+*p2;B. p2=c;C. p1=p2;D. c=*p1*(*p2);二、基本概念题(每题2分,共10分)1、一个C语言的语句至少应包含一个。
一个C源程序至少应包含一个。
2、当程序读写数据文件时,需要有声明语句FILE *fp;在该声明语句之前必须包含头文件。
3、 char *p()说明的含义是。
4、只能在循环体中出现的语句是________________。
5、C语言可以处理的文件类型是________文件和________文件。
三、阅读程序写出程序结果(每空2分,共20分):1、若有int a=1; printf(“%d\n”,a*=a/=-a);则输出结果为。
2、下面程序的运行结果是。
main(){ int i, j=1;for(i=j==2; i<=2*j; i++)switch (i/j+1){ case 0:case 1: printf(“**”);break ;case 2: printf("##");}}3、设有以下的宏定义MAX,程序的运行结果为。
#define MAX(a,b) (a>ba+1:b)+1main(){ int i=16,j=8,k;printf("%d\n”,MAX(i,j));}4、以下程序输出结果是__________。
enum week{SUN=7,MON=1,WED,TUS,THS,FRI,SAT};main(){ printf(“%d”,hour(FRI,SUN)); }hour(int x,int y){ if (y>x) return 24*(y-x);else return –1;}5、程序执行输出的第一行结果是,第四行是。
#include<>char b[ ]=”program”, *a=”PROGRAM”;main(){ int i=0;printf(“%c%s\n”,*a, b+1);while(putchar(*(a+i)))i++;printf(“\ni=%d\n”,i);while(--i) putchar(*(b+i));}6、执行以下程序,输出结果是。
void f1(int x, int y, int *sum ){ *sum=x+y;x++; y++;}main(){ void (*f)(); int a=10,b=20, c=100;f=f1; f(a, b, &c);printf(“%d, %d, %d\n”, a, b , c);}7、程序:struct s{long int num; char *name; int *n;}*p,*q;int d[5]={100,200,300,400,500};struct s arr[5]={85001, "wang",&d[0],81005,"wu",&d[1],99003,\"zhang",&d[2],96004,"tang",&d[3],99001,"meng",&d[4]};main(){ p=q=arr;printf("%ld\n",++p->num); p++;q+=3;printf("%d\n",*q->n);}程序输出结果的第一行是;第二行是。
8、程序:long f(long x){ if(x<100) return x%100;else return f(x/100)*10+x%10; }main(){ printf(“The result is :%d\n”,f(987654));}四、完善程序题(每空2分,共30分):1、假设a数组中的数据已按由小到大的顺序存放,以下程序可把a数组中相同的数据删得只剩下一个,然后输出a 数组。
#define M 10main(){ int a[M], i, j, n;for( i=0; i<M; i++)scanf(“%d”,&a[i]);n=i=M-1;while( i>=0){ if(a[i]==a[i-1]){ for( j= __(1)____ ; j<=n; j++)a[j-1]=___(2)_____;n--; }i--;}for(i=1; i<=n+1; i++)printf( “%4d”, ___(3)______);}2、下面的程序利用公式fx(x)=1-x2/2!+x4/4!-x6/6!+……+(-1)n x2n/(2n)!计算fx(x)的值。