2010c语言期末考试试题参考
2010年全国计算机等级考试C语言试题及答案
2010年全国计算机等级考试C语言试题及答案一、选择题(1)下列叙述中正确的是AA)对长度为n的有序链表进行查找,最坏清况下需要的比较次数为nB)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(n/2)C)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(log2n)D)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(nlog2n)(2)算法的时问复杂度是指DA)算法的执行时间B)算法所处理的数据量C)算法程序中的语司或指令条数D)算法在执行过程中所需要的基本运算次数(3)软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。
下面属于系统软件的是B A)编辑软件B)操作系统C)教务管理系统D)浏览器(4)软件(程序)调试的任务是A A)诊断和改正程序中的错误B)尽可能多地发现程序中的错误C)发现并改正程序中的所有错误D)确定程序中错误的性质(5)数据流程图(DFD图)是 C A)软件概要设计的工具B)软件详细设计的工具C)结构化方法的需求分析工具D)面向对象方法的需求分析工具(6)软件生命周期可分为定义阶段,开发阶段和维护阶段。
详细设计属于B A)定义阶段B)开发阶段C)维护阶段D)上述三个阶段(7)数据库管理系统中负责数据模式定义的语言是 A A)数据定义语言B)数据管理语言C)数据操纵语言D)数据控制语言(8)在学生管理的关系数据库中,存取一个学生信息的数据单位是D A)文件B)数据库C)字段D)记录(9)数据库设计中,用E-R图来描述信息结构但不涉及信息在计算机中的表示,它属于数据库设计的C A)需求分析阶段B)逻辑设计一阶段C)概念设计阶段D)物理设计阶段(10)有两个关系R和T如下:则由关系K得到关系T的操作是A)选择B)投影C)交D)并(11)以下叙述正确的是B A)C语言程序是由过程和函数组成的B)C语言函数可以嵌套调用,例如:fun(fun(x))C)C语言函数不可以单独编译D)C语言中除了main函数,其他函数不可作为单独文件形式存在(12)以下关于C语言的叙述中正确的是B A)C语言中的注释不可以夹在变量名或关键字的中间B)C语言中的变量可以在使用之前的任何位置进行定义C)在C语言算术表达式的书写中,运算符两侧的运算数类型必须一致D)C语言的数值常量中夹带空格不影响常量值的正确表示(13)以下C语言用户标识符中,不合法的是 D A)_1B)AaBcC)a_bD)a—b(14)若有定义:double a=22;int i=0,k=18;,则不符合C语言规定的赋值语句是 C A)a=a++,i++;B)i=(a+k)<=(i+k);C)i=a%11;D)i=!a;(15)有以下程序 C #include<stdio.h>main(){ char a,b,c,d;scanf(“%c%c”,&a,&b);c=getchar(); d=getchar();printf(“%c%c%c%c\n”,a,b,c,d);}当执行程序时,按下列方式输入数据(从第1列开始,<CR>代表回车,注意:回车也是一个字符)12<CR>34<CR>则输出结果是C A)1234B)12C)123D)1234(16)以i关于C语言数据类型使用的叙述中错误的是 D A)若要准确无误差的表示自然数,应使用整数类型B)若要保存带有多位小数的数据,应使用双精度类型C)若要处理如“人员信息”等含有不同类型的相关数据,应自定义结构体类型D)若只处理“真”和“假”两种逻辑值,应使用逻辑类型(17)若a是数值类型,则逻辑表达式(a==1)||(a!=1)的值是 A A)1B)0C)2D)不知道a的值,不能确定(18)以下选项中与if(a==1)a=b; else a++;语句功能不同的switch语句是B A)switch(a){case:a=b;break;default:a++;}B)switch(a==1){case 0:a=b;break;case 1:a++;}C)switch(a){default:a++;break;case 1:a=b;}D)switch(a==1){case 1:a=b;break;case 0:a++;}(19)有如下嵌套的if语句if (a<b)if(a<c)k=a;else k=c;elseif(b<c)k=b;else k=c;以下选项中与上述if语句等价的语句是C A)k=(a<b)?a:b;k=(b<c)?b:c;B)k=(a<b)?((b<c)?a:b):((b>c)?b:c);C)k=(a<b)?((a<e)?a:e):((b<e)?b:c);D)k=(a<b)?a:b;k=(a<c)?a:c;20)有以下程序 A #include<s七dio.h>main(){in i,j,m=1;for(i=1;i<3;i++){for(j=3;j>O;j--){if(i*j)>3)break;m=i*j;}}printf("m=%d\n",m);}程序运行后的输出结果是A)m=6B)m=2C)m=4D)m=5(21)有以下程序#include(stdio.h>main(){int a=l;b=2;for(;a<8;a++){b+=a;a+=2;}printf("%d,%d\n",a,b);}程序运行后的输出结果是A)9,18B)8,11C)7,11D)10,14(22)有以下程序,其中k的初值为八进制数#include <stdio.h>main(){int k=011;printf("%d\n",k++);}程序运行后的输出结果是A)12B)11C)10D)9(23)下列语句组中,正确的是A)char *s;s="Olympic";B)char s[7];s="Olympic";C)char *s;s={"Olympic"};D)char s[7];s={"Olympic"};(24)以下关于return语句的叙述中正确的是A)一个自定义函数中必须有一条return语句B)一个自定义函数中可以根据不同情况设置多条return语句C)定义成void类型的函数中可以有带返回值的return语句D)没有return语句的自定义函数在执行结束时不能返回到调用处(25)下列选项中,能正确定义数组的语句是A)int num[0..2008];B)int num[];C)int N=2008;int num[N];D)#define N 2008int num[N];(26)有以下程序#include <stdio.h>void fun(char *c,int d){*c=*c+1;d=d+1;printf("%c,%c,",*c,d);main(){char b='a',a='A';fun(&b,a);printf("%e,%e\n",b,a);}程序运行后的输出结果是A)b,B,b,AB)b,B,B,AC)a,B,B,aD)a,B,a,B(27)若有定义int(*Pt)[3];,则下列说法正确的是A)定义了基类型为int的三个指针变量B)定义了基类型为int的具有三个元素的指针数组ptC)定义了一个名为*pt、具有三个元素的整型数组D)定义了一个名为pt的指针变量,它可以指向每行有三个整数元素的二维数组(28)设有定义double a[10],*s=a;,以下能够代表数组元素a[3]的是A)(*s)[3]B)*(s+3)C)*s[3]D)*s+3(29)有以下程序#include(stdio.h)main(){int a[5]={1,2,3,4,5},b[5]={O,2,1,3,0},i,s=0;for(i=0;i<5;i++)s=s+a[b[i]]);printf("%d\n", s);}程序运行后的输出结果是A)6B)10C)11D)15(30)有以下程序#include <stdio.h>main(){int b [3][3]={O,1,2,0,1,2,O,1,2},i,j,t=1;for(i=0;i<3;i++)for(j=ij<=1;j++)t+=b[i][b[j][i]];printf("%d\n",t);}程序运行后的输出结果是A)1B)3C)4D)9(31)若有以下定义和语句char s1[10]="abcd!",*s2="\n123\\";printf("%d %d\n", strlen(s1),strlen(s2));则输出结果是A)5 5B)10 5C)10 7D)5 8(32)有以下程序#include <stdio.h>#define N 8void fun(int *x,int i){*x=*(x+i);}main(){int a[N]={1,2,3,4,5,6,7,8},i;fun(a,2);for(i=O;i<N/2;i++){printf("%d",a[i]);}printf("\n");}程序运行后的输出结果是A)1313B)2234D)1234(33)有以下程序#include <studio.h>int f(int t[],int n);main{ int a[4]={1,2,3,4},s;s=f(a,4); printf("%d\n",s);}int f(int t[],int n){ if(n>0)return t[n-1]+f(t,n-1);else return 0;}程序运行后的输出结果是A)4B)1OC)14D)6(34)有以下程序#include <stdio.h>int fun(){ static int x=1;x*2; return x;}main(){int i,s=1,for(i=1;i<=2;i++)s=fun();printf("%d\n",s);}程序运行后的输出结果是A)OB)1C)4D)8(35)有以下程序#include <stdio.h>#define SUB(a)(a)-(a)main(){ int a=2,b=3,c=5,d;d=SUB(a+b)*c;printf("%d\n",d);}程序运行后的输出结果是A)0C)-20D)10(36)设有定义:struct complex{ int real,unreal;} data1={1,8},data2;则以下赋值语句中错误的是A)data2=data1;B)data2=(2,6);C)data2.real=data1.real;D)data2.real=data1.unreal;(37)有以下程序#include <stdio.h>#include <string.h>struct A{ int a; char b[10]; double c;};void f(struct A t);main(){ struct A a={1001,"ZhangDa",1098.0};f(a); printf("%d,%s,%6.1f\n",a.a,a.b,a.c);}void f(struct A t){ t.a=1002; strcpy(t.b,"ChangRong");t.c=1202.0;} 程序运行后的输出结果是A)1001,zhangDa,1098.0B)1002,changRong,1202.0C)1001,ehangRong,1098.OD)1002,ZhangDa,1202.0(38)有以下定义和语句struct workers{int num;char name[20];char c;struct{int day; int month; int year;}s;};struct workers w,*pw;pw=&w;能给w中year成员赋1980的语句是A)*pw.year=198O;B)w.year=1980;C)pw->year=1980;D)w.s.year=1980;(39)有以下程序#include <stdio.h>main(){ int a=2,b=2,c=2;printf("%d\n",a/b&c);}程序运行后的输出结果是A)OB)1C)2D)3(40)有以下程序#include <stdio.h>main(){FILE *fp;char str[10];fp=fopen("myfile.dat","w");fputs("abc",fp);fclose(fp);fpfopen("myfile.data","a++");fprintf(fp,"%d",28);rewind(fp);fscanf(fp,"%s",str); puts(str);fclose(fp);}程序运行后的输出结果是A)abcB)28cC)abc28D)因类型不一致而出错二、填空题(1)一个队列的初始状态为空。
2010级C语言期末考试试卷(A卷)
桂林电子科技大学信息科技学院试卷2010-2011 学年第 2 学期课号I04BT014课程名称C语言程序设计(A卷;、闭卷)适用班级(或年级、专业)10级、全院一单项选择题(每题2分,共40分)1 以下叙述正确的是。
A C程序基本组成单位是语句B 简单C语句必须以分号作为结束符C C程序每一行只能写一个语句D 注释语句可以嵌套2 设a和b均为int型变量,则执行以下语句后的输出为。
int a=20; int b=3; printf("%d\n",a+=(b%=2));A 0B 20C 21D 223 设int型占2个字节,且int i=-2;,则语句printf("%u",i);的输出结果为。
A -2B -32768C 65535D 655344 以下程序运行后的输出结果是。
main(){ double d=3.2; int x,y;x=1.2; y=(x+3.8)/5.0;printf("%d\n",d*y);}A 0B 3C 3.07D 3.25 以下程序运行后的输出结果是。
main(){ int a=2,b=-1,c=2;if(a<b)if(b<0) c=0;else c++;printf("%d\n",c);}A 0B 1C 2D 36 以下程序的执行结果是。
main(){ int n=9;while(n>6) { n--; printf("%d",n); }}A 987B 9876C 8765D 876void main(){ int x=15,y=21,z=0;switch (x/8){ case 2: z=z+1;break;case 1: z=z+1;switch (y/21){ default : z=z+1;case 0: z=z+1;break;}}printf("%d\n",z);}A 4B 3C 2D 18 以下程序的输出结果是。
C语言程序设计 海滨学院期末考试试卷(2010-2011 第二学期)(B)
北京交通大学海滨学院考试试题(B 卷)课程名称:C语言程序设计 2010-2011学年第二学期出题教师:计算机教学组专业:班级:姓名:学号:答题说明:本试卷共有六道大题,要求所有解答均写在答题卡上,否则无效。
上交试卷时按照发试卷时候的顺序整理试卷,平铺展开上交。
一、选择题(本题共30道题目,每题1分,共30分)1.以下叙述中正确的是()。
A)C语言比其他语言高级。
B)C语言可以不用编译就能被计算机识别执行。
C)C语言以接近英语国家的自然语言和数学语言作为语言的表达形式。
D)C语言出现的最晚,具有其他语言的一切优点。
2.算法是为解决某特定问题而采取的确定且有限的步骤,下面不属于算法的五个特性的是()。
A)有零个输入或多个输入 B)高效性C)有穷性 D)确定性3.表达式3.6-5/2+1.2+5%2的值是()。
A)4.3 B) 4.8 C) 3.3 D) 3.84.C语言中的标识符只能由字母,数字和下划线三种字符组成,且第一个字符()。
A)必须为字母 B)必须为下划线C)必须为字母或下划线 D)可以是字母,数字和下划线中任一字符5.下列数据中,不合法的C语言实型数据的是()。
A)0.123 B)123e3 C)2.1e3.5 D)789.06.若有说明语句:char c='\72';则变量c()。
A)包含1个字符 B)包含2个字符C)包含3个字符 D)说明不合法,c的值不确定7.若有定义:int a=7;float x=2.5,y=4.7; 则表达式x+a%3*(int)(x+y)%2/4的值是()。
A)2.500000 B)2.750000C)3.500000 D)0.0000008.下列可用于C语言用户标识符的一组是()。
A)void, define, WORD B)a3_b3, _123,CarC)For, -abc, IF Case D)2a, DO, sizeof9.以下不正确的叙述是()。
201012真题C语言(含答案)
0124、以下叙述正确的是()。
A.注释部分可单独占用一行,也可跟在语句的后面B.函数体定界符也可用一对方括号"[ ]"C.C语言源程序每一行就是一条语句D.由于C语言源程序都是从main()函数开始执行,所以main()函数必须位于程序文件最前面0125、下面叙述错误的是()。
A.所有语句都必须以分号";"结束B.语句是构成C语言源程序的基本单位C.C语言源程序必须包含一个main()函数D.注释部分在程序编译和运行时不起作用0126、main()函数的位置()。
A.必须位于程序文件的最前面B.必须位于用户自定义函数的前面C.可位于用户自定义函数之前,也可位于用户自定义函数之后D.必须位于用户自定义函数的后面0127、()是结构化程序设计应遵循的原则。
A.选用的控制结构可有多个入口和一个出口B.根据需要可使用嵌套基本控制结构表示程序逻辑C.应使用顺序、选择、循环三种基本控制结构表示程序逻辑D.为提高程序效率,应尽量使用Goto语句0128、描述一个算法可以有不同的方式,常见的有()。
A.汇编语言、高级语言和低级语言B.自然语言、流程图和伪代码C.机器语言、汇编语言和高级语言D.高级语言、自然语言和伪代码0224、下列不属于C语言数据类型的是()。
A.双精度型B.枚举类型C.复数类型D.长整型0225、下列合法的浮点数的是()。
A..65B.E2C.2E0.5D.1230226、下列不合法的字符常量的是()。
A.'\t'B.'\n'C.'\\'D."a"0227、下列()是不正确的常量形式。
A.'x5'B.1.6E6C.1E-2D."\0"0228、下列()是不合法的用户标识符。
A._f6B.divC.5xD._num0324、若已定义:int n=2; double x=2.5; 则下列表达式中不符合语法的是()。
2010年20套大学计算机C语言期末考试复习试题及答案
二、单项选择共30题(共计30分)1.执行下面程序后,输出结果是(A)。
main(){ a=45,b=27,c=0;c=max(a,b);printf("%d\n",c);}int max(x,y)int x,y;{ int z;if(x>y) z=x;else z=y;return(z);}A:45 B:27 C:18 D:72第2题下列数组说明中,正确的是(A)。
A:int array[][4];B:int array[][];C:int array[][][5];D:int array[3][];第3题下面有关for循环的正确描述是(D)A:for循环只能用于循环次数已经确定的情况B:for循环是先执行循环体语句,后判断表达式C:在for循环中,不能用break语句跳出循环体D:for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来第4题以下程序的输出结果是(D).main(){int i,j,k,a=3,b=2;i=(--a==b++)?--a:++b;j=a++;k=b;printf("i=%d,j=%d,k=%d\n",i,j,k);}A:i=2,j=1,k=3 B:i=1,j=1,k=2 C:i=4,j=2,k=4 D:i=1,j=1,k=3 第5题若有下列定义,则对a数组元素地址的正确引用是(C).int a[5],*p=a;A:*(p+5) B:*p+2 C:*(a+2) D:*&a[5]第6题下列选项中正确的语句组是(D)。
A:char s[8]; s={"Beijing"}; B:char *s; s={"Beijing"};C:char s[8]; s="Beijing"; D:char *s; s="Beijing";第7题若变量a,i已正确定义,且i已正确赋值,合法的语句是(C)A:a=int(i); B:a==1 C:++i; D:a=a++=5;第8题以下字符中不是转义字符的是(C)。
2010上学期C语言期末试卷选择题
1、下列叙述中,不正确的是( )。
A、一个C源程序必须有且只有一个主函数B、一个C源程序可以包含零个或若干个子函数C、在C源程序中,注释说明必须位于语句之后D、C源程序的基本结构是函数2、下列叙述中,不正确的是( )。
A. 分号是C语句的必要组成部分B. C语句的注释可以写在语句的后面C. 函数是C程序的基本单位D. 主函数的名字不一定有main表示3、以下不是C语言的特点是( )。
A、C语言简洁紧凑B、C语言可以直接对硬件进行操作C、C语言的可移植性好D、C语言编程容易4、构成C语言的基本单位是( )。
A、过程B、函数C、子程序D、命令5、一个C程序的执行是从( ) 。
A、main函数开始,直到main函数结束B、main函数开始,直到最后一个函数结束C、从第一个函数开始,直到最后一个函数结束D、第一条语句开始,直到最后一条语句结束6、在C语言中,main函数的位置A、必须作为第一个函数B、必须作为最后一个函数C、可以任意D、必须放在它所调用的函数之后7、C程序是由( )构成的。
A、一个主程序与若干个子程序B、一个或多个函数C、若干过程D、若干子程序8、以下叙述不正确的是( )。
A.在C程序中,注释说明只能位于一条语句的后面B. 注释说明被计算机编译系统忽略C. 注释说明必须括在“/*”和“*/”之间,注释符必须配对使用D. 注释符“/”和“*”之间不能有空格9、下列符号串中,属于C语言合法标识符的是。
A. ex-1B. ifC. _cookD. 951a10、当把以下四个表达式用作if语句的控制表达式时,有一个选项与其他三个选项含义不同,这个选项是( )。
A、K%2B、K%2= =1C、(K%2)! =0D、!K%2= =111、对于一个完整的可运行的C源程序,下列哪一个说法是正确的?A、C语言程序总是从第一个定义的函数开始执行。
B、在C语言程序中,要调用的函数必须在main()函数中定义。
2010 c语言期末考试试题参考
2.一个C程序的执行是从()。
(A)本程序的main函数开始,到main函数结束(B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束(C)本程序的main函数开始,到本程序文件的最后一个函数结束(D)本程序文件的第一个函数开始,到本程序main函数结束3.C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符()。
A)必须为字母B)必须为下划线C)必须为字母或下划线D)可以是字母、数字和下划线中任一种字符4.设有定义:intm=1,n=-1;则执行语句printf("%d\n",(m--&++n);后的输出结果是(A)–1B)0C)1D)25.表达式11&10的结果用二进制表示为()。
A)11B)3C)1D)106.设有语句inta=3;则执行语句a+=a-=a*a后,变量a的值是()。
(A)3(B)0(C)9(D)-127.在下列选项中,不的赋值语句是()。
A)t/=5;B)n1=(n2=(n3=0));C)k=i==j;D)a=b+c=1;8.下列()表达式不满足:当x的值为偶数时值为"真",为奇数时值"假"。
A)X%2==0B)!x%2!=0C)(x/2*2-x)==0D)!(x%2)9.若有定义:int a=8,b= 5,c;执行语句c=a/b+0.4后c的值为()A)1.4B)1C)2.0D)210.假设a=3,b=4,c=5,则逻辑表达式:!(a+b)+c-1&&b+c/2的值是()。
A)trueB)falseC)0D)111.若inta=3,b=4;则执行c=a++>2||b-->=4之后,b变量的值为()。
A)3B)0C)4D)212.以下哪个表达式的值为4()A)B)11.C)(flaot)D)(int)(11.+0.5)13.若变量a,i已经正确定义,且i已经正确赋值,合法的语句是()A)a==1B) ++iC)a=a++=5D)a=int(i))。
厦门理工学院C语言程序设计期末测试题及答案(5套)
if(c>=’a’&&c<=’z’)
c=c-32;
# else
if(c>=’A’&&c<=’Z’)
c=c+32;
# endif
printf(“%c”,c);
}
上面程序的运行结果是:
A) C Language
B) c language
C) C LANGUAGE D) c lANGUAGE
20. 假定以下程序经编译和连接后生成可执行文件 PROG.EXE,如果在此可执行文件所 在目录的 DOS 提示符下键入: PROG ABCDEFGH IJKL<回车>,则输出结果为 A) ABCDEFG B) IJHL C) ABCDEFGHIJKL D) IJKLABCDEFGH main( int argc, char *argv[])) { while(--argc>0) printf("%s",argv[argc]);
D)switch (a+b);
{ case 1:printf("\n");
{ case 1:printf(."*\n");
case 1+2:printf("**\n");
case 2:printf("**\n");
}
}
11.以下程序运行后,如果从键盘上输入 ABCDE,则输出结果为
A) 8 B)7 C)6 D)5
A)k=3 a=2 b=3 B)k=3 a=3 b=2 C)k=2 a=3 b=2 D)k=2 a=2 b=3
9.下面程序的输出是
main()
{ unsigned a=32768;
C语言考题2010-2011第一学期
程序基本知识答案:B main()函数是程序的入口和出口,和其它代码位置没关系。
答案:C C程序基本单位是函数。
答案:A答案:A答案:C基本数据类型和基本运算答案: B 浮点数两种表示方式,一种是普通小数方式,另一种是科学计数法。
科学计数法中间为e,前边为[1,10〕的实数表示尾数,后边为整数表示10的指数,正负均可。
答案:C 标识符开头只能是字母或下划线,不能是数字。
答案:D 单引号括起来的应该是单个字符答案:A 双引号括起来的是字符串答案:A答案:A 求余运算两边必须全为整数答案:D答案:D 这四种运算符中,非运算级别最高,算术运算比比较运算级别高,最低的是赋值运算答案:C D 项错误在于scanf从第2个参数开始应该是地址引用答案:D x先和自减1后的y相加,结果赋给y,再自加1答案:A 输入时必须包含逗号答案:C答案:A B项逻辑或两边都是假,C项做完逻辑与后才可以自加,D项括号内是赋值运算而非比较运算答案:B x+z后结果已经变成浮点数了答案:D y=0+1=1答案:D 3.5/2+11%2/2=1.75+1/2=1.75+0=1.75答案:B 数轴上一段连续区间必须用两个逻辑表达式相与得到。
答案:B 逻辑与两边明显矛盾答案:B 0.5+0=0.5第六次stop here答案:B 4.0/2+2%3=2.0+2=4.0答案:C答案:D a|b=3 ,10 右移3位为1答案:D答案:D 2+=2+4%2=4答案:D 非0值经过非运算后变成假,两个假或还是假答案:A x^y=2,2 左移两位为8答案:C答案:A 1/3结果为0,整个式子结果为0答案:A分支结构答案:A 其它三项都是如果k是0,则打印No,否则打印Yes。
答案:A 这是两步操作,n=2已经不是if结构里的了。
答案:A 条件判断为逻辑非,直接执行打印语句。
答案:C 余数为3,只能执行default后续printf(),后边没有break(),再执行case 1后边的printf().第七次stop here循环结构答案:A答案:B 两个i - -相当于i-=2答案:B 括号里的条件先比较,再将i减1答案:C 其它的i没有变化答案:A i=1 j=2 0+1+2=3j=3 3+1+3=7 依次类推,最终m为45 函数答案:A答案:D答案:B答案:C 传入实参为5和4,函数中两者比较,得到z为5,返回5+5=10并打印。
2010信息工程学院C语言2期末试卷(A)
杭州电子科技大学信息工程学院考试试卷(A)卷考试课程计算机应用基础与程序设计(C语言)2考试日期2010年6月日成绩课程号教师号任课教师姓名考生姓名学号年级专业说明: 请将全部答案都书写在第5页答题纸上,否则答题无效。
试题一、判断题 (共10分) (用‘√’或‘×’标注对错)1.main函数必须写在一个C程序的最前面。
×2.定义函数时,可以有返回值,也可以无返回值。
√3.在调用函数时,实参传值给形参,调用结束时,形参值传给实参。
×4.a是一维数组名,数组元素a[1]还可以写作“*a++”。
×5.若有定义“int a[3][4];”,则在数组元素a[2][2]前有10个元素。
√6.有定义语句“char str1[ ]="Hello",str2[ ]={'W','o','r','l','d'};”,则数组str1和str2都有5个元素。
×7.有数组定义int a[3][3]={{1},{2,3}};,则a[2][2]的值为0。
√8.已知宏定义 #define S(a,b) a-b,执行语句 printf("%d",SQ(5+6,3+4));后的输出结果是4×。
9.设有说明struct stud { char num[8];char name[10];int score[4];};,stud只是一个类型名,系统没有为它分配存储空间。
√10.若有定义:char ch,*p=&ch;,通过指针p给变量ch读入字符的scanf函数调用语句是scanf(“%c”,p);√试题二、单选题,根据题目从A、B、C、D中,选择一个正确的选项(共30分)1.C语言程序中,当调用函数时( A )。
A. 实参和形参各占一个独立的存储单元B. 实参和形参可以共用存储单元C. 可以由用户指定是否共用存储单元D. 由计算机系统自动确定是否共用存储单元2.在C程序中,若对函数类型未加说明,则函数的隐含类型为( A )。
C语言A
《C 语言程序设计》试卷 共10页 第1页 《C 语言程序设计》试卷 共10页 第2页安徽师范大学皖江学院2010-2011学年第二学期2010级信息管理专业《C 语言程序设计》期末考试试卷(A )(时间 120分钟,答案一定要写在答题纸上)1.下列C 程序用户标识符中正确的一组标识符是 ( )A)void B)as_b3 C)For D)2c define _123 -abc DO WORD If case SIG 2.以下叙述中正确的是( )A) a 是实型变量,C 允许进行以下赋值a=10,因此可以这样说:实型变量允许赋值整型值。
B) 在赋值表达式中,赋值号左边既可以是变量也可以是任意表达式。
C) 执行表达式a=b 后,在内存中a 和 b 存储单元中的原有值都将被改变,a 的值已由原值改变为b 的值, b 的值由原值变为0。
D) 已有a=3,b=5。
当执行了a=b;b=a; 之后, a 中的值为5,b 中的值为3。
3.c 语言中运算对象必须是整型的运算符是( )A )% B) / C ) ! D ) *4.若有代数表达式bcae3,则不正确的c 语言表达式是( )A )a/b/c*e*3B )3*a*e /b/cC )3*a*e /b*cD )a*e/c /b *3 5.下列运算符中优先级最高的运算符是( )A) ! B ) % C ) -= D )&&6.若变量已正确说明,要求用以下语句:scanf(“ a=%f,b=%f ”,&a,&b);给a 赋予3.12,给b 赋予9.0,则正确的输入形式是(Ц代表空格,CR 代表回车) ( ) A) 3.12ЦЦ9.0<CR> B) a=ЦЦ3.12b=ЦЦЦ9<CR> C) a=3.12,b=9<CR> D) a=3.12ЦЦ,b=9ЦЦЦЦ<CR>7. 以下选项中不是C 语句的是( )A){int i ; i++; printf(“%d\n ”,i);} B);C)a=5,c=10 D){ ; } 8.若有以下程序段,c3中的值是( )int c1=1,c2=2,c3; c3=c1/c2;A)0 B)1/2 C)0.5 D)19.为了避免在嵌套的条件语句if-else 中产生二义性,c 语言规定:else 子句总是与( )配对。
南京信息工程大学2009-2010(1)C语言期末考试试卷A(后附答案)
南京信息工程大学试卷2009 - 2010 学年第 1学期程序设计基础/C语言程序设计课程试卷( A 卷) 本试卷共 9 页;考试时间 120分钟;任课教师;出卷时间 2010 年 1月学院专业2009 年级班学号姓名得分一、单项选择题 (每小题 1分,共 12分)1.一个C程序的执行是从A.本程序的main函数开始,到main函数结束B.本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C.本程序的main函数开始,到本程序文件的最后一个函数结束D.本程序文件的第一个函数开始,到本程序main函数结束2.下面四个选项中,均是不合法的用户标识符的选项的是A. A p_o doB. float lao _AC. b-a while intD. _123 temp INT3.表达式18/4*sqrt(4.0)/8值的数据类型为A.floatB. charC.doubleD.不确定4.设有如下定义struct ss{ char name[10];int age;char sex;}std[3],*p=std;下面各输入语句中错误的是。
A.scanf("%d",&(*p).age); B.scanf("%s",&);C.scanf("%c",&std[0].sex); D.scanf("%c",&(p->sex));5.有如下定义:int a[3][4]={1,3,5,7,9,11,13,15,17,19,21,23},(*p)[4];下面表示正确的是A.p=a[0]; B.p=*a;C.p=&a[0][0]; D.p=a;6.能正确表示“当x的取值在[1,10]和[200,210]范围内为真,否则为假”的表达式是。
A.(x>=1) && (x<=10) && (x>=200) && (x<=210)B.(x>=1) | | (x<=10) | | (x>=200) | | (x<=210)C.(x>=1) && (x<=10) | | (x>=200) && (x<=210)D.(x>=1) | | (x<=10) && (x>=200) | | (x<=210)7.以下程序段的循环次数是。
C语言期末试卷(附答案)
}
p ri n tf ( “% d\ n ” ,a ) ;
}
6. 若下列程序运行时的输入是:1⊔2⊔3⊔4⊔5⊔6⊔7⊔8⊔9⊔10⊔11⊔12⊔13⊔14⊔15⊔16↵ (⊔表示空格 键,↵ 表示回车键),则程序执行后的输出是 (32)
double a2(int (*p)[4],int n) {
int i; double sum=0; p =p +n ;
{ static int j=1; j*= ++ n+ m-- ;
return j;
}
void main(void)
{ int k;
for(k= 0 ;k <5 ; k+ +) printf( “%3d”, fun(k++, k++)+k++);
} 5. 下列程序执行后的输出是
(3 1 )
#i nc lu d e< st di o. h >
2. 用 extern 关键字说明引用一个外部对象,其本质是: (18) 。 扩大被说明对 象的作 用域
3. 对于 printf(“Hello, world\n” );这样的函数调用,printf 函数实际接收到的实参 是 (19) 。指向这个 字符串的指针
4. 库函数 strcpy 的原型说明是: (20)
}
3. 下列程序执行后的输出是
(29) 。
#inc lude <s tdio. h> void sw ap(float x,float y)
{ int z; z=x , x=y, y=z;
} void fsw ap( void (*f)(float x,float y),float *x,float *y) {
河北农业大学2009-2010现科,C语言期末考试真题及答案
河北农业大学课程考试试卷2009 – 2010 学年 第 2 学期 学院 现科专业 卷别: A考试科目: C 语言程序设计 考核方式: 闭卷姓 名: 学号: 专业班级: (注:考生务必将答案写在答题纸上,写在本试卷上无效)本试卷共(4)页一、 单选题。
(共30分)1. (1分)有程序段:int x, y;scanf(“%d , %d ”,&x , &y); printf(“%d ” , (x , y)); 若输入3 ,5,则printf 语句()。
A 、输出5B 、输出3C 、输出3,5D 、编译出错2. (1分)C 语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是()。
A 、地址传递B 、单向值传递C 、由实参传给形参,再由形参传回实参D 、由用户指定传递方式3. (1分)若x 为float 型变量,则以下语句( )x=213.82631;printf(“%4.2f\n”,x);A 、 输出格式描述符的域宽不够,不能输出B 、 输出为213.83C 、 输出为213.82D 、 输出为-213.824. (1分)下列说法中错误的是()。
A 、 一个数组只允许存储同种类型的变量B 、 如果对数组进行初始化时,给定的数据元素个数比数组元素个数少时,多余的数组元素会被自动初始化为最后一个给定元素的值。
C 、 数组的名称其实是数组在内存中的首地址D 、当数组名作为参数被传递给某个函数时,原数组中的元素的值可能被修改5. (1分)变量的指针,其含义是指该变量的( )A 、值B 、地址C 、名D 、一个标志6. (1分)以下不正确的说法是()。
A 、在不同函数中可以使用相同名字的变量B 、形式参数是局部变量C 、在函数内定义的变量只在本函数范围内有效D 、在函数内定义的变量在本函数和main 函数内都有效7. (1分)已知int i,j,k;scanf(“%d%d%d ”,&i,&j,&k); ,若从键盘输入i 、j 、k 的值分别为1、2、3时,则错误的输入方式为( ) A 、 1,2,3 B 、1(回车)2(回车)3(回车)C 、 1 空格2空格 3(回车)D 、1(回车)2 空格3(回车)8. (1分)一个C程序的执行是从()A、main函数开始,直到main函数结束B、第一个函数开始,直到最后一个函数结束C、第一个语句开始,直到最后一个语句结束D、main函数开始,直到最后一个函数结束9. (1分)给出如下定义:char str1[ ]=”Hello”; charstr2[ ]={…H‟,‟e‟,‟l‟,‟l‟,‟o‟};则正确的叙述为()A、数组str1和数组str2等价B、数组str1和数组str2的长度相同C、数组str1的长度大于数组str2的长度D、数组str1长度小于数组str2的长度10. (1分)有变量定义int x=0,y=0; 则执行以下语句后y的值是()。
2010信息工程学院C程序设计期末试卷(A)
13. 下列各语句序列中,能够将变量u、s中最大值赋值到变量t中的是()。
A. if(u>s)t=u; t=s;B. t=s; if(u>s)t=u;C. if(u>s)t=s; else t=u;D. t=u; if(u>s)t=s;14. 若有定义语句:int a[10];则下列对a中数组元素正确引用的是()。
A. a[10/2–5]B. a[10]C. a[4.5]D. a(1)15.下列程序段的运行结果为()。
char s[]="ab\0cd"; printf("%s",s);A. a b0B. abC. AbcdD. ab cd16.有数组的定义char a[20];则正确的输入语句为()。
A. scanf("%s",&a);B. scanf("%s",a[]);C. gets(a[20]);D. gets(a);17.对下面函数f,选出f(f(3))的值是()。
int f(int x){static int k=0;x+=k--;return x;}A. 5B. 3C. 2D. 418.程序中调用了库函数strcmp,必须包含头文件()。
A. stdlib.hB. math.hC. ctype.hD. string.h19.设结构体类型及结构数组定义如下,则下面正确的表达式是( )。
struct student {int num;char name[20];float score;} stud[10];A) stud[2]=stud[1]+3 B) stud[1]==stud[2]C) stud[1]=stud[1]-stud[2] D) stud[1]=stud[2]20. 若变量已经被正确定义,则下面语句不正确的是( )。
A) p=&(x+1); B) p=&x;C) p=&x+1; D) p=&x,p++;三、读程序写出程序执行结果(共20分)1.#include "stdio.h"void main(){int a,b,c;a=10;b=20;c=(a%2==0)?a:b;printf("c=%d\n",c);} 2. #include "stdio.h"void main(){int x,k=2;x=5/k+1;printf("x=%d\n",x);}3.#include<stdio.h>void main(){ int x,y=0;scanf("%d",&x); // 输入3switch(x+1){ case 1: y+=1; printf("%d#",y);break;case 3: y+=3; printf("%d#",y);case 5: y+=5; printf("%d#",y);break;default: y+=7; printf("%d#",y);}}4. #include <stdio.h>void main(){int n[3],i,j,k;for(i=0;i<3;i++)n[i]=0;k=4;for(i=0;i<k;i++)for(j=0;j<3;j++)n[j]+=n[i]+1;for(i=0;i<3;i++)printf(“%5d”,n[i]);}5.#include<stdio.h>void main ( ){int x [ ][4] = { 1, 2 ,3 , 4 ,2 , 3 , 4 , 5 , 3 , 4 , 5 , 6};int i,j, sum ;for(sum=0,i=0; i<3 ; i++){for (j = 0; j<4 ;j ++ )if ( i-j ) sum += x [ i ] [ j ] ;printf ("\n sum=%5d " , sum ) ;}}四、程序填空,按程序的功能,在划线部分填写适当的内容。
C语言》期末考试试卷( B卷与参考答案 )
2010~2011学年度第一学期10级《C语言》期末考试试卷(B卷与参考答案)班级1011计网学号姓名总分(适用班级:1011计网)(考试形式:闭卷时间:90分钟)一、选择题(每题2分,共60分)1、C语言程序的基本单位是( C )A) 程序行B) 语句C) 函数D) 字符2、C语言程序的三种基本结构是( A )A、顺序结构,选择结构,循环结构B、递归结构,循环结构,转移结构C、嵌套结构,递归结构,顺序结构D、循环结构,转移结构,顺序结构3、C语言可执行程序的开始执行点是( C)A) 程序中第一条可执行语句B) 程序中第一个函数C) 程序中的main函数D) 包含文件中的第一个函数4、C语言中,运算对象必须是整型数的运算符是( A )A) % B) \ C) %和\ D) * *5、C语言中数组下标的下限是( B )。
A、1B、0C、视具体情况D、无固定下限6、C语言中最简单的数据类型包括( B )A) 整型、实型、逻辑型B) 整型、实型、字符型C) 整型、字符型、逻辑型D) 整型、实型、逻辑型、字符型7、x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是( B )A) input x,y,z; B) scanf("%d%d%d",&x,&y,&z);C) scanf("%d%d%d",x,y,z); D) read("%d%d%d",&x,&y,&z);8、表达式:10!=9的值是( D )A) true B) 非零值C) 0 D) 19、表示关系x<=y<=z的c语言表达式为( A)A) (X<=Y)&&(Y<=Z) B) (X<=Y)AND(Y<=Z)C) (X<=Y<=Z) D) (X<=Y)&(Y<=Z)10、下列运算符其优先级最高的是( C)。
西安邮电2010-2011第一学期C语言期末试卷
一、选择题。
5.以下能对二维数组a进行正确初始化的是 A 。 A.int a[ ][3]={{1,2,3},{4,5,6}};
B.int a[2][4]={1,2,3},{{4,5},{6}};
C.int a[2][ ]={{1,0,1},{5,2,3}};
D.int a[ ][3]={{1,0,1},{},{1,1}};
10-11-1C语言程序设计I
四、基础编程题。
#include <stdio.h> 2. 已知四位数3025具有一个特殊性质:它的 main() 前两位数字30与后两位数字25之和是55, { 而55的平方正好等于其本身3025。编写程 int x,m,n,y; printf(“The up to standard number is :\n"); 序列举出具有这种性质的所有四位数。 for(x=1000;x<=9999;x++) { m=x%100; n=x/100; y=(m+n)*(m+n); if(x==y) printf("%d\n",x); } }
五、应用编程题。
#include <stdio.h> 1. 已知一个整型数组a[10]={21, 18, 10, 7, 5, 1}递减 main() { 有序,试编写一个程序,将键盘输入的任意一个 int a[10]={21, 18, 10, 7, 5, 1}; int x,i,count=6; 整数插入到数组a中的适当位置,仍然保持其有序 printf("please input x:"); 性。若对数组进行排序操作,按零分计。 scanf("%d",&x); for(i=count-1;i>=0;i--) { if(x>a[i]) a[i+1]=a[i]; else break; } a[i+1]=x; count++; printf("After inserting is :"); for(i=0;i<count;i++) printf("%d ",a[i]); printf("\n"); } 10-11-1C语言程序设计I
2010C程序设计期末试卷
2010C程序设计期末试卷B、若变量已正确定义,表达式x + y = z是⼀个合法的赋值表达式。
C、do-while语句先执⾏循环体,后判断循环条件,所以循环体⾄少会执⾏⼀次。
D、不同类型的变量在内存中占⽤存储空间的⼤⼩不⼀样。
16. char *s[ ]={"first","second","third"};printf("%s,%s,%c\n", s[0], s[1]+1,*s[2]);A、f irst,second,*thirdB、first, econd+1,*thirdC、first, econd, *tD、first, econd, t试题⼆、按题⽬的意思,写出正确的内容。
(共12分)1.C程序中的“真”和“假”是如何表⽰?2.读程序,回答问题#include#define MAX 7void main( ){ int i,a[MAX]={5,8,-7,5,3,0,7},c;for(i=0;i{ c=a[i]; /* 第8⾏*/a[i]=a[MAX-i-1];a[MAX-i-1]=c; /* 第10⾏*/}for(i=0;i}问题1.程序运⾏后的输出结果为是:。
问题2.将for循环中的i问题3.删除第8⾏,将第10⾏a[MAX-i-1]=c改为a[MAX-i-1]=a[i],for循环中仍然是i3.定义⼀个可以表⽰⽇期(年、⽉、⽇)的结构体数据类型date,并⽤该类型定义⼀个变量z同时为变量初始化,初始化年、⽉、⽇的值分别2007、6、28。
4.写出调⽤函数g(4)的输出结果。
return n;else return g(n-2)+g(n-1);}试题三、读程序写出程序执⾏结果(共24分)1. 阅读下列程序,并写出程序执⾏结果。
#includeint f(int m, int n){ int c= 0;for( ; m != 0 ; m=m/10 ){if(m%10 == n) c++;}return c;}void main( ){printf("%d#", f(30303, 0));printf("%d#", f(21212, 3));}2.阅读下列程序,并写程序执⾏结果。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2.一个 C 程序的执行是从()(A) 本程序的main函数开始倒main函数结束(B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束(C) 本程序的main函数开始倒本程序文件的最后一个函数结束(D) 本程序文件的第一个函数开始,到本程序main函数结束3. C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符()。
A) 必须为字母B)必须为下划线C必须为字母或下划线D)可以是字母、数字和下划线中任一种字符4•设有定义:intm=1,n=-1;则执行语句printf("%d\n",(m--&++n);后的输出结果是(A)-B)0C)1D)25. 表达式11&10 的结果用二进制表示为()。
A)11B)3C)1D)106•设有语句inta=3则执行语句a+=a-=a*a后,变量a的值是()。
(A)3(B)0(C)9(D)-127. 在下列选项中,不的赋值语句是()。
A)t/=5;B)n1=(n2=(n3=0));C)k=i==j;D)a=b+c=1;8. 下列()表达式不满足:当x 的值为偶数时值为"真",为奇数时值"假"。
A)X%2==0B)!x%2!=0C)(x/2*2-x)==0D)!(x%2)9•若有定义:int a=8, b= 5, c;执行语句c=a/b+0.4后c的值为()A) 1.4B)1C)2.0D)210. 假设a=3,b=4,c=5则逻辑表达式:!(a+b)+c-1&&b+c/2 的值是()。
A)trueB)falseC)0D)111. 若inta=3,b=4则执行c=a++>2||b-->=4之后,b变量的值为()。
A)3B)0C)4D)212. 以下哪个表达式的值为4()A)B)11.C)(flaot)D)(int)(11.+0.5)13. 若变量a,i 已经正确定义,且i 已经正确赋值,合法的语句是()A) a==1B) ++iC)a=a++=5D)a=i (nti) )。
14.以下程序的输出结果是()int a=1234;printf ("%2d",a);A) 12B) 34C)1234D提示错误,无结果15. 设x,y分别为单精度和双精度类型变量,则下列选项()可将表达式的运x+y 算结果强制转换为整型数据。
A)(int)x+yB)int(x)+yC)int(x+y)D)(int)(x+y)16. 当a=3,b=2,c=1时,表达式f=a>b>c执行完后f的值是()A)1B)0C)3D)217. 若x=2,y=1,则表达式x>y?1:1.5的值为()A)1B)1.5C)1.0D)218. 在位运算中,操作数每左移一位,其结果相当于()A)操作数乘以2B)操作数除以2C操作数乘以4D)操作数除以419. 在位运算中,某操作数右移3位,其结果相当于()A)操作数乘以6B)操作数除以6C操作数乘以8D)操作数除以820•在C语言中,若以下变量均为int型,则下面程序段的输出结果是 ()。
s=6,u=6;u=s++;u++;printf("%d",u);A)7B)6C)5D)421. 若有定义:intx,y;chara,b,c;并有以下输入数据:x=12ABC<CR>则能给x 赋整数1,给赋整数2,给a赋字符A,给b赋字符B,给c赋字符C的程序段是()A) scanf("x%dy=%d",&x,&y);a=getch();b=getch();c=getch();B) scanf("x=%d%d",&x,&y);a=getch();b=getch();c=getch();C) scanf("x=%d%d%c%c%c",7x,&y,&a,&b,&c);D) scanf("x=%d%d%c%c%c%c%c",&x,&y,&a,&b,&b,&c,&c);22. 如下程序:#include<STDIO.H>voidmain(){intm,n,k;m=(n=4)+(k=10-7);printf( “m=n%”d,m);}运行后m 的值为()(A) 4(B)3(C)7(D)1423. 结构化程序的三种基本结构是()。
(A)顺序结构、选择结构、循环结构(B)递归结构、循环结构、转移结构(C嵌套结构、递归结构、顺序结构(D)循环结构、转移结构、顺序结构24. 有如下程序main(){floatx=4.0,y;if(x<0.0)y=0.0;elseif(x<10.0)y=1.0/x;elsey=1.0;printf( “n%”f,y);}该程序的输出结果是()A)0.0B)0.25C)0.5D)1.025. 设inta=0,b=5,c=2选择可执行x++的语句是()。
(A)if(a)x++( B)if(a=b)x++;(C)if(a=<b)x++;( D) if(!(b-c))x++;26•下列程序段运行后,x的值是()。
inta,b,c,x;a=b=c=0;x=35;if(!a)x--;elseif(b);if(c)x=3;elsex=4;A)3B)4C)34D)3527. 若要求在if 后一对圆括号中表示a 不等于0 的关系,则能表示这一关系的表达式为A)a<>0B)!aC)a=0D)a28. 若N 为整型变量,则for(N=10;N=0;N--);循环里的循环体被()。
A)无限循环B)执行10次C执行一次D)—次也不执行29. 下列程序段运行后i 的值是()。
inti=10switch(i+1){case10:i++;break;case11:++i;case12:++i;break;default:i=i+1;}A)11B) 13C)12D)1430. 以下程序的输出结果为()。
#include<stdio.h>main(){inti;for(i=0;i<10;i++); printf("%d",i);}(A)0(B)123456789(C)0123456789(D)1031. C语句for(;;){是指}()o(A)无意义(B)无限循环(C循环执行1次(D)循环执行0次32. 有如下程序main(){intx=1,a=0,b=0;switch(x){case0:b++;case1:a++;case2:a++;b++;}printf( “ a=%d,b=n%”d,a,b);}该程序的输出结果是()A) a=2,b=1B) a=1,b=1C) a=1,b=0D) a=2,b=233. 如果程序中有#inelude"文件名"则意味着()。
(A) 将"文件名”所指的该文件的全部内容,复制插入到此命令行处。
(B) 指定标准输入输出(C)宏定义一个函数(D)条件编译说明34. 要将一个整数12000分别以ASCII码文件和二进制文件形式存放,各自所占的存储空间数分别是()字节。
A)5 禾口2B)2 禾口5C)2禾口2D)5禾口535. 在下面关于一维数组的定义中,其中()有语法错0。
A)intx[]={1,2,3,4,5};B)intx[5]={0};C)intx[];D)intx[5];36. 设有字符数组a,则的输入语句是()。
(A)gets(''a'');(B)scanf("%c",a);(C)scanf("%s",a);(D)gets("a");37. 函数调用“ strcat(strcpy(str1,st⑵,str3)的功能是()。
”(A) 将字符串str1复制到字符串str2后再连接到字符串str3之后(B) 将字符串str1连接到字符串str2后再复制到字符串str3之后(C) 将字符串str2复制到字符串str1后再将字符串str3连接到str1之后(D) 将字符串str2连接到字符串str1后再将str1复制到字符串str3中38. 定义如下变量和数组:inti;intx[3][3]={1,2,3,4,5,6,7,8,9};则下面语句的输出结果是()。
for(i=0;i<3;i++)printf("%d",x[i][2-i]);A)159B)147C)357D)36939. C语言中,以下叙述中错误的是()。
A)主函数中定义的变量是全局变量B)同一程序中,全局变量和局部变量可以同名C)全局变量的作用域从定义处开始到本源程序文件结束D)局部变量的作用域被限定在其所定义的局部范围中40. C语言中,函数调用时若实参是数组名,则被调函数对应形参()。
A)可以是相应类型简单变量B)必须是相应类型数组名C)可以是相应类型数组名D)必须是相应类型的指针变量41. 在下面C语言的函数说明语句中,的是()。
A)intfun(int,int);B)intfun(intx,y);C)intfun(x,y);D)intfun(intx;inty);42. 若要用fopen 函数打开一个新的二进制文件,该文件要既能读也能写,则文件读写方式字符串应是()。
A)”a+”)B”r+ ”)C”wb+”)D”ab”43. C语言中规定,简单变量做实参时,它和对应形参之间的数据传递方式是()。
(A)地址传递(B)单向值传递(C)有实参传给形参,再由形参传回给实参(D)由用户指定传递方式44. 已知:int*p;使用“ p=malloc(sizeof(int))语句动态”请int型的存储单元,应当使用()。
A) intB) int*C) (*int)D) (int*)45. 在C 函数中,局部变量的隐含存储类型是()(A)auto(B)static(C)register(D)extern46. 有定义:intx,*p; ,能使指针变量p 指向变量x 的语句是()。
A)*p=&x;B)p=&x;C)*p=x;D)p=*&x;47. 有定义:intx,y=10,*p=&y; ,则能使得x 的值也等于10 的语句是()。
A)x=p;B)x=&p;C)x=&y;D)x=*p;48. 有定义:int*p1,*p2; ,则的赋值语句为()。