欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    精心打造东北大学近四C语言理论考试试题及答案.doc

    • 资源ID:4117887       资源大小:75.50KB        全文页数:23页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    精心打造东北大学近四C语言理论考试试题及答案.doc

    精心打造东北大学近四年C语言理论考试试题及答案!会有用的。东北大学C语言期末考试题及答案(1)1、构成C语言的基本单位是_B_。过程函数语句命令2、设x为整型变量,不能正确表达数学关系:5<x<10的c语言表达式是_B_。 5x>5&&x<10x=6|x=7|x=8|x=9!(x<=5)&&(x<10)3、在C语言中,逻辑运算符的优先级从高到低的排列顺序为_D_。&&、|、!|、&&、!&&、!、|!、&&、|4、下面语句中,正确的是_D_。printf("%cn","student");printf("%cn","c");printf("%sn",&a);printf("%sn","hello");5、对于for(表达式1;表达式3)可以理解为_B_。for(表达式1;0;表达式3)for(表达式1;1;表达式3)for(表达式1;表达式1;表达式3)for(表达式1;表达式3;表达式3)6、执行下面程序段的结果是_B_。 main() int x=1,a=0,b=0; switch(x) case 0:b+; case 1:a+; case 2:a+;b+; printf("a=%d,b=%d",a,b); a=1,b=1a=2,b=1a=1,b=0a=2,b=27、执行下面程序段的结果是_D_。 int x=0; do printf(“-”,x-); while(x);打印出321打印出23不打印任何结果陷入死循环8、设x=10,y=5;z=15,执行下面一段程序后z的结果是_C_。 If(x>y) if(y>z)x=y; else z=y;76549、如果一个函数被说明为static,那么_B_。该函数只能被main函数调用该函数能被当前文件的函数调用,但不能被其他文件的函数调用 该函数不能被当前文件的函数调用,可以被其他文件的函数调用 任何文件的函数都可以调用该函数10、下面关于局部变量的描述中,错误的是_D_。函数的局部变量的有效范围只能在本函数函数的形式参数也是局部变量局部变量的名称不能和函数同名称不同的函数中不能定义相同名称的局部变量11、下列初始化字符数组的语句中,错误的是_A_。char str5="hello"char str=h,e,l,l,o,0;char str5="hi"char str100=""12、引用数组元素时,数组下标可以是_D_。整型常量整型变量整型表达式以上均可13、 已知:char str10,*p=str; 下面的语句中正确的是_B_。 str="ABC"p="ABC"*str="ABC"*p="ABC"14、下面语句中,错误的是_D_。int i;int *p;p=&i;int i,*p;p=&a;int i,*p=&a;int i,*p;*p=i;15、下面对于结构体类型的描述正确的是_A_。结构体类型的大小为各成员变量所占结构体类型的大小为其最后一个成员中所占内存空间的大小16、C语言规定:在一个源程序中,main函数的位置_C_。 必须在最开始必须在系统调用的库函数的后面可以任意必须在最后17、表达式18/4*sqrt(4.0)/8值的数据类型是 _C_。intfloatdouble不确定18、在c语言中,char型数据在内存中的存储形式是 _D_。补码反码原码ASCII码19、阅读以下程序,当输入的数据形式为:25,13,10<CR>时,正确的输出结果为_D_。 main() int x,y,z; scanf("%d%d%d",&x,&y,&z); printf("x+y+z=%dn",x+y+z); x+y+z=48x+y+z=35x+z=35不能确定20、有如下程序 void main() float x=2.0,y; if(x<0.0) y=0.0; else if(x<10.0) y=1.0/x; else y=1.0; printf(“%fn”,y); 该程序的输出结果是( C )。 0.0000000.2500000.5000001.00000021、判断char型变量s是否为小写字母的正确表达式是_C_。a<=s<=z(s>=a)&(s<=z)(s>=a)&&(s<=z)(a<=s)and(z>=s)22、执行以下语句后,y 的值为_A_。 int x,y,z; x=y=z=0; +x | +y && +z; 012不确定值23、有如下程序段: int number=0; while(number+<=3) printf(“%dn”,number+); 则正确的执行结果是_C_。2 3 40 1 21 32 424、有如下程序 void main() int n=9; while(n>6) n-; printf(“%d”,n); 该程序段的输出结果是_B_。9878768765987625、要使以下程序段输出10个整数,请在空格中填入一个整数。for(i=0;i<=_B_;printf("%dn",i+=2);1518201026、设函数fun的定义形式为: fun(char ch,float x) 则以下对函数fun的调用语句中正确的是_B_。fun(“abc”,3)t=fun(D,5)fun(ab,3)fun(78,1)27、函数求sum(int n)的功能是计算自然数1到n的和,即1+2+n。 Main() printf("The sum=%dn",sum (10); int sum(int n) int s=0,i; for(i=0;i<=n;i+) _B_ 请从备选答案中选择一答案,补全程序。s=s+n;return s;s=s+i;return s;return s;return s+=I;28、设函数fun的定义形式为 int fun(int a,int n) int s=0,i=0;for(i=0;i<n;i+)s+=ai; return s; main() int a10=1,2,3,4,5;printf("sum=%d", fun(&a2,2); 则程序的运行结果为_C_。357929、若有说明:int a10;则对数组元素的正确引用是_D_。a10a3,5a(5)a10-1030、以下不正确的定义语句是_B_。double x5=2.0,4,0,6,0,8,0,10.0;int y5=0,1,3,5,7,9;char c1=1,2,3,4,5;char c2=x10,xa,x8;31、下面程序的运行结果是_B_。 #include "stdio.h" main() char str="SWLIA",c; int k; for(k=0;(c=strk)!=0;k+) switch(c) case I:+k;break; c SWASW*SW*ASW32、以下能正确进行字符串赋值操作的是_D_。char s5="12345"char s5=1,2,3,4,5,6;char *s;*s="12345"char *s="12345"33、以下程序段的运行结果是_C_。 Char a ="program", *p; p=a; while (*p!=g) printf("%c", *p-32); p+; PROgramPROGRAMPROproGRAM34、若有说明:char *pc ="aaa", "bbb", "ccc", "ddd",则以下叙述正确的是_C_。 *pc0代表的是字符串"aaa"的首地址*pc0代表的是字符a的首地址pc0代表的是字符串"aaa"的首地址pc0代表的是字符a的首地址35、下列程序的运行结果是_B_。 #include <stdio.h> #include <string.h> void f (char *s, int n) char a,*q1,*q2; q1=s;q2=s+n-1; while(q1<q2) a=*q1+; *q1=*q2-; *q2=a; main() char b="ABCDEFG" f(b, sGAGGAGAAGAAGAGGFEDCBAAGADAGA36、定义如下的结构体描述同学信息 struct Student unsigned long id; char name30; char class30; s; 假设此同学的序号为1002,姓名为黎明,班级为冶金班,则描述正确的为_C_。id=1002; name=黎明; class=冶金班;id=1002; name=”黎明”; class=”冶金班”;s.id=1002; s.name=“黎明”; s.class=”冶金班”;s.id=1002; s.name=黎明; s.class=冶金班;37、用来描述C程序中注释的是_C_。/ *38、下列变量中合法的定义是_A_。short _a=2-1long if=0xabcLdouble 1_d=1.5e2float a=1.5e2.739、当c的值不为0时,能够将c的值赋给变量a和b的是_C_c=b=a(a=c)|(b=c)(a=c)&&(b=c)a=c=b40、设有以下程序段,执行后的输出结果是_B_ int x=100,y=200; printf("%d",(x,y);100200100,200编译出错东北大学C语言期末考试题及答案(2)1、若执行下面的程序时从键盘输入10,则输出是_B_ main( ) int a; scanf(“%d”,&a); if(a+>10) printf(“%dn”,+a); else printf("%dn",a-); 12111092、执行下面程序段的结果是_D_ int x=0; do printf(“%2d”,x-);(x);打印出321打印出23不打印任何结果陷入死循环3、执行与句:for(n=0;n+<4; ); 后,变量n的值是_C_。345不定4、以下关于循环的描述中,错误的是_D_。可以用for语句实现的循环一定可以用while语句实现可以用while语句实现的循环一定可以用for语句实现可以用dowhile语句实现的循环一定可以用while语句实现dowhile语句与while语句的区别仅仅是关键字while的位置不同5、下面的描述错误的是_C_。函数可以有多个形式参数函数可以没有返回值函数 while8、定义了int型二维数组a67后,数组元素a34前的数组元素个数为_B_。 242518179、下面语句中,错误的是_D_。int i; int *p; p=&i;int i,*p; p=&a;int i,*p=&a;int i,*p; *p=i;10、 已知int型二维数组a34,数组元素a12的地址不能表达为_C_。 &a12a1+2*a1+2*(a+1)+211、C语言中,5种基本数据类型的存储空间长度的排列顺序为_A_。charchar=intcharchar=int=long int<=float12、假设所有变量均为整型,则表达式(a=2,b=5,b+,a+b)的值是 _B_。786213、若有说明语句:char c=72;则变量c _A_。包含1个字符包含2个字符包含3个字符说明不合法,c的值不确定14、若x,y均定义为整型,z定义为double型,以下不合法的scanf函数调用语句是_C_。 scanf("%d%lx,%le",&x,&y,&z);scanf("%2d * %d%lf",&x,&y,&z);scanf("%x%*d%o",&x,&y,&z);scanf("%x%o%6.2f",&x,&y,&z);15、若输入字符串:abcde<回车>,则以下while循环体将执行_A_次。while(ch=getchar()=e) printf("*");1次死循环0次5次16、执行下面的程序段后,k的值是_C_。 k=1;n=263; dok*=n%10;n/=10;while(n); 36336217、下面程序段中循环的执行次数是_B_。 a=10;b=0; dob+=2;a-=2+b;while(a>=0); 1035418、下面程序段的运行结果是_D_。 x=2; doprintf("*");x-;while(!x=0); *没有输出*19、下面程序段的运行结果是_B_。 i=1;s=1;a=0;doa=a+s*i;s=-s;i+;while(i<=10); printf("%d",a);2-23 20、有如下程序 void main() int a=2,b=-1,c=2; if(a) if(b<0) c=0; else c+; printf("%dn",c); 该程序的输出结果是_A_。 12321、程序中对fun函数有如下说明 void fun(); 下面说明是错误的是_B_。 fun函数无返回值fun函数的返回值可以是任意的数据类型fun函数没有形式参数void 可以省略22、函数求sum(int n)的功能是计算自然数1到n的和,即1+2+n。 main() printf("The sum=%dn",sum (10); int sum(int n) int s=0,i; for(i=0;i<=n;i+) _B_ 请从备选答案中选择一答案,补全程序。s=s+n; return s;s=s+i; return s;return s;return s+=i;23、 有以下程序 int f1(int x,int y)return x>y?x:y; int f2(int x,int y)return x>y?y:x; main() int a=4,b=3,c=5,d=2,e,f,g; e=f2(f1(a,b),f1(c,d);f=f1(f2(a,b),f2(c,d); g=a+b+c+d-e-f; printf()_A_4,3,73,4,75,2,72,5,724、若有说明:int a3=1,2,3,4,5,6,7;则数组a第一维的大小是_B_。 234无确定值25、判断字符串s1是否大于字符串s2,应当使用_D_。if(s1>s2)if(strcmp(s1,s2)if(strcmp(s2,s1)>0)if(strcmp(s1,s2)>0)26、当运行以下程序时,从键盘输入:AhaMA Aha<CR> <CR>表示回车,则下面程序的运行结果是_A_。 #include "stdio.h" main() char s80,c=a; int i=0; scanf("%s",s); while(si!=0) if(si=c)ahAMaAhAMaAhAMa ahAahAMa ahA27、以下程序执行后a的值为_C_。 main( ) int a,m=2, k=1, *p=&k; a=p!=&m; printf("%dn",a); -1 1228、以下能正确读入字符串的程序段是_C_。char *p;scanf("%s", p);char str10;scanf("%s", &str);char str10, *p;p=str; scanf("%s", p);char str10, *p=str;scanf("%s", p1);29、若有定义:int i, x34;,则不能将x11的值赋给变量i的语句是_B_。 i=x11i=*(*(x+1)i=*(*(x+1)+1)i=*(x1+1)30、下面程序的运行结果是_A_。 # include <stdio.h> # include <string.h> fun(char *s) char t,*a,*z; a=s; z=s+strlen(s)-1; while(a+<z-) t=*a+; *a=*z-; *z=t; main() char *p; p="aabdddfgafcdebggbedcfagfedcba31、用来描述C程序中注释的是_C_/ / * *32、对于"xyn102"字符串的长度是_B_76121333、已知:int x=10;执行语句x-=x+x;后x的值是_A_-1010-202034、下列描述中,正确的是_A_所有的输入/输出都是通过调用库函数处理的所有的输入/输出都是通过输入/输出语句实现的getchar和putchar可以省略#include在输入/输出格式中的*表示跳过数据的含义35、设x=10,y=5;z=15,执行下面一段程序后z的结果是_C_ if(x>y) if(y>z)x=y; else z=y;765436、执行下面程序段的结果是_D_ int x=0; do printf(“%2d”,x-); while(x);打印出321打印出23不打印任何结果陷入死循环37、以下关于switch语句和break语句的描述正确的是_D_在switch语句中必须使用break语句break语句只能用于switch语句体中break语句只能用于循环语句中在switch语句中可以使用break语句38、与语句while(!x)等价的语句是_A_while(x=0)while(x!=0)while(x!=1)while(x)39、下面的描述错误的是_C_函数可以有多个形式参数函数可以没有返回值函数内可以嵌套定义函数函数可以被其他函数调用40、 下面关于局部变量的描述中,错误的是_D_函数的局部变量的有效范围只能在本函数函数的形式参数也是局部变量局部变量的名称不能和函数同名称不同的函数中不能定义相同名称的局部变量东北大学C语言期末考试题及答案(3)1、 定义了一维int型数组a10后,下面错误的引用是_正确答案是:Ba0=1;a10=2;a0=5*2;a1=a2*a0;2、 设有定义:int a=1, *p=&a; float b=2.0; char c=A; ,以下不合法的运算是( ) 正确答案是:C*p+;a-;b+;c-;3、 若有定义:int x10, *p=x;,则*(p+5)表示( )正确答案是:B数组元素x5的地址数组元素x5的值数组元素x6的地址数组元素x6的值4、执行以下程序段后,y的值是( )。 int a =1, 3, 5, 7, 9 int x=0, y=1, *ptr; ptr=&a1; while (!x) y+=*(ptr+x); x+; 正确答案是:C124245、下面程序的运行结果是( )。 # include <stdio.h> void select(char *s) int i,j; char *t; t=s; for(i=0,j=0;*(t+i)!=0;i+) if(*(t+i)>=0&&*(t+i)<=9) *(s+j)=*(t+i); j+; *(s+j)=0正确答案是:DHPw19 &17HPw19 &1719176、对于下面语句描述不正确的为_ struct Student unsigned long id; char name30; char class30; oStu1;正确答案是:Bstruct Student为用户自定义类型Student为用户自定义类型name为结构体成员变量oStu1为结构体变量名称7、已知:char *pstr="abcd","efgh",*p=&pstr; 那么*(*(p+1)+1)的值为_ 正确答案是:Cbcfg8、 已知:int a5=0,1,2,3,4; int *p=a; 下面的表达式不可以用来表示a3的是_ 正确答案是:C*(a+3)*(p+3)*p+3p39、 strlen("A0B0C")的结果为_正确答案是:B 12310、 定义了int型二维数组a67后,数组元素a34前的数组元素个数为_ 正确答案是:B2425281711、 下面的描述错误的是_正确答案是:C函数可以有多个形式参数函数可以没有返回值函数内可以嵌套定义函数函数可以被其他函数调用12、 下面关于全局变量的描述中,错误的是_正确答案是:C所有在函数体外定义的变量都是全局变量全局变量可以和局部变量同名称全局变量第一次被引用时,系统为其分配内存全局变量直到程序结束时才被释放13、以下关于循环的描述中,错误的是_正确答案是:D可以用for语句实现的循环一定可以用while语句实现可以用while语句实现的循环一定可以用for语句实现可以用dowhile语句实现的循环一定可以用while语句实现do”while语句与while语句的区别仅仅是关键字while的位置不同14、 引用数组元素时,数组下标可以是_正确答案是:D整型常量整型变量整型表达式以上均可15、 已知:int a5=0,1,2,3,4; int *p=a; 下面的表达式不能用来表示a3的是_ 正确答案是:C*(a+3)*(p+3)*p+3p316、 已知:char str10,*p=str; 下面的语句中正确的是_正确答案是:Bstr="ABC"p="ABC"*str="ABC"*p="ABC"17、对于下面语句描述不正确的为_ struct Student unsigned long id; char name30; char calss30; oStu1;正确答案是:Bstruct Student为用户自定义类型Student为用户自定义类型name为结构体成员变量oStu1为结构体变量名称18、一个c程序的执行是从_正确答案是:A本程序的main函数开始,到main函数结束本程序文件的第一个函数开始,到本程序文件的最后一个函数结束本程序的main函数开始,到本程序文件的最后一个函数结束本程序文件的第一个函数开始,到本程序main函数结束19、若x、i、j和k都是int型变量,则计算下面表达式后,x的值为 _ x=(i=4,j=16,k=32)正确答案是:C416325220、若有定义:int a=7;float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是_正确答案是:A2.5000002.7500003.5000000.00000021、以下叙述中正确的是( )正确答案是:D输入项可以是一个实型常量,如scanf(“%f”,3.5);只有格式控制,没有输入项也能正确输入数据到当输入实型数据时,格式控制部分可以规定小数位数,例如:scanf(“%4.2f”,&f); 当输入数据时,必须指明变量地址,例如:scanf(“%f”,&f);22、以下程序输出结果是( )。 void main( ) int m=5; if(m+>5)printf(“%dn”,m); else printf(“%dn”,m-); 正确答案是:B765423、当执行以下程序段时( )。 x=-1; do x=x*x; while(!x);正确答案是:A循环体将执行一次循环体将执行两次循环体将执行无限次系统将提示有语法错误24、执行以下程序后,输出的结果是( )。 void main() int y=10; do y-; while(-y); printf(“%dn”,y-); 正确答案是:D-118 25、有如下程序 void main() int x=23; do printf(“%d”,x-); while(!x); 该程序的执行结果是( )正确答案是:B32123不输出任何内容陷入死循环26、有如下程序 void main() int y=3,x=3,z=1; printf(“%d %dn”,(+x,y+),z+2); 运行该程序的输出结果是( )正确答案是:D3 44 24 33 327、有如下程序 void main( ) int x=1,a=0,b=0; switch(x) case 0: a+; case 1: b+; case 2: a+;b+; printf(“a=%d,b=%dn”,a,b); 该程序的输出结果是( ) 正确答案是:Aa=1,b=2a=1,b=1a=1,b=0a=2,b=228、若程序中定义了以下函数 double myadd(double a,double b) return (a+b) ; 并将其放在调用语句之后,则在调用之前应该对该函数进行说明,以下选项中错误的说明是 正确答案是:Adouble myadd(double a,b) ;double myadd(double,double);double myadd(double b,double a) ;double myadd(double x,double y);29、有以下程序 int fun(int x , int y) if(x<y) return x; return y; main( ) int a= 9,b=8,c=7; printf(“%dn”, fun(a,b); 程序的执行结果是正确答案是:B函数调用出错89730、有以下程序 void f(int v , int w) int t; t=v;v=w;w=t; main( ) int x=1,y=3,z=2; if(x>y) f(x,y); else if(y>z) f(y,z); else f(x,z); printf(“%d,%d,%dn”,x,y,z); 执行后输出结果是正确答案是:A1,2,33,1,21,33,12,3,131、以下列一维整型数组a的正确说明是_正确答案是:Dint a(10);int n=10,an;int n; scanf("%d",&n); int an;#define SIZE 10 int aSIZE;32、若二维数组a有m列,则计算任一元素aij在数组中位置的公式为_。(假设a00位于数组的第1个位置上)正确答案是:Di*m+jj*m+ii*m+j-1i*m+j+133、下面程序的运行结果是_。 #include "stdio.h" main() char a="morning",t; int i,j=0; for(i=1;i<7;i+) if(aj<ai) j=i; t=aj; aj=a7; a7=aj; puts(a); 正确答案是:Bmogninrmomorningmornin34、执行下面程序段的结果是_ main() int x=1,a=0,b=0; switch(x) case 0:b+; case 1:a+; case 2:a+;b+ printf("a=%d,b=%d",a,b); 正确答案是:Ba=1,b=1a=2,b=1a=1,b=0a=2,b=235、若有以下程序段: for(m=1;m<=100;m+) scanf(“%d”,&y); if(y<0) continue; printf(“%3d”,m); 正确的描述是_正确答案是:D当y<0时整个循环结束当y>=0时什么也不输出printf 函数永远也不执行最多允许输出100个非负整数36、.以下关于switch语句和break语句的描述正确的是_正确答案是:D在switch语句中必须使用break语句break语句只能用于switch语句体中break语句只能用于循环语句中在switch语句中可以使用break语句37、下列描述中,正确的是_正确答案是:A所有的输入/输出都是通过调用库函数处理的所有的输入/输出都是通过输入/输出语句实现的getchar和putchar可以省略#include在输入/输出格式中的*表示跳过数据的含义38、若给定表达式(x)?(a+):(a-),则表达式x_正确答案是:C和(x=0)等价和(x!=1)等价和(x!=0)等价和(x=1)等价39、对于"xyn102"字符串的长度是_正确答案是:B76121340、下面说法不正确的是_正确答案是:DC语言能编写操作系统C语言是函数式的语言数据类型多样化书写格式自由、不规范东北大学C语言期末考试题及答案(4)1、 定义了一维int型数组a10后,下面错误的引用是_正确答案是:Ba

    注意事项

    本文(精心打造东北大学近四C语言理论考试试题及答案.doc)为本站会员(仙人指路1688)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开