2013年春C语言试题
2013年 C语言试卷

湖北科技学院2013学年春季学期2012级非计算机本科专业《高级语言程序设计(C语言)》期末考试试卷(A卷、闭卷)一.选择题:(每小题1分,共40分)1.C语言规定,必须用()作为主函数名。
A)Function B)include C)main D)stdio2.下列说法正确的是()。
A)在执行C程序时不是从main函数开始的B)C程序书写格式严格限制,一行内必须写一个语句C)C程序书写格式自由,一个语句可以分写在多行上D)C程序书写格式严格限制,一行内必须写一个语句,并要有行号3.下列字符串是用户标识符的是()。
A)_HJ B)9_student C)long D)float4.下列数据中是合法的整型常量的是()。
A)3E2B)029C)-32768D)6e+0075.语句int k,i=3;k=(i++)+(i++)+(i++);执行过后k和i的值分别为()。
A)9,6B)12,5C)18,6D)15,56.10+’a’+1.5-567.345/’b’的结果是()型数据。
A)long B)double C)int D)unsigned float7.在C语言中,下列类型属于构造类型的是()。
A)整型B)指针类型C)实型D)结构体类型8.在C语言中,退格符是()。
A)\n B)\t C)\v D)\b9.下列符号中,可以作为变量名的是()A)+c B)*X C)_DAY D)next-day10.以下程序的输出结果是()void main(){unsigned char a=2,b=4,c=5,d;d=a|b;d&=c;printf("%d\n",d);}A)3B)4C)5D)611.若已知a=5,b=10,则表达式a==b的值为()。
A)10B)20C)1D)012.已有定义”int a=-2;”和输出语句”printf(“%8x”,a);“,以下正确的叙述是()。
2013年3月全国计算机等级二级C语言笔试上机题库及答案

