2013c语言全真模拟题及答案
c语言模拟题2013答案
《C语言程序设计》模拟题2013答案一、选择题(每题2分,共30分)B A D BC C C A C C B AD C B二、读程序题(1-4题每题2分,5-8题每题3分,共20分)1.AB2.k=3,k=6,k=7,3.4,25,27,164.8,8,8,88,9,9,95.0,1,2,3,6.0,0,0,1,2,0,2,3,4,7.abc+abc=defdef8.1,31,6三、程序填空(每空2分,共20分)。
1.x>=0x<amin2.p<a+10*s<*p3.d+it[d+i]=’\0’; 或t[2*d]=’\0’;fun(s,t);4.n<10high%j==0return sum四、编程题(每题10分,共30分)答案只供参考。
1、求公式的和#include<stdio.h>void main(){double x,sum=0,y=1;int n=1,fenmu=1;scanf("%lf",&x);while(y>=1.0e-6){ sum=sum+y;printf("\nThe y:%lg\n",y);y=y*x/n;n++;}printf("\nThe sum:%lg\n",sum);}2、字符串转换成整数。
输入时必须存放在一个字符数组中。
直接定义成int即可。
不必定义成64位整数。
#include<stdio.h>int main(){_int64 a=0;int n,i;char str[21];gets(str);n=0;while(str[n])n++;for(i=0;i<n;i++)a=a*10+(str[i]-'0');printf("\n%I64d\n",2*a);return 0;}3、排序函数3分,求完数函数3分,主函数4分。
vc2013模拟试题参考答案
C++模拟试卷与答案(仅供参考)一、填空:1、面向对象的三大特性是封装、继承、多态性。
2、windows系统提供的标准控件主要包括:按钮控件、滚动条控件、列表框控件、静态控件、编辑框控件和组合框控件等。
3、同属一个类的对象具有相同的属性和方法。
4、任何类中允许有三种属性的数据,它们是private、public和protected。
5、静态数据成员在定义或说明时候前面加上关键字static ,内联函数关键字inline。
6、如果没有提供一个类的构造函数(一个都未提供),则C++提供一个缺省的构造函数。
7、在Windows应用程序中可以使用几种不同类型的资源,它们包括:加速键、位图、图标、对话框、菜单、工具条和字符串等。
8、如果在定义一个类时,没有显示地定义析构函数,则清除对象的工作将由缺省的析构函数来完成,这是因为对于大多数的类来说缺省的析构函数就能满足要求。
9、当在程序中声明一个派生类的对象时,首先调用的是基类的构造函数,然后调用派生类的构造函数。
10、C++语言提供了两种类型的重载,分别是函数重载和操作符重载。
二、选择题:1、有关类的说法不正确的是(D)A、类是一种用户自定义的数据类型B、只有类中的成员函数才能存取类中的私有数据C、在类中,不作特别说明,所有的数据均为私有类型D、在类中,如果不作特别说明,所有的成员函数均为公有类型2、下列各类函数中,______不是类的成员函数。
(C)A、构造函数B、析构函数C、友元函数D、拷贝构造函数3、下列静态数据成员的特性中,_____是错误的。
(D)A、说明静态数据成员时前边要加修饰符staticB、静态数据成员要在类体外进行初始化C、引用静态数据成员时,要在静态数据成员名前加<类名>和作用域运算符D、静态数据成员不是所有对象所共用的4、友元的作用_________.(A)A、能提高程序的运行效率B、加强类的封装性C、实现数据的隐藏性D、增加成员函数的种类5、若Queue是类,aQueue是它的一个对象,p1是类对象aQueue的一个指针,那么类对象aQueue可以通过_____来访问类的成员,类对象aQueue的指针p1可以通过____来访问类的成员。
C语言模拟试卷及答案
《C语言程序设计》考试试卷(答案)一、填空题(每小空1分,共10分)1.C语言程序的三种基本结构是顺序结构、选择结构、循环结构。
2.一个C程序有且仅有一个main( )函数.3.C语言描述“x和y都大于或等于z"的表达式是x〉=z && y〉=z。
4.C语言可以用来实现循环的结构化语句是while、do while、for。
5.数组名表示数组在内存的首地址.6.int a=3,*p=&a;*p+2的值是5。
二、单项选择题(每小题2分,共70分)1._____是C语言合法的标识符。
(A)3_sy45 (B)su_m (C)@123 (D)3D642.一个程序的执行是从.(A)本程序的main函数开始,到main函数结束(B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束.(C)本程序的main函数开始,到本程序文件的最后一个函数结束.(D)本程序文件的第一个函数开始,到main函数结束。
3.以下叙述正确的是。
(A)在C程序中,main函数必须位于程序的最前面.(B)C程序每行中只能写一条语句.(C)C语言本是没有输入输出语句。
(D)在对一个C程序进行编译的过程中,可发现注释中的拼写错误.4.以下叙述不正确的是。
(A)逗号运算符的运算级最低。
(B)ABC和abc是两个不同的变量。
(C)若a和b类型相同,在执行a=b后,b的自身值不变。
(D)‘a’和“a”是完全等价的常量。
5.int x=3,y=2;则表达式x+=x*=y+8的值为。
(A)28 (B)30 (C)60(D)176.在c语言中,变量的隐含存储类别是。
(A)auto(B)static (C)extern (D)无存储类别7.执行下面两个语句后,输出的结果为_____。
char c1=98;printf(“%d %c”,c1,c1—32);(A)97 66 (B)98 b (C)b 66 (D)98 B8.执行下面语句后的结果为.y=10;x=y++;(A)x=10,y=10 (B)x=11,y=11 (C)x=10,y=11 (D)x=11,y=109.char w;int x;float y;double z;则表达式w*x+z—y值的数据类型是。
2013C语言考试题(1)答案
C语言考试题(1-5章)答案一、阅读程序题(每题5分,共40分)1.阅读程序,写出程序运行结果。
#include <stdio.h>int main(){char c1,c2;float d,e;c1='a';c2='b';d=3.567;e=-6.872;printf("c1=%d,c2=%d\nc1=%c,c2=%c\nd=%6.2f,e=%6.2f\n",c1,c2,c1,c2,d,e);return 0;}答案:c1=97,c2=98c1=a,c2=bd= 3.57,f= -6.872.阅读程序,写出程序运行结果。
#include <stdio.h>int main(){int i,j,m,n;i=8;j=10;m=++i;n=j++;printf("%d,%d,%d,%d\n",i,j,m,n);return 0;}答案:9,11,9,103.若输入4,程序运行结果为【1 】,若输入-4,运行结果为【2 】,若输入10,运行结果为【3 】。
#include<stdio.h>Int main(){ int x,y;scanf("%d",&x);if(x<1){ y=x;printf("x=%d,y=x=%d\n",x,y);}else if(x<10){ y=2*x-1;printf("x=%d,y=2*x-1=%d\n",x,y);}else{ y=3*x-11;printf("x=%d,y=3*x-11=%d\n",x,y);}}答案:【1 】x=4, y=2*x-1=7【2 】x=-4, y=x=-4【3 】x=10, y=3*x-11=194.阅读程序,写出程序运行结果。
#include<stdio.h>int main(){int a=10,x=100,y=20,ok1=15,ok2=0;if(x>y)if(y!=10)if(!ok1)a=1;elseif(ok2)a=10;elsea=-1;printf("%d\n",a);return 0;}答案:-15.阅读程序,写出程序运行结果。
2013年新版C语言习题答案1-7章
习题答案习题1(参考答案)1.计算的本质是什么?计算的本质就是基于规则的符号串变换。
2.三大科学思维是指什么?理论思维、实验思维、计算思维3.什么是计算思维?计算思维的基本特征有哪些?计算思维是指运用计算机科学的思想、方法和技术进行问题求解、系统设计,以及人类行为理解等涵盖计算机科学之广度的一系列思维活动。
从计算科学的角度分析,计算思维包括6个方面的特征:抽象性、数字化、构造性、系统化、虚拟化和网络化。
4.什么是算法?算法的基本特征有哪些?算法(Algorithm)是在有限步骤内求解某一问题所使用的一组定义明确的规则。
通俗地讲,就是计算机解题的步骤。
一个算法应该具有以下五个重要特征。
(1)有穷性:一个算法必须保证执行有限步之后结束。
(2)确定性:算法的每一步骤必须有确定的定义。
(3)输入:一个算法有0个或多个输入,以刻画运算对象的初始情况。
0个输入是指算法本身给定了初始条件。
(4)输出:一个算法有一个或多个输出,以反映对输入数据加工后的结果。
(5)可行性:算法上描述的操作在计算机上都是可以实现的。
5.算法的复杂度分为哪两种?算法的复杂性用复杂度来说明,分为时间复杂度和空间复杂度。
时间复杂度:执行该算法所需要的计算工作量,一般用所需基本运算的执行次数来度量。
空间复杂度:执行该算法所需的内存空间,一般用算法程序本身占的空间+输入的初始数据占的空间+算法执行过程中所需的额外空间的总和来表示。
6.什么是程序?程序与算法的区别是什么程序是为了实现特定目标或解决特定问题而用计算机语言编写的指令序列,它由算法和数据结构组成。
算法与程序的区别:计算机程序是算法的一个实例,同一个算法可以用不同的计算机语言来表达。
7.简述程序设计语言发展的过程。
计算机程序设计语言从最初的机器代码到今天接近自然语言的表达,经过了四代演变。
一般认为机器语言是第一代,符号语言即汇编语言为第二代,面向过程的高级语言为第三代,面向对象的高级语言为第四代。
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按从大到小排列。
C语言程序设计模拟试题3(附答案)
《C语言程序设计》模拟试卷三一、填空题。
(每空2分,共16分)1.在内存中,短整型变量占字节,单精度实型变量占字节,字符型变量占字节。
2.一个C语言文件就是由若干个组成。
3.设有以下变量定义,并已赋确定得值char w; int x; float y; double z;则表达式:w*x+z-y所求得得数据类型为。
4.若x为int类型,请以最简单得形式写出与逻辑表达式!x等价得C语言关系表达式。
5.若有如下图所示五个连续得int类型得存储单元并赋值如下图,a[0]得地址小于a[4]得地址。
p与s就是基类型为int得指针变量。
请对以下问题进行填空。
a[0] a[1] a[2] a[3] a[4]p,给s赋值,使s指向最后一个存储单元a[4]得语句就是。
(2)若指针s指向存储单元a[2],p指向存储单元a[0],表达式s-p得值就是。
二、单项选择题。
(每题2分,共40分)1.设有 int x=11; 则表达式 (x++ * 1/3) 得值就是()。
A) 3 B) 4 C) 11 D) 122.下列程序得输出结果就是()。
A) 3 B) 3、2 C) 0 D) 3、07main(){double d=3、2; int x,y;x=1、2; y=(x+3、8)/5、0;printf(“%d \n”, d*y);}3.下列程序执行后得输出结果就是(小数点后只写一位)()。
A) 6 6 6、0 6、0 B) 6 6 6、7 6、7C) 6 6 6、0 6、7 D) 6 6 6、7 6、0main(){ double d; float f; long l; int i;i=f=l=d=20/3;printf("%d %ld %f %f \n", i,l,f,d);scanf("%d",&d);}4.下列变量定义中合法得就是()。
A) short _a=1-、le-1; B) double b=1+5e2、5;C) long do=0xfdaL; D) float 2_and=1-e-3;5.设 int x=1, y=1; 表达式(!x||y--)得值就是()。
C语言程序设计模拟试题1(附答案)
《C语言程序设计》模拟试卷一一、单项选择题(每题2分,共30分)1、下列有关C语言的叙述中错误的是(D)。
A) C语句必须以分号结束B) 任何一个C程序中有且只有一个主函数C) 复合语句在语法上可被看作一条语句D) C程序中对数据的任何操作都可由运算符实现2、以下不能定义为用户标识符的是(C)。
A) MAIN B) _HJ C)2ong D) LINE13、下列符号中用来表示C语言中的回车换行的是(B)。
A) \r B) \n C)\b D) \t4、如有如下定义:int a=1,则语句printf(“%d,%d”, a, ++a);的运行结果为(B)。
A) 1, 1 B) 1, 2 C) 2, 2 D)2, 15、已知ch为字符型变量,下面表达式中正确的是(A)。
A) ch=’\xff ’B) ch=’\ff ’C) ch=’ ff ’D) ch=” ff ”6、以下能正确定义一维数组的是(C)。
A) int a[5]={0,1,2,3,4,5}; B) int a[5]=”012345”;C) char a[ ]=”012345”;D) char a[5]={0,1,2,3,4,5};7、以下语句中能正确定义变量并赋初值的是(A)。
A) char c=65; B) float f=f+1.1;C) double x=12.3e3.6; D) int m=n=2.0;8、在执行下列程序时输入:1357924,则程序的运行结果为(D)。
main( ){ int x, y;scanf(“%2d%2d”,&x,&y);printf(“%2d”,x*y); }A) 13 B) 1357 C) 74 D) 7419、执行下列程序段后输出的结果是(C)。
x = 9;while (x > 7){ printf(“*”); x- -; }A) **** B) *** C) ** D) *10、设char str1[10] = “ABCDE”, str2[10] = “xyz”;则执行语句printf(“%d”, strlen(strcpy(str1, str2))); 后的输出结果是(D)A) 9 B) 8 C) 5 D) 311、若用数组名作为函数调用的实参,则传递给形参的是(A)A) 数组的首地址B) 数组第一个元素的值C) 数组中全部元素的值 D) 数组元素的个数12、在C程序中,若未在函数定义时说明函数类型,则函数默认的类型为( A ) A)void B)double C)int D)char13、下面不能正确进行字符串赋值操作的语句是(A)A) char s[5]={"ABCD"};B) char s[5]; s="ABCD";C) char *s;s="ABCDEF"; D) char *s="ABCD";14、设有说明int s[5]={1,3,5,7,9}; int *p=s; 则下列表达式中值为3的是(B )A)++p B)++(*p) C) *(++p) D) *(p+=2)15、下面程序的输出结果是(B)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) 3 D) 10二、判断(每空1分,共10分)1、C语言有三种结构化程序设计方法,分别为顺序结构、选择结构和循环结构。
2013秋C语言试卷标准答案(A卷)-20130114
一、单项选择题,每题 2 分,共 15 题。
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. D. 具有前述三个特征 B. _123 C. C. D. D. 80 A. a[10]=2; C. &a[i]和 a[i] C. b=fun(a); D. 嵌套调用和递归调用均可。 B. 地址 C. int *(q[5]); 3.0 x>10&x<20 else 总是与其之前最近的 if 配对
(共 35 题。
1.答案:m/10%10*100+m/100*10+m%10 2.答案:0 3.答案:36 4.答案:11 5. 答案:3
(共 15 分)
四、程序改错题, 每题 5 分。
(共 10 分)
注:共 4 题,每题中存在 5 个错误。限选 2 题。题目间评分不累计。 1.题目:在一个已按升序排列的数组中插入一个数,插入后,数组元素仍按升序排列。
a=0; //改为:sum=0; //改为: for(i=0;i<3;i++) //改为:scanf(“%d”,&a[i][j]); //改为:sum=sum+a[i][i]; 或 sum+=a[i][i]; //改为:printf("sum=%d\n",sum);
for(i=0;i<3;i++);
#define N=11
//改为:#define N 11 // 改为:for(i=N-2;i>=0;i--)
for(i=N-1;i>=0;i--)
a[i]=a[i-1];//改为:a[i+1]=a[i]; exit;}//改为:break;} for(i=0;i<=N;i++) //改为:for(i=0;i<N;i++)
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年计算机二级考试C语言课后模拟题七参考答案
【达内培训】2013年计算机二级考试C语言课后模拟题七参考答案一单项选择题1.以下程序的输出结果是( C )。
int d=1;fun(int p){static int d=5;d+=p;printf("%d ",D);return(D);}main( ){ int a=3; printf("%d\n",fun(a+fun(D)));}A) 6 9 9B) 6 6 9C) 6 15 15D) 6 6 152.下列程序执行后的输出结果是( C )。
void func1(int i);void func2(int i);char st[ ]="hello,friend!";void func1(int i){printf("%c", st[i]);if(i<3){i+=2;func2(i);}}void func2(int i){printf("%c", st[i]);if(i<3){i+=2;func1(i);}}main(){int i=0; func1(i); printf("\n");}A) helloB) helC) hloD) hlm3.在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是( B )。
A) 地址传递B) 单向值传递C) 由实参传给形参,再由形参传回实参D) 传递方式由用户指定4.以下函数值的类型是( A )。
fun( float x ){float y;y=3*x-4;return y;}A) intB) 不确定C) voidD) float5.设有以下函数:f( int a){int b=0;static int c=3;b++; c++;return(a+b+C);}如果在下面的程序中调用该函数,则输出结果是( A )。
main(){int a=2, i;for(i=0;i<3;i++) printf("%d\n", f(a));}A) 7B) 7C) 7D) 78 9 10 79 11 13 76.以下程序的输出结果是( B )。
C语言模拟复习题及答案
一、选择题1. 以下叙述错误的是 A 。
A.C程序在书写时,有严格的缩进要求,否则不能编译通过B.一个C程序只能有一个主函数C.一个C程序可以包含多个不同名的函数D.C程序的主函数必须用main作为函数名2. 下列程序段的输出结果是 4 3 2 1 。
void fun(int *x, int *y){ printf("%d %d ", *x, *y); *x=1; *y=2;}main(){ int x=3,y=4;fun(&y,&x);printf("%d %d",x, y); }3. 若有定义语句:int x=3,y=2,z;在其后执行语句z=0.9+x/y;则z 的值为 1 。
4. 有以下程序#include <stdio.h>main(){ int a;scanf("%d",&a);if(a++<8) printf("%d\n",a);else printf("%d\n",a--); }程序运行时键盘输入8<回车>,则输出的结果是9 。
5. 以下定义整型3行4列的二维数组a并初始化不正确的是C 。
A.int a[3][4]={0} B.int a[][4]={0,1,2,3,4,5,6,7,8,9,10,11,12}C.int a[3][]={0,1,2,3,4,5,6,7,8,9,10,11,12} D.int a[3][4]={{1,2},{1,2,3},{1,2,3,4}}6. 有以下程序#include <stdio.h>main(){ int c=0,k;for (k=1;k<3;k++)switch (k){ default: c+=k;case 2: c++;break;case 4: c+=2;break;}printf(“%d\n”,c); }程序运行后的输出结果是 3 。
C语言模拟测试题一及答案
模拟题一一、选择题1.下列说法正确的是()。
A)main函数必须放在C程序的开头B)main函数必须放在C程序的最后C)main函数可以放在C程序的中间部分,但在执行C程序时是从程序开头执行的D)main函数可以放在C程序的中间部分,但在执行C程序时是从main函数开始的2.C语言中不能用来表示整常数的进制是()。
A)十进制B)十六进制C)八进制D)二进制3.在下面几组数据类型中, 全为最常用的基本数据类型的是哪一组:()。
A)整型实型字符型B)整型数组指针C)数组结构体共用体D)指针逻辑型空类型4.C语言规定标识符由()等字符组成。
A)字母数字下划线B)中划线字母数字C)字母数字逗号D)字母下划线中划线5.若有说明语句:char c= ‘\64’ ; 则变量C包含()。
A)1个字符B)2个字符C)3个字符D)说明不合法,C值不确定6.若有如下定义:int a=2,b=3; float x=3.5,y=2.5; 则表达式:(float)(a+b)/2+(int)x%(int)y的值是()。
A)2.500000 B)3.500000 C)4.500000 D)5.0000007.设有如下定义和执行语句,其输出结果为()。
int a=3,b=3;a = --b + 1; printf(“%d %d”,a,b);A)3 2 B)4 2 C)2 2 D)2 38.以下表达式: 2+’a’+i*f, 其中i为整型变量,f为float型变量,则表达式的最终数据类型为()。
A)int B)float C)char D)double9.C语言中,运算对象必须是整型数的运算符是()。
A)%B)\C)% 和\D)**10.有如下语句:printf(“%s,%5.3s\n”,“COMPUTER”,“COMPUTER”);执行语句后的最终结果为()。
A)COMPUTER ,CMP . B)COMPUTER, CMP.C)COMPU, CMP. D)COMPU, CMP .11.能正确表示x的取值范围在[0,100]和[-10,-5]内的表达式是()。
2013年c语言试卷(带答案版)
湖北科技学院2013学年春季学期2012级非计算机本科专业《高级语言程序设计(C语言)》期末考试试卷(A卷、闭卷)一.选择题:(每小题1分,共40分)1.C语言规定,必须用( C )作为主函数名。
A) Function B) include C) main D) stdio2.下列说法正确的是( C )。
A) 在执行C程序时不是从main 函数开始的B) C程序书写格式严格限制,一行内必须写一个语句C) C程序书写格式自由,一个语句可以分写在多行上D) C程序书写格式严格限制,一行内必须写一个语句,并要有行号3.下列字符串是用户标识符的是( A )。
A) _HJ B) 9_student C) long D) float4.下列数据中是合法的整型常量的是( C )。
A) 3E2 B) 029 C) -32768 D) 6e+0075.语句int k,i=3;k=(i++)+(i++)+(i++);执行过后k和i的值分别为( A )。
A) 9,6 B) 12,5 C) 18,6 D) 15,56.10+‟a‟+1.5-567.345/‟b‟的结果是( B )型数据。
A) long B) double C) int D) unsigned float7.在C 语言中,下列类型属于构造类型的是( D )。
A) 整型B) 指针类型C) 实型D) 结构体类型8.在C语言中,退格符是( D )。
A) \n B) \t C) \v D) \b9.下列符号中,可以作为变量名的是( C )。
A) +c B) *X C) _DAY D) next-day10.以下程序的输出结果是( B )。
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的值为( D )。
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中。
2013c语言模拟题库
C语言模拟题一.填空题1、以下叙述中正确的是( )。
(1分)A、C语言程序将从源程序中第一个函数开始执行B、可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行C、C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束D、main可作为用户标识符,用以命名任意一个函数作为主函数3、C语言源程序名的后缀是( )。
(1分)A、.exeB、.cC、.objD、.cp4、若有如下定义变量:int K=7,X=12;则能使值为3的表达式是( )。
(1分)A、X%=(K%=5)B、X%=(K-K%5)C、X%=K-K%5D、(X%=K)-(K%=5)5、对for(表达式1;;表达式3)可理解为( )。
(1分)A、for(表达式1;0;表达式3)B、for(表达式1;1;表达式3)C、for(表达式1; 表达式1;表达式3)D、for(表达式1; 表达式3;表达式3)6、把数学表达式-5≤x<10表示成C语言表达式( )。
(1分)A、-5≤x<10B、x≥-5&&x<10C、x>=-5&&x<10D、-5=< x, x < 107、下列能正确表示a≥10或a≤0的关系表达式是( )。
(1分)A、a>=10 or a<=0B、a<=10 || a>=0C、a>=10 || a<=0D、a>=10 && a<=08、在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为( )。
(1分)A、a<>0B、!aC、a=0D、a9、以下正确的是( )。
(1分)A、do-while语句构成的循环不能用其它语句构成的循环来代替B、do-while语句构成的循环只能用break语句退出C、用do-while语句构成循环时,只有在while后的表达式非零时结束循环D、用do-while语句构成循环时,只有在while后的表达式为零时结束循环10、有以下程序段int n,t=1,s=0; scanf("%d",&n);do{ s=s+t; t=t-2; }while (t!=n); 为使此程序段不陷入死循环,从键盘输入的数据应该是()。
【计算机测试】2013年计算机二级考试C语言课后模拟题二及答案
【计算机测试】2013年计算机二级考试C语言课后模拟题二及答案一、单项选择题1.下面四个选项中,均不是c语言关键字的选项是( A )。
A) define IF TypeB) getc char printfC) include scanf caseD) while go pow2.C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符(C)。
A) 必须为字母B) 必须为下划线C) 必须为字母或下划线D) 可以是字母、数字和下划线中任一种字符3.下列四个选项中,均是C语言关键字的选项是( B )。
A) auto enum includeB) switchtypedefcontinueC) signed union scanfD) ifstruct type4.下面四个选项中,均是不合法的用户标识符的选项是( C )。
A) AP_0 doB) floatla0_AC) b-agotointD) _123tempint5.以下有4组用户标识符,其中合法的一组是(C)。
A) For-sub CaseB) 4dDO SizeC) f2_G3IFabcD) WORDvoiddefine6.下列选项中,合法的C语言关键字是( D )。
A) VARB) cherC) integerD) default7.下面四个选项中,均是合法整型常量的选项是( A )。
A) 160 -0xffff011B) -0xcdf 01a0xeC) –01986012 0668D) -0x48a 0x2e5 0xe8.下面四个选项中,均是正确的八进制数或十六进制数的选项是( C )。
A) -100x8f-011B) 0abc-017 0xcC) 010 -0x11 0xf1D) 0a12-0x123 -0xa9.设C语言中,一个int型数据在内存中占2个字节,则unsigned int型数据的取值范围为( C )。
A) 0~255B) 0~32767C) 0~65535D) 0~214748364710.在C语言中,不正确的int类型的常数是( A )。
C语言程序设计模拟试卷及答案(3)
自考C语言程序设计模拟试卷及答案(3)一、单项选择题1B 2B 3D 4C 5D 6C 7A8C 9D 10A 11C 12D 13B 14D 15A 16B 17D 18B 19A 20C 21CB 1. 设int x=1,y=1;表达式(!x++ || y-—)的值是____B_____A.0 B。
1 C。
2 D.-1C 2.main(B){ int n;( n=6*4,n+6),n*2;printf(“n=%d\n",n);}此程序的输出结果是______C________。
A。
30 B。
24 C. 60 D. 48D 3.若有如下定义,则_____D_____是对数组元素的正确的引用。
int a[10], *p ;p=a ; p=a ; p=a ; p=a ;A。
*&a[10] B. a[11] C. *(p+10) D. *pC 4。
设整型变量n的值为2,执行语句“n+=n—=n*n;”后,n的值是__________A. 0 B。
4 C。
— 4 D。
2D 5.以下不能正确定义二维数组的语句是___________A 。
int a[2][2]={{1},{2}}; B. int a[][2]={1,2,3,4};C。
int a[2][2]={{1},2,3}; D. int a[2][]={{1,2},{3,4}};C D 6. 程序段的功能是将变量 u 、s中的最大值赋给变量t 。
A。
if(u>s) t=u;t=s; B。
t=u; if(t ) t=s;C. if(u>s) t=s;else t=u; D 。
t=s; if(u ) t=u;A 7.下列程序段的输出结果是。
void main(){ int k;for (k=1;k<5;k++〉{ if(k%2!=0)printf(“#”);elseprintf(“*"); }}A。
2013c语言全真模拟题及答案
一、填空题第1题以下do-while语句中循环体的执行次数是【3】.a=10;b=0;do { b+=2; a-=2+b; } while (a>=0);第2题设i,j,k均为int型变量,则执行完下面的for循环后,k的值为【10】. for(i=0,j=10;i<=j;i++,j--)k=i+j;第3题定义int a[2][3];表示数组a中的元素个数是【6】个.第4题函数的【递归】调用是一个函数直接或间接地调用它自身.第5题设a=3,b=4,c=4,则表达式a+b>c&&b==c&&a||b+c&&b==c的值为【1】. 第6题int x=4,y=z=2;z=x==(y=z); 则z的值为【4】.第7题int x=2,y=3,z=4; 则表达式x+y&&z的值为【1】.第8题若有以下定义,则计算表达式y+=y-=m*=y后的y值是【—16】.int m=5,y=2;二、单项选择第1题为表示关系x≥y≥z,应使用C语言表达式A:(x>=y)&&(y>=z)B:(x>=y) AND (y>=z)C:(x>=y>=z)D:(x>=z)&(y>=z)第2题C语言函数内定义的局部变量的隐含存储类别是A:staticB:autoC:registerD:extern第3题若有说明int a[3][4];则对a数组元素的正确引用是()。
A:a[2][4]B:a[1,3]C:a[1+1][0]D:a(2)(1)第4题从循环体内某一层跳出,继续执行循环外的语句是A:break语句B:return语句C:continue语句D:空语句第5题下列( )表达式的值为真,其中a=5;b=8;c=10;d=0A:a*2>8+2B:a&&dC:(a*2-c)||dD:a-b<c*d第6题以下程序的执行结果是________.main(){ int w = 1, x = 2, y = 3, z = 4;w =( w < x ) ? x : w;w =( w < y ) ? y : w;w =( w < z ) ? z : w;printf( "%d " , w );}A:1B:2C:3D:4第7题若变量已正确定义,执行语句scanf("%d,%d,%d ",&k1,&k2,&k3);时,___是正确的输入A:2030,40B:20 30 40C:20, 30 40D:20,30,40第8题在C语言中,一维数组的定义方式为:类型说明符数组名()。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、填空题第1题以下do-while语句中循环体的执行次数是【3】.a=10;b=0;do { b+=2; a-=2+b; } while (a>=0);第2题设i,j,k均为int型变量,则执行完下面的for循环后,k的值为【10】. for(i=0,j=10;i<=j;i++,j--)k=i+j;第3题定义int a[2][3];表示数组a中的元素个数是【6】个.第4题函数的【递归】调用是一个函数直接或间接地调用它自身.第5题设a=3,b=4,c=4,则表达式a+b>c&&b==c&&a||b+c&&b==c的值为【1】. 第6题int x=4,y=z=2;z=x==(y=z); 则z的值为【4】.第7题int x=2,y=3,z=4; 则表达式x+y&&z的值为【1】.第8题若有以下定义,则计算表达式y+=y-=m*=y后的y值是【—16】.int m=5,y=2;二、单项选择第1题为表示关系x≥y≥z,应使用C语言表达式A:(x>=y)&&(y>=z)B:(x>=y) AND (y>=z)C:(x>=y>=z)D:(x>=z)&(y>=z)第2题C语言函数内定义的局部变量的隐含存储类别是A:staticB:autoC:registerD:extern第3题若有说明int a[3][4];则对a数组元素的正确引用是()。
A:a[2][4]B:a[1,3]C:a[1+1][0]D:a(2)(1)第4题从循环体内某一层跳出,继续执行循环外的语句是A:break语句B:return语句C:continue语句D:空语句第5题下列( )表达式的值为真,其中a=5;b=8;c=10;d=0A:a*2>8+2B:a&&dC:(a*2-c)||dD:a-b<c*d第6题以下程序的执行结果是________.main(){ int w = 1, x = 2, y = 3, z = 4;w =( w < x ) ? x : w;w =( w < y ) ? y : w;w =( w < z ) ? z : w;printf( "%d " , w );}A:1B:2C:3D:4第7题若变量已正确定义,执行语句scanf("%d,%d,%d ",&k1,&k2,&k3);时,___是正确的输入A:2030,40B:20 30 40C:20, 30 40D:20,30,40第8题在C语言中,一维数组的定义方式为:类型说明符数组名()。
A:[常量表达式]B:[整型表达式]C:[整型常量]或[整型表达式]D:[整型常量]第9题以下不能正确进行字符串赋初值的语句是()。
A:char str[5]="good!";B:char str[]="good!";C:char *str="good!";D:char str[5]={'g','o','o','d',0};第10题C语言中,逻辑"真"等价于A:大于零的数B:非零的数C:大于零的整数D:非零的整数三、程序(程序填空、程序设计)第1题功能:统计一个字符串中的字母、数字、空格和其它字符的个数。
#include "stdio.h"main (){char s1[80];int a[4]={0};int k;/***********SPACE***********/void fun(char s[],int b[]);gets(s1);/***********SPACE***********/fun(s1,a);puts(s1);for(k=0;k<4;k++)printf("%4d",a[k]);}void fun(char s[],int b[]){int i;for (i=0;s[i]!='\0';i++)if ('a'<=s[i]&&s[i]<='z'||'A'<=s[i]&&s[i]<='Z') b[0]++;/***********SPACE***********/else if ('0'<=s[i]&&s[i]<='9')b[1]++;/***********SPACE***********/else if (s[i]==' ')b[2]++;elseb[3]++;}第2题功能:输入三个整数x,y,z,请把这三个数由小到大输出。
#include<stdio.h>void main(){int x,y,z,t;scanf("%d%d%d",&x,&y,&z);if (x>y){t=x;x=y;y=t;} /*交换x,y的值*/if(x>z){t=z;z=x;x=t;}/*交换x,z的值*/if(y>z){t=y;y=z;z=t;}/*交换z,y的值*/printf("small to big: %d %d %d\n",x,y,z); }第3题功能:输出100到1000之间的各位数字之和能被15整除的所有数,输出时每10个一行。
#include<stdio.h>void main(){int m,n,k,i=0;for(m=100;m<=1000;m++) {【k=0】;n=m;do{k=k+n%10;n=n/10;}【while(n!=0)】;if(k%15==0){printf("%5d",m);i++;if(i%10==0) printf("\n"); }}}第4题学生变量定义如下:struct student{char number[6];char name[6];int score[3];} stu[2];功能:输入学生成绩并显示。
# include <stdio.h>struct student{char number[6];char name[6];int score[3];} stu[2];void output(struct student stu[2]);void main(){int i, j;/***********SPACE***********/for(i=0; i<2; ________________){printf("请输入学生%d的成绩:\n", i+1);printf("学号:");/***********SPACE***********/scanf("%s", ________________.number);printf("姓名:");scanf("%s", stu[i].name);for(j=0; j<3; j++){printf("成绩%d. ", j+1);/***********SPACE***********/scanf("%d", ________________.score[j]);}printf("\n");}output(stu);}void output(struct student stu[2]){int i, j;printf("学号姓名成绩1 成绩2 成绩3\n");for(i=0; i<2; i++){/***********SPACE***********/________________("%-6s%-6s", stu[i].number, stu[i].name); for(j=0; j<3; j++)printf("%-8d", stu[i].score[j]);printf("\n");}}答案:【1】i++ 或++i 或i=i+1【2】&stu[i]【3】&stu[i]【4】printf第5题功能:5个学生选修4门课程,计算个人与各科平均成绩及全班平均成绩,并在屏幕上显示出来。
#define M 5 /*定义符号常量人数为5*/#define N 4 /*定义符号常量课程为4*/#include "stdio.h"main(){int i,j;void aver(float sco[M+1][N+1]);static float score[M+1][N+1]={{78,85,83,65}, {88,91,89,93}, {72,65,54,75},{86,88,75,60},{69,60,50,72}};aver(score);clrscr();printf("学生编号课程1 课程2 课程3 课程4 个人平均\n");for(i=0;i<M;i++){printf("学生%d\t",i+1);/***********SPACE***********/for(j=0;j<________________;j++)printf("%6.1f\t",score[i][j]);printf("\n");}for(j=0;j<8*(N+2);j++)printf("-");printf("\n课程平均");for(j=0;j<N+1;j++)printf("%6.1f\t",score[i][j]);printf("\n");getch();}void aver(float sco[][N+1]){int i,j;/***********SPACE***********/for(i=0;i<________________;i++){for(j=0;j<N;j++){sco[i][N] += sco[i][j];sco[M][j] += sco[i][j];sco[M][N] += sco[i][j];}/***********SPACE***********/sco[i][N] ________________ N;}for(j=0;j<N;j++)/***********SPACE***********/ sco[M][________________] /= M; sco[M][N]=sco[M][N]/M/N;}答案:【1】N+1 或1+N 或5【2】M 或5【3】/=【4】j第6题功能:计算平均成绩并统计90分以上人数。