C语言试卷2及答案
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】序号的横线上,答在试卷上不得分。
3月全国计算机二级c语言考题试卷及答案
![3月全国计算机二级c语言考题试卷及答案](https://img.taocdn.com/s3/m/221d158bfc0a79563c1ec5da50e2524de418d05e.png)
3月全国计算机二级C语言考题试卷及答案一、选择题(1)下列关于栈叙述正确的是A)栈顶元素先能被删除B)栈顶元素后才能被删除C)栈底元素永远不能被删除D)以上三种说法都不对(2)下列叙述中正确的是A)有一个以上根结点的数据结构不一定是非线性结构B)只有一个根结点的数据结构不一定是线性结构C)循环链表是非线性结构D)双向链表是非线性结构(3)某二叉树共有7个结点,其中叶子结点只有1个,则该二叉树的深度为(假设根结点在第1层)A)3 B)4 C)6 D)7(4)在软件开发中,需求解析阶段产生的主要文档是A)软件集成测试计划 B)软件详细设计说明书C)用户手册 D)软件需求规格说明书(5)结构化程序所要求的基本结构不包括A)顺序结构 B)GOTO跳转C)选择(分支)结构 D)重复(循环)结构(6)下面描述中错误的是A)系统总体结构图支持软件系统的详细设计B)软件设计是将软件需求转换为软件表示的过程C)数据结构与数据库设计是软件设计的任务之一D)PAD图是软件详细设计的表示工具(7)负责数据库中查询操作的数据库语言是A)数据定义语言B)数据管理语言C)数据操纵语言D)数据控制语言(8)一个教师可讲授多门课程,一门课程可由多个教师讲授。
则实体教师和课程间的联系是A)1:1联系 B)1:m联系C)m:1联系 D)m:n联系(9)有三个关系R、S和T如下:则由关系R和S得到关系T的操作是A)自然连接 B)交 C)除 D)并(10)定义无符号整数类为UInt,下面可以作为类UInt实例化值的是A)-369 B)369 C)0.369 D)整数集合{1,2,3,4,5}(11)计算机高级语言程序的运行方法有编译执行和解释执行两种,以下叙述中正确的是A)C语言程序仅可以编译执行B)C语言程序仅可以解释执行C)C语言程序既可以编译执行又可以解释执行D)以上说法都不对(12)以下叙述中错误的是A)C语言的可执行程序是由一系列机器指令构成的B)用C语言编写的源程序不能直接在计算机上运行C)通过编译得到的二进制目标程序需要连接才可以运行D)在没有安装C语言集成开发环境的机器上不能运行C源程序生成的.exe文件(13)以下选项中不能用作C程序合法常量的是A)1,234 B)'123'C)123 D)"\x7G"(14)以下选项中可用作C程序合法实数的是A).1e0 B)3.0e0.2C)E9 D)9.12E(15)若有定义语句:int a=3,b=2,c=1;,以下选项中错误的赋值表达式是A)a=(b=4)=3; B)a=b=c+1;C)a=(b=4)+c; D)a=1+(b=c=4);(16)有以下程序段char name[20];int num;scanf("name=%s num=%d",name;&num);当执行上述程序段,并从键盘输入:name=Lili num=1001<回车>后,name的值为A)LiliB)name=LiliC)Lili num=D)name=Lili num=1001(17)if语句的基本形式是:if(表达式)语句,以下关于“表达式”值的叙述中正确的是A)必须是逻辑值 B)必须是整数值C)必须是正数 D)可以是任意合法的数值(18)有以下程序#includemain(){ int x=011;printf("%d\n",++x);}程序运行后的输出结果是A)12 B)11 C)10 D)9(19)有以下程序#includemain(){ int s;scanf("%d",&s);while(s>0){ switch(s){ case1:printf("%d",s+5);case2:printf("%d",s+4); break;case3:printf("%d",s+3);default:printf("%d",s+1);break;}scanf("%d",&s);}}运行时,若输入1 2 3 4 5 0<回车>,则输出结果是A)6566456 B)66656 C)66666 D)6666656(20)有以下程序段int i,n;for(i=0;i<8;i++){ n=rand()%5;switch (n){ case 1:case 3:printf("%d\n",n); break;case 2:case 4:printf("%d\n",n); continue;case 0:exit(0);}printf("%d\n",n);}以下关于程序段执行情况的叙述,正确的是A)for循环语句固定执行8次B)当产生的随机数n为4时结束循环操作C)当产生的随机数n为1和2时不做任何操作D)当产生的随机数n为0时结束程序运行(21)有以下程序#includemain(){ char s[]="012xy\08s34f4w2";int i,n=0;for(i=0;s[i]!=0;i++)if(s[i]>='0'&&s[i]<='9') n++;printf("%d\n",n);}程序运行后的输出结果是A)0 B)3 C)7 D)8(22)若i和k都是int类型变量,有以下for语句for(i=0,k=-1;k=1;k++) printf("*****\n");下面关于语句执行情况的叙述中正确的是A)循环体执行两次B)循环体执行一次C)循环体一次也不执行D)构成无限循环(23)有以下程序#includemain(){ char b,c; int i;b='a'; c='A';for(i=0;i<6;i++){ if(i%2) putchar(i+b);else putchar(i+c);} printf("\n");}程序运行后的输出结果是A)ABCDEF B)AbCdEf C)aBcDeF D)abcdef(24)设有定义:double x[10],*p=x;,以下能给数组x下标为6的元素读入数据的正确语句是A)scanf("%f",&x[6]); B)scanf("%lf",*(x+6));C)scanf("%lf",p+6); D)scanf("%lf",p[6]);(25)有以下程序(说明:字母A的ASCII码值是65)#includevoid fun(char *s){ while(*s){ if(*s%2) printf("%c",*s);s++;}}main(){ char a[]="BYTE";fun(a); printf("\n");}程序运行后的输出结果是A)BY B)BT C)YT D) YE(26)有以下程序段#includemain(){ …while( getchar()!='\n');…}以下叙述中正确的是A)此while语句将无限循环B) getchar()不可以出现在while语句的条件表达式中C)当执行此while语句时,只有按回车键程序才能继续执行D)当执行此while语句时,按任意键程序就能继续执行(27)有以下程序#includemain(){ int x=1,y=0;if(!x) y++;else if(x==0)if (x) y+=2;else y+=3;printf("%d\n",y);}程序运行后的输出结果是A)3 B)2 C)1 D) 0(28)若有定义语句:char s[3][10],(*k)[3],*p;,则以下赋值语句正确的是A)p=s; B)p=k; C)p=s[0]; D)k=s;(29)有以下程序#includevoid fun(char *c){ while(*c){ if(*c>='a'&&*c<='z') *c=*c-('a'-'A');c++;}}main(){ char s[81];gets(s); fun(s); puts(s):}当执行程序时从键盘上输入Hello Beijing<回车>,则程序的输出结果是A)hello beijing B)Hello Beijing C)HELLO BEIJING D)hELLO Beijing(30)以下函数的功能是:通过键盘输入数据,为数组中的所有元素赋值。
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语言程序设计》期中试卷及答案(二)
![大学计算机专业《C语言程序设计》期中试卷及答案(二)](https://img.taocdn.com/s3/m/0c20e79227d3240c8547ef49.png)
大学计算机专业《C语言程序设计》期中试卷及答案试卷编号:9689所属语言:C语言试卷方案:期中考试试卷总分:100分共有题型:5种一、填空共15题(共计15分)第1题(1.0分)题号:92C语言中的字符变量用保留字【1】来说明.答案:=======(答案1)=======char第2题(1.0分)题号:433已知x=3,y=2,则表达式x*=y+8的值为【1】.答案:=======(答案1)=======30第3题(1.0分)题号:388设x和y均为int型变量,且x=1,y=2,则表达式1.0+x/y的值为【1】.答案:=======(答案1)=======1.0=========或=========1第4题(1.0分)题号:293getchar()函数只能接收一个【1】.答案:=======(答案1)=======字符第5题(1.0分)题号:437以下程序的输出结果为【1】,#include "stdio.h" main(){int a=010,j=10;printf("%d,%d\n",++a,j--);} 答案:=======(答案1)=======9,10第6题(1.0分)题号:498c语言程序的三种基本结构是:顺序结构,选择结构,【1】结构.答案:=======(答案1)=======循环第7题(1.0分)题号:100已知a=13,b=6, a||b的十进制数值为【1】.答案:=======(答案1)=======1第8题(1.0分)题号:441设a=3,b=4,c=4,则表达式a+b>c&&b==c&&a||b+c&&b==c的值为【1】.答案:=======(答案1)=======1第9题(1.0分)题号:457设a,b,c,t为整型变量,初值为a=3,b=4,c=5,执行完语句t=!(a+b)+c-1&&b+c/2后,t的值是【1】.答案:=======(答案1)=======1第10题(1.0分)题号:389设i,j,k均为int型变量,则执行完for循环for(i=0,j=10;i<=j;i++,j--) k=i+j;后,k的值为【1】.答案:=======(答案1)=======10第11题(1.0分)题号:421若输入字符串:abcde<回车>,则以下while循环体将执行【1】次.While((ch=getchar())=='e') printf("*");答案:=======(答案1)=======第12题(1.0分)题号:533设x和y均为int型变量,则以下for循环中的scanf语句最多可执行的次数是【1】. for (x=0,y=0;y!=123&&x<3;x++)scanf ("%d",&y);答案:=======(答案1)=======3第13题(1.0分)题号:328C语言中,数组元素的下标下限为【1】.答案:=======(答案1)=======第14题(1.0分)题号:346合并字符串的库函数是【1】,只写函数名即可.答案:=======(答案1)=======strcat第15题(1.0分)题号:341定义int a[2][3];表示数组a中的元素个数是【1】个.答案:=======(答案1)=======6二、判断共15题(共计15分)第1题(1.0分)题号:715整数 -32100可以赋值给int型和long int型变量.答案:Y第2题(1.0分)题号:929在C语言中,5种基本数据类型的存储空间长度的排列顺序为:char<int<long int <=float<double答案:Y第3题(1.0分)题号:928C程序中的关键字必须小写.答案:Y第4题(1.0分)题号:194若有定义和语句:int a;char c;float f;scanf("%d,%c,%f",&a,&c,&f);若通过键盘输入:10,A,12.5,则a=10,c='A',f=12.5.答案:Y第5题(1.0分)题号:944C语言中,赋值表达式加上分号就构成了赋值语句.答案:Y第6题(1.0分)题号:716若i =3,则printf("%d",-i++);输出的值为 -4.答案:N第7题(1.0分)题号:950逻辑运算符中的"&&"和"||"低于关系运算符,"!"高于算术运算符.答案:Y第8题(1.0分)题号:951在执行switch语句时,default和各个case的出现次序不影响执行结果.答案:Y第9题(1.0分)题号:869若有int i=10, j=0;则执行完语句if (j=0)i++; else i--; i的值为11.答案:N第10题(1.0分)题号:953C语言中的for语句可以用于循环次数已经确定的情况,但是不能用于循环次数不确定而只给出循环结束条件的情况.答案:N第11题(1.0分)题号:742若有说明int c;则while(c=getchar());是正确的C语句.答案:Y第12题(1.0分)题号:954continue语句只结束本次循环,而不是终止整个循环的执行.break语句则是结束整个循环过程,不再判断执行循环的条件是否成立.答案:Y第13题(1.0分)题号:736int a[3][4]={{1},{5},{9}}; 它的作用是将数组各行第一列的元素赋初值,其余元素值为0.答案:Y第14题(1.0分)题号:735如果想使一个数组中全部元素的值为0,可以写成int a[10]={0*10};答案:N第15题(1.0分)题号:926任何数组的下标都是从0开始;答案:Y三、单项选择共20题(共计40分)第1题(2.0分)题号:2004下列字符序列中,不可用作C语言标识符的是().A:b70B:#abC:symbolD:a_1答案:B第2题(2.0分)题号:2137下列表达式中,可作为C合法表达式的是().A:[3,2,1,0]B:(3,2,1,0)C:3=2=1=0D:3/2/1/0答案:B第3题(2.0分)题号:2037若k,g均为int型变量,则下列语句的输出为().k=017; g=111; printf("%d\t",++k); printf("%x\n",g++);A:15 6fB:16 70C:15 71D:16 6f答案:D第4题(2.0分)题号:2043已知字母a的ASCII十进制代码为97,则执行下列语句后的输出结果为(). char a='a'; a--;printf("%d,%c\n",a+'2'-'0',a+'3'-'0');A:b,cB:a--运算不合法,故有语法错C:98,cD:格式描述和输出项不匹配,输出无定值答案:C第5题(2.0分)题号:2128下列程序段的输出结果为().float x=213.82631;printf("%3d",(int)x);A:213.82B:213.83C:213D:3.8答案:C第6题(2.0分)题号:2222语句printf("a\bre\'hi\'y\\\bou\n");的输出结果是(说明:'\b'是退格符)().A:a\bre\'hi\'y\\\bouB:a\bre\'hi\'y\bouC:re'hi'youD:abre'hi'y\bou答案:C第7题(2.0分)题号:2028假设所有变量均为整型,表达式:a=2,b=5,a>b?a++:b++,a+b的值是().A:7B:8C:9D:2答案:B第8题(2.0分)题号:2145int a=3,b=2,c=1;if(a>b>c)a=b;else a=c;则a的值为().A:3B:2C:1D:0答案:C第9题(2.0分)题号:2062假定所有变量均已正确定义,下列程序段运行后x的值是().k1=1;k2=2;k3=3;x=15;if(!k1) x--;else if(k2) x=4;else x=3;A:14B:4C:15D:3答案:B第10题(2.0分)题号:2136下列程序段的输出结果为().int a=7,b=9,t;t=a*=a>b?a:b;printf("%d",t);A:7B:9C:63D:49答案:C第11题(2.0分)题号:2319在C语言中,要求运算数必须是整型的运算符是(). A:^B:%C:!D:>答案:B第12题(2.0分)题号:2251以下不是无限循环的语句为().A:for(y=0,x=1;x>++y;x=i++) i=x;B:for(;;x++=i);C:while(1){x++;}D:for(i=10;;i--) sum+=i;答案:A第13题(2.0分)题号:2123设j和k都是int类型,则for循环语句().for(j=0,k=0;j<=9&&k!=876;j++) scanf("%d",&k); A:最多执行10次B:最多执行9次C:是无限循环D:循环体一次也不执行答案:A第14题(2.0分)题号:2141以下程序段的输出结果为().for(i=4;i>1;i--)for(j=1;j<i;j++)putchar('#');A:无B:######C:#D:###答案:B第15题(2.0分)题号:2059以下程序的运行结果是().main(){ int n;for(n=1;n<=10;n++){if(n%3==0) continue;printf("%d",n);}}A:12457810B:369C:12D:1234567890答案:A第16题(2.0分)题号:2147while(fabs(t)<1e-5)if(!(s/10))break;循环结束的条件是(). A:t>=1e-5||t<=-1e-5||s>-10&&s<10B:fabs(t)<1e-5&&!s/10C:fabs(t)<1e-5D:s/10==0答案:A第17题(2.0分)题号:2273设有数组定义: char array [ ]="China"; 则数组 array所占的空间为().A:4个字节B:5个字节C:6个字节D:7个字节答案:C第18题(2.0分)题号:2280若有说明 int a[3][4];则对a数组元素的正确引用是().A:a[2][4]B:a[1,3]C:a[1+1][0]D:a(2)(1)答案:C第19题(2.0分)题号:2269以下不正确的定义语句是().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'};答案:B第20题(2.0分)题号:2074下列语句中,不正确的是().A:static char a[2]={1,2};B:static int a[2]={'1','2'};C:static char a[2]={'1','2','3'};D:static char a[2]={'1'};答案:C四、程序填空共4题(共计24分)第1题(6.0分)题号:24/*------------------------------------------------------- 【程序填空】---------------------------------------------------------题目:以下程序的功能是对任一整数N(N≠0),它都可以分解成1(或-1)和一些质数(素数)因子的形式。
全国计算机等级考试《二级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语言模拟试卷2(带答案)
![C语言模拟试卷2(带答案)](https://img.taocdn.com/s3/m/1db72d1002d8ce2f0066f5335a8102d276a26101.png)
C语⾔模拟试卷2(带答案)单选题:1、执⾏下⾯的程序段后,变量k中的值为s[0]=k; k=s[1]*10;A. 不定值B. 33C. 30D. 10答案: A2、设有以下定义:#define N 3#define Y(n) ( (N+1)*n)则执⾏语句:z=2 * (N+Y(5+1));后,z的值为_______.2*(3+(4*5+1)A. 出错B. 42C. 48D. 54答案: C3、若已定义X和Y为double型,则表达式:x=1,y=x+3/2的值是____A. 1B. 2C. 2.0D. 2.5答案: c4、请选出以下语句的输出结果____printf("%d\n",strlen("\t\ 065\xff\n"))A. 5B. 4C. 8D. 输出项不合法,⽆正常输出答案: B5、为避免嵌套的条件分⽀语句if…else的⼆义性,C语⾔规定,C 程序中的else总是与____组成配对关系。
C. 缩排位置相同的ifD. 在其之前未配对的if答案: A6、若X和Y都是int型变量,X=100,Y=200,且有下⾯的程序⽚段: printf("%d",(X,Y));上⾯程序⽚段的输出结果是A. 200B. 100C. 100 200D. 输出格式符不够,输出不确定的值答案: A7、请读程序⽚段(字符串内没有空格字符):printf("%d\n", strlen("ATS\n012\1\\"));上⾯程序⽚段的输出结果是A. 11B. 9C. 10D. 8答案: B8、设有以下程序段int x=0,s=0;while(!x!=0) s+=++x;printf("%d",s);则______A. 运⾏程序段后输出0B. 运⾏程序段后输出1C. 程序段中的控制表达式是⾮法的D. 程序段执⾏⽆限次答案: B9、阅读下列程序:main( ){ int n[3],i,j,k;for(i=0;i〈 3;i++)n[i]=0;i=1: =3 =3for (j=0;j〈 2;j++)n[j]=n[i]+1;printf("%d\n",n[1]);}下述程序运⾏后输出结果是A. 2B. 1C. 0D. 3答案: D10、输⼊⼀个华⽒温度,要求输出摄⽒温度。
国家二级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表示并口。
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/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/d6b6f79e03d276a20029bd64783e0912a2167cf5.png)
一、选择题在下列各题的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可封装B自顶向下C模块化D逐步求精7软件详细设计产生的图如下:该图是..AN-S图BPAD图C程序流程图DE-R图8数据库管理系统是________..A操作系统的一部分B在操作系统支持下的系统软件C一种编译系统D一种操作系统9在E-R图中;用来表示实体联系的图形是________..A椭圆形B矩形C菱形D三角形10有三个关系R;S和T如下:其中关系T由关系R和S..A选择B投影C交D并11以下叙述中正确的是________..A程序设计的任务就是编写程序代码并上机调试B程序设计的任务就是确定所用数据结构C程序设计的任务就是确定所用算法D以上三种说法都不完整12以下选项中;能用作用户标识符的是________..Avoid B 8_8C_0_ Dunsigned13阅读以下程序:#include <stdio.h>main{int case;float printF;printf"请输入2个数:";scanf"%d%f";&case;&printF;printf"% d%f\n";case;printF;}该程序在编译时产生错误;其出错原因是________..A定义语句出错;case是关键字;不能用作用户自定义标识符B定义语句出错;printF不能用作用户自定义标识符C定义语句无错;scanf不能作为输入函数使用D定义语句无错;printf不能输出case的值14表达式:intdouble9/2-9%2的值是________..A0 B3C4 D515若有定义语句:int x=10;;则表达式x-=x+x的值为________..A-20 B-10C0 D1016有以下程序:#include <stdio.h>main{int a=1;b=0;printf"%d;";b=a+b;printf"%d\n";a=2程序运行后的输出结果是________..A0;0 B1;0C3;2 D1;217设有定义:int a=1;b=2;c=3;;以下语句中执行效果与其他三个不同的是________..Aifa>bc=a;a=b;b=c;Bifa>b{c=a;a=b;b=c;}Cifa>bc=a;a=b;b=c;Difa>b{c=a;a=b;b=c;}18有以下程序:#include<stdio.h>main{int c=0;k;for k=1;k<3;k++switchk{default: c+=k;case 2:c++;break;case 4:c+=2;break;}printf"%d\n";c;}程序运行后的输出结果是________..A3 B5C7 D919以下程序段中;与语句:k=a>b b>c1:0:0;功能相同的是________.. Aifa>b&&b>ck=1;else k=0;Bifa>b‖b>ck=1;else k=0;Cifa<=bk=0;else ifb<=ck=1;Difa>bk=1;else ifb>c k=1;else k=0;20有以下程序:#include <stdio.h>main{char s={"012xy"};int i;n=0;fori=0;si=0;i++if si>='a'&&si<='z'n++;printf"%d\n";n;}程序运行后的输出结果是________..A0 B2C3 D521有以下程序:#include <stdio.h>main{int n=2;k=0;whilek++&&n++>2;printf"%d%d\n";k;n;}程序运行后的输出结果是________..A0 2 B1 3C57 D1 222有以下定义语句;编译时会出现编译错误的是________..Achar a='a';Bchar a='\n';Cchar a='aa';Dchar a='\x2d';23有以下程序:#include <stdio.h>main{char cl;c2;cl='A'+'8'-'4';c2='A'+'8'-'5';printf"%c;%d\n";cl;c2;}已知字母A的ASCIl码为65;程序运行后的输出结果是________..AE;68 BD;69CE;D D输出无定值24有以下程序:#include <stdio.h>void funint p{int d=2;p=d++;printf"%d";p;}main{int a=1;funa;printf"%d\n";a;}程序运行后的输出结果是________..A32 B12C21 D2225以下函数findmax拟实现在数组中查找最大值并作为函数值返回;但程序中有错导致不能实现预定功能..#define MIN -int findmaxint x;int n{int i;max;fori=0;i<n;i++{max=MIN;ifmax<xi max=xi;}return max;}造成错误的原因是________..A定义语句int i;max;中max未赋初值B赋值语句max=MIN;中;不应给max赋MIN值C语句ifmax<ximax=xi;中判断条件设置错误D赋值语句max=MIN;放错了位置26有以下程序:#include <stdio.h>main{int m=1;n=2;*p=&m;*q=&n;*r;r=p;p=q;q=r;printf"%d;%d;%d;%d\n";m;n;*p;*q;}程序运行后的输出结果是________..A1;2;1;2 B1;2;2;1C2;1;2;1 D2;1;1;227若有定义语句:int a410;*p;*q4;且0≤i<4;则错误的赋值是________..Ap=a Bqi=aiCp=ai Dp=&a2128有以下程序:#include <stdio.h>#include <string.h>main{char str20={"Qne*World";"one*Dream"};*p=str1;printf"%d;";strlenp;printf"%s\n";p;}程序运行后的输出结果是________..A9;One*World B9;One*DreamC10;One*Dream D10;One*World29有以下程序:#include <stdio.h>main{int a={2;3;5;4};i;fori=0;i<4;i++switchi%2{case 0:switchai%2{case 0:ai++;break;case 1:ai--;}break;case 1:ai=0;}fori=0;i<4;i++printf"%d";ai;printf"\n";}程序运行后的输出结果是________..A3 3 4 4 B2 0 5 0C3 0 4 0 D0 3 0 430有以下程序:#include <stdio.h>#include <string.h>main{char a10="abcd";printf"%d;%d\n";strlena;sizeofa;}程序运行后的输出结果是________..A7;4 B4;10C8;8 D10;1031下面是有关C语言字符数组的描述;其中错误的是________.. A不可以用赋值语句给字符数组名赋字符串B可以用输入语句把字符串整体输入给字符数组C字符数组中的内容不一定是字符串D字符数组只能存放字符串32下列函数的功能是________..funchar*a;char*b{while*b=*a='\0'{a++;b++;}}A将a所指字符串赋给b所指空间B使指针b指向a所指字符串C将a所指字符串和b所指字符串进行比较D检查a和b所指字符串中是否有'\0'33设有以下函数:void funint n;char*s{ …… }则下面对函数指针的定义和赋值均正确的是________..Avoid*pf;pf=fun;Bvoid*pf;pf=fun;Cvoid*pf;*pf=fun;Dvoid*pfint;char;pf=&fun;34有以下程序:#include <stdio.h>int fint n;main{int a=3;s;s=fa;s=s+fa;printf"%d\n";s;}int fint n{static int a=1;n+=a++;return n;}程序运行后的输出结果是________..A7 B8C9 D1035有以下程序:#include <stdio.h>#define fx x*x*xmain{int a=3;s;t;s=fa+1;t=fa+1;printf"%d;%d\n";s;t;}程序运行后的输出结果是________..A10;64 B10;10C64;10 D64;6436下面结构体的定义语句中;错误的是________..Astruct ord{int x;int y;int z;};struct ord a;Bstruct ord{int x;int y;int z;}struct ord a;Cstruct ord{int x;int y;int z;}a;Dstruct{int x;int y;int z;a;37设有定义:char*c;;以下选项中能够使字符型指针c正确指向一个字符串的是________..Achar str="string";c=str;Bscanf"%s";c;Cc=getchar;D*c="string";38有以下程序:#include<stdio.h>#include<string.h>struct A{int a;char b10;double c;};struct A fstruct A t;main{struct A a={1001;"ZhangDa";1098.0;a=fa; printf"%d;%s;%6.1f\n";a.a;a.b;a.c;}struct A fstruct A t{t.a=1002;strcpyt.b;"changRong";t.c=1202.0;return t;}程序运行后的输出结果是________..A1001;ZhangDa;1098.0B1002;ZhangDa;1202.0C1001;ChangRong;1098.0D1002;ChangRong;1202.039若有以下程序段:int r=8;printf"%d\n";r>>1;输出结果是________..A16 B8C4 D240下列关于C语言文件的叙述中正确的是________..A文件由一系列数据依次排列组成;只能构成二进制文件B文件由结构序列组成;可以构成二进制文件或文本文件C文件由数据序列组成;可以构成二进制文件或文本文件D文件由字符序列组成;其类型只能是文本文件二、填空题请将每一个空的正确答案写在答题卡序号的横线上;答在试卷上不给分..1某二叉树有5个度为2的结点以及3个度为1的结点;则该二叉树中共有__1__个结点..2程序流程图中的菱形框表示的是__2__..3软件开发过程主要分为需求分析、设计、编码与测试四个阶段;其中__3__ 阶段产生"软件需求规格说明书"..4在数据库技术中;实体集之间的联系可以是一对一或一对多或多对多的;那么"学生"和"可选课程"的联系为__4__..5人员基本信息一般包括:身份证号;姓名;性别;年龄等..其中可以作为主关键字是__5__..6若有定义语句:int a=5;;则表达式:a++的值是__6__..7若有语句double x=17;int y;;当执行y=intx/5%2;之后y的值为__7__..8以下程序运行后的输出结果是__8__..#include <stdio.h>main{int x=20;printf"%d";0<x<20;printf"%d\n";0<x&&x<20;}9以下程序运行后的输出结果是__9__..#include <stdio.h>main{int a=1;b=7;do{b=b/2; a+=b;} whileb>1;printf"%d\n";a;}10有以下程序:#include<stdio.h>main{int f;fl;f2;i;f1=0;f2=1;printf"%d%d";f1;f2;for i=3;i<=5;i++{ f=f1+f2;printf"%d";f;f1=f2;f2=f;}printf"\n";}程序运行后的输出结果是__10__..11有以下程序:#include <stdio.h>int a=5;void funint b{int a=10;a+=b;printf"%d";a;}main{int c=20;func;a+=c;printf"%d\n";a;}程序运行后的输出结果是__11__..12设有定义:struct person{int ID;char name12;}p;请将scanf"%d";__12__;语句补充完整;使其能够为结构体变量p的成员ID正确读入数据..13有以下程序:#include <stdio.h>main{char a20="How are you";b20;scanf"%s";b;printf"%s %s\n";a;b;}程序运行时从键盘输入:How are you<回车>则输出结果为__13__..14有以下程序:#include <stdio.h>typedef struct{int num;double s;}REC;void funlREC x{x.num=23;x.s=88.5;}main{REC a={16;90.0;fun1a;printf"%d\n";a.num;}程序运行后的输出结果是__14__..15有以下程序:#include <stdio.h>funint x{ifx/2>0 funx/2;printf"%d.";x;}main{fun6;printf"\n";}程序运行后的输出结果是__15__..一、选择题1C解析根据数据结构中各数据元素之间前后关系的复杂程度;一般将数据结构分为两大类型:线性结构与非线性结构..线性结构表示数据元素之间为一对一的关系;非线性结构表示数据元素之间为一对多或者多对一的关系..根据各种结构的定义知二叉树是一种非线性结构..2B解析栈是限定只在一端进行插入与删除的线性表;通常称插入、删除的这一端为栈顶;另一端为栈底..栈顶元素总是后被插入的元素;也是最先被删除的元素;栈底元素总是最先被插入的元素;也是最后才能被删除的元素..栈是按照"先进后出"或"后进先出"的原则组织数据的..3D解析循环队列是将顺序队列首尾相连形成的;随着插入元素或删除元素的进行;其队头指针及队尾指针是在不断变化的;有时可能会出现队头指针大于队尾指针的情况;也可能是队尾指针大于队头指针;故答案为D..4A解析算法的空间复杂度是指:算法执行过程中所需的存储空间..一个算法所占用的存储空间包括算法程序所占的空间、输入的初始数据所占的存储空间以及算法执行过程中所需要的额外空间..5B解析模块划分应考虑的因素包括模块之间的耦合和内聚..一般来说;要求模块之间的耦合尽可能地低;即模块尽可能独立;要求模块的内聚程度尽可能地高;即遵循高内聚、低耦合的原则..6A解析模块化、自顶向下、逐步求精都是结构化程序设计的原则;可封装是面向对象程序设计原则..7C解析N-S图是由若干基本框图构成的流程图;其特点是没有流程线;PAD图即问题分析图Problem Analysis Diagram;它是一种由左往右展开的二维树形结构;程序流程图用于描述问题解决的过程和步骤;其中方框表示处理步骤;菱形框表示逻辑判断;箭头表示控制流向;E-R图即实体-联系图Entity Relationship Diagram;用来描述现实世界的概念模型;构成元素有实体、属性和联系;分别用矩形、椭圆形和菱形表示..本题答案为C..8B解析数据库管理系统是指位于用户与操作系统之间的数据管理软件..数据库管理系统是为数据库建立、使用和维护而配置的软件..9C解析E-R图中用矩形表示实体等同于表;用椭圆形表示实体的属性等同于表中字段;用菱形表示实体关系等同于外键..10D解析两个相同结构关系的并是由属于这两个关系的元组组成的集合..11D解析程序设计通常分为问题建模、算法设计、编写代码和编译调试四个阶段..所以选项A、B、C说法都不完整..12C解析C语言的标识符命名规则为:①只能由字母、数值和下划线3种字符组成;②第一个字符必须是字母或下划线;③不能与C语言中的关键字或保留字相同..13A解析标识符不能与C编译系统已经预定义的、具有特殊用途的保留标识符即关键字同名;否则程序在编译时会出现错误..题目源程序中使用了已经预定义的关键字case;所以将出现错误.. 14B解析intdouble9/2的值为4;9%2的值为1;因此intdouble9/2-9%2的值为3..15B解析x-=x+x可化为:x=x-x+x;由于x初始值为10;所以计算后;x=10-20=-10;因此选B..16D解析执行第一个printf语句时;b=a+b=1;所以输出1;执行第二个printf语句时;a=2*b=2;所以输出结果为2..17C解析逗号表达式的求解过程是:按表达式顺序从左往右依次求解..本题中由于判断条件a>b 的值为假;所以选项A、B、D中if语句后面的语句均未被执行;而C中的后两条语句a=b和b=c被执行;因此选项C的执行效果与其他三个不同..18A解析第一次循环时;k=1;在switch语句中;先执行default后面的语句;即c=c+k=1;因为没有break语句;所以不会跳出switch结构;会接着执行case2后面的语句;即c=c+1=2;然后跳出switch;第二次循环时;k=2;直接执行case2后面的语句;即c=c+1=3;然后跳出switch语句;结束循环;执行输出语句..19A解析表达式k=a>b b>c1∶0∶0表示:如果a>b条件为真;则k取值b>c1∶0;否则k取值0;当a>b 的情况下;如果b>c;则k值为1;否则为0..所以该表达式与选项A功能相同..20B解析在字符串数组si中;只有当下标i=3和i=4时;才满足if条件;所以n的值从0增加两次;结果为2..21D解析本题考查逻辑运算符的"短路"现象;由于k的值为0;表达式首先去求k++的值;因为表达式k++的值为0;系统完全可以确定逻辑表达式的运算结果总是为0;因此将跳过n++>2;不再对它进行求值;即k的值加1;n的值不变..22C解析aa是字符串;不用加上单引号..23A解析c1输出字符的ASCII码比字母A大4;即字母E;c2以十进制数字形式输出;因此可以判断本题答案为A..24C解析程序运行后;首先输出的是p的值;然后输出a的值..p=d++;得到p的值为d的初始值2;a 的值不变;仍为1..25D解析对max赋初值;应该放在循环语句之前;不然每次循环都将是从MIN开始比较..26B解析m和n的值不变;输出结果为1;2..指针*p和*q交换了指向的位置;即*p=&n;*q=&m;输出结果分别为2;1..27A解析直接将二维数组a赋给p不合法;两者类型不匹配..28C解析可以将二维数组str看成是一个特殊的一维数组;其元素也是一个数组..那么;str0为"One*World";str1为"One*Dream"..29C解析第一次循环;i=0;i%2=0;a0%2=0;a0=a0+1=3;第二次循环;i=1;1%2=1;a1=0;第三次循环;i=2;a2%2=1;a2=a2-1=4;第四次循环;i=3;i%2=1;a3=0..30B解析strlen用来返回字符串的长度;而sizeof返回的是一个对象或者类型所占的内存字节数;即数组所占的内存..31D解析字符数组中的内容既可以是字符;也可以是字符串;选项D说法不正确..32A解析表达式*b=*a是将a所指的字符赋给b所指的空间;然后;指针a和b依次后移;直到到达指针a所指字符串的结尾..33A解析函数指针的定义形式是:数据类型标识符*指针变量名..void*pf定义了一个没有返回值的函数指针pf;在给函数指针变量赋值时;只需给出函数名而不必给出参数..所以给pf赋值时;只把函数名fun赋给pf即可..所以正确答案为选项A..34C解析s=fa表达式第一次调用fn函数时;fn函数运行结果为n=4;a=2;即s等于4;s=s+fa表达式第二次调用fn函数时;fn函数运行结果为n=5;所以得到s值为9..35A解析s=fa+1=a+1*a+1*a+1=10;s=fa+1=a+1*a+1*a+1=64..36B解析定义结构体变量有三种方式:①先声明结构体类型;再定义变量名;如选项A所示;②在声明类型的同时定义变量;如选项C所示;③直接定义结构体类型变量;如选项D所示..37A解析选项B、D中;没有为字符串分配空间;因此不能用c指向字符串..选项C中getchar函数返回一个字符;不能将字符赋给字符指针c..选项A中首先定义了字符数组str;然后将str的首地址赋给指针c;这样就使指针c指向了字符串"string"..38D解析在主函数中;通过a=fa实现函数调用;所以输出的结构体变量相应变为1002;ChangRong;1202.0..39C解析8用二进制表示为1000;右移1位后为0100;即十进制4..40C解析文件由数据序列组成;可以构成二进制文件;也可以构成文本文件..二、填空题1114解析在二叉树中;度为0的结点数是度为2的结点数加1;故二叉树中结点数的总和为度为0的结点数、度为1的结点数及度为2的结点数三者相加;得出结果为14个结点..22逻辑判断解析绘制流程图时事实描述用椭圆形表示、行动方案用矩形表示、问题用菱形表示、箭头代表流动方向..33需求分析解析需求分析阶段的工作主要包括需求获取、需求分析、编写需求规格说明书和需求评审等四方面;产生的主要文档为软件需求规格说明书;它可以为用户、分析人员和设计人员之间的交流提供方便;直接支持目标软件系统的确认;也可以作为控制软件开发进程的依据..44多对多解析一名学生可以选择多门课程;一门课程也可以由多名学生选择;因此是多对多的联系..55身份证号解析主关键字是表中区别不同的记录的标识;在该表中只有身份证号能具有这个作用;所以用其作为主关键字..665解析a++的含义是在使用a值以后;使a值加1;所以a++的值为5..771解析y=intx/5%2=int3.4%2=3%2=1..881 0解析第一个printf语句输出的结果是逻辑表达式x>0||x<20的值;显然为真;即为1;第二个printf 语句输出的是逻辑表达式x>0&&x<20的值;该值为假;即为0..995解析第一次循环执行后;b=3;a=4;满足条件b>1;循环继续;第二次循环执行后;b=1;a=5;不满足条件b>1;结束循环..所以输出的a值为5..10100 1 123解析第一个printf语句输出结果为0 1..循环体总共循环三次;第一次循环结果为;f=1;f1=1;f2=1;第二次循环结果为f=2;f1=1;f2=2;第三次循环结果为f=3;f1=2;f2=3..11113025解析func调用函数funb;函数执行结果为a=a+b=10+20=30;调用完函数后;主函数继续执行;输出结果a=a+c=5+20=25..1212&p.ID解析结构体成员的引用通过符号"."来表示;通过scanf语句对变量进行赋值时;要用取地址符&..1313How are you How解析用%s格式输入字符串时;空格和回车都作为输入数据的分隔符;不能被读入;因此数组b的输出结果为How..141416解析主函数中;通过funl 函数将a值传递给x;但没有把形参x的值返回;此时变量a的值并没有发生变化;所以输出a.num的值为16..15151 3 6解析依次执行fun6;fun3;fun1;当执行fun6时要调用fun3;执行fun3时要调用fun1;所以输出的结果为1 3 6..。
C语言试题(第2学期)及答案
![C语言试题(第2学期)及答案](https://img.taocdn.com/s3/m/b02286d1910ef12d2af9e7d5.png)
考试科目: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及答案
![C语言试卷2及答案](https://img.taocdn.com/s3/m/e54636019b89680202d825c0.png)
C语言试卷2及答案(总8页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--扬州大学试题纸系课程 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.C.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=&ch;,以下语句中,有语法错误的是 .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)
![C语言程序设计(参考试卷+答案) (2)](https://img.taocdn.com/s3/m/cb279b11581b6bd97f19eae3.png)
题号 一 二 三 四 五 六 总分 得分考试形式:■闭卷 □开卷 ■笔试 □机试 答卷要求:试卷答案需填写至答题卡内一、单项选择题(每小题 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](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语言程序设计试卷2(含答案)
![C语言程序设计试卷2(含答案)](https://img.taocdn.com/s3/m/8e28800a90c69ec3d5bb75a1.png)
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、若有说明
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
装 订 线 内 答 题 无 效○………○………○………○………○………○…(装)…○………○…(订)…○………○…(线)…○………○………○………○………○………○ ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------四川天一学院统一考试试卷 【科目:程序设计基础】 【试卷编号:IE210400-02】第 1 页 共 5 页 (请考生在此处填写自己的学号及座位号)学号: 座位号:四川天一学院2011-2012学年第二学期期末考试科目:程序设计基础 试卷编号:IE210400-02以下方框相应空白处由出卷教师填写以下方框相应空白处由考生用蓝色或黑色笔迹填写以下方框相应空白处由阅卷教师用红色笔迹填写,考生不得填涂一、填空题(本大题共10小题,每小题1分,共10 分)。
1、C 语言的源程序必须通过 和连接后,才能被计算机执行。
2、C 语言源程序的基本单位是 。
3、若x=5,表达式x+=5的值为 。
4、在C 语言中,用关键字 定义整型变量,用关键字 定义字符型变量。
5、设a 、b 、c 均为int 型变量且a=3,b=4,c=5,则表达式a||b+c&& c 的值是 。
6、若x=12,则表达式y=x>12?x+10:x-12的值为 。
7、若有定义语句:float a=2.5,b=2.7,则表达式16/(int)(a+b)%2的值是 。
8、若有条件“|x|<2”,其对应的C 语言表达式是 。
9、在C 语言的赋值表达式中,赋值号左边必须是 。
二、单选题(本大题共15个小题,每小题2分,共30 分)。
1、一个C 程序的执行是从( )。
A.本程序的main 函数开始,到main 函数结束B.本程序的第一个函数开始,到本程序文件的最后一个函数结束C.本程序的main 函数开始,到本程序文件的最后一个函数结束D.本程序的第一个函数开始,到本程序的main 函数结束 2、以下叙述不正确的是( )。
A.一个C 源程序可由一个或多个函数组成 B.一个C 源程序必须包含一个main 函数 C.C 程序的基本组成单位是函数D.在C 程序中,注释说明只能位于一条语句的后面3、C 语言中的标识符只能由字母、数字和下划线3种字符组成,且第一个字符( )。
A.必须为字母 B.必须为下划线C.必须为字母或下划线D.可以是字母、数字和下划线中任一种字符4、 若有代数式bcae 3,则不正确的C 语言表达式是( )。
A.a/b/c*e*3B.3*a*e/b/cC.3*a*e/b*cD.a*e/b/c*3 5、以下表达式值为3的是( )。
诚信承诺:考试中,我将自觉遵守《考生守则》和考场纪律,服从考场安排;如有违规行为,将自愿接受校纪校规相关条款的处理。
承诺人: 学号:系 别: 班级:登分栏:题号 一 二 三 四 五 六 总分 登分人 分数阅卷要求: 1、阅卷教师必须用红色笔迹阅卷,阅卷时每题答案处须按评分标准用阿拉伯数字注明得分情况,完全答错或未答的,作大型“0”记号,不得打负分或作其他标记(实践类题目或答案为文字描述性题目,依据评分标准,注明分项名称及每项得分;写作类题目必须将错误词句用“ ”标注)。
2、大题总分汇总后填入登分栏相应位置,每份试卷阅完后由登分人(阅卷人)将各大题总分汇总后填入总分一栏中,并在登分人一栏中填入登分人姓名。
3、阅卷教师必须按照评分标准,公平、公正、认真地评阅试卷,不得随意加分或降分;若因误评或漏评确需更改时,需在改动处用“=”标注,在改动位置下方用阿拉伯数字书写正确分数,并在改动处上方签名;阅卷结束后及时将总分录入教务管理系统“期末成绩”一栏中。
试卷说明:1、本试卷为【闭卷】。
2、本试卷共 4 页, 4 个大题,满分100分。
3、考试时间: 120 分钟。
4、考生必须用蓝色或黑色笔迹答题;其他笔迹答题无效。
第 2 页共 5 页装订线内答题无效○………○………○………○………○………○…(装)…○………○…(订)…○………○…(线)…○………○………○………○………○………○------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 四川天一学院统一考试试卷A.16-13%10 B.2+3/2 C.14/3-2 D.(2+6)/(12-9)6、C语言中运算对象必须是整型的运算符是()。
A.% B./ C.+ D.〈= 7、在C语言中,char型数据在内存中的存储形式是()。
A.补码 B.反码 C.原码 D.ASCII码8、以下程序的输出结果是()。
main() {float a=123.456; printf(“%f”,a); } A.123.456 B.123.456000 D.123 D.123.4560000 9、根据以下定义语句和数据的输入方式,scanf语句的正确形式应为()。
已有定义:float a,b; 数据的输入方式:4.52,3.5<回车> A.scanf(“%f,%f”,&a,&b); B.scanf(“%f%f”,&a,&b); C.scanf(“%3.2f %2.1f”,&a,&b); D.scanf(“%3.2f %2.1f”,&a,&b); 10、若运行以下程序时输入:3 5 /<回车>,则程序的运行结果是()。
main() {int x,y,r; char o; scanf(“%d %d %c”,&x,&y,&o); switch(o) {case ’+’:r=x+y;break; case ’-‘:r=x-y;break; case ’*’:r=x*y;break; case ’/’:r=x/y;break;} printf(“%d”,r);} A.8 B.-2 C.15 D.0 11、下面程序的功能是将从键盘输入的一组字符中统计出的大写字母的个数m和小写字母的个数n,请选择填空()。
#include<stdio.h> main() { int m=0,n=0; char c; while( !=’\n’) { if(c>=’A’&&c<=’Z’)m++; if(c>=’a’&&c<=’z’)n++; } pritf(“%d,%d”,m,n);} A.c=getchar( ) B.getchar( ) C.getchar( ) D.scanf(“%c”,c)12、以下程序的功能是计算一个整数的各位数字之和,请选择填空()。
int n,m=1; scanf(“%d”,&n);for(;n!=0;) { m ; n/=10; } printf(“%d”,m);A.+=n%10 B.=n%10 C.+=n D.=n/10 13、语句while(! E)中的表达式!E等价于()。
A.E= =0 B.E!=1 C.E!=0 D.E= =1 14、下面程序段的运行结果是()。
for(y=1;y<10;) y=((x=3*y,x+1),x-1); printf(“%d,%d”,x,y);装 订 线 内 答 题 无 效○………○………○………○………○………○…(装)…○………○…(订)…○………○…(线)…○………○………○………○………○………○ ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------四川天一学院统一考试试卷 【科目:程序设计基础】 【试卷编号:IE210400-02】第 3 页 共 5 页 (请考生在此处填写自己的学号及座位号)学号: 座位号:A.27,27B.12,13C.15,14D.12,1415、下面程序段的运行结果是( )。
i=1;a=0;s=1; do {a=a+s*i; s=-s; i++;}while(i<=2); printf(“%d”,a);A. -1B.1C.3D.0三、程序阅读与填空题(本大题共8个小题,每小题3分,共24分)。
1、下列程序的输出结果是 。
#include<stdio.h> void main() {float x=7.5,y; y=9+7.5;printf(“%6.2f”, y); }2、下列程序运行的结果是 。
#include<stdio.h> void main() {int x=3,y=5;if(x= =y) printf("equal\n"); else printf("no equal\n"); }3、当输入i 的值为11时,下列程序输出的结果是 。
#include<stdio.h> main ( ) {int sum=0,i; scanf(“%d″,&i);while (i<=10) {sum=sum+i; i++; }printf(“%d”,sum); }4、当输入i 的值为11时,下列程序输出的结果是 。
#include<stdio.h> main( ) {int sum=0,i; scanf(”%d″,&i); do{ sum=sum+i; i++;}while (i<=10); printf(“%d”,sum); }5、以下程序运行后的输出结果是 。
#include<stdio.h> void main() {char m;m=’B’+32;printf(“%c \n”,m); }6、以下程序运行后的输出结果是 。