2013年3月份全国计算机等级考试二级C语言笔试上机题库一、选择题在下列各题的A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确的选项涂写在答题卡相应位置上,答在试卷上不得分。
(1)为了避免流程图在描述程序逻辑时的灵活性,提出了用方框图来代替传统的程序流程图,通常也把这种图称为A)PAD图B)N-S图C)结构图D)数据流图(2)结构化程序设计主要强调的是A)程序的规模B)程序的效率C)程序设计语言的先进性D)程序易读性(3)为了使模块尽可能独立,要求A)模块的内聚程度要尽量高,且各模块间的耦合程度要尽量强B)模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱C)模块的内聚程度要尽量低,且各模块间的耦合程度要尽量弱D)模块的内聚程度要尽量低,且各模块间的耦合程度要尽量强(4)需求分析阶段的任务是确定A)软件开发方法B)软件开发工具C)软件开发费用D)软件系统功能(5)算法的有穷性是指A)算法程序的运行时间是有限的B)算法程序所处理的数据量是有限的C)算法程序的长度是有限的D)算法只能被有限的用户使用(6)对长度为n的线性表排序,在最坏情况下,比较次数不是n(n-1)/2的排序方法是A)快速排序B)冒泡排序C)直接插入排序D)堆排序(7)如果进栈序列为e1,e2,e3,e4,则可能的出栈序列是A)e3,e1,e4,e2B)e2,e4,e3,e1 C)e3,e4,e1,e2D) 任意顺序(8)将E-R图转换到关系模式时,实体与联系都可以表示成A)属性B)关系C)键D)域(9)有三个关系R、S和T如下: RB C Da 0 k1b 1 n1SB C Df 3 h2a 0 k1n 2 x1TB C Da 0 k1由关系R和S通过运算得到关系T,则所使用的运算为A)并B)自然连接C)笛卡尔积D)交(10)下列有关数据库的描述,正确的是A)数据处理是将信息转化为数据的过程B)数据的物理独立性是指当数据的逻辑结构改变时,数据的存储结构不变C)关系中的每一列称为元组,一个元组就是一个字段D)如果一个关系中的属性或属性组并非该关系的关键字,但它是另一个关系的关键字,则称其为本关系的外关键字(11)以下叙述中正确的是A)用C程序实现的算法必须要有输入和输出操作B)用C程序实现的算法可以没有输出但必须要有输入C)用C程序实现的算法可以没有输入但必须要有输出D)用C程序实现的算法可以既没有输入也没有输出(12)下列可用于C语言用户标识符的一组是A)void, define, WORDB)a3_3,_123,Car C)For, -abc, IF Case D)2a, DO, sizeof (13)以下选项中可作为C语言合法常量的是A)-80 B)-080C)-8e1.0 D)-80.0e(14)若有语句:char *line[5];,以下叙述中正确的是A) 定义line是一个数组,每个数组元素是一个基类型为char为指针变量B) 定义line是一个指针变量,该变量可以指向一个长度为5的字符型数组C) 定义line是一个指针数组,语句中的*号称为间址运算符D) 定义line是一个指向字符型函数的指针(15)以下定义语句中正确的是A)int a=b=0; B)char A=65+1,b=′b′; C)float a=1,*b=&a,*c=&b;D)double a=0 0;b=1.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=12D)a,97,k=12(17)有以下程序main(){ int i,s=1;for (i=1;i<50;i++)if(!(i%5)&&!(i%3)) s+=i;printf("%d\n",s);}程序的输出结果是A)409 B)277 C)1 D)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)若变量已正确定义,有以下程序段int a=3,b=5,c=7;if(a>b) a=b; c=a;if(c!=a) c=b;printf("%d,%d,%d\n",a,b,c);其输出结果是A)程序段有语法错B)3,5,3 C)3,5,5 D)3,5,7(20)有以下程序#include <stdio.h>main(){ int x=1,y=0,a=0,b=0;switch(x){ case 1:switch(y){ case 0:a++; break;case 1:b++; break;}case 2:a++; b++; break;case 3:a++; b++;}printf("a=%d,b=%d\n",a,b);}程序的运行结果是A)a=1,b=0B)a=2,b=2 C)a=1,b=1 D)a=2,b=1(21)下列程序的输出结果是#include "stdio.h"main(){ int i,a=0,b=0;for(i=1;i<10;i++) { if(i%2==0){a++;continue;}b++;}printf("a=%d,b=%d",a,b); }A)a=4,b=4 B)a=4,b=5C)a=5,b=4D)a=5,b=5(22)已知#int t=0;while (t=1){...}则以下叙述正确的是A)循环控制表达式的值为0B)循环控制表达式的值为1C)循环控制表达式不合法D)以上说法都不对(23)下面程序的输出结果是main(){ int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; printf("%d\n",*(p+2));}A)3 B)4 C)1D)2(24)以下错误的定义语句是A)intx[][3]={{0},{1},{1,2,3}};B)intx[4][3]={{1,2,3},{1,2,3},{1,2,3},{1 ,2,3}};C)intx[4][]={{1,2,3},{1,2,3},{1,2,3},{1, 2,3}}; D)int x[][3]={1,2,3,4};(25)有以下程序void ss(char *s,char t){ while(*s){ if(*s==t)*s=t-′a′+′A′;s++; } }main(){ char str1[100]="abcddfefdbd",c=′d′;ss(str1,c); printf("%s\n",str1);}程序运行后的输出结果是A)ABCDDEFEDBDB)abcDDfefDbDC)abcAAfefAbAD)Abcddfefdbd(26)有如下程序main(){ char ch[2][5]={"6937","8254"},*p[2]; int i,j,s=0;for(i=0;i<2;i++)p[i]=ch[i];for(i=0;i<2;i++)for(j=0;p[i][j]>′\0′;j+=2)s=10*s+p[i][j]-′0′;printf("%d\n",s);}该程序的输出结果是A)69825 B)63825 C)6385 D)693825(27)有定义语句:char s[10];,若要从终端给s输入5个字符,错误的输入语句是A)gets(&s[0]);B)scanf("%s",s+1); C)gets(s);D)scanf("%s",s[1]);(28)以下叙述中错误的是A)在程序中凡是以"#"开始的语句行都是预处理命令行B)预处理命令行的最后不能以分号表示结束C)#define MAX 是合法的宏定义命令行D)C程序对预处理命令行的处理是在程序执行的过程中进行的(29)设有以下说明语句typedef struct{ int n;char ch[8];} PER;则下面叙述中正确的是A)PER 是结构体变量名B)PER是结构体类型名C)typedef struct 是结构体类型D)struct 是结构体类型名(30)以下叙述中错误的是A)gets函数用于从终端读入字符串B)getchar函数用于从磁盘文件读入字符C)fputs函数用于把字符串输出到文件D)fwrite函数用于以二进制形式输出数据到文件(31)以下能正确定义一维数组的选项是A)int a[5]={0,1,2,3,4,5};B)char a[]={′0′,′1′,′2′,′3′,′4′,′5′,′\0′};C)char a={′A′,′B′,′C′}; D)int a[5]="0123";(32)有以下程序#include<string.h>main(){ char p[]={′a′, ′b′, ′c′},q[10]={ ′a′, ′b′, ′c′}; printf("%d%d\n",strlen(p),strlen(q)) ;}以下叙述中正确的是A) 在给p和q数组置初值时,系统会自动添加字符串结束符,故输出的长度都为3B) 由于p数组中没有字符串结束符,长度不能确定,但q数组中字符串长度为3C) 由于q数组中没有字符串结束符,长度不能确定,但p数组中字符串长度为3D) 由于p和q数组中都没有字符串结束符,故长度都不能确定(33)有以下程序#include <stdio.h>#include <string.h>void fun(char *s[],int n) { char *t; int i,j; for(i=0;i<n-1;i++)for(j=i+1;j<n;j++)if(strlen(s[i])>strlen(s[j])){t=s[i];s[i]:s[j];s[j]=t;}}main(){ char *ss[]={"bcc","bbcc","xy","aaaacc ","aabcc"};fun(ss,5);printf("%s,%s\n",ss[0],ss[4]);}程序的运行结果是A)xy,aaaacc B)aaaacc,xy C)bcc,aabcc D)aabcc,bcc (34)有以下程序#include <stdio.h>int f(int x){ int y;if(x==0||x==1) return(3);y=x *x-f(x-2);return y;}main(){ int z;z=f(3); printf("%d\n",z);}程序的运行结果是A)0 B)9 C)6 D)8 (35)下面程序段的运行结果是char str[]="ABC",*p=str;printf("%d\n",*(p+3));A)67 B)0 C)字符′C′的地址D)字符′C′(36)若有以下定义:struct link{ int data;struct link *next;} a,b,c,*p,*q;且变量a和b之间已有如下图所示的链表结构:指针p指向变量a,q指向变量c。
春考历年c语言考试题及答案

春考历年c语言考试题及答案1.以下叙述正确的是( ) 。
[单选题] *A) 在对一个C程序进行编译的过程中,可发现注释中的拼写错误B) 在C程序中,main函数必须位于程序的最前面C) C语言本身没有输入输出语句(正确答案)D) C程序的每行中只能写一条语句2.一个C程序的执行是从( ) 。
[单选题] *A) 本程序的main函数开始,到main函数结束(正确答案)B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C) 本程序文件的第一个函数开始,到本程序main函数结束D) 本程序的main函数开始,到本程序文件的最后一个函数结束3.以下叙述不正确的是( ) 。
[单选题] *A) 一个C源程序必须包含一个main函数B)一个C源程序可由一个或多个函数组成C) C程序的基本组成单位是函数D) 在C程序中,注释说明只能位于一条语句的后面(正确答案)4.计算机高级语言程序的运行方法有编译执行和解释执行两种,以下叙述中正确的是( ) 。
[单选题] *A) C语言程序仅可以编译执行(正确答案)B) C语言程序仅可以解释执行C) C语言程序既可以编译执行又可以解释执行D) 以上说法都不对5.一个C语言程序是由( ) 。
[单选题] *A)一个主程序和若干个子程序组成B) 函数组成(正确答案)C) 若干过程组成D) 若干子程序组成6.以下叙述中错误的是( ) 。
[单选题] *A) C语言的可执行程序是由一系列机器指令构成的B)用C语言编写的源程序不能直接在计算机上运行C)通过编译得到的二进制目标程序需要连接才可以运行D)在没有安装C语言集成开发环境的机器上不能运行C源程序生成的.exe文件(正确答案)7.若x、i、j、k都是int型变量,则计算下面表达式后,x的值为( )。
x=(i=4,j=16,k=32) [单选题] *a) 4B) 16C) 32(正确答案)D 528.以下叙述正确的是( ) 。
2013 c语言试题及答案

