c语言试卷2 有答案
《C语言程序设计(第2版)》试题库 期末试卷二
![《C语言程序设计(第2版)》试题库 期末试卷二](https://img.taocdn.com/s3/m/f10b60ff844769eae109edc9.png)
期末试卷二一、单项选择题(每题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.doc](https://img.taocdn.com/s3/m/77acda7fb9f3f90f77c61b53.png)
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语言试卷(下)及答案
![C语言试卷(下)及答案](https://img.taocdn.com/s3/m/f3d5f7f8227916888486d7eb.png)
C语言复习卷(下) 答案一、填空题(每小题1分,共20分)1.C语言源程序文件的后缀是.C ,经过编译后,所生成文件的后缀是.obj ,经过连接后,生成的文件后缀是.exe。
2.在C语言中,二维数组元素在内存中的存放顺序是按行顺序存放。
(数组元素偏移量表示法: 对于a[m][n] a[i][j] = a[0][n*i+j] )3.若有说明:char s[20];,如果想从键盘上把字符串:This is a book. 输入到数组s 中,函数调用语句的形式是gets(s); 。
4.若用以下形式表示for循环语句:for (表达式1;表达式2;表达式3)循环体语句则执行语句for (i=0; i<3; i++) printf("*"); 时,表达式1执行__1__次,表达式3执行3 次,循环结束时i的值是3 。
5.在C语言中,真用__非0__表示,假用__0__表示。
当逻辑表达式的值为真时用__1__表示,当逻辑表达式的值为假时用__0__表示。
6.若a、b、c均是int型变量,则执行表达式c=(a=5)-(b=2)+a后,c的值为_ 8___。
7.设a=1 , b=2 , c=3 ,执行下面语句if ( a > c ) b = a ; a = c ; c = b ;后,a的值是_3_,b的值是__2__,c的值是__2__。
8.在C语言中,指针是指__位置__,而指针变量是指_用于存放位置的变量。
试定义一个指向字符的指针变量p:char *p; 。
9.在C语言中,数组名是一个_位置常量_,不能对其进行赋值操作。
二、选择题(每小题1分,共20分)1.逻辑运算符两侧运算对象的数据____。
A、只能是0或1B、只能是0或非0正数C、只能是整型或字符型数据D、可以是任何类型的数据2.若x为int类型,则逗号表达式((x = 4 * 5 , x * 5),x + 2 5)的结果是_。
《C语言程序设计》模拟试卷2
![《C语言程序设计》模拟试卷2](https://img.taocdn.com/s3/m/5b8894f759f5f61fb7360b4c2e3f5727a5e924c3.png)
《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语言程序设计》模拟试卷二](https://img.taocdn.com/s3/m/2ad0294400f69e3143323968011ca300a7c3f65c.png)
全国计算机等级考试《二级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语言机试(C语言程序设计)模拟试卷26(题后含答案及解析)
![国家二级C语言机试(C语言程序设计)模拟试卷26(题后含答案及解析)](https://img.taocdn.com/s3/m/c14b5161c77da26924c5b06f.png)
国家二级C语言机试(C语言程序设计)模拟试卷26(题后含答案及解析)题型有:1. 选择题选择题1.要求通过while循环不断读入字符,当读入字母N时结束循环。
若变量已正确定义,以下正确的程序段是A.while(ch=getchar( )=‘N’)printf(“%c”,ch);B.while(ch=getchar( )==“N”)printf(“%c”,ch);C.while((ch=getchar( ))!=‘N’)printf(“%c”,ch);D.while((ch=getchar( ))==‘N’)printf(“%c”,ch);正确答案:C解析:while循环的执行过程如下:①计算while后面圆括号中表达式的值,当值为非0时,执步骤②;当值为0时,执行步骤④:②执行循环体一次:③转去执行步骤①;④退出循环。
在选项C)中,表达式(ch=getchar( ))!=‘N’表示输入的字符不等于N,如果这个条件表达式成立,则执行循环体,打印输出输入的字符。
如果这个条件表达式不成立,即输入的字符等于N,则退出循环。
知识模块:C语言程序设计2.若有以下程序main( ){int a=-2,b=0;while(a++) ++b:printf(“%d,%d\n”,a,b);}则程序的输出结果是A.0,2B.1,2C.1,3D.2,3正确答案:B解析:循环体执行两次,第一次表达式a++值为-2,a的值为-1,执行循环体++b,b值为1,第二次表达式a++值为-1,a的值等于0,执行++b,b值为2,第三次判断条件a++,表达式值为0,不执行循环体,但是条件判断以后,a的值为1。
知识模块:C语言程序设计3.由以下while构成的循环,循环体执行的次数是int k=0;while(k=1)k++;A.一次也不执行B.执行一次C.无限次D.有语法错,不能执行正确答案:C解析:循环条件表达式为赋值表达式k=1,因此循环执行无限次。
国家二级C语言(数据结构与算法)机试模拟试卷2(题后含答案及解析)
![国家二级C语言(数据结构与算法)机试模拟试卷2(题后含答案及解析)](https://img.taocdn.com/s3/m/2b90010b195f312b3069a56f.png)
国家二级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表示并口。
国家二级C语言机试数据结构与算法-试卷2-1_真题(含答案与解析)-交互
![国家二级C语言机试数据结构与算法-试卷2-1_真题(含答案与解析)-交互](https://img.taocdn.com/s3/m/0ee67b0b04a1b0717ed5dd05.png)
国家二级C语言机试(数据结构与算法)-试卷2-1(总分76, 做题时间90分钟)1. 选择题1.对长度为10的线性表进行冒泡排序,最坏情况下需要比较的次数为()。
SSS_SINGLE_SELA 9B 10C 45D 90分值: 2答案:C解析:在最坏情况下,冒泡排序的时间复杂度为n(n-1)/2,为45,答案选C。
2.下列叙述中正确的是()。
SSS_SINGLE_SELA 算法的效率只与问题的规模有关,而与数据的存储结构无关B 算法的时间复杂度是指执行算法所需要的计算工作量C 数据的逻辑结构与存储结构是一一对应的D 算法的时间复杂度与空间复杂度一定相关分值: 2答案:B解析:算法的时间复杂度是指执行算法所需要的计算工作量,与数据的存储结构有关,与算法的空间复杂度没有关系。
数据的逻辑结构与存储位置无关,即与存储结构无关,所以选择B。
3.下列叙述中正确的是()。
SSS_SINGLE_SELA 线性表链式存储结构的存储空间一般要少于顺序存储结构B 线性表链式存储结构与顺序存储结构的存储空间都是连续的C 线性表链式存储结构的存储空间可以是连续的,也可以是不连续的D 以上说法都不对分值: 2答案:C解析:在链式存储结构中,存储数据结构的存储空间可以不连续,各数据结点的存储顺序与数据元素之间的逻辑关系可以不一致,而数据元素之间的逻辑关系是由指针域来确定的,所以选择C。
4.某二叉树共有12个结点,其中叶子结点只有1个。
则该二叉树的深度为(根结点在第1层)()。
SSS_SINGLE_SELA 3B 6D 12分值: 2答案:D解析:根据二叉树的性质,叶子结点比度为2的结点个数多一个,叶子结点只有1个,那么度为2的结点为0个,可以得出共有11个度为1的结点,那么该二叉树每一层上只能有一个结点,共12层,即深度为12。
5.对长度为n的线性表作快速排序,在最坏情况下,比较次数为()。
SSS_SINGLE_SELA nB n-1C n(n-1)D n(n-1)/2分值: 2答案:D解析:在最坏情况下,快速排序需要比较n(n-1)/2次。
2023年9月青少年软件编程C语言等级考试试卷二级真题(含答案)
![2023年9月青少年软件编程C语言等级考试试卷二级真题(含答案)](https://img.taocdn.com/s3/m/ba70d44b11a6f524ccbff121dd36a32d7375c7bf.png)
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语言试卷2及答案](https://img.taocdn.com/s3/m/bd99f79c240c844768eaee49.png)
扬州大学试题纸系课程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语言)笔试模拟试卷76(题后含答案及解析)
![国家二级(C语言)笔试模拟试卷76(题后含答案及解析)](https://img.taocdn.com/s3/m/1b7cc42d4693daef5ff73db1.png)
国家二级(C语言)笔试模拟试卷76(题后含答案及解析)题型有:1. 选择题 2. 填空题选择题(1-10、21-40每题2分,11-20每题1分,共70分)下列各题A、B、C、D四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上。
1.可以作为Windows外壳程序的是( )A.程序管理器B.文件管理C.程序管理器和文件管理器D.主群组正确答案:C2.与十进制数96等值的二进制是( )A.1100000B.10010110C.1100001D.1100011正确答案:A3.对存储器按字节进行编址,若某存储器芯片共有10根地址线的引脚,则该存储器芯片的存储容量为( )A.512 BB.1 KBC.2 KBD.4 KB正确答案:B4.在软件研制过程中,CASE是指( )A.计算机辅助软件工程B.计算机产生的例子C.实验室使用的工具D.计算机辅助系统工程正确答案:A5.下列软件中,属于应用软件的是( )A.UNIXB.人事管理系统C.数据库管理系统D.SYSTEM正确答案:B6.现代计算机之所以能自动地连续进行数据处理,主要是因为( )A.采用了开关电路B.采用了半导体器件C.具有存储程序的功能D.采用了二进制正确答案:C7.软盘上第( )磁道最重要,一旦损坏,该盘就不能使用了。
A.0B.40C.1D.80正确答案:A8.在下列四条叙述中,错误的一条是( )A.内存是主机的组成部分B.对于种类不同的计算机,其机器指令系统都是相同的C.CPU由运算器和控制器组成D.十六进制微型机的含义是:这种机器能同时处理十六位二进制数正确答案:B9.十进制数124转换成二进制数是( )A.111l010B.1111100C.1011111D.1111011正确答案:B10.数字字符“2”的ASCII码为十进制数50,数字字符“5”的ASCII 码为十进制数( )A.52B.55C.54D.53正确答案:D11.若要用下面的程序片段使指针变量p指向一个存储字符型变量的动态存储单元,则应填入; char * p;p= ( ) malloc (sizeof (char));A.charB.char *C.(* char)D.(char *)正确答案:D12.能够对计算机的硬件设备进行管理,并使应用软件能够方便、高效地使用这些设备的是( )A.数据库存系统B.操作系统C.编辑软件D.应用软件正确答案:B13.对于―个非空的数据结构,如果它有且只有―个根结点,并且每一个结点最多有一个前件,也最多有―个后件,那么( )A.肯定是一个线形结构B.肯定是一个非线性结构C.还不足以证明是一个线形结构D.很可能是一个非线形结构正确答案:A14.在C语言中,可以把整数以二进制形式存放到文件中的函数是( )A.fprintf ( ) 函数B.fread ( ) 函数C.fwrite ( ) 函数D.fputc( )函数正确答案:C15.有程序段:int al,a2;Char cl,c2;scanf(“%d%c%d%c”,&a1,&cl,&a2,&c2);若要求a1、a2、c1、c2的值分别为10、20、A、B,正确的数据输入( )A.10A 20B<CR>B.10A 20 B<CR>C.10 A20B<CR>D.10A20 B<CR>正确答案:A16.设有以下语句,则c的二进制值是( ) char a=3,b=6,c;c =a b<<2;A.11011B.10100C.11100D.11000正确答案:A17.如下程序的执行结果是( ) main( ) {int n=1;printf(“%d%d%\n”,n,+ +n,n- -);}A.1 1 1B.1 2 2C.1 2 3D.1 2 1正确答案:A18.设有以下说明语句:struct ex {int x;floct y;char z;} example;则下面的叙述中不正确的是( )A.struct是结构体类型的关键字B.example是结构体类型名C.x,y,z都是结构体成员名D.struct ex是结构体类型正确答案:B19.以下只有使用时才为该类型变量分配内存的存储类型说明是( )A.auto和staticB.auto和registerC.register和staticD.extern和register正确答案:B20.若fp是指向某文件的指针,且已读到该文件末尾,则库函数feof(fp)的返回值是( )A.EOFB.-1C.非零值D.NULL正确答案:D21.C语言提供的合法关键字是( )A.switchB.cherC.caseD.default正确答案:C22.在C语言中,合法的字符常量是( )A.’\084’B.’\x43’C.’ab’D.’\0’正确答案:B23.若已定义x和y为double类型,则表达式:x=1,y=x+3/2的值是( ) A.1B.2C.2D.2.5正确答案:C24.合法的数组定义是( )A.int a[ ]=”string”;B.int a[5]={0,1,2,3,4,5};C.char a=”string”;D.char a={0,1,2,3,4,5};正确答案:D25.设a为整型变量,不能正确表达数学关系10<a<15的C语言表达式是( )A.10<a<15B.a==11 | | a==12 | | a==13 | | a==14C.a>10&&a<15D.!(a<=10)SL&!(a>=15)正确答案:A26.若t为doudle类型,表达式t=1,t + 5,t + +的值是( )A.1B.6C.2D.1正确答案:C27.若有定义和语句( ) char s[10];s=”abcd”;printf(“%s\n”,s);则结果是(以下μ代表空格)A.输出abcdB.输出aC.abcdμμμμμD.编译不通过正确答案:D28.若有定义和语句:( ) int * * pp,* p,a=10,b=20 pp=&p;p=&a;p=&b;printf(“%d,%d”n”,* p,* * pp);则输出结果是A.10,10B.10,20C.20,10D.20,20正确答案:D29.若有以下定义和语句( )int u=010,v=Ox10,w=10;printf(“%d,%d%d\n”,u,v,w);则输出结果是A.8,16,10B.10,10,10C.8,8,10D.8,10,10正确答案:A30.若有以下定义和语句char c1=‘b’,c2=’e’printf(“%d,%c\n”,c2-c1,c2-’a’+A);则输出结果( )A.2,MB.3,EC.2,ED.输出项与对应的格式控制不一致,输出结果不确定正确答案:B31.若有定义:int a[3][4],( )不能表示数组元素a[1][1]。
国家二级c语言考试试卷答案
![国家二级c语言考试试卷答案](https://img.taocdn.com/s3/m/5d8a9e5942323968011ca300a6c30c225901f0b5.png)
国家二级c语言考试试卷答案一、选择题(每题2分,共20分)1. 在C语言中,以下哪个选项是合法的标识符?A. 2variableB. _variableC. variable2D. variable-2答案:B2. C语言中,整型变量占用的字节数为:A. 1B. 2C. 4D. 8答案:C3. 若有定义:int a=5, b=2; 则表达式 a%b 的值是:A. 1B. 2C. 0D. 3答案:A4. 下列哪个选项不是C语言中的结构体类型?A. structB. unionC. enumD. int答案:D5. 在C语言中,以下哪个选项是正确的二维数组声明?A. int array[3][2];B. int array[][];C. int array[3][];D. int array[2,3];答案:A6. C语言中,以下哪个选项是正确的函数声明?A. void function();B. int function;C. int function();D. void function int;答案:C7. 若有定义:int x=10; 则表达式 x++ 的值是:A. 10B. 11C. 9D. 错误答案:A8. 在C语言中,以下哪个选项是正确的文件操作函数?A. fopenB. fcloseC. printfD. scanf答案:A9. 若有定义:float x=3.14; 则表达式 sizeof(x) 的值是:A. 2B. 4C. 8D. 1答案:B10. 在C语言中,以下哪个选项是正确的字符串声明?A. char str[5] = "hello";B. char str[] = "hello";C. char str[6] = "hello";D. char str = "hello";答案:B二、填空题(每题2分,共20分)1. C语言中,用于定义一个字符变量的关键字是 ________。
C语言程序设计模拟试卷 (2)
![C语言程序设计模拟试卷 (2)](https://img.taocdn.com/s3/m/4c6ac6d976a20029bd642df3.png)
模拟试卷一一、选择题(每题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. 字符串存储时,末尾被系统自动加上字符。
C语言程序设计考试试卷(附答案)
![C语言程序设计考试试卷(附答案)](https://img.taocdn.com/s3/m/05bf3216cec789eb172ded630b1c59eef8c79aad.png)
C语言程序设计考试试卷(附答案)C语言程序设计考试试卷(附答案)第一部分:选择题(共40题,每题2分,总分80分)1. 下列哪个关键字用于定义常量?A. constB. intC. staticD. volatile2. 在C语言中,以下哪个运算符用于将一个整数转换为浮点数?A. *B. /C. %D. +3. 下列代码的输出结果是什么?```c#include <stdio.h>void main() {int x = 2, y = 3;printf("%d", x++ * ++y);}```A. 7B. 8C. 9D. 104. C语言中,以下哪个运算符用于从一个整数中提取指定位数的值?A. <<B. >>C. |D. &5. 下列代码的输出结果是什么?```c#include <stdio.h>void main() {int arr[] = {1, 2, 3, 4, 5};int *ptr = arr + 2;printf("%d", *ptr);}```A. 1B. 2C. 3D. 4......40. 下列关于结构体的说法中,错误的是:A. 结构体可以包含不同类型的成员变量B. 结构体可以作为函数参数和返回值C. 结构体可以使用“->”来访问成员变量D. 结构体可以使用“sizeof()”函数获取其大小第二部分:填空题(共10题,每题4分,总分40分)1. 以下是有效的C语言标识符:___hello___2. 下列代码的运行结果是:___88___```c#include <stdio.h>void main() {int x = 8;printf("%d", x++);}```3. 在C语言中,以下是有效的声明:___int i, *p;___4. 下列代码的输出结果是:___10___```c#include <stdio.h>void main() {int arr[5] = {1, 2, 3, 4, 5};int *ptr = arr + 2;printf("%d", *(ptr + 2));}```5. 在C语言中,以下是合法的函数声明:___void fun(int x, float y);___......第三部分:编程题(共3题,每题20分,总分60分)1. 编写一个函数,接受一个整型数组和数组的长度作为参数,返回数组中的最大值。
C语言试卷2
![C语言试卷2](https://img.taocdn.com/s3/m/1108873458fb770bf78a5553.png)
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
![c语言试卷和答案2](https://img.taocdn.com/s3/m/b119844f2e3f5727a5e96237.png)
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-答案
![《c语言程序设计》试卷2-答案](https://img.taocdn.com/s3/m/f9b4c7ae1b37f111f18583d049649b6648d709a1.png)
下面是经典古文名句赏析!!不需要的朋友,可以下载后编辑删除!!谢谢经典古文名篇(一);1.陋室铭刘禹锡(唐)字梦得《刘梦得文集》;山不在高,有仙则名;2.马说韩愈(唐)字退之《昌黎先生集》;世有伯乐,然后有千里马;马之千里者,一食(shí)或尽粟一石(dàn);策之不以其道,食(sì)之不能尽其材(才),鸣之;3.师说韩愈(唐);古之学者必有师;嗟乎!师道之不传也久矣!欲人之无惑也难矣!古之圣;圣人无常师;李氏子蟠,年十七经典古文名篇(一)1. 陋室铭刘禹锡(唐)字梦得《刘梦得文集》山不在高,有仙则名。
水不在深,有龙则灵。
斯是陋室,惟吾德馨。
苔痕上阶绿,草色入帘青。
谈笑有鸿儒,往来无白丁。
可以调素琴,阅金经。
无丝竹之乱耳,无案牍之劳形。
南阳诸葛庐,西蜀子云亭。
孔子云:何陋之有?2.马说韩愈(唐)字退之《昌黎先生集》世有伯乐,然后有千里马。
千里马常有,而伯乐不常有。
故虽有名马,只辱于奴隶人之手,骈死于槽枥之间,不以千里称也。
马之千里者,一食(shí)或尽粟一石(dàn)。
食(sì)马者不知千里而食(sì)也。
是马也,虽有千里之能,食(shí)不饱,力不足,才美不外见(现),且欲与常马等不可得,安求其能千里也?策之不以其道,食(sì)之不能尽其材(才),鸣之而不能通其意,执策而临之,曰:“天下无马!”呜呼!其真无马邪(ye)?其真不知马也。
3.师说韩愈(唐)古之学者必有师。
师者,所以传道受(授)业解惑也。
人非生而知之者,孰能无惑?惑而不从师,其为惑也,终不解矣。
生乎吾前,其闻道也固先乎吾,吾从而师之;生乎吾后,其闻道也亦先乎吾,吾从而师之。
吾师道也,夫庸知其年之先后生于吾乎?是故无贵无贱,无长无少,道之所存,师之所存也。
嗟乎!师道之不传也久矣!欲人之无惑也难矣!古之圣人,其出人也远矣,犹且从师而问焉;今之众人,其下圣人也亦远矣,而耻学于师。
(完整版)C语言试卷及答案
![(完整版)C语言试卷及答案](https://img.taocdn.com/s3/m/461c464b6137ee06eff918a5.png)
一、选择题(每题2分,共40分)1、C语言源程序的基本单位是( )A.程序行B.语句C.函数D.字符2、C语言规定:在一个源程序中,main函数的位置()。
A.必须在最开始B.必须在系统调用的库函数的后面C.可以任意D.必须在最后3、在下列字符列中,合法的标识符是( )A.p12&.aB.stud_100C. water$12D.88sum4、在C语言中,要求运算的数必须是整数的运算符是()A./B.!C.%D.= =5、设有语句 int a =3;则执行了语句a + = a - = a*a;后,变量a的值是()A、3B、0C、9D、-126、设a=5,b=6,c=7,d=8,m=2,n=2,执行(m=a > b)&&(n=c>d)后n的值为()A、1B、2C、3D、47、执行下列程序时输入:1234567,程序的运行结果是()main(){int x,y;scanf(“%2d%*2c%1d”,&x,&y);printf(“%d\n”,x+y);}A.17B.46C.15D.98、下述程序的输出结果是() #include<stdio.h>void main(){int x=-1,y=4;int k;k=++x<=0&&!(y--<=0);printf("%d,%d,%d",k,x,y);}A.0,0,3B.0,1,2,C.1,0,3,D.1,1,29、为了避免嵌套的if-else语句的二义性,C语言规定else总是与()组成配对关系。
A.缩排位置相同的ifB.在其之前未配对的ifC.在其之前未配对的最近的ifD.同一行上的if10、两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是()main(){int x;scanf(“%d“,&x);if(x++>5)printf(“%d”,x);else printf(“%d\n”,x--);}A.7和5B.6和3C.7和4D.6和411、若变量c为char类型,能正确判断出c为小写字母的表达式是( )A. 'a'<=c<= 'z'B. (c>= 'a')||(c<= 'z')C. ('a'<=c)and ('z'>=c)D. (c>= 'a')&&(c<= 'z')12、已知int x=10,y=20,z=30;以下语句执行后x,y,z的值是。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
27. (分值:2.0 分)下四个程序中,完全正确的是 A: #include <stdio.h> main(); {/*programming*/ printf(“programming!\n”); } B: #include <stdio.h> main() {/*/programming/*/ } printf(“programming!\n”);} C: #include <stdio.h> main() {/*/*programming*/*/ printf(“programming!\n”); D: include <stdio.h> main() {/*programming*/ printf(“programming!\n”);} 序号:656 难度:2 考查点:顺序结构 28. (分值:2.0 分)逗号表达式"(a=3*5,a*4),a+15"的值是 A: 15 B: 60 C: 30 D: 不确定 序号:67 难度:2 考查点:数据类型、运算符与表达式 29. (分值:2.0 分)C 语句 x*=y+2;还可以写成 A: x=x*y+2; B: x=2+y*x; C: x=x*(y+2); D: x=y+2*x; 序号:77 难度:2 考查点:数据类型、运算符与表达式 30. (分值:2.0 分)以下能正确定义二维数组的是 A: int a[][3]; B: int a[][3]=2{2*3}; C: int a[][3]={}; D: int a[2][3]={{1},{2},{3,4}}; 序号:842 难度:1 考查点:数组 二、问答题(总分 20) 1.(分值:4.0 分)执行下面程序后,k 的值为_______________________。
k=1; n=263; do { k*=n%10; n/=10; }while(n); 参考答案: 36 序号:41 难度:1
考查点:循环控制
2.(分值:4.0 分)main() { int a,b,c,j; a=c=0; for(j=0;j<=10;j+=2) { a+=j; b=j+1; c+=b; } printf(“%d\t%d\n”,a,c-11); } 参考答案: 30 25 序号:64 难度:1 考查点:循环控制 3.(分值:4.0 分)以下程序的输出结果是 【 】 main() { int a=1, b=2; a=a+b; b=a-b; a=a-b; printf("%d,%d\n", a, b ); } 参考答案: 2,1 序号:67 难度:1 考查点:顺序结构 4.(分值:4.0 分)执行下面程序得到的结果是 #include <stdio.h> main () { int a=10,b=0; if (a=12) { a=a+1,b=b+1; } else { a=a+4;b=b+4; } printf(“%d;%d”\n,a,b); }
参考答案: 13;1 序号:91 难度:1
考查点:逻辑运算和判断选取控制
5.(分值:4.0 分)有以下程序 main() { int a=0,b=0,c=0,d=0; if(a=1) b=1,c=2; else d=3; printf(“%d,%d,%d,%d\n”,a,b,c,d); } 程序输出是 A、B、C、D 中的哪一个。 A:0,1,2,0 B:0,0,0,3 C:1,1,2,0 D:编译有错 参考答案: C 序号:95 难度:3 考查点:C 语言概述 三、编程题(总分 20) 1.(分值:10.0 分)统计在[210-15870]之间有多少个数能被 19 整除,而不能被 21 整除。 参考答案: 序号:122 难度:0 考查点:C 语言概述
D: a[10] 序号:176 难度:1
考查点:数组
7. (分值:2.0 分)以下对字符数组进行不正确初始化的是 A: static char word[]='cool\0'; B: static char word[]={‘c’,’o’,’o’,’l’}; C: static char word[]={“cool\0”}; D: static char word[]=”cool\0”; 序号:179 难度:1 考查点:数组 8. (分值:2.0 分)以下不正确的实型常量是 A: 2.607e-1 B: 0.8103e C: -77.77 D: 456e-2 序号:19 难度:1 考查点:数据类型、运算符与表达式 9. (分值:2.0 分)以下正确的整型常量是 A: 1 序号:21 难度:1 考查点:数据类型、运算符与表达式 10. (分值:2.0 分)对于 for(表达式 1; ;表达式 3)可理解为 A: for(表达式 1;0;表达式 3) B: for(表达式 1;1;表达式 3) C: for(表达式 1;表达式 1;表达式 3) D: for(表达式 1;表达式 3;表达式 3) 序号:227 难度:1 考查点:循环控制 11. (分值:2.0 分)以下程序的输出结果是( main() { int x=0,y=0; while(x<15) y++,x+=++y; printf(“%d,%d”,y,x);} A: 20,7 B: 6,12 C: 20,8 D: 8,20 序号:234 难度:1 考查点:循环控制 )
12. (分值:2.0 分)若 i 为整型变量,则以下循环执行的次数是( for(i=2;i==0;) printf(“%d”,i--);
)
A: 无限次 B: 0 次 C: 1 次 D: 2 次 序号:248 难度:1
考查点:循环控制
13. (分值:2.0 分)C 语言中,逻辑“真”等价于 A: 大于零的数 B: 大于零的整数 C: 非零的数 D: 非零的整数 序号:25 难度:1 考查点:逻辑运算和判断选取控制 14. (分值:2.0 分)C 语言的 switch 语句中,case 后 A: 只能为常量 B: 只能为常量或常量表达式 C: 可为常量及表达式或有确定值的变量及表达式 D: 可为任何量或表达式 序号:26 难度:1 考查点:逻辑运算和判断选取控制 15. (分值:2.0 分)字符型常量在内存中存放的是 A: ASCⅡ 代码 B: BCD 代码 C: 内部码 D: 十进制码 序号:33 难度:1 考查点:数据类型、运算符与表达式 16. (分值:2.0 分)对于语句 scanf (“%f ︼︼ %f,z=%f”,&x,&y,&z);,其合法的输入形 式为( )(其中的︼表示空格) A: ︼14.7︼2.0︼15.3 B: 14.7,2.0,15 C: 14.7︼︼2.0,15.3 D: 14.7︼︼︼2.0,z=15 序号:34 难度:2 考查点:顺序结构 17. (分值:2.0 分)若有 float x ; 则 sizeof(x) 和 sizeof(float) 两种描述 A: 都正确 B: 都不正确 C: 前者正确 D: 后者正确 序号:36 难度:2 考查点:数据类型、运算符与表达式 18. (分值:2.0 分)putchar()函数可以向终端输出一个 A: 整型变量表达式值
试卷名称:11C 试卷说明:C 期中 命题教师: 北京化工大学北方学院 一、单项选择题(总分 60) 1. (分值:2.0 分)下列变量名中合法的是 A: B.C.Tom B: 3a6b C: _6a7b D: $ABC 序号:11 难度:1 考查点:C 语言概述
信息院 李丽芬
2. (分值:2.0 分)假定 int 类型变量占用两个字节,其有定义:int x[10]={0,2,4};,则数组 x 在内存中所占字节数是( ) 。 A: 3 B: 6 C: 10 D: 20 序号:1100 难度:1 考查点:数组 3. (分值:2.0 分)下列运算符中,结合方向为自左向右的是 A: ?: B: ++ C: , D: -序号:132 难度:1 考查点:数据类型、运算符与表达式 4. (分值:2.0 分)以下说法中正确的是 A: C 源程序可以直接运行产生结果; B: C 源程序经编译后才可直接运行产生结果; C: C 源程序经连接后才可直接运行产生结果; D: C 源程序经编译和连接后才可直接运行产生结果; 序号:16 难度:1 考查点:C 语言概述 5. (分值:2.0 分)在 C 程序中,main()函数的位置是 A: 必须作为第一个函数; B: 必须作为最后一个函数; C: 可以任意; D: 必须放在它所调用的函数之后; 序号:17 难度:1 考查点:C 语言概述 6. (分值:2.0 分)在定义 int a[10];之后,对 a 的引用正确的是 A: a[9] B: a[6.3] C: a(6)
2.(分值:10.0 分)键盘输入 10 个正实型数,求其方根的和并输出。 参考答案: 序号:3 难度:1 考查点:循环控制
22. (分值:2.0 分)设有 char a=’a’; int c;则执行完 c=a+2;printf(“%d”,c);后的输出结果 是 A: a B: c C: 97 D: 99 序号:441 难度:1 考查点:顺序结构 23. (分值:2.0 分)以下程序的输出结果是( )
main() { int num=0; while(num<=2) { num++; printf(“%d,”,num); } } A: 1, B: 1,2, C: 1,2,3, D: 1,2,3,4, 序号:45 难度:1 考查点:循环控制 24. (分值:2.0 分)有输入语句:scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);为使变量 a 的值为 1,b 为 3,c 为 2,从键盘输入数据的正确形式应当是( ) A: a=1 b=3 c=2↙ B: 1,3,2↙ C: 132↙ D: a=1,b=3,c=2↙ 序号:496 难度:2 考查点:顺序结构 25. (分值:2.0 分)从键盘输入 12345,则下面程序的输出结果是____。 main() { int a,b; scanf("%2d%3d",&a,&b); printf("a=%d b=%d\n",a,b); } A: a=12 b=34 B: a=123 b=45 C: a=12 b=345 D: 语句有错误 序号:527 难度:3 考查点:顺序结构 26. (分值:2.0 分)main() { int a,b,d=241; a=d/100%9; b=(-1)&&(-1); printf(“%d,%d”,a,b); } A: 6,1 B: 2,1 C: 6,0 D: 2,0 序号:56 难度:1 考查点:逻辑运算和判断选取控制