2013 c语言全真模拟题及答案
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分。
2013年全国计算机等级二级C语言模拟试题及答案
2013年全国计算机等级二级C 语言模拟试题及答案2013年3月份全国计算机等级二级C语言试题及答案一、填空题1、C语言中基本的数据类型有:__________、__________ 、__________ 。
2、C语言中普通整型变量的类型说明符为__________,在内存中占__________字节,有符号普通整型的数据范围是__________。
3、整数-35在机内的补码表示为__________。
4、执行下列语句int a=8; a+=a-=a*a; 后,a的值是__________ 。
5、有如下语句:char A[ ]={”I am a student”}; 该字符串的长度是__________,A[3]=__________ 。
6、符号”a”和’a’的区别是__________。
7、所谓“指针”就是__________ 。
“&”运算符的作用是__________。
“*”运算符的作用是__________ 。
8、有如下输入语句:scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);为使变量a的值为1,b的值为3,c的值为2,从键盘输入数据的正确形式应是__________。
二、选择题1、设整型变量a为5,使b不为2的表达式是()。
A. b=a/2B. b=6-(--a)C. b=a%2D. b=a>3?2:12、为了避免嵌套的条件分支语句if-else的二义性,C语言规定:C程序中的else总是与()组成配对关系。
A. 缩排位置相同的ifB. 在其之前未配对的ifC. 在其之前未配对的最近的ifD.同一行上的if3、以下程序的输出结果是( )。
int x=10,y=10;printf(“%d%d\n”,x--,--y);A. 10 10B. 9 9C. 9 10D. 10 94、设A为存放(短)整型的一维数组,如果A的首地址为P,那么A中第i 个元素的地址为()。
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值的数据类型是。
C语言模拟试卷及答案
C语言程序设计模拟试题一、单项选择题(请把答案填在每个题的括号内,每小题2分,共30分)1.对于一个正常运行的C程序,以下叙述中正确的是()A)程序的执行总是从main函数开始,在main函数结束B)程序的执行总是从程序的第一个函数开始,在main函数结束C)程序的执行总是从main函数开始,在程序的最后一个函数中结束D)程序的执行总是从程序中的第一个函数开始,程序的最后一个函数中结束2.设变量均已正确定义,若要通过scanf("%d%c,%d%c",&a1,&c1,&a2,&c2);语句为变量a1和a2赋数值10和20,为变量c1和c2赋字符'X'和'Y'。
以下所示的输入形式中正确的是()(注:口代表空格字符)A)10X,20Y<回车>B)10口X20口Y<回车>C)10口X<回车>20口Y<回车>D)10X<回车>20Y<回车>3.以下定义语句中正确的是()A)char a='A'b='B';B)float a=b=10.0;C)int a=10,*b=&a;D)float*a,b=&a;4.下列选项中,不能用作标识符的是()A)_main B)a1C)int_2_D)2_int_5.下列选项中,合法的C语言关键字是()A)VAR B)cher C)integer D)default6.为表示关系z≥y≥x,应使用C语言表达式()A)(z>=y>=x)B)(z>=y)AND(y>=x)C)(z>=y)&&(y>=x)D)(z>=y)&(y>=x)7.有以下程序段:int k=0,a=1,b=2;k=a<b?b:a;执行该程序段后,k的值是()A)3B)2C)1D)08.C语言中用于结构化程序设计的三种基本结构是()A)if、switch、break B)顺序结构、选择结构、循环结构C)for、while、do-while D)break、for、continue9.若int i;则语句:for(i=2;i==0;)printf("%d",i--);的循环执行次数是()A)无限次B)0次C)1次D)2次10.在循环结构的循环体中执行break语句,其作用是()A)结束本次循环,进行下次循环B)继续执行break语句之后的循环体中各语句C)跳出该循环体,提前结束循环D)终止程序运行11.已定义int a[10],i;以下能正确为a数组元素进行赋值的语句是()A)for(i=0;i<10;i++)scanf("%d",a[i]);B)for(i=0;i<=10;i++)scanf("%d",a[i]);C)for(i=0;i<10;i++)scanf("%d",&a[i]);D)for(i=1;i<=10;i++)scanf("%d",&a[i]);12.以下能正确定义二维数组的是()A)int a[][3];B)int a[][3]={{2,3},{4}};C)int a[][3]={};D)int a[2][3]={{1},{2},{3,4}};13.s1和s2已正确定义并分别指向两个字符串。
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语言模拟试卷及答案详解
2012―2013 学年第一学期《C 语言程序设计》模拟试卷(B)一、单项选择题(每题1分,共30分)1.C 语言程序总是从______开始执行。
A) 第一条语句 B) 第一个函数 C) 主函数 D) 子程序 2.以下选项中正确的C 语言标识符是______。
A) a+b B) 3Dmax C) _25D) %d3.以下选项中正确表示字符型常量的是______。
A) '\t'B) "a"C) 'abc'D) '279'4.以下选项中属于C 语言基本数据类型的是______。
A) 逻辑型 B) 双精度型 C) 复数型 D) 集合型 5.已知:int a=8,b=5,c;,则执行语句c=a%b+0.3;后,c 的值是______。
A) 1B) 1.3C) 3D) 3.36.设在程序中的a ,b ,c 均被定义为整型并且已赋予大于1的值,能正确表示代数式abc1的表达式是______。
A)1/a*b*c B)1/(a*b*c) C)1/a/b/(float)c D)1.0/a/b/c 7.已知字符'A'的ASCII 码值为十进制数65,则执行语句printf("%c",'A'+2);后,输出结果是______。
A) A B) C C) 65 D) 67 8.已知:int i=1;,则执行语句printf("%d",i++);后,输出结果是______。
A) 1 B) 2 C) -1 D) -2 9.以下选项中,和语句x*=y+2;等价的是______。
A) x=x*y+2; B) y=x*(y+2); C) x=y+2*x; D) x=x*(y+2); 10.以下选项中能正确判断字符变量c 不是大写字母的表达式是______。
A) c<'A' && c>'Z' B) !(c<'A' && c>'Z') C) c>='A' || c<='Z' D) !(c>='A' && c<='Z') 11.已知:float a=7.0,b=2.5;,则表达式(int)a/(int)b 的值是______。
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++)
【达内培训】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语言 模拟题2013 含答案
一、选择题(每题2分,共30分)1.请选出可用作C语言用户标识符的一组标识符。
A.void B.a3_b3 C.For D.2adefine _123 -abc DOWORD IF Case sizeof2.若有定义:int m=5; float x=3.9, y=4.7;则表达式x+m%4*(int)(x+y)%5/2的值是。
A.4.9 B.5.4 C.5.9 D.53.在下面的条件语句中(其中s1和s2表示是C语言的语句),只有一个在功能上与其它三个语句不等价,它是。
A.if (a) s1 ; else s2;B.if (a= =0) s2; else s1;C.if (a!=0) s1; else s2;D.if (a= =0) s1; else s2;4.设a为整型变量,则表达式10<a<15的值是。
A.0 B.1 C.语法错误 D.根据a的值确定5.程序段如下:则以下说法中正确的是:。
int k=-20;while(k=0) k=k+1;A. while循环执行20次B. 循环是无限循环C. 循环体语句一次也不执行D. 循环体语句执行一次6.若有以下数组说明,则i=10;a[ a[i] ]元素数值是。
int a[12]={1,4,7,10,2,5,8,11,3,6,9,12};A.10B.9C.6D.57.以下不能对二维数组a进行正确初始化的语句是。
A. int a[2][3]={0};B. int a[][3]={{1,2},{0}};C. int a[2][3]={{1,2},{3,4},{5,6}};D. int a[][3]={1,2,3,4,5,6}8.以下不能正确赋值的是。
A. char s1[10];s1="test";B. char s2[]={’t’,’e’,’s’,’t’}C. char s3[20]= "test";D. char s4[4]={ ’t’,’e’,’s’,’t’}9.若有以下定义和语句,且0≤i<10则对数组元素的错误引用是。
C语言程序设计模拟试题1(附答案)
C语言程序设计模拟试题1(附答案)《C语言程序设计》模拟试卷一一、单项选择题(每题2分,共30分)1、下列有关C语言的叙述中错误的是()。
A) C语句必须以分号结束B) 任何一个C程序中有且只有一个主函数C) 复合语句在语法上可被看作一条语句D) C程序中对数据的任何操作都可由运算符实现2、以下不能定义为用户标识符的是()。
A) MAIN B) _HJ C) 2ong D) LINE13、下列符号中用来表示C语言中的回车换行的是()。
A) \r B) \n C) \b D) \t4、如有如下定义:int a=1,则语句printf(“%d,%d”, a, ++a);的运行结果为()。
A) 1, 1 B) 1, 2 C) 2, 2 D) 2, 15、已知ch为字符型变量,下面表达式中正确的是()。
A) ch=’\xff ’B) ch=’\ff ’C) ch=’ ff ’D) ch=” ff ”6、以下能正确定义一维数组的是()。
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) char c=65; B) float f=f+1.1;C) double x=12.3e3.6; D) int m=n=2.0;8、在执行下列程序时输入:1357924,则程序的运行结果为()。
main( ){ int x, y;scanf(“%2d%2d”,&x,&y);printf(“%2d”,x*y); }A) 13 B) 1357 C) 74 D) 7419、执行下列程序段后输出的结果是()。
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))); 后的输出结果是()A) 9 B) 8 C) 5 D) 311、若用数组名作为函数调用的实参,则传递给形参的是()A) 数组的首地址 B) 数组第一个元素的值C) 数组中全部元素的值 D) 数组元素的个数12、在C程序中,若未在函数定义时说明函数类型,则函数默认的类型为()A)void B)double C)int D)char13、下面不能正确进行字符串赋值操作的语句是( )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的是 ( )A)++p B)++(*p) C) *(++p) D) *(p+=2)15、下面程序的输出结果是()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语言有三种结构化程序设计方法,分别为顺序结构、选择结构和循环结构。
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 )。
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语言中,一维数组的定义方式为:类型说明符数组名()。
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语言模拟题十套附答案
第一部分:选择题(40分,20小题/套)概述1、下面关于C语言的叙述中,正确的是(D)A. 每行只能写一条语句B. 程序中必须包含有输入语句C. main函数必须位于文件的开头D. 每条语句最后必须有一个分号2、下面关于C语言的叙述中,错误的是(B)A. 若一条语句较长,也可分写在下一行上B. 构成C语言源程序的基本单位是表达式C. C语言源程序中大、小写字母是有区别的D. 一个C语言源程序可由一个或多个函数组成3、关于C语言数据类型的叙述,正确的是()A. 枚举类型不是基本类型B. 数组不是构造类型C. 变量必须先定义后使用D. 不允许使用空类型4、C程序中main函数的位置(C)A. 必须在最开始B. 必须在系统库函数后面C. 可以在自定义函数后面D. 必须在最后5、C语言的函数体由(B)括起来A. ( )B. { }C. [ ]D. /* */6、关于C语言的叙述中,不正确的是(C)A. C程序可由一个或多个函数组成B. C程序必须包含一个main()函数C. C程序的基本组成单位是函数D. 注释说明只能位于一条语句的后面7、一个程序的执行是从(C)A. 本程序的第一个函数开始,到最后一个函数结束B. 本程序的main函数开始,到main函数结束C. 本程序的main函数开始,到最后一个函数结束D. 本程序的第一个函数开始,到main函数结束8、结构化程序设计的三种基本结构是(C)A. 函数结构、分支结构、判断结构B. 函数结构、嵌套结构、平行结构C. 顺序结构、分支结构、循环结构D. 分支结构、循环结构、嵌套结构9、调试程序是指对程序进行(C)A. 编辑B. 编译C. 查错和排错D. 连接10、C语言中,复合语句的构成是将一系列语句置于(C)A. begin与end之间B. 一对圆括号“()”之间C. 一对花括号“{ }”之间D. 一对方括号“[ ]”之间11、构成C语言源程序的基本单位是(D)A. 语句B. 过程C. 表达式D. 函数语法基础12、在C语言中,正确的用户标识符是(B)A. 3fB. _forC. structD. _f.513、C语言的基本数据类型包括(A)A. 整型、实型、字符型B. 整型、实型、字符型、逻辑型C. 整型、字符型、逻辑型D. 整型、实型、逻辑型14、以下(D)是正确的常量A. E-5B. 1E5.1C. ‘a12’D. 32766L15、以下(D)是正确的变量名A. a.beeB. –p11C. intD. p_1116、以下(C)是正确的字符常量A. “c”B. ‘//”C. ‘W’D. “\32a”17、以下(A)是不正确的字符串常量A. ‘abc’B. “12’12”C. “0”D. “ “18、C语言的整型数据在内存中的存储形式是(C)A. 原码B. 反码C. 补码D. ASCII码19、以下(B)是正确的浮点数( e后面的数必须为整数e前面必须要有数字A. e3B. .62C. 2e4.5D. 12320、下列不属于C语言关键字的是(D)A. continueB. integerC. staticD. signed21、C语言的字符型数据在内存中的存储形式是(D)A. 原码B. 补码C. 反码D. ASCII22、在C语言中,变量所分配的内存空间大小是(A)A. 由变量的类型决定B. 由用户自己决定C. 任意的D. 均为两个字节23、若有定义:int a=2;则正确的赋值表达式是(A)A. a-=(a*3)B. double(-1)C. a*3D. a*4=324、语句x=(a=3,b=++a);运行后,x、a、b的值依次为()A. 3,3,4B. 4,4,3C. 4,4,4D. 3,4,325、语句a=(3/4)+3%2;运行后,a的值为(B)A. 0B. 1C. 2D. 326、以下四项中,符合C语言语法的语句是(C)注意分号A. int a+b=c;B. int a=12:b=12:c=12;C. int a=12,b=12,c=12;D. int a,b=12,float c=2127、若有定义:int x,a;则语句x=(a=3,a+1);运行后,x、a的值依次为()A. 3,3B. 4,4C. 4,3D. 3,428、若变量已正确定义并赋值,符合C语言语法的表达式是()A. a=8+b+c,a++B. a=3aC. int(12.3%4)D. a=a+1=c+b29、若有定义:int a,b;double x;则以下不符合C语言语法的表达式是()A. x%(-3)B. a+=-1C. a=b=2D. x=a+b30、若有定义:int x=2,y=3;float i;则以下符合C语言语法的表达式是(B)A. x=x*3=2B. x=(y==1)C. i=float(x) ( 形式错误:正确的是:i=(float)x 是将数据类型括号起来)D. i%(-3)31、若有定义:int x;则语句x=(2*3)+6%5;运行后,x的值是()A. 8B. 7C. 6D. 532、下面关于C语言变量的叙述中,错误的是(C)A. 可以用const关键字定义变量B. 在C程序中,SUM和sum是不同的变量C. 变量名必须由字母或下划线组成(可是是字母和数字组合)D. 变量的类型确定了变量的取值范围33、若有定义:int x=5,y=6;则表达式x=(y= =6)的值为()A. 5B. 1C. 6D. 034、下面叙述正确的是(B)A. 2/3与2.0/3.0等价B. (int)2.0/3与2/3等价C. ++5与6等价D. ‘A’与”A”等价35、下面叙述中,错误的是(A)A. C语言基本的算术运算符不包含模运算符”%”B. 算术运算符的优先级高于关系运算符C. 自加和自减运算符的结合方向是”自右向左”D. C语言规定在表达式求值时,按其中运算符的优先级先高后低的次序进行36、下面叙述正确的是(A)A. 强制类型转换运算的优先级高于算术运算B. 若a和b是整型变量,(a+b)++是合法的(自加自减运算只能用于简单变量,不能用于表达式或常量)C. ‘A’*’B’是不合法的D. “A”+”B”是合法的只能字符间运算37、若有定义:int i=1,j=5;则表达式(++j)*(i--)的值为(C)A. 1B. 0C. 6D. 7 (i先运算再减减,加了括号也一样38、设整型变量a为5,使b不为2的表达式是(C)A. b=(++a)/3B. b=6-(--a)C. b=a%2D. b=a/239、若有定义:int a=1,b=2,c=3;则语句++a||++b&&++c;运行后b的值为(C)A. 1B. 0C. 2D. 3(&&的优先级高于|| ,即先进行++b&&++c运算,~,<< ,>>,&,^(异或),| 优先级依次降低)40、若有定义:int i,j;则表达式(i=2,j=5,i++,i+j++)的值是(B)A. 7B. 8C. 9D. 10 (i++要算完)41、若有定义:int a,b;则表达式(a=2,b=5,a*2,b++,a+b)的值是(B)A. 7B. 8C. 9D. 1042、若有定义:int i=2,j=5;则表达式(i+1,j+1,(++i+(j--))的值为(A)A. 8B. 6C. 7D. 5 红字部分先算43、若已定义:int i=3,k;则语句k=(i--)+(i--);运行后k的值为(C)A. 4B. 5C. 6D. 7 ( i先运算再--44、C语言的运算符按运算对象的个数可以分为(C)A. 单目运算符一种B. 单目和双目运算符C. 单目、双目和三目运算符D. 单目、双目、三目和四目运算符45、若已定义:float m;拟从键盘输入135.78这一数据给变量m,则应选用的语句是(D)A. scanf(“%5.2f”,&m);B. scanf(“%3.2f”,&m);C. scanf(“6.2f”,&m);D. scanf(“%6f”,&m);46、已知double a;使用scanf()函数输入一个数值给变量a,正确的函数调用是()A. scanf(“%l d”,&a);B. scanf(“%l f”,&a);C. scanf(“%c”,&a);D. scanf(“%u”,&a);47、已知char a;使用scanf()函数输入一个字符给变量a,不正确的函数调用是(B)A. scanf(“%d”,&a);B. scanf(“%l f”,&a);不可能是实数C. scanf(“%c”,&a);D. scanf(“%u”,&a);十进制无符号48、putchar()函数的功能是向终端输出(B)A. 多个字符B. 一个字符C. 一个实型变量值D. 一个整型变量表达式49、以下程序段运行后的输出结果是(C)int k=11;printf(“k=%d,k=%o,k=%x\n”,k,k,k);A. k=11,k=13,k=cB. k=11,k=12,k=13C. k=11,k=13,k=bD. k=11,k=13,k=a50、若有定义:int x=1234,y=123,z=12;则语句printf(“%4d+%3d+%2d”,x,y,z);运行后的输出结果为(D)A. B.C. 1234+1234+1234D. 1234+123+1251、已有如下定义和输入语句,int a;char c1,c2;scanf(“%d%c%c”,&a,&c1,&c2);若要求a、c1、c2的值分别为10、A和B,正确的数据输入是()A. 10ABB. 10 A BC. 10A BD. 10 AB52、以下程序段的运行结果是(A)int a=0,b=0,c=0;if(a&&++b) (因为a=0 又是与运算,故不进行&&后面的运算了)c++;printf(“%d,%d\n”,b,c);A. 0,0B. 1,2C. 2,2D. 1,053、以下程序的运行结果是()void main(){int a=65;c har c=’A’;printf(“%x,%d”,a ,c);}A. 65,aB. 41,aC. 65,65D. 41,6554、若已定义:int a=5;float b=63.72;以下语句中能输出正确值的是(B)A. printf(“%d%d”,a,b);B. printf(“%d%2f”,a,b);C. printf(“%2f%2f”,a,b);D. printf(“%2f%d”,a,b);55、运行以下程序段时编译出错,其原因是(A)char c1='8',c2='2008';printf("%c,%d\n",c1,c2);A. c2是字符变量,只能赋以字符常量,不能赋以字符串常量B. 字符串要用“2008“表示,而‘2008’不是字符串表示C. ‘2008’只能赋值给字符数组D. 字符变量不能用%d格式输出56、若已定义:int a=3,b=15,c;则语句c=a>b;运行后c的值为(B)A. 1B. 0C. tD. f57、在C语言中,判定逻辑值为“真“的最正确的叙述是(B)A. 1B. 非0的数C. 大于0的数D. 非0的整数58、若已定义:int a=-36,b=-30,c;则语句c=a<b;运行后c的值为(A)A. 1B. tC. 0D. f (有符号的比较,按负数进行比较)59、能正确表示数学关系式800>=y>=500的C语言表达式为(A)A. (y<=800)&&(y>=500)B. (y<=800)AND(y>=500)C. 800>=y>=500D. (y<=800)&(y>=500)60、若有定义:int x=3,y=4;则表达式!x||y的值为(A)(!,算术运算符,关系运算符,&&,|| ,赋值运算符优先级依次降低)注意:表达式的最后结果不是零就是一A. 1B. 0C. 3D. 461、若有定义:int i=7,j=8;则表达式i>=j||i<j的值为()A. 1B. 变量i的值C. 0D. 变量j的值62、若希望当a的值为奇数时,表达式的值为“真”,a的值为偶数时,表达式的值为”假”。
C语言模拟题2013版
一、选择题(20小题×1分 = 20分)以下每小题只有一个选项是正确的。
1、以下选项中属于C语言的数据类型是()A. 复合型B. 双精度型C. 逻辑型D. 集合型2、选出下列标识符中不是合法的标识符的是()A. hot_doB. cat1C. _priD. 2ab3、以下非法的赋值语句是()A. n=(i=2,++i)B. j++;C. ++(i+1)D. x=j>04、能将高级语言编写的源程序转换为目标程序的软件是()A. 汇编程序B. 编辑程序C. 解释程序D. 编译程序5、语句printf("%d",(a=2)&&(b=2));的输出结果是()A. 无输出B. 结果不确定C. 1D. 26、已知小写字母a的ASCII码为97,对于int a=99, b='b'; printf("%c,%d",a,b);的结果是()A、99, b B. c, 98 C. 99, 98 D. c, b7、在 C语言中,以下叙述正确的是()A. 不能使用do-while 语句构成循环B. do-while 语句构成的循环必须用break语句才能退出C. do-while 语句构成的循环,当while 语句中的表达式值为非零时结束循环D. do-while 语句构成的循环,当while 语句中的表达式值为零时结束循环8、读出以下语句的输出结果是( )。
int x=10,y=10;printf(“%d %d\n”,x--,--y);A. 10 10B. 9 9C. 9 10D. 10 99、在VC中,若对函数类型未加显式说明,则函数的隐含类型是()A. voidB. doubleC. intD. char10、对于循环for (k=16; k>0; k-=3) putchar(…*‟);输出是()A. *****B. ******C. *******D. 无限循环11、在C语言中,以下说法正确的是()A. 函数的定义允许嵌套,但函数的调用不允许嵌套B. 函数的定义不允许嵌套,但函数的调用允许嵌套C. 函数的定义和调用都不允许嵌套D. 函数的定义和调用都允许嵌套12、有定义语句:int x, y;,若要通过scanf("%d,%d",&x,&y);语句使变量x得到数值11,变量y 得到数值12,下面四组输入形式中,错误的是()A. 11<空格> 12<回车>B. 11, <空格>12<回车>C. 11,12<回车>D. 11,<回车>12<回车>13、以下能正确定义数组并正确赋初值的语句是()A. int N=5,b[N][N];B. int a[1][2]={{1},{3}};C. int c[2][]= {{1,2},{3,4}};D. int d[3][2]={{1,2},{3,4}};14、下列选项中正确的语句组是()A. char s[8]; s={"Beijing"};B. char *s; s={"Beijing"};C. char s[8]; s="Beijing";D. char *s; s="Beijing";15、对于int a[]={1,2,3,4,5,6},*p; p=a;则*p,*(p+3)的值是()A. 1 5B. 1 3C. 1 4D. 1 616、以下程序的输出结果是()char str[15]=“hello!”;printf(“%d\n”,strlen(str));A. 15B. 14C. 7D. 617、如果在一个函数中的复合语句中定义了一个变量,以下说法正确的是()A. 该变量只在复合语句中有效B. 在该函数内有效C. 在本程序范围内有效D. 为非法变量18、.判断字符串s1是否大于字符串s2,应当使用( )A. if (s1>s2)B. if (strcmp(s1,s2))C. if (strcmp(s2,s1)>0)D. if (strcmp(s1,s2)>0)19、已知枚举类型定义语句为:enum Token {NAME, NUMBER, PLUS = 5, MINUS, PRINT = 10};则下列叙述中错误的是()A. 枚举常量NAME的值为1B. 枚举常量NUMBER的值为1C. 枚举常量MINUS的值为6D. 枚举常量PRINT的值为1020、若用fopen打开一个新的二进制文件,要求文件既能读又能写,则应选用的文件方式字符串是()A. "wb+"B. "r+"C. "rb+"D. "ab+"二、填空题(15空×2分 = 30分)1、____函数_______是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 studentstu[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(floatsco[M+1][N+1]);static floatscore[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分以上人数。