理论考试(120分钟)一、单项选择题(在每小题的4个备选答案中,选出一个最佳答案,共15小题;每小题2分,共30分)1.一个C程序的执行是从( A)A.本程序的main函数开始,到main函数结束B.本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C.本程序的main函数开始,到本程序文件的最后一个函数结束D.本程序文件的第一个函数开始,到本程序main函数结束2.已知int x=10,y=20,z=30; 以下语句执行后x,y,z的值是( B) if (x>y) z=x; x=y;y=z;A. 10,20,30B. 20,30,30C. 20,30,10D. 20,30,20 3.int a=1,b=2,x=3; 表达式:x*=a+b计算后x的值为:( B )A. 5B. 9C. 3D. 64.下列选项,在C语言中能作为合法标识符的是( D)A. %xB. a+bC. 2_int_12_D. int_2_5.#include<stdio.h> (A)void main(){int sum,pad;sum=pad=5;pad=sum++;pad++;++pad;printf("%d %d\n",pad, sum);}A.7 6B. 6 5C. 7 5D. 6 6 6.若有说明:int a[10];则对a 数组元素的正确引用是( D )A. a[10]B. a[3, 5]C. a(5)D. a[10-10] 7.请读程序#include<stdio.h>#define MUL(x,y) (x)*yvoid main(){ int a=3, b=4, c;c=MUL(a++, b++);printf("%d\n", c);}上面程序的输出结果是(A)。
A. 12B. 15C. 20D. 168.若用数组名作为函数调用的实参,传递给形参的是数组的( A )A. 数组的首地址B. 数组第一个元素的值C. 数组中全部元素的值D. 数组元素的个数9.阅读以下程序void main(){ int a=5,b=0,c=1;if(a=b+c) printf(“***\n”);else printf(“$$$\n”);}以上程序( C)A. 语法有错不能通过编译B. 可以通过编译但不能通过连接C. 输出***D. 输出$$$10.下列关于函数定义正确的是( D )A. fun(int x,y){ int z;return z;}B. void fun(int x,int y){ return x+y;}C. fun(x,y){int x,y;double z;z=x+y;return z;}D. double fun(int x,int y) { double z;z=x+y;return z;}11.在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是(B )A. 地址传递B. 单向值传递C. 由实参传给形参,再由形参传回实参D. 传递方式由用户指定12.具有相同基类型的指针变量P和数组Y,下列写法中不合法的是( D ) A.P = Y B.*P = Y[i]C.P = &Y[i] D.P = &Y13.设x和y均为int型变量,则下列语句:x+=y; y=x-y; x- =y;的功能是(D ) A.把x和y按从大到小排列。
2013年全国计算机二级C语言考试真题

