南财大-C语言_第1页
南财大-C语言_第2页
南财大-C语言_第3页
南财大-C语言_第4页
南财大-C语言_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、在线练习C 语言程序设计16000总分: 100考试时间: 100 分钟645387一、单项选择题6453891、以下说法中正确的是(正确答案: C,答题答案: )A、 C 语言程序总是从第一个的函数开始执行B、在 C 语言程序中 ,要调用的函数必须在main() 函数中定义C 、C 语言程序总是从main() 函数开始执行D、 C 语言程序中的main() 函数必须放在程序的开始部分6453942、C 语言可执行程序的开始执行点是(正确答案: C,答题答案: )A、程序中的一条可执行语句B、程序中第一个函数C、程序中的 main函数D、包含文件中的第一个函数6453993、C 语言程序组成的

2、基本单位(正确答案: C,答题答案: )A、子程序B、过程C 、函数D 、主程序段程序6454044、不是常见的算法表示方法有(正确答案: B, 答题答案: )A、 N-S 流程图B、图形图像法C 、伪代码D、计算机语言6454095、结构化程序设计的三种基本结构是()(正确答案: C,答题答案: )A、函数结构、分支结构、判断结构B、函数结构、嵌套结构、平行结构C、顺序结构、分支结构、循环结构D、分支结构、循环结构、嵌套结构6454146、在语言中,合法的字符常量是()(正确答案: D,答题答案: )A、 字 B、 AC、 ABCD、 x416454197、在 C 语言中,用户能使用的合法标

3、识符是()(正确答案: A,答题答案: )A、 _xyzB、 x-yC 、 5iD、 for6454248、在语言中,不合法的实型常量是()(正确答案: D,答题答案: )A、 -0.123B、-0.123C、 -0.123D 、-123e-3.06454299、语言的下列运算符中,优先级最高的运算符是()(正确答案: A,答题答案: )A、 +B、 +=C、 |D 、 !=64543410、设有说明语句int k,i=5,j=10; ,则表达式k=(+i)*(j-) 的值是( )(正确答案: B, 答题答案: )A、 50B、60C、45D、 5564543911、设有说明语句int i,j

4、; ,则表达式 i=j|i=y)&(y=z)B、 (x=y)AND(y=x)C 、 x=y=zD、(x=y)&(y=z)64546416、若有说明语句: char c=95;则变量 c 包含()个字符。 (正确答案: A, 答题答案: )A、 1B、2C 、3D 、语法错误64546917、以下()是错误的整型常量。(正确答案: B, 答题答案: )A、 -0xcdfB、18C 、0xeD、1164547418、设 double 型变量 a,b,c,e 均有值 ;对代数式 (3ae)/(bc) ,不正确的 C语言表达式是() (正确答案: C,答题答案: )A、 a/b/c*e*3B、3*a*

5、e/b/cC、 3*a*e/b*cD 、 a*e/c/b*364547919、若有定义: int a,b; double x ,则以下不符合C 语言语法的表达式是( )。 (正确答案: A,答题答案: )A、 x%(-3)B、 a+=-2C、a=b=2D、 x=a+b64548420、若有定义:int i,j; 则表达式 (i=2,j=5,i+,i+j+) 的值是( )(正确答案:B, 答题答案: )A、 7B、8C 、9D 、 1064548921、若有定义: int a,b; 则表达式 (a=2,b=5,a*2,b+,a+b)的值是()(正确答案: B, 答题答案: )A、 7B、8C 、

6、9D 、 1064549422、若有定义: int a=5,b=2,c=1; 则表达式 a-b5) printf(%dn,a); elseprintf(%dn,a-);( 正确答案: C,答题答案: )A、 4B、5C 、6D 、 76455263、有以下程序: main() int c; while(c=getchar()!= n) switch(c-2) case 0 : case 1 : putchar(c+4); case 2 : putchar(c+4); break; case 3 :putchar(c+3); default: putchar(c+2); break; print