8、当变量c的值不为2、4、6时,值也为“真”的表达式是()
A(c>=2&&c<=6)&&(c%2!=1)
B)(c>=2&&c<=6)&&!(c%2))
C)(c==2)‖(c==4)‖(c==6)
D)(c>=2&&c<=6)‖(c!=3)‖(c!=5)
9、以下选项中,值为1的表达式是
main()
{ char a='H';
a = ( a>='A' && a<= 'Z' ) ? (a+32) : a;
printf("%c\n",a );
}
程序运行后的输出结果是
A)A
B)a
C)h
D)H
194.以下叙述中正确的是
A)程序可以包含多个主函数,但总是从第一个主函数处开始执行
B)书写源程序时,必须注意缩进格式,否则程序会有编译错误
A."\x7D"
B.1,234
C.123
D.'\123'
60、C语言源程序名的后缀是
A). cp
B).obj
C).exe
D).C
61、阅读以下程序
#include <stdio .h>
main ()
{ int case ;
float printF;
printf ("请输入2个数:");
scanf ( "%d %f",&case, &printF );
C语言习题答案2013年新版——第二章至第七章[1]
![C语言习题答案2013年新版——第二章至第七章[1]](https://img.taocdn.com/s3/m/98b63d29f111f18583d05a28.png)
习题答案习题2(参考答案)一、选择题二、填空题习题 3 (参考答案)1.编程实现:用字符输入/输出函数输入3个字符,将它们反向输出。
参考代码(尽量运用本章所学知识)#include <stdio.h>main( ){ char c1,c2,c3;c1=getchar(); c2=getchar(); c3=getchar();putchar(c3); putchar(c2); putchar(c1);}2.编程实现:用格式输入/输出函数输入3个字符,将它们反向输出并输出它们的ASCII值。
参考代码(尽量运用本章所学知识)#include <stdio.h>main( ){ char c1,c2,c3;scanf ("%c%c%c", &c1, &c2, &c3) ;printf("%c %d,%c %d,%c %d ", c3,c3,c2,c2,c1,c1) ;}3.变量k为float 类型,调用函数:scanf("%d", &k);不能使变量k得到正确数值的原因是:scanf("%d", &k);中的格式控制类型与变量k的定义类型不匹配,应将%d改为%f.4. (略)习题4答案一选择题1-20 DBDCA CBDDA ACABC BCBBC二、写出下列程序的运行结果1. z=362. 20 03. 124. 48,485. 136. 02三编程题(参考答案)1.输入4个整数a,b,c,d,编写程序,将它们按从大到小顺序输出。
#include<stdio.h>main(){ int a,b,c,d,t;scanf("%d%d%d%d",&a,&b,&c,&d);if(a<b) {t=a;a=b;b=t;}if(a<c) {t=a;a=c;c=t;}if(a<d) {t=a;a=d;d=t;}if(b<c) {t=b;b=c;c=t;}if(b<d) {t=b;b=d;d=t;}if(c<d) {t=c;c=d;d=t;}printf("%4d%4d%4d%4d",a,b,c,d);}2.据所输入的3条边长值,判断它们能否构成三角形,如能构成,再判断是等腰三角形、直角三角形还是一般三角形?源程序:#include<stdio.h>#include "math.h"main(){float a,b,c,s,area;scanf("%f%f%f",&a,&b,&c);if((a+b>c)&&(a+c>b)&&(b+c>a)&&(fabs(a-b)<c)&&(fabs(a-c)<b)&&(fabs(b-c )<a)){if(a==b&&b==c)printf("等边三角形");else if(a==b||b==c||a==c)printf("等腰三角形");else if((a*a+b*b==c*c)||(a*a+c*c==b*b)||(b*b+c*c==a*a))printf("直角三角形");else printf("一般三角形");}else printf("不能组成三角形");}3.输入一个整数,如果能被3,4,5同时整除,则输出“YES”,否则输出“NO”。
2013年C语言程序设计试卷-A卷(正式用卷)

计算机学院2012-2013学年第2学期C语言程序设计考试试卷A卷(或B卷): A卷闭卷(或开卷):闭卷考试时间:2013年 7 月 5 日专业班级学号学生姓名题号一二三四五六七总分核对人题分10 10 10 10 20 20 20 100得分注意:试卷后面附有运算符的优先级和结合性表。
一、单项选择题(在下面每小题的A、B、C、D四个选项中,只有一个选项得分评卷人是正确的,请选择正确的选项并填写到括号内,选择正确得分。
本大题共10小题,每小题1分,共10分。
)1、以下为正确的标识符是【】A、forB、u.3C、3cD、DO2、以下为合法的整型常量是【】A、-1UB、01111001BC、ffffD、01383、下列数据中属于字符串常量的是【】A、'a'B、"a"b"c"C、'123'D、"a\"b\"c"4、表达式-a+++b中记号(token)的个数是【】A、3个B、4个C、5个D、6个5、 -3的16位补码是【】A、0xfffdB、0x1011C、0x7ffdD、0x00036、以下为正确的转义字符是【】A、'\'B、'\\'C、'\0x12'D、'\0f1'7、设有声明:enum {U,V,W=0,X,Y=0,Z} a; 则值为1的枚举常量的个数是【】A、1个B、2个C、3个D、4个8、设有声明: 【】union U{ long a; short b; char c; char s[20];} v={0x01020304},*p=&v;则下列选项正确的是A、printf("%d\n",sizeof(v))输出4B、printf("%d\n",p->s[0])输出4C、printf("%d\n",v.c)输出1D、printf("%x\n",v.b)输出1029、设有声明和语句:FILE *fp; fp=fopen("c:\\abc.dat","r+"); 【】则下列选项正确的是A、打开文件的文件名为\abc.datB、打开的是二进制文件C、打开的是文本文件D、打开的文件只能进行读操作10、设有如下代码片段:【】int a[]={1,2,3,4,5},i;char *p=(char *)a;for(i=0;i<3;i++)printf("%d ",*((p+=sizeof(int))-sizeof(int)));printf("\n");则该代码片段的输出结果是A、1 2 3 4 5B、1 2 3C、1 1 1D、2 3 4二、 多项选择题(下面每小题的A 、B 、C 、D 备选项中,有两个或两个以上的选项是正确的,请选择正确的选项并填写到括号内。
2013年至2014年度国家计算机二级考试C语言

2013年至2014年度国家计算机二级考试(C语言) 学号:2013352438,姓名:赵超凡,题源:75,76两套一.选择题:(40*1分)1.以下叙述中错误的是()//结构化程序由顺序、分支、循环三种基本结构组成// C语言是一种结构化程序设计语言// 结构化程序设计提倡模块化的设计方法//////A//中等。
2.以下四个程序中,完全正确的是()//#include <stdio.h>main();{/*/ programming /*/printf("programming!\n");}// #include <stdio.h>main(){/* programming */ printf("programming!\n");} // #include <stdio.h>main() {/*/* programming */*/printf("programming!\n");} // include <stdio.h> main(){/* programming */printf("programming!\n");}//////B//中等。
3.C源程序中不能表示的数制是()// 十六进制// 八进制// 十进制// 二进制//////D//中等。
4.以下选项中,能用作用户标识符的是()// 0// 88// void// unsigned//////A//中等。
5.若有定义语句:int x=10;,则表达式x-=x+x的值为() // 0// -20// -10 // 10//////C//中等。
6.有以下程序:#include <stdio.h>main(){int a=1,b=0;printf("%d,",b=a+b);printf("%d\n",a=2*b);则打印结果为()// 1,2// 1,0 // 3,2 // 0,0//////A//中等。
全国计算机等级考试二级C语言真题2013年3月

全国计算机等级考试二级C语言真题2013年3月(总分:100.00,做题时间:90分钟)一、选择题(总题数:40,分数:40.00)1.程序流程图中带有箭头的线段表示的是______。
(分数:1.00)A.图元关系B.数据流C.控制流√D.调用关系解析:[解析] 在数据流图中,用标有名字的箭头表示数据流。
在程序流程图中,用标有名字的箭头表示控制流。
所以选择C。
2.结构化程序设计的基本原则不包括______。
(分数:1.00)A.多态性√B.自顶向下C.模块化D.逐步求精解析:[解析] 结构化程序设计的思想包括:自顶向下、逐步求精、模块化、限制使用goto语句,所以选择A。
3.软件设计中模块划分应遵循的准则是______。
(分数:1.00)A.低内聚低耦合B.高内聚低耦合√C.低内聚高耦合D.高内聚高耦合解析:[解析] 软件设计中模块划分应遵循的准则是高内聚低偶合、模块大小规模适当、模块的依赖关系适当等。
模块的划分应遵循一定的要求,以保证模块划分合理,并进一步保证以此为依据开发出的软件系统可靠性强,易于理解和维护。
模块之间的耦合应尽可能的低,模块的内聚度应尽可能的高。
4.在软件开发中,需求分析阶段产生的主要文档是______。
(分数:1.00)A.可行性分析报告B.软件需求规格说明书√C.概要设计说明书D.集成测试计划解析:[解析] A错误,可行性分析阶段产生可行性分析报告。
C错误,概要设计说明书是总体设计阶段产生的文档。
D错误,集成测试计划是在概要设计阶段编写的文档。
B正确,需求规格说明书是后续工作如设计、编码等需要的重要参考文档。
5.算法的有穷性是指______。
(分数:1.00)A.算法程序的运行时间是有限的√B.算法程序所处理的数据量是有限的C.算法程序的长度是有限的D.算法只能被有限的用户使用解析:[解析] 算法原则上能够精确地运行,而且人们用笔和纸做有限次运算后即可完成。
有穷性是指算法程序的运行时间是有限的。
c语言真题-试卷答案及解释(2013年3月)

c语言真题-试卷答案及解释(2013年3月)一、选择题(1)B 【解析】N-S图是由Nassi 和Shneiderman 提出的一种符合程序化结构设计原则的图形描述工具。
它的提出是为了避免流程图在描述程序逻辑时的随意性上灵活性。
(2)D 【解析】结构化程序设计方法的主要原则可以概括为自顶向下、逐步求精、模块化及限制使用goto语句,总的来说可使程序结构良好、易读、易理解、易维护。
(3)B【解析】模块的独立程度可以由两个定性标准度量:耦合性和内聚性。
耦合性是衡量不同模块彼此间互相依赖(连接)的紧密程度;内聚性是衡量一个模块内部各个元素彼此结合的紧密程度。
一般来说,要求模块之间的耦合尽可能地低,而内聚性尽可能地高。
(4)D 【解析】需求分析是软件定义时期的最后一个阶段,它的基本任务就是详细调查现实世界要处理的对象(组织、部门、企业等),充分了解原系统的工作概况,明确用户的各种需求,然后在此基础上确定新系统的功能。
选项A)软件开发方法是在总体设计阶段需完成的任务;选项B)软件开发工具是在实现阶段需完成的任务;选项C)软件开发费用是在可行性研究阶段需完成的任务。
(5)A 【解析】算法具有5个特性:①有穷性:一个算法必须(对任何合法的输入值)在执行有穷步之后结束,且每一步都可在有限时间内完成,即运行时间是有限的;②确定性:算法中每一条指令必须有确切的含义,读者理解时不会产生歧义;③可行性:一个算法是可行的,即算法中描述的操作都是可以通过已经实现的基本运算执行有限次来实现;④输入:一个算法有零个或多个输入,这些输入取自于某个特定的对象的集合;⑤输出:一个算法有一个或多个输出。
(6)D 【解析】在最坏情况下,快速排序、冒泡排序和直接插入排序需要的比较次数都为n(n-1)/2,堆排序需要的比较次数为nlog2n。
(7)B 【解析】由栈"后进先出"的特点可知:A)中e1不可能比e2先出,C)中e1不可能比e2先出,D)中栈是先进后出的,所以不可能是任意顺序。
2013年3月全国计算机等级考试二级C语言上机题库100套完全版aaa

2013年3月全国计算机等级考试二级C语言上机题库100套完全版aaa导读:就爱阅读网友为您分享以下“2013年3月全国计算机等级考试二级C语言上机题库100套完全版aaa”的资讯,希望对您有所帮助,感谢您对的支持!第 3 处:{ tl++; /*****found*** ***/ fscanf(fp,”%s%s%s”,str,str1,str2); 2.tt++; 程序修改给定程序MODI1.C 中函数fun 的功能是:对N 名学生的学生成绩,按从高到低的顺序找出前m(m<10) if(tl>sl) return t; 名学生来,将这些学生数据存放在一个动态分配的else return s; 连续存储区中,此存储区的首地址作为函数值返回。
} STU *fun(STU a[ ],int m) { STU b[N],*t; 3. 程序设计int i,j,k; 请编写函数fun,函数的功能是:移动字符串中的/*****found*** ***/ 内容,移动的规则如下:把第 1 到第m 个字符,平t=(STU *)calloc(sizeof(STU),m); 均移到字符串的最后,把第m+1个到最后的;字for(i=0;i<N;i++) 符移到字符串的前部。
void fun(char *w, int m ) for(k=0;k<m;k++) { { for(i=j=0;i<N;i++) int i; if(b[i].s>b[j].s)j=i; /*****found*** ***/ t[k]=b[j]; b[j].s=0; 第七套1.程序填空return t; 程序通过定义并赋初值的方式,利用结构体变量存} 储了一名学生的信息,函数fun 的功能是输出这位学生的信息。
3. 程序设计请编写函数fun,函数的功能是,删去一维数组中第 1 处void show( STU tt) 所有相同的数,使之只剩一个。
全国计算机二级C2013年3月考试真题与答案(打印版)-推荐下载

A、x++; printf((“%d\n”,x);
B、n=++x; printf((“%d\n”,n);
C、++x; printf((“%d\n”,x);
D、n=x++; printf((“%d\n”,n);
19、以下选项中,能表示逻辑值“假”的是
A、 1
B 、0.000001
C、 0
D、 100.0
9、 在黑盒测试方式中,设计测试用例的主要根据是
A、程序外部功能
B、程序内部逻辑
C、程序数据结构
D、程序流程图
10、 在软件设计中不使用的工具是
A、系统结构图
B、程序流程图
C、PAD 图
D、数据流图(DFD 图)
11、针对简单程序设计,以下叙述的实施步骤正确的是
A、确定算法和数据结构、编码、调试、整理文档
20、有以下程序
#include <sthio.h>
main()
{ int a;
scanf(“%d”,&a);
If(a++<9) printf((“%d\n”,a);
else printf((“%d\n”,a--);
}
程序运行时键盘输入 9<回车>,则输出的结构是
A、10
B 、11
C、 9
D 、8
21、有以下程序
D、只有八进制表示的数在不会有误差
13、以下关于算法叙述错误的是
A、算法可以用伪代码、流程图等多种形式来描述
B、一个正确的算法必须有输入
C、一个正确的算法必须有输出
D、用流程图可以描述的算法可以用任何一种计算机高级语言编写成程序代码
C语言习题答案2013年新版——第二章至第七章

习题答案习题2(参考答案)一、选择题二、填空题习题 3 (参考答案)1.编程实现:用字符输入/输出函数输入3个字符,将它们反向输出。
参考代码(尽量运用本章所学知识)#include <stdio.h>main( ){ char c1,c2,c3;c1=getchar(); c2=getchar(); c3=getchar();putchar(c3); putchar(c2); putchar(c1);}2.编程实现:用格式输入/输出函数输入3个字符,将它们反向输出并输出它们的ASCII值。
参考代码(尽量运用本章所学知识)#include <stdio.h>main( ){ char c1,c2,c3;scanf ("%c%c%c", &c1, &c2, &c3) ;printf("%c %d,%c %d,%c %d ", c3,c3,c2,c2,c1,c1) ;}3.变量k为float 类型,调用函数:scanf("%d", &k);不能使变量k得到正确数值的原因是:scanf("%d", &k);中的格式控制类型与变量k的定义类型不匹配,应将%d改为%f.4. (略)习题4答案一选择题1-20 DBDCA CBDDA ACABC BCBBC二、写出下列程序的运行结果1. z=362. 20 03. 124. 48,485. 136. 02三编程题(参考答案)1.输入4个整数a,b,c,d,编写程序,将它们按从大到小顺序输出。
#include<stdio.h>main(){ int a,b,c,d,t;scanf("%d%d%d%d",&a,&b,&c,&d);if(a<b) {t=a;a=b;b=t;}if(a<c) {t=a;a=c;c=t;}if(a<d) {t=a;a=d;d=t;}if(b<c) {t=b;b=c;c=t;}if(b<d) {t=b;b=d;d=t;}if(c<d) {t=c;c=d;d=t;}printf("%4d%4d%4d%4d",a,b,c,d);}2.据所输入的3条边长值,判断它们能否构成三角形,如能构成,再判断是等腰三角形、直角三角形还是一般三角形?源程序:#include<stdio.h>#include "math.h"main(){float a,b,c,s,area;scanf("%f%f%f",&a,&b,&c);if((a+b>c)&&(a+c>b)&&(b+c>a)&&(fabs(a-b)<c)&&(fabs(a-c)<b)&&(fabs(b-c )<a)){if(a==b&&b==c)printf("等边三角形");else if(a==b||b==c||a==c)printf("等腰三角形");else if((a*a+b*b==c*c)||(a*a+c*c==b*b)||(b*b+c*c==a*a))printf("直角三角形");else printf("一般三角形");}else printf("不能组成三角形");}3.输入一个整数,如果能被3,4,5同时整除,则输出“YES”,否则输出“NO”。
2013年3月计算机二级C语言上机试题题库答案

第一套1. 给定程序中,函数fun的功能是:在形参ss所指字符串数组中,删除所有串长超过k的字符串,函数返回所剩字符串的个数。
Ss所指字符串数组中共有N个字符串,且串长小于M。
1 N2 k3 ss[i]2. 给定程序MODI1.C中函数fun的功能是:逐个比较p、q所指两个字符串对应位置中的字符,把ASCII值或相等的字符依次存放在c所指数组中,形成一个新的字符串。
1 int k=0;2 while(*p||*q)3. 假定输入的字符串中只包含字母和*号。
请编写函数fun,它的功能是:除了字符串前导*号之外,将串中其它*号全部删除。
在编写函数时,不得使用C语言提供的字符串函数。
函数fun中给出的语句仅供参考。
int i=0;char *p=a;while(*p&&*p=='*'){ a[i]=*p;i++;p++;}while(*p){ if(*p!='*'){a[i]=*p;i++;}p++;}a[i]='\0';第二套1. 给定程序中已建立一个带头结点的单向链表,链表中的各结点按结点数据域中的数据递增有序链接。
函数fun的功能是:把形参x的值放入一个新结点并插入到链表中,插入后各结点数据域的值仍保持递增有序。
1 x2 p3 s2. 给定程序MODI1.C中函数fun的功能是:计算正整数num的各位上的数字之积。
1 long k=1;2 num/=103. 请编写函数fun,它的功能是:计算n门课程的平均分,计算结果作为函数返回。
int i;float ave=0.0;for(i=0;i<n;i++)ave=ave+a[i];ave=ave/n;return ave;第三套1. 给定程序中,函数fun的功能是:在形参ss所指字符串数组中,查找含有形参substr所指子串的所有字符串并输出,若没找到输出相应信息。
Ss所指字符串数组中共有N个字符,且串长小于M。
2013计算机二级考试c语言试题及答案第二套

2013计算机二级考试c语言试题及答案第二套2013计算机二级考试C语言试题及答案第二套-------------------------------------------------------题目一:请编写一个C语言程序,实现输入两个整数,输出其中较大的数。
解答:```c#include <stdio.h>int max(int a, int b) {if (a > b)return a;elsereturn b;}int main() {int num1, num2;printf("请输入两个整数:");scanf("%d %d", &num1, &num2);printf("较大的数为:%d\n", max(num1, num2));return 0;}```题目二:请编写一个C语言程序,实现计算1到100之间所有正整数的和并输出。
解答:```c#include <stdio.h>int main() {int sum = 0;for (int i = 1; i <= 100; i++) {sum += i;}printf("1到100之间所有正整数的和为:%d\n", sum);return 0;}题目三:请编写一个C语言程序,实现输入一个整数n,输出n的阶乘。
解答:```c#include <stdio.h>int factorial(int n) {if (n == 0)return 1;elsereturn n * factorial(n - 1);}int main() {int num;printf("请输入一个整数:");scanf("%d", &num);printf("%d的阶乘为:%d\n", num, factorial(num));return 0;}题目四:请编写一个C语言程序,实现输入一个字符串,将其中的小写字母转换为大写字母并输出。
word版,2013级C语言复习题(20题)答案

函数+指针+构造体(20题)1)编写函数voidchangeStr(char*s),其功能是将s指向的字符串中的所有小写字母变换成相应的大写字母、所有大写字母变换成小写字母、非字母字符不变。
#include<stdio.h>#include<stdlib.h>#include<string.h>voidchangeStr(char*s){/*错误典范while(*s){if(*s>='a'&&*s<='z')*s-=32;if(*s>='A'&&*s<='Z')*s+=32;++s;}*/char*p=s;while(*p){if(*p>='a'&&*p<='z')*p-=32;elseif(*p>='A'&&*p<='Z')*p+=32;++p;}}intmain(){intn;char*ch=(char*)malloc(100*sizeof(char));gets(ch);changeStr(ch);puts(ch);free(ch);return0;}2)编写函数voidfactor(intx,int*p,int*n),其功能是求解整数x的因子,将这些因子寄存到p指向的数组中,并将因子的个数储存到n指向的变量中。
提示:整数24的因子为2,4,6,8,12,24。
#include<stdio.h>#include<string.h>#include<stdlib.h>voidfactor(intx,int*p,int*n){inti,j;j=0;for(i=2;i<=x;i+=2){if(x%i==0){p[j++]=i;*n=j;}}}intmain(){intn,x;inti;int*p=(int*)malloc(50*sizeof(int));printf("请输入一个数");scanf("%d",&x);factor(x,p,&n);printf("因子的个数为:%d\n",n);for(i=0;i<n;i++)printf("%d",p[i]);printf("\n");free(p);return0;}(3)编写函数intsum(inta[],intn,intres[2]),其功能是将长度为n的数组a的【各元素之和】以及数组a中【最大值与最小值的差值】寄存在数组res中。
二级C语言真题2013年03月-(3)

二级C语言真题2013年03月-(3)(总分:100.00,做题时间:90分钟)一、选择题(总题数:40,分数:40.00)1.设数据元素的集合D={1,2,3,4,5},则满足下列关系R的数据结构中为线性结构的是______。
(分数:1.00)A.R={(1,2),(3,4),(5,1)}B.R={(1,3),(4,1),(3,2),(5,4)} √C.R={(1,2),(2,3),(4,5)}D.R={(1,3),(2,4),(3,5)}解析:[解析] 一个非空的数据结构如果满足以下两个条件:有且只有一个根节点;每一个节点最多有一个前件,也最多有一个后件,称为线性结构。
不同时满足以上两个条件的数据结构就称为非线性结构。
A选项中有两个根节点3和5故错误。
B选项根节点为5,排列顺序为54132,B选项正确。
C选项有两个根节点1和4,故错误。
D选项有两个根节点1和2,故错误。
2.下列叙述中正确的是______。
(分数:1.00)A.链表节点中具有两个指针域的数据结构可以是线性结构,也可以是非线性结构√B.线性表的链式存储结构中,每个节点必须有指向前件和指向后件的两个指针C.线性表的链式存储结构中,每个节点只能有一个指向后件的指针D.线性表的链式存储结构中,叶子节点的指针只能是空解析:[解析] 双向链表与树形结构的节点均可以包含两个指针域,但前者为线性结构,后者为非线性结构,故A选项正确。
双向链表含有指向前件和指向后件的两个指针,故C选项错误。
线性链表就是指线性表的链式存储结构。
由于这种链表中,每个节点只有一个指针域,故又称为单链表,故B选项错误。
二叉树为非线结构,叶子节点没有后件,但是可以有指向前件的指针,故D选项错误。
3.一个栈的初始状态为空。
现将元素A,B,C,D,E依次入栈,然后依次退栈三次,并将退栈的三个元素依次入队(原队列为空),最后将队列中的元素全部退出。
则元素退队的顺序为______。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
湖北科技学院2013学年春季学期2012级《高级语言程序设计(C语言)》期末考试试卷(A卷、闭卷)一.选择题:(每小题1分,共40分)1.C语言规定,必须用( )作为主函数名。
A) Function B) include C) main D) stdio2.下列说法正确的是( )。
A) 在执行C程序时不是从main 函数开始的B) C程序书写格式严格限制,一行内必须写一个语句C) C程序书写格式自由,一个语句可以分写在多行上D) C程序书写格式严格限制,一行内必须写一个语句,并要有行号3.下列字符串是用户标识符的是( )。
A) _HJ B) 9_student C) long D) float4.下列数据中是合法的整型常量的是( )。
A) 3E2 B) 029 C) -32768 D) 6e+0075.语句int k,i=3;k=(i++)+(i++)+(i++);执行过后k和i的值分别为( )。
A) 9,6 B) 12,5 C) 18,6 D) 15,56.10+‟a‟+1.5-567.345/‟b‟的结果是( )型数据。
A) long B) double C) int D) unsigned float7.在C 语言中,下列类型属于构造类型的是( )。
A) 整型B) 指针类型C) 实型D) 结构体类型8.在C语言中,退格符是( )。
A) \n B) \t C) \v D) \b9.下列符号中,可以作为变量名的是( )。
A) +c B) *X C) _DAY D) next-day10.以下程序的输出结果是( )。
void main(){ unsigned char a=2,b=4,c=5,d;d=a|b; d&=c;printf("%d\n",d); }A) 3 B) 4 C) 5 D) 611.若已知a=5,b=10,则表达式a==b的值为( )。
A) 10 B) 20 C) 1 D) 012.已有定义” int a=-2; ”和输出语句” printf( “%8x”, a );“,以下正确的叙述是( )。
A) 整型变量的输出形式只有%d一种B) %x是格式控制符的一种,它可以适用于任何一种类型的数据C) %x是格式控制符的一种,其变量的值按十六进制输出,但%8x是错误的D) %8x不是错误的格式控制符,其中数字8规定了输出数据的宽度13. 在C语言中,凡在一个标识符后面紧跟着一对圆括弧,就表明它是一个( )。
A) 函数B) 文件C) 变量D) 子程序14.语句int x=10, y=20, z=30;if (x>y) z=x; x=y; y=z; 执行后x、y、z的值是( )。
A) x=10,y=20,z=30 B) x=20,y=30,z=30C) x=20,y=30,z=10 D) x=20,y=30,z=2015.在C的if语句中,可用作条件的表达式是( )。
A) 关系表达式B) 逻辑表达式C) 算术表达式D) 任意表达式16.以下for循环是( )。
for(a=0,b=0;( b!=123)&&(a<=4);a++ )A) 无限循环B) 循环次数不定C) 执行4次D) 执行5次17.以下程序段( )。
x= -1; do { x=x *x; } while( !x );A) 是死循环B) 循环执行二次C) 循环执行一次D) 有语法错误18.程序段如下int k=0; while( k++<=2 ) printf ( "%d\n", k );则执行结果是( )。
A) 1 B) 2 C) 0 D)无结果2 3 13 4 219.以下能正确计算1×2×3×…×10的程序段是( )。
A) do {i=1;s=1; s=s*i; i++; } while(i<=10);B) do {i=1;s=0; s=s*i; i++; } while(i<=10);C) i=1; s=1; do {s=s*i; i++; } while(i<=10);D) i=1; s=0; do {s=s*i; i++; } while(i<=10);20.若有定义:int a[10]; ,则数组a元素的正确引用是( )。
A) a [10] B) [3.5] C) a(5) D) a [10-10]21.设有char str[10],下列语句正确的是( )。
A) scanf("%s",&str); B) printf("%c",str); C) printf("%s",str[0]); D) printf("%s",str); 22.若有如下定义: int a[3][3]={ {1,2,9},{3,4,8},{5,6,7} }, i , s=0 ; 则下列语句的输出结果是( )。
for ( i=0; i<3; i++) s+=a[ i ] [ i ]+a[ i ][ 3-i-1 ]; printf( “%d\n”,s );A) 30 B) 18 C) 10 D) 1223. 判断字符串s1是否大于字符串s2,应当使用( )。
A) if (s1>s2) B) if (strcmp(s1,s2))C) if (strcmp(s2,s1)>0) D) if (strcmp(s1,s2)>0)24.若用数组名作为函数调用的实参,传递给形参的是( )。
A) 数组的首地址B) 数组第一个元素的值C) 数组中全部元素的值D) 数组元素的个数25.有如下函数调用语句func ( rec1,rec2+rec3,( rec4,rec5 )); 该函数调用语句中,含有的实参个数是( )。
A) 3 B) 4 C) 5 D) 226.在一个源文件中定义的外部变量的作用域为( )。
A) 本文件的全部范围B) 本程序的全部范围C) 本函数的全部范围D) 从定义该变量的位置开始至本文件结束27.以下函数值的类型是( )。
fun ( float x ){ float y;y= 3*x-4;return y; }A) int B) 不确定C) void D) float 28.C语言中函数返回值的类型由( )决定。
A) return语句中表达式类型B) 调用函数的主调函数类型C) 调用函数时的临时类型D) 定义函数时所指定的函数类型29.以下程序的输出结果是( )。
# define A 3# define B(a) ((A+1)*a)main( ){ int x; x=3*(A+B(7)); printf ( “x=%4d\n”, x ); }A) 93 B) 135 C) 54 D) 25130.下面程序的输出结果是:( )。
int m=13;int fun( int x, int y ){ int m=3;return( x*y-m); }main( ){int a=7,b=5;printf(“%d\n”, fun(a,b)/m); }A) 1 B) 2 C) 7 D) 1031.若有以下定义和语句,则输出结果是( )。
int **pp, *p, a=10,b=20;pp=&p; p=&a; p=&b; printf( "%d,%d\n",*p, **pp );A) 10,20 B) 10,10 C) 20,10 D) 20,20 32.下面程序段的运行结果是( )。
char str[ ]=“ABC”, *p= str ;printf ( “%c\n”,*(p+1) );A) 66 B) B C) 字符…B‟的地址D) 字符”B C”33.以下程序的输出结果是( )。
#include <stdio.h>void main(void){ char a[ ] = { 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 }, *p = a+5;printf ( “%d”, *--p ); }A) 非法B) a[4]的地址C) 3 D) 534.若有以下定义,int a[10],*p=a; 则﹡(p+5)表示( )。
A)元素a[5]的地址B)元素a[5]的值C)元素a[6]的地址D)元素a[6]的值35.在说明一个结构体变量时系统分配给它的存储空间是( )。
A) 该结构体中第一个成员所需存储空间B) 该结构体中最后一个成员所需存储空间C) 该结构体中占用最大存储空间的成员所需存储空间D) 该结构体中所有成员所需存储空间的总和36. 若有以下说明和语句:struct worker{ int no; char *name; }work, *p=&work;则以下引用方式不正确的是()。
A.work.no B.(*p).no C.p->no D.work->no37. 若设有以下说明语句,则下面的叙述中不正确的是( )。
struct ex {int x ; float y; char z ; } example;A) struct是结构体类型的关键字B) example是结构体类型名C) x,y,z都是结构体成员名D) struct ex是结构体类型38. 以下叙述中不正确的是( )。
A) C语言中的文本文件以ASCII码形式存储数据B) C语言中对二进制位的访问速度比文本文件快C) C语言中,随机读写方式不使用于文本文件D) C语言中,顺序读写方式不使用于二进制文件39. 若用fopen( )函数打开一个新的二进制文件,该文件可以读也可以写,则文件打开模式是( )。
A) “ab+”B) “wb+”C) “rb+”D) “ab”40.若fp为文件指针,且文件已正确打开,i为long型变量,以下程序段的输出结果是( )。
fseek( fp, 0, SEEK_END );i=ftell ( fp );printf( "i=%ld\n", i );A) –1 B) fp所指文件的长度,以字节为单位C) 0 D) 2二.填空题:(每空1分,共20分)1.在C语言中,规定标识符只能由字母、数字或下划线组成,且第一个字符必须为(1) 或(2) 。
2.在C语言中,在程序的运行过程中,其值可以发生改变的量叫(2) 。
3.假设y为float型变量,则执行表达式(y=6/5)的值是(4) 。
4.若x=2,y=3,则x%=y+3之值为(5) 。
5.已有定义:char a; int w; float x; int y; 则表达式a/w-x+y的值数据类型为(6) 。