7、f(n);当输入:247,程序的输出结果是()。 (正确答案: B,答题答案: )A、 689B、 6689C 、66778D、 668876455314、以下程序的运行结果是()。 main() int i=3,j=2,k; k=i+j; int k=8;if(i=3) printf(%2d,k); else printf(%2d,j); printf(%2d%2dn,i,k);( 正确答案: A, 答题答案: )A、 8 3 5B、 8 3 8C、 3 8 3D 、 5 8 36455365、以下程序的运行 果是()。void main() int a=1; switch(a) case1

8、: printf(aaaan); case 2: printf(bbbbn); break; default: printf(ccccn); ( 正确答案: C,答 答案: )A、 aaaaB、aaaa bbbb ccccC、 aaaa bbbbD、aaaa cccc6455416、以下程序的运行 果是( )。main() int a=1,b=0; switch(a) case 1: switch(b) case 0: printf(0000n); case 1: printf(1111n);break; case 2:printf(2222n);break; ( 正确答案: B,答 答案:

9、)A、0000 1111B、0000 1111 2222C 、0000 2222D、1111 22226455467、以下程序段的运行 果是()。 int x=3;do printf(%3d, ,x-=2 );while(!(-x);( 正确答案: D,答 答案: )A、 1B、-2C、死循 D 、1,-26455518、 E 表达式,以下与do while(E); 不等价的 句是()。 (正确答案: C,答 答案: )A、 do while(!E=0);B、 do while(E0|E0);C 、 do while(E=0);D 、do while(E!=0);6455569、以下程序运行后

10、, a 的值是( )。 main() int a,b; for(a=1,b=1;a=20) break; if(b%3=1) b+=3; continue; b-=5; ( 正确答案: D,答题答案: )A、 101B、 100C、 8D、764556110、以下程序段的运行结果是()。 main() int i,j; i=10; j=20;for(;j=0;j-=20) if(i=j) printf(Good! ); else printf(Not good!); ( 正确答案: D,答题答案: )A、 Good!Good!B、Not good!C、 Good!D 、Good! Not go

11、od!64556611、下列 do.while 循环的循环次数是( )。int i=5 ;do printf(%dn,i-);i-;while(i!=0) ;(正确答案: D,答题答案: )A、 2B、5C 、0D 、死循环64557112、以下程序的运行结果是()。 void main() int n=e; switch(n-) default: printf(error ); case a: case b: printf(good ); break; casec: printf(pass ); case d: printf(warn ); (正确答案: C, 答题答案: )A、 error

12、B、 goodC、 error goodD、 warn64557613、以下程序的运行结果是()。main() int i,s; i=0; s=1; do s/=s+1;i+; while(i=10); printf(%2d%2dn,i,s);(正确答案: D,答题答案: )A、 10 2B、 11 2C 、10 0D 、11 064558114、循环语句循环体中执行continue 语句,其作用是( )。(正确答案:C,答题答案: )A、立即终止程序运行B、继续执行 continue 语句之后的循环体各语句C、结束本次循环D、结束本次循环,跳出循环64558615、以下程序的运行结果是()。

13、 void main() int sum = 0, item = 0;while(item 5) item+; if(item = 2) continue; sum += item; printf(%dn,sum);( 正确答案: B,答题答案: )A、 10B、13C、14D、 1564559116、以下程序运行后, a 的值是( )。 main() int a,b; for(a=1,b=1;a=20) break; if(b%3=1) b+=3;continue; b-=5; ( 正确答案: D,答题答案: )A、 100B、 101C、 8D、764559617、以下程序的运行结果是()

14、。 void main( ) int n=5; if(n+=6)printf(%dn,n); else printf(%dn,+n); (正确答案: D,答题答案: )A、 4B、5C 、6D 、 764560118、以下程序的运行结果是()。 void main() int sum = 0, item = 0;while(item =0;j-=20) if(i=j) printf(Good! ); else printf(Not good!); ( 正确答案: D,答题答案: )A、 Good!Good!B、Not good!C、 Good!D 、 Good! Not good!645621

15、22、 C 语言对 if 嵌套语句规定: elseB 配对规则是: (正确答案: B,答题答案: )A、第一个 ifB、之前最近的且尚未配对的ifC、最后一个 ifD、之前最近的 if64563323、int x=1,y=2,z=4;if(xy) z=x+y ; else z=x-y;后 z 的值为 (正确答案:D,答题答案: )A、 2B、1C 、0D 、 -164563824、int x=6,y=5;int a; a=(-x=y+)?x:y+1;后 a 的值为 (正确答案: A,答题答案: )A、 5B、4C 、3D 、 664564325、int x; 与 while(!x) 等价的是

16、(正确答案: B,答题答案: )A、 while(x!=0)B、 while(x=0)C 、while(x!=1)D、 while(x)在线练习C 语言程序设计36000总分: 100考试时间: 100 分钟645626一、单项选择题6456281、设已定义 char s=NameAddress023n;,则字符串所占的字节数是( )。 (正确答案: B, 答题答案: )A、 14B、15C、18D、 196456482、以下程序的运行结果是()。 main() int array44; int i,j;for(i=0;i4;i+) for(j=0;j4;j+) arrayij=i+j; fo

17、r(i=0;i4;i+)for(j=0;j4;j+) if(i=j|i+j=3) arrayij=0; for(j=0;j4;j+)printf(%2d,array2j); printf(n);(正确答案: A, 答题答案: )A、 2 0 0 5B、1 0 0 4C、0 1 2 0D、 0 4 5 06456533、以下程序运行结果是()。 main() chara5= ABCD,1234,abcd,5678,EFGH; int i; for(i=0;i3;i+)printf(%s,ai);( 正确答案: B,答题答案: )A、 A1aB、ABCD1234abcdC、 ABCD 、ABCD1

18、234abcd5678EFGH6456584、设 int a4=0,0; ,则下列描述错误的是()。(正确答案: D,答题答案: )A、数组a 的每个元素的值为0B、二维数组a 的第一维大小为1C、数组a 有4 个元素D 、只有元素a00 和a01 的值为0,其余元素的值不确定6456635、已定义 char x8; int i; ,为了给该数组赋值, 下列语句正确的是 ( )。(正确答案: D,答题答案: )A、 x8=Turbo C;B、 x=Turbo C;C、 x=Turbo C;D 、for(i=0;i7;i+) xi=getchar();6456686、设有下列语句: char s

19、tr1=string,str28,*str3,*str4=string;则( )是对库函数 strcpy 的不正确调用。此函数用来复制字符串。 (正确答案:A, 答题答案: )A、 strcpy(str3,HELLO3);B、 strcpy(str2,HELLO2);C、strcpy(str1,HELLO1);D、strcpy(str4,HELLO4);6456737、以下程序的运行结果是()。 main() int i; charaa3=a,b,c,d,e,f; char (*p)3=aa; for(i=0;i2;i+) if(i=0)aaii+1=*(p+); printf(%cn,*p)

20、; (正确答案: D, 答题答案: )A、 aB、bC 、cD 、 d6456788、若有以下程序: main () char ch=I am student! , *p; p=ch;printf(%xn,p); printf(%xn,p+9);其中第一个 printf() 运行结果是 ffd6 ,则第二个 printf() 运行结果是()。 (正确答案: A,答题答案: )A、 ffdfB、 ffe8C 、 ffd6D、 ffcf6456839、设有下列语句,则( )是对 a 数组元素的不正确引用, 其中 0 a10=0,1,2,3,4,5,6,7,8,9, *p=a;(正确答

21、案: D, 答题答案: )A、 ap-aB、 *(&ai)C、 piD 、*(*(a+i)64568810、以下程序运行后,输出的结果是()。func(int a) static int m=0;m += a; return( m ); main() int k=4, p; p=func(k); printf(%d, p); p=func(k); printf(%dn, p);( 正确答案: C,答题答案: )A、 4,4B、0,4C、 4,8D 、8,864569311、以下程序的运行结果是 ( )。fun3(int x) static int a=3; a+=x; returna; mai

22、n() int k=2,m=1,n; n=fun3(k); n=fun3(m); printf(%dn,n);(正确答案: D,答题答案: )A、 3B、4C 、5D 、 664569812、以下关于指针概念的叙述中,错误的是()。(正确答案: C,答题答案: )A、一个指针变量只能指向同一类型的变量B、一个变量的地址称为该变量的指针C、两个同类型的指针变量可以作加减运算D 、任何指针变量都可以与空指针 NULL 进行比较64570313、若有以下定义和语句,且0i4,0j3,则不能访问 a 数组中的元素的是()。 int i,(*p)3; int a3=1,2,3,4,5,6,7,8,9,1

23、0,11,12; p =a;(正确答案: D, 答题答案: )A、 *(*(a+i)+j)B、 pijC、 (*(p+i)jD 、pi+j64570814、下面程序段的运行结果是()。 inti=0,a=3,4,5,4,3;do ai+; while(a+i5); for(i=0;i5); for(i=0;i2); for(i=0;i5;i+)printf(%d ,ai);( 正确答案: A,答题答案: )A、 11 2 3 4 5B、1 2 3 4 5C、 11 12 13 14 15D、11 12 3 4 564572317、以下数组定义中,正确的是()。 (正确答案: C, 答题答案:

24、)A、 int a2=1,2,3,4,5;B、int a2=0,;C、int a22=1,2,3;D、 int a=1,2,3,4;64572818、以下程序的运行结果是 ( )。 age(int n) int c; if(n=1) c=10; else if(n%2=0) c=age(n-1)+2; else c=age(n-1)+3; return(c);main() printf(%dn,age(5); (正确答案: B,答题答案: )A、 17B、18C、19D、 2064573319、以下程序的运行结果是()。 void ast (int x,int y,int *cp,int *d

25、p) *cp=x+y; *dp=x-y; main() int a=4,b=3,c,d; ast(a,b,&c,&d); printf(%d,%dn,c,d); ( 正确答案: A,答题答案: )A、 7,1B、1,7C、 7,-1D 、c、d 未赋值,编译出错64573820、以下程序的输出结果是()。s *p, int *q) int t; t=*p; *p=*q; *q=t;main() int a=10,b=20; s, &b); printf(%d,%dn, a, b);(正确答案: D,答题答案: )A、 10,10B、 20,20C、 10,20D、 20,1064574321、

26、以下程序的运行结果是()。 main() void change_p(); int*p,a=1,4,7,10; p=&a1; change_p(p); printf(%dn,*p); voidchange_p(int *pi) *pi +=2; pi +=2; *pi +=2;(正确答案: B, 答题答案: )A、 5B、6C 、7D 、 864577022、以下程序段运行后屏幕输出为()。 charstr80;strcpy(str,hello);printf(%d,strlen(str);(正确答案: A,答题答案: )A、 5B、6C 、7D 、 864577523、若有定义: char

27、str16=abcdm,*ps,*str2=abcdef;( )是正确的。 (正确答案: B,答题答案: )A、 strcpy(str1,str2);B、表达式 strcmp(str1,str2) 的值大于 0C 、str1=str2;D、表达式 strlen(str1) 的值为 664578024、下面程序的输出结果是()。 #include int global=100;fun() int global=5; return +global; void main() printf(%dn,fun(); (正确答案: D, 答题答案: )A、 100B、 101C、 5D、664578525、

28、下列关于 C 语言函数的描述中,正确的是()。 (正确答案: B,答题答案: )A、函数的定义可以嵌套,但函数的调用不可以嵌套B、函数的定义不可以嵌套,但函数的调用可以嵌套C、函数的定义和函数的调用都可以嵌套D、函数的定义和函数的调用都不可以嵌套在线练习C 语言程序设计46000总分: 100考试时间: 100 分钟645748一、单项选择题6457501、以下程序段的运行结果是()。 enumweekday aa,bb=2,cc,dd,ee week=ee; printf(%dn,week);(正确答案:B, 答题答案: )A、 eeB、5C、 2D 、46457552、以下对枚举类型进行定

29、义,不正确的是()。 (正确答案: A,答题答案: )A、enum b1, 2, 3;B、enum aA, B, C;C 、enum cD=3, E, F;D、enum dX=0, Y=5, Z=9;6457603、若定义如下结构,则能打印出字母M 的语句是()。 structperson char name9; int age; struct person class10=Wujun,20,Liudan,23, Maling,21, zhangming,22; (正确答案: B,答题答案: )A、printf(%cn,);B、printf(%cn,

30、0);C、printf(%cn,1);D、 printf(%cn,1);6457654、以下程序的运行结果是 ( )。main() union u_type int i; double x;float f; ; struct str_type char str100; union u_type u2; ;printf(%dn, sizeof(struct str_type);(正确答案: B,答题答案: )A、 100B、 116C、 120D、 2006457905、标准函数 fgets(s, n, f) 的功能是()。 (正确答案: B,答题答案

31、: )A、从文件f 中读取长度为n 的字符串存入指针s 所指的内存B、从文件f中读取长度不超过n-1的字符串存入指针s 所指的内存C 、从文件f 中读取n个字符串存入指针s 所指的内存D、从文件f 中读取长度为n-1的字符串存入指针s 所指的内存6457956、以下程序的功能是 ( )。 #include main() FILE *fp; longint n; fp=fopen(wj.txt,rb); fseek(fp,0,SEEK_END); n=ftell(fp);fclose(fp); printf(%ld,n); (正确答案: C,答题答案: )A、计算文件wj.txt 的起始地址B、

32、计算文件wj.txt 的终止地址C、计算文件 wj.txt 的长度D、将文件指针定位到文件末尾6458007、以下叙述中正确的是()。 (正确答案: B,答题答案: )A、预处理命令行必须位于C 源程序的起始位置B、在 C 语言中,预处理命令行都以 #开头C、每个 C 程序必须在开头包含预处理命令行:#includeD、C 语言的预处理不能实现宏定义和条件编译的功能6458058、下面程序的输出结果是 ( )。#include #define SQR(x) (x*x)void main() int a,b=3; a=SQR(b+2); printf(n%d,a);(正确答案: A,答题答案:

33、)A、 11B、25C、36D、有错6458109、以下程序运行后, 输出的结果是( )。fun(char *w) char t, *s1, *s2; for(s1=w, s2=w+strlen(s1)-1; s1s2; s1+, s2-) t = *s1; *s1 = *s2;*s2 = t; main() char *p=12345; fun(p); puts(p);(正确答案: B, 答题答案: )A、 12345B、54321C 、 15115D、5155164581510、以下程序的输出结果是()。 main() union example struct intx; int y; i

34、n; int a2; e= 0, 0 ; e.a0=1; e.a1=2;printf(%d,%dn,e.in.x,e.in.y);(正确答案: C,答题答案: )A、 2,1B、0,0C、 1,2D、 0,164582011、以下程序的输出结果是 ( )。#define SUM(y) 1+y main() int x=2;printf(%dn, SUM(5)*x ); (正确答案: C,答题答案: )A、 10B、11C、12D、 1364582512、以下程序中的循环执行了()次。 #define N 2 #define M N+1#define NUM (M+1)*M/2 main() i

35、nt i,n=0; for(i=0;iNUM;i+) n+; printf(%dn,n); ( 正确答案: C, 答题答案: )A、 5B、6C 、8D 、 964583013、若有以下类型说明,叙述正确的是()。typedef struct int num;char *name; int score;STU,*PSTU;(正确答案: C,答题答案: )A、 STU 是变量名B、PSTU 是变量名C 、PSTU 是指向结构体类型STU 的指针类型名D、类型说明语句有错误64583514、以下 C 语言共用体类型数据的描述中,不正确的是()。(正确答案: D,答题答案: )A、共用体变量占的内存

36、大小等于所需内存最大的成员所占的内存B、共用体类型可以出现在结构体类型定义中C 、在定义共用体变量的同时允许对第一个成员的值进行初始化D、同一共用体中各成员的首地址不相同64584015、以下叙述中正确的是()。 (正确答案: B,答题答案: )A、 “ #define PRICE=30 定”义了与 30 等价的符号常量PRICEB、编译预处理命令行都必须以 “#开”头C 、宏名只能包含大写字母和数字字符D 、在程序的一行上可以书写几个有效的宏定义64584516、以下叙述中正确的是()。 (正确答案: D,答题答案: )A、C 语言中的文件是流式文件,因此只能顺序存取数据B、打开一个已存在的文件进行了写操作后,原有文件中的全部数据必定被覆盖C 、在一个程序中当对文件进行了写操作后,必须先关闭该文件然后再打开,才能读到第1 个数据D、当对文件的写操作完成之后,必须将它关闭,否则可能导致数据丢失64585017、下面

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论