17春北理工《C语言程序设计》在线作业

更新时间:2024-05-18 12:14:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

2017秋17春北理工《C语言程序设计》在线作业

一、单选题(共 40 道试题,共 80 分。)

1. 已知:int x=1,y=2,z;则执行z=x>y?++x:++y;则z的值为( )。 A. 1 B. 2 C. 3 D. 4

正确答案:

2. 指出程序结束时,j、i、k的值分别是( )。main(){int a=10,b=5,c=5,d=5,i=0,j=0,k=0;for(;a>b;++b)i++;while(a> ++c)j++;do k++;while(a>d++);} A. j=5,i=4,k=6; B. i=5,j=4,k=6; C. j=6,i=5,k=7 D. j=6,i=6,k=6; 正确答案:

3. 执行以下程序段后,c3的值是()。int c1=1,c2=2,c3; c3=c1/c2; A. 0 B. 1/2 C. 0.5 D. 1

正确答案:

4. 已知:char s[10],*p=s,则在下列语句中,错误的语句是( )。 A. p=s+5; B. s=p+s; C. s[2]=p[4]; D. *p=s[0]; 正确答案:

5. 以下程序的输出是( )。main(){char a[2][5]={“6937”,”8254”};int i,j,s=0;for(i=0;i<2;i++)for(j=0;a[i][j]>'0'&&a[i][j]<='9';j+=2)s=10*s+a[i][j]-?0?;printf(“s=%d ”,s);}

A. 6385 B. 69825 C. 63825 D. 693825 正确答案:

6. C编译系统提供了对C程序的编辑、编译、连接和运行环境,以下可以不在该环境下进

行的环节是( )。 A. 编辑和编译 B. 编译和连接 C. 连接和运行 D. 编辑和运行 正确答案:

7. 已知: struct{int i; char c; float a; }test; 则sizeof(test)的值是( )。 A. 4 B. 5 C. 6 D. 7

正确答案:

8. 下列说法中正确的是( )。

A. break用在switch语句中,而continue用在循环语句中。 B. break用在循环语句中,而continue用在switch语句中。 C. break能结束循环,而continue只能结束本次循环。 D. continue能结束循环,而break只能结束本次循环。 正确答案:

9. 下面个选项组中,均属于C语言关键字的一组是( )。 A. auto,enum,include

B. switch,typedef,continue C. signed,union,scanf D. if,struct,type 正确答案:

10. 若有char a[80],b[80];则正确的是( )。 A. puts(a,b);

B. printf(“%s,%s”a[ ],b[ ]); C. putchar(a,b); D. puts(a);puts(b); 正确答案:

11. 说明语句\的含义是( )。 A. p是一个指向一维数组的指针变量 B. p是一个指针变量,指向一个整型数据

C. p是一个指向函数的指针,该函数的返回值是一个整型 D. 以上都不对 正确答案:

12. 执行以下程序段后,a,b,c的值分别是( )。int a,b=100,c,x=10,y=9;a=(--x= =y++)?—x:++y; if(x<9) b=x++;c=y; A. 9,9,9 B. 8,8,10 C. 9,10,9 D. 1,11,10 正确答案:

13. 若在键盘上输入:283.1900,想使单精度实型变量c的值为283.19,则正确的输入语句是( )。

A. scanf(\B. scanf(\C. scanf(\D. scanf(\正确答案:

14. 若有以下定义和语句:struct student{int num,age;};struct student stu[3]={{1001,20},{1001,19},{1003,21}};struct student *p=stu;则以下错误的引用是( )。 A. (p++)->num B. p++

C. (*p).num D. p=&stu.age 正确答案:

15. 已知:int a,*p=&a; 则下列函数调用中错误的是( ) A. scanf(\B. scanf(\C. printf(\D. printf(\正确答案:

16. 利用fseek函数可以( )。 A. 改变文件的位置指针 B. 实现文件的顺序读写 C. 实现文件的随机读写 D. 以上答案均正确 正确答案:

17. C语言规定,调用一个函数时,实参变量和形参变量之间的数据传递方式是( )。 A. 地址传递 B. 值传递

C. 由实参传给形参,并由形参传回给实参 D. 由用户指定传递方式 正确答案:

18. if语句的控制条件( )。 A. 只能用关系表达式

B. 只能用关系表达式或逻辑表达式 C. 只能用逻辑表达式 D. 可以是任何表达式 正确答案:

19. 若int x;则执行下列程序段后输出是( )。for(x=10;x>3;x--){if(x%3)x--;--x;--x;printf(“%d”,x); } A. 63 B. 74 C. 62

D. 73

正确答案:

20. 下面程序的输出结果是( )。main(){int i,j;float s;for(i=6;i>4;i--){s=0.0; for(j=i;j>3;j--)s=s+i*j; }printf(“%f ”,s);} A. 135.000000 B. 90.000000 C. 45.000000 D. 60.000000 正确答案: 21. 下列程序执行的结果是( )。A=1;b=2;c=3;While(b

22. main(argc,argv)中形式参数argv的正确说明形式应当为( )。 A. char *argv[ ] B. char argv[ ][ ] C. char argv[ ] D. char *argv 正确答案:

23. 以下对C语言中联合类型数据的正确叙述是( )。

A. 一旦定义了一个联合变量后,即可引用该变量或该变量中的任意成员 B. 一个联合变量中可以同时存放其所有成员 C. 一个联合变量中不能同时存放其所有成员

D. 联合类型数据可以出现在结构类体型定义中,但结构体类型数据不能出现在联合类型定义中

正确答案:

24. 执行下列程序段后,x、y和z的值分别是( )。int x=10,y=20,z=30;if(x>y)z=x; x=y; y=z; A. 10,20,30 B. 20,30,30 C. 20,30,10 D. 20,30,20 正确答案:

25. 以下( )不是C语言的特点。 A. 语言的表达能力 B. 语言定义严格 C. 数据结构系统化 D. 控制流程结构化 正确答案:

26. 以下程序的输出结果是( )。main(){int i,x[3][3]={1,2,3,4,5,6,7,8,9}; for(i=0;i<3;i++)printf(“%d,”x[i][2-i]);}

A. 1,5,9 B. 1,4,7 C. 3,5,7 D. 3,6,9 正确答案:

27. 执行下面的语句后x的值为( )。int a=14,b=15,x;char c='A';x=((a&b)&&(c<'a')); A. TRUE B. FLASE C. 0 D. 1

正确答案:

28. 以下程序的输出结果是( )。main(){int i,k,a[10],p[3];k=5;for(i=0;i<10;i++)a[i]=i;for(i=0;i<3;i++)p[i]=a[i*(i+1)];for(i=0;i<3;i++)k+=p[i]*2;printf(“%d”,k); } A. 20 B. 21 C. 22 D. 23

正确答案:

29. 已知“int a=4,b=5,c;”,则执行表达式“c=a=a>b”后变量a的值为( )。 A. 0 B. 1 C. 4 D. 5

正确答案:

30. 要判断char型变量m是否是数字字符,可以使用下列表达式( )。 A. 0<=m&&m<=9 B. '0'<=m&&m<='9' C. “0”<=m&&m<=“9”

D. 前3个答案都是错误的 正确答案:

31. 若int a,b,c;则为它们输入数据的正确的语句是( )。 A. read(a,b,c);

B. scanf(\

C. scanf(\D. scanf(\正确答案:

32. 下列对字符串的定义中错误的是( )。 A. char str[7]=\B. char str[ ]=\C. char *str=\

D. char str[ ]={'F','O','R','T','R','A','N',' 正确答案:

33. 在以下对C语言的描述中,正确的是( )。

A. 在C语言中调用函数时,只能将实参数的值传递给形参,形参的值不能传递给实参 B. C语言函数既可以嵌套定义又可以递归调用 C. 函数必须有返回值,否则不能使用函数

D. C语言程序中有定义关系的所有函数都必须放在同一源文件中 正确答案:

34. 不能正确为字符数组输入数据的是( )。 A. char s[5];scanf(“%s”,&s); B. char s[5];scanf(“%s”,s); C. char s[5];scanf(“%s”,&s[0]); D. char s[5];gets(s); 正确答案:

35. 已知:struct sk{int a;float b; }data,*p;若有p=&data, 则对data中的成员a的正确引用是( )。

A. (*p).data.a B. (*p).a C. p->data.a D. p.data.a 正确答案:

36. 为了显示一个文本文件的内容,在打开文件时,文件的打开方式应当时( )。 A. \B. \C. \D. \正确答案: 37. 下列程序段( )。x=3;do{y=x--;if(!y){printf(“x”);continue;}printf(“#”);}while(1<=x<=2); A. 输出 B.

C. 输出##x D. 是死循环 E. 有语法错 正确答案:

38. 在C语言的函数定义过程中,如果函数finA调用了函数funB,函数funB又调用了函数funA,则( )。

A. 称为函数的直接递归 B. 称为函数的间接递归 C. 称为函数的递归定义

D. C语言中不允许这样的递归形式 正确答案:

39. 以下正确的数组定义语句是( )。 A. int y[1][4]={1,2,3,4,5}; B. float x[3][ ]={{1},{2},{3}};

C. long s[2][3]={{1},{1,2},{1,2,3}};

D. double t[ ][3]={0}; 正确答案:

40. 下面描述中,不正确的是( )。

A. 递归法的关键是必须有一个递归终止的条件。

B. 递归算法要求语言具有反复自我调用子程序的能力。 C. 对于同一个问题,递推算法比递归算法的执行时间要长。 D. 递推算法总可以转换为一个递归算法。 正确答案:

北理工《C语言程序设计》在线作业

二、判断题(共 10 道试题,共 20 分。)

1. “%”运算两侧的数据可以是任意类型的数据。 A. 错误 B. 正确 正确答案:

2. 在标准C语言中,在定义带参数的宏时也要定义参的类型。 A. 错误 B. 正确 正确答案:

3. 在标准C语言中,可以用typedef定义类型,所以用typedef可以增加C语言的数据类型。 A. 错误 B. 正确 正确答案:

4. 在C语言的scanf( )中可用”%m.nf”形式的格式字符指定输入数据的精度。 A. 错误 B. 正确 正确答案:

5. 在C语言中,枚举元素作为常量,它们是有确定的值的,它们的值按顺序从0开始依次增加且不可以改变。 A. 错误 B. 正确 正确答案:

6. \是一个字符常串量。 A. 错误 B. 正确

正确答案:

7. switch(表达式)中的表达式可以是任意类型的表达式。 A. 错误 B. 正确 正确答案:

8. 在C语言中处理文件时文本文件和二进制文件都可采用EOF作为判断文件是否读写结束。 A. 错误 B. 正确 正确答案:

9. 设有变量定义char s[]=”hello”,则数组中有6个元素。 A. 错误 B. 正确 正确答案:

10. 在C语言中,逻辑表达式中只允许出现逻辑型数据。 A. 错误 B. 正确 正确答案:

北理工《C语言程序设计》在线作业

一、单选题(共 40 道试题,共 80 分。)

1. 已知:struct sk{int a;float b; }data,*p;若有p=&data, 则对data中的成员a的正确引用是( )。

A. (*p).data.a B. (*p).a C. p->data.a D. p.data.a 正确答案:

2. 以下程序的输出结果是( )。main(){int i,x[3][3]={1,2,3,4,5,6,7,8,9}; for(i=0;i<3;i++)printf(“%d,”x[i][2-i]);} A. 1,5,9 B. 1,4,7 C. 3,5,7 D. 3,6,9 正确答案:

3. 若int a,b,c;则为它们输入数据的正确的语句是( )。

A. read(a,b,c);

B. scanf(\

C. scanf(\D. scanf(\正确答案: 4. 以下程序的输出结果是( )。main(){int i,k,a[10],p[3];k=5;for(i=0;i<10;i++)a[i]=i;for(i=0;i<3;i++)p[i]=a[i*(i+1)];for(i=0;i<3;i++)k+=p[i]*2;printf(“%d”,k); } A. 20 B. 21 C. 22 D. 23

正确答案:

5. 为了显示一个文本文件的内容,在打开文件时,文件的打开方式应当时( )。A. \B. \C. \D. \正确答案:

6. 以下正确的数组定义语句是( )。 A. int y[1][4]={1,2,3,4,5}; B. float x[3][ ]={{1},{2},{3}};

C. long s[2][3]={{1},{1,2},{1,2,3}}; D. double t[ ][3]={0}; 正确答案:

7. 若int x;则执行下列程序段后输出是(for(x=10;x>3;x--){if(x%3)x--;--x;--x;printf(“%d”,x); } A. 63 B. 74 C. 62 D. 73

正确答案:

8. 下列对字符串的定义中错误的是( )。 A. char str[7]=\B. char str[ ]=\C. char *str=\

D. char str[ ]={'F','O','R','T','R','A','N',' 正确答案:

9. 要判断char型变量m是否是数字字符,可以使用下列表达式( )。 A. 0<=m&&m<=9 B. '0'<=m&&m<='9' C. “0”<=m&&m<=“9”

D. 前3个答案都是错误的

。 ) 正确答案:

10. 不能正确为字符数组输入数据的是( )。 A. char s[5];scanf(“%s”,&s); B. char s[5];scanf(“%s”,s); C. char s[5];scanf(“%s”,&s[0]); D. char s[5];gets(s); 正确答案:

11. 以下( )不是C语言的特点。 A. 语言的表达能力 B. 语言定义严格 C. 数据结构系统化 D. 控制流程结构化 正确答案:

12. 执行下面的语句后x的值为( )。int a=14,b=15,x;char c='A';x=((a&b)&&(c<'a')); A. TRUE B. FLASE C. 0 D. 1

正确答案:

13. 在C语言的函数定义过程中,如果函数finA调用了函数funB,函数funB又调用了函数funA,则( )。

A. 称为函数的直接递归 B. 称为函数的间接递归 C. 称为函数的递归定义

D. C语言中不允许这样的递归形式 正确答案:

14. 下面描述中,不正确的是( )。

A. 递归法的关键是必须有一个递归终止的条件。

B. 递归算法要求语言具有反复自我调用子程序的能力。 C. 对于同一个问题,递推算法比递归算法的执行时间要长。 D. 递推算法总可以转换为一个递归算法。 正确答案:

15. 若有char a[80],b[80];则正确的是( )。 A. puts(a,b);

B. printf(“%s,%s”a[ ],b[ ]); C. putchar(a,b); D. puts(a);puts(b); 正确答案:

16. 执行以下程序段后,a,b,c的值分别是( )。int a,b=100,c,x=10,y=9;a=(--x= =y++)?—x:++y; if(x<9) b=x++;c=y; A. 9,9,9 B. 8,8,10 C. 9,10,9

D. 1,11,10 正确答案:

17. 已知“int a=4,b=5,c;”,则执行表达式“c=a=a>b”后变量a的值为( )。 A. 0 B. 1 C. 4 D. 5

正确答案:

18. main(argc,argv)中形式参数argv的正确说明形式应当为( )。 A. char *argv[ ] B. char argv[ ][ ] C. char argv[ ] D. char *argv 正确答案:

19. 下面个选项组中,均属于C语言关键字的一组是( )。 A. auto,enum,include

B. switch,typedef,continue C. signed,union,scanf D. if,struct,type 正确答案:

20. 已知: struct{int i; char c; float a; }test; 则sizeof(test)的值是( )。 A. 4 B. 5 C. 6 D. 7

正确答案:

21. 以下对C语言中联合类型数据的正确叙述是( )。

A. 一旦定义了一个联合变量后,即可引用该变量或该变量中的任意成员 B. 一个联合变量中可以同时存放其所有成员 C. 一个联合变量中不能同时存放其所有成员

D. 联合类型数据可以出现在结构类体型定义中,但结构体类型数据不能出现在联合类型定义中

正确答案: 22. 下列程序段( )。x=3;do{y=x--;if(!y){printf(“x”);continue;}printf(“#”);}while(1<=x<=2); A. 输出 B.

C. 输出##x D. 是死循环 E. 有语法错 正确答案:

23. 说明语句\的含义是( )。 A. p是一个指向一维数组的指针变量 B. p是一个指针变量,指向一个整型数据

C. p是一个指向函数的指针,该函数的返回值是一个整型 D. 以上都不对 正确答案:

24. 利用fseek函数可以( )。 A. 改变文件的位置指针 B. 实现文件的顺序读写 C. 实现文件的随机读写 D. 以上答案均正确 正确答案:

25. 下列说法中正确的是( )。

A. break用在switch语句中,而continue用在循环语句中。 B. break用在循环语句中,而continue用在switch语句中。 C. break能结束循环,而continue只能结束本次循环。 D. continue能结束循环,而break只能结束本次循环。 正确答案:

26. 以下程序的输出是( )。main(){char a[2][5]={“6937”,”8254”};int i,j,s=0;for(i=0;i<2;i++)for(j=0;a[i][j]>'0'&&a[i][j]<='9';j+=2)s=10*s+a[i][j]-‘0’;printf(“s=%d ”,s);} A. 6385 B. 69825 C. 63825 D. 693825 正确答案:

27. 若在键盘上输入:283.1900,想使单精度实型变量c的值为283.19,则正确的输入语句是( )。

A. scanf(\B. scanf(\C. scanf(\D. scanf(\正确答案:

28. 若有以下定义和语句:struct student{int num,age;};struct student stu[3]={{1001,20},{1001,19},{1003,21}};struct student *p=stu;则以下错误的引用是( )。 A. (p++)->num B. p++

C. (*p).num D. p=&stu.age 正确答案:

29. 已知:char s[10],*p=s,则在下列语句中,错误的语句是( )。 A. p=s+5; B. s=p+s; C. s[2]=p[4]; D. *p=s[0]; 正确答案:

30. if语句的控制条件( )。 A. 只能用关系表达式

B. 只能用关系表达式或逻辑表达式 C. 只能用逻辑表达式 D. 可以是任何表达式 正确答案:

31. C编译系统提供了对C程序的编辑、编译、连接和运行环境,以下可以不在该环境下进行的环节是( )。 A. 编辑和编译 B. 编译和连接 C. 连接和运行 D. 编辑和运行 正确答案:

32. C语言结构类型变量在程序执行期间( )。 A. 所有成员一直驻留在内存中 B. 只有一个成员驻留在内存中 C. 部分成员驻留在内存中 D. 没有成员驻留在内存中 正确答案:

33. C语言规定,调用一个函数时,实参变量和形参变量之间的数据传递方式是( )。A. 地址传递 B. 值传递

C. 由实参传给形参,并由形参传回给实参 D. 由用户指定传递方式 正确答案:

34. 执行以下程序段后,c3的值是()。int c1=1,c2=2,c3; c3=c1/c2; A. 0 B. 1/2 C. 0.5 D. 1

正确答案:

35. 在以下对C语言的描述中,正确的是( )。

A. 在C语言中调用函数时,只能将实参数的值传递给形参,形参的值不能传递给实参B. C语言函数既可以嵌套定义又可以递归调用 C. 函数必须有返回值,否则不能使用函数

D. C语言程序中有定义关系的所有函数都必须放在同一源文件中 正确答案: 36. 下列程序执行的结果是( )A=1;b=2;c=3;While(b

。 正确答案:

37. 已知:int x=1,y=2,z;则执行z=x>y?++x:++y;则z的值为( )。 A. 1 B. 2 C. 3 D. 4

正确答案:

38. 执行下列程序段后,x、y和z的值分别是( )。int x=10,y=20,z=30;if(x>y)z=x; x=y; y=z; A. 10,20,30 B. 20,30,30 C. 20,30,10 D. 20,30,20 正确答案:

39. 已知:int a,*p=&a; 则下列函数调用中错误的是( ) A. scanf(\B. scanf(\C. printf(\D. printf(\正确答案:

40. 指出程序结束时,j、i、k的值分别是( )。main(){int a=10,b=5,c=5,d=5,i=0,j=0,k=0;for(;a>b;++b)i++;while(a> ++c)j++;do k++;while(a>d++);} A. j=5,i=4,k=6; B. i=5,j=4,k=6; C. j=6,i=5,k=7 D. j=6,i=6,k=6; 正确答案:

北理工《C语言程序设计》在线作业

二、判断题(共 10 道试题,共 20 分。)

1. 结构体变量在内存中所占的字节数是由其各个成员所占字节的总和。 A. 错误 B. 正确 正确答案:

2. 在C语言中,函数中只能有一个return 语句。 A. 错误 B. 正确

正确答案:

3. 若函数的返回值与return表达式类型不一致时,以return 表达式类型为准。 A. 错误 B. 正确 正确答案:

4. 在标准C语言中,所有函数在调用之前都要进行声明。 A. 错误 B. 正确 正确答案:

5. 在C语言中处理文件时文本文件和二进制文件都可采用EOF作为判断文件是否读写结束。 A. 错误 B. 正确 正确答案:

6. switch(表达式)中的表达式可以是任意类型的表达式。 A. 错误 B. 正确 正确答案:

7. 在标准C语言中,可以用typedef定义类型,所以用typedef可以增加C语言的数据类型。 A. 错误 B. 正确 正确答案:

8. 在标准C语言中,在定义带参数的宏时也要定义参的类型。 A. 错误 B. 正确 正确答案:

9. 在C语言中,参与运算的数据类型必须完全一致,不一致时要先将较低的数据类型转换为较高的数据类型。 A. 错误 B. 正确 正确答案:

10. “%”运算两侧的数据可以是任意类型的数据。 A. 错误 B. 正确 正确答案:

北理工《C语言程序设计》在线作业

一、单选题(共 40 道试题,共 80 分。)

1. 以下程序的输出是( )。main(){char a[2][5]={“6937”,”8254”};int i,j,s=0;for(i=0;i<2;i++)for(j=0;a[i][j]>'0'&&a[i][j]<='9';j+=2)s=10*s+a[i][j]-‘0’;printf(“s=%d ”,s);} A. 6385 B. 69825 C. 63825 D. 693825 正确答案:

2. 已知: struct{int i; char c; float a; }test; 则sizeof(test)的值是( )。 A. 4 B. 5 C. 6 D. 7

正确答案:

3. C语言规定,调用一个函数时,实参变量和形参变量之间的数据传递方式是( )。 A. 地址传递 B. 值传递

C. 由实参传给形参,并由形参传回给实参 D. 由用户指定传递方式 正确答案:

4. 以下( )不是C语言的特点。 A. 语言的表达能力 B. 语言定义严格 C. 数据结构系统化 D. 控制流程结构化 正确答案:

5. 执行下面的语句后x的值为( )。int a=14,b=15,x;char c='A';x=((a&b)&&(c<'a')); A. TRUE B. FLASE C. 0 D. 1

正确答案:

6. 已知:int a,*p=&a; 则下列函数调用中错误的是( ) A. scanf(\B. scanf(\C. printf(\D. printf(\正确答案:

7. 已知:struct sk{int a;float b; }data,*p;若有p=&data, 则对data中的成员a的正确引用是( )。

A. (*p).data.a B. (*p).a C. p->data.a D. p.data.a 正确答案:

8. 要判断char型变量m是否是数字字符,可以使用下列表达式( )。 A. 0<=m&&m<=9 B. '0'<=m&&m<='9' C. “0”<=m&&m<=“9”

D. 前3个答案都是错误的 正确答案:

9. 不能正确为字符数组输入数据的是( )。 A. char s[5];scanf(“%s”,&s); B. char s[5];scanf(“%s”,s); C. char s[5];scanf(“%s”,&s[0]); D. char s[5];gets(s); 正确答案:

10. 执行以下程序段后,a,b,c的值分别是( )。int a,b=100,c,x=10,y=9;a=(--x= =y++)?—x:++y; if(x<9) b=x++;c=y; A. 9,9,9 B. 8,8,10 C. 9,10,9 D. 1,11,10 正确答案:

11. 下面个选项组中,均属于C语言关键字的一组是( )。 A. auto,enum,include

B. switch,typedef,continue C. signed,union,scanf D. if,struct,type 正确答案:

12. 若有char a[80],b[80];则正确的是( )。 A. puts(a,b);

B. printf(“%s,%s”a[ ],b[ ]); C. putchar(a,b); D. puts(a);puts(b); 正确答案:

13. C编译系统提供了对C程序的编辑、编译、连接和运行环境,以下可以不在该环境下进行的环节是( )。 A. 编辑和编译 B. 编译和连接 C. 连接和运行 D. 编辑和运行 正确答案:

14. main(argc,argv)中形式参数argv的正确说明形式应当为( )。 A. char *argv[ ] B. char argv[ ][ ] C. char argv[ ] D. char *argv 正确答案:

15. 利用fseek函数可以( )。 A. 改变文件的位置指针 B. 实现文件的顺序读写 C. 实现文件的随机读写 D. 以上答案均正确 正确答案:

16. 下面程序的输出结果是( )。main(){int i,j;float s;for(i=6;i>4;i--){s=0.0; for(j=i;j>3;j--)s=s+i*j; }printf(“%f ”,s);} A. 135.000000 B. 90.000000 C. 45.000000 D. 60.000000 正确答案:

17. 执行以下程序段后,c3的值是()。int c1=1,c2=2,c3; c3=c1/c2; A. 0 B. 1/2 C. 0.5 D. 1

正确答案:

18. 在以下对C语言的描述中,正确的是( )。

A. 在C语言中调用函数时,只能将实参数的值传递给形参,形参的值不能传递给实参 B. C语言函数既可以嵌套定义又可以递归调用 C. 函数必须有返回值,否则不能使用函数

D. C语言程序中有定义关系的所有函数都必须放在同一源文件中 正确答案:

19. 若int a,b,c;则为它们输入数据的正确的语句是( )。 A. read(a,b,c);

B. scanf(\

C. scanf(\D. scanf(\正确答案:

20. 下列说法中正确的是( )。

A. break用在switch语句中,而continue用在循环语句中。 B. break用在循环语句中,而continue用在switch语句中。 C. break能结束循环,而continue只能结束本次循环。 D. continue能结束循环,而break只能结束本次循环。 正确答案:

21. 以下程序的输出结果是( )。main(){int i,k,a[10],p[3];k=5;for(i=0;i<10;i++)a[i]=i;for(i=0;i<3;i++)p[i]=a[i*(i+1)];for(i=0;i<3;i++)k+=p[i]*2;printf(“%d”,k); } A. 20 B. 21 C. 22 D. 23

正确答案:

22. 以下对C语言中联合类型数据的正确叙述是( )。

A. 一旦定义了一个联合变量后,即可引用该变量或该变量中的任意成员 B. 一个联合变量中可以同时存放其所有成员 C. 一个联合变量中不能同时存放其所有成员

D. 联合类型数据可以出现在结构类体型定义中,但结构体类型数据不能出现在联合类型定义中

正确答案: 23. 下列程序执行的结果是( )。A=1;b=2;c=3;While(b

24. 已知:char s[10],*p=s,则在下列语句中,错误的语句是( )。 A. p=s+5; B. s=p+s; C. s[2]=p[4]; D. *p=s[0]; 正确答案:

25. 以下正确的数组定义语句是( )。 A. int y[1][4]={1,2,3,4,5}; B. float x[3][ ]={{1},{2},{3}};

C. long s[2][3]={{1},{1,2},{1,2,3}}; D. double t[ ][3]={0}; 正确答案:

26. 以下程序的输出结果是( )。main(){int i,x[3][3]={1,2,3,4,5,6,7,8,9}; for(i=0;i<3;i++)printf(“%d,”x[i][2-i]);} A. 1,5,9 B. 1,4,7 C. 3,5,7 D. 3,6,9 正确答案:

27. 执行下列程序段后,x、y和z的值分别是( )。int x=10,y=20,z=30;if(x>y)z=x; x=y; y=z; A. 10,20,30

B. 20,30,30 C. 20,30,10 D. 20,30,20 正确答案:

28. 说明语句\的含义是( )。 A. p是一个指向一维数组的指针变量 B. p是一个指针变量,指向一个整型数据

C. p是一个指向函数的指针,该函数的返回值是一个整型 D. 以上都不对 正确答案: 29. 下列程序段( )。x=3;do{y=x--;if(!y){printf(“x”);continue;}printf(“#”);}while(1<=x<=2); A. 输出 B.

C. 输出##x D. 是死循环 E. 有语法错 正确答案:

30. 已知“int a=4,b=5,c;”,则执行表达式“c=a=a>b”后变量a的值为( )。 A. 0 B. 1 C. 4 D. 5

正确答案:

31. 下面描述中,不正确的是( )。

A. 递归法的关键是必须有一个递归终止的条件。

B. 递归算法要求语言具有反复自我调用子程序的能力。 C. 对于同一个问题,递推算法比递归算法的执行时间要长。 D. 递推算法总可以转换为一个递归算法。 正确答案:

32. 若int x;则执行下列程序段后输出是( )。for(x=10;x>3;x--){if(x%3)x--;--x;--x;printf(“%d”,x); } A. 63 B. 74 C. 62 D. 73

正确答案:

33. 若在键盘上输入:283.1900,想使单精度实型变量c的值为283.19,则正确的输入语句是( )。

A. scanf(\B. scanf(\C. scanf(\D. scanf(\正确答案:

34. C语言结构类型变量在程序执行期间( )。 A. 所有成员一直驻留在内存中 B. 只有一个成员驻留在内存中 C. 部分成员驻留在内存中 D. 没有成员驻留在内存中 正确答案:

35. 在C语言的函数定义过程中,如果函数finA调用了函数funB,函数funB又调用了函数funA,则( )。

A. 称为函数的直接递归 B. 称为函数的间接递归 C. 称为函数的递归定义

D. C语言中不允许这样的递归形式 正确答案:

36. if语句的控制条件( )。 A. 只能用关系表达式

B. 只能用关系表达式或逻辑表达式 C. 只能用逻辑表达式 D. 可以是任何表达式 正确答案:

37. 若有以下定义和语句:struct student{int num,age;};struct student stu[3]={{1001,20},{1001,19},{1003,21}};struct student *p=stu;则以下错误的引用是( )。 A. (p++)->num B. p++

C. (*p).num D. p=&stu.age 正确答案:

38. 指出程序结束时,j、i、k的值分别是( )。main(){int a=10,b=5,c=5,d=5,i=0,j=0,k=0;for(;a>b;++b)i++;while(a> ++c)j++;do k++;while(a>d++);} A. j=5,i=4,k=6; B. i=5,j=4,k=6; C. j=6,i=5,k=7 D. j=6,i=6,k=6; 正确答案:

39. 为了显示一个文本文件的内容,在打开文件时,文件的打开方式应当时( )。 A. \B. \C. \D. \正确答案:

40. 下列对字符串的定义中错误的是( )。 A. char str[7]=\B. char str[ ]=\C. char *str=\

D. char str[ ]={'F','O','R','T','R','A','N',' 正确答案:

北理工《C语言程序设计》在线作业

二、判断题(共 10 道试题,共 20 分。)

1. switch(表达式)中的表达式可以是任意类型的表达式。 A. 错误 B. 正确 正确答案:

2. “%”运算两侧的数据可以是任意类型的数据。 A. 错误 B. 正确 正确答案:

3. 结构体变量在内存中所占的字节数是由其各个成员所占字节的总和。 A. 错误 B. 正确 正确答案:

4. 在C语言中,for语句后的三个表达式必须都出现。 A. 错误 B. 正确 正确答案:

5. 在C语言中,函数中只能有一个return 语句。 A. 错误 B. 正确 正确答案:

6. 在C语言中,逻辑表达式中只允许出现逻辑型数据。 A. 错误 B. 正确 正确答案:

7. 在C语言中,参与运算的数据类型必须完全一致,不一致时要先将较低的数据类型转换为较高的数据类型。 A. 错误 B. 正确 正确答案:

8. 在C语言中处理文件时文本文件和二进制文件都可采用EOF作为判断文件是否读写结束。

A. 错误 B. 正确 正确答案:

9. 在C语言中,以“r”方式不能打开并不存在的文件。 A. 错误 B. 正确 正确答案:

10. 在C语言的scanf( )中可用”%m.nf”形式的格式字符指定输入数据的精度。 A. 错误 B. 正确 正确答案:

北理工《C语言程序设计》在线作业

一、单选题(共 40 道试题,共 80 分。)

1. C语言结构类型变量在程序执行期间( )。 A. 所有成员一直驻留在内存中 B. 只有一个成员驻留在内存中 C. 部分成员驻留在内存中 D. 没有成员驻留在内存中 正确答案:

2. 不能正确为字符数组输入数据的是( )。 A. char s[5];scanf(“%s”,&s); B. char s[5];scanf(“%s”,s); C. char s[5];scanf(“%s”,&s[0]); D. char s[5];gets(s); 正确答案:

3. main(argc,argv)中形式参数argv的正确说明形式应当为( )。 A. char *argv[ ] B. char argv[ ][ ] C. char argv[ ] D. char *argv 正确答案:

4. 利用fseek函数可以( )。 A. 改变文件的位置指针 B. 实现文件的顺序读写 C. 实现文件的随机读写

D. 以上答案均正确 正确答案:

5. 执行以下程序段后,a,b,c的值分别是( )。int a,b=100,c,x=10,y=9;a=(--x= =y++)?—x:++y; if(x<9) b=x++;c=y; A. 9,9,9 B. 8,8,10 C. 9,10,9 D. 1,11,10 正确答案: 6. 以下程序的输出结果是( )。main(){int i,k,a[10],p[3];k=5;for(i=0;i<10;i++)a[i]=i;for(i=0;i<3;i++)p[i]=a[i*(i+1)];for(i=0;i<3;i++)k+=p[i]*2;printf(“%d”,k); } A. 20 B. 21 C. 22 D. 23

正确答案: 7. 下列程序执行的结果是( )。A=1;b=2;c=3;While(b

C. 输出##x D. 是死循环 E. 有语法错 正确答案:

9. 已知“int a=4,b=5,c;”,则执行表达式“c=a=a>b”后变量a的值为( )。 A. 0 B. 1 C. 4 D. 5

正确答案:

10. 若int a,b,c;则为它们输入数据的正确的语句是( )。 A. read(a,b,c);

B. scanf(\

C. scanf(\D. scanf(\正确答案:

11. 以下正确的数组定义语句是( )。 A. int y[1][4]={1,2,3,4,5}; B. float x[3][ ]={{1},{2},{3}};

C. long s[2][3]={{1},{1,2},{1,2,3}}; D. double t[ ][3]={0}; 正确答案:

12. 已知:int x=1,y=2,z;则执行z=x>y?++x:++y;则z的值为( )。 A. 1 B. 2 C. 3 D. 4

正确答案:

13. 若有char a[80],b[80];则正确的是( )。 A. puts(a,b);

B. printf(“%s,%s”a[ ],b[ ]); C. putchar(a,b); D. puts(a);puts(b); 正确答案:

14. 以下( )不是C语言的特点。 A. 语言的表达能力 B. 语言定义严格 C. 数据结构系统化 D. 控制流程结构化 正确答案:

15. 若int x;则执行下列程序段后输出是( )。for(x=10;x>3;x--){if(x%3)x--;--x;--x;printf(“%d”,x); } A. 63 B. 74 C. 62 D. 73

正确答案:

16. 执行下列程序段后,x、y和z的值分别是( )。int x=10,y=20,z=30;if(x>y)z=x; x=y; y=z; A. 10,20,30 B. 20,30,30 C. 20,30,10 D. 20,30,20 正确答案:

17. 说明语句\的含义是( )。 A. p是一个指向一维数组的指针变量 B. p是一个指针变量,指向一个整型数据

C. p是一个指向函数的指针,该函数的返回值是一个整型 D. 以上都不对 正确答案:

18. 下列说法中正确的是( )。

A. break用在switch语句中,而continue用在循环语句中。 B. break用在循环语句中,而continue用在switch语句中。 C. break能结束循环,而continue只能结束本次循环。 D. continue能结束循环,而break只能结束本次循环。 正确答案:

19. 若有以下定义和语句:struct student{int num,age;};struct student stu[3]={{1001,20},{1001,19},{1003,21}};struct student *p=stu;则以下错误的引用是( )。 A. (p++)->num B. p++

C. (*p).num D. p=&stu.age 正确答案:

20. 以下程序的输出结果是( )。main(){int i,x[3][3]={1,2,3,4,5,6,7,8,9}; for(i=0;i<3;i++)printf(“%d,”x[i][2-i]);} A. 1,5,9 B. 1,4,7 C. 3,5,7 D. 3,6,9 正确答案:

21. 已知:struct sk{int a;float b; }data,*p;若有p=&data, 则对data中的成员a的正确引用是( )。

A. (*p).data.a B. (*p).a C. p->data.a D. p.data.a 正确答案:

22. C编译系统提供了对C程序的编辑、编译、连接和运行环境,以下可以不在该环境下进行的环节是( )。 A. 编辑和编译 B. 编译和连接 C. 连接和运行 D. 编辑和运行 正确答案:

23. 已知: struct{int i; char c; float a; }test; 则sizeof(test)的值是( )。 A. 4 B. 5 C. 6 D. 7

正确答案:

24. 以下程序的输出是( )。main(){char a[2][5]={“6937”,”8254”};int i,j,s=0;for(i=0;i<2;i++)for(j=0;a[i][j]>'0'&&a[i][j]<='9';j+=2)s=10*s+a[i][j]-‘0’;printf(“s=%d ”,s);}

A. 6385 B. 69825 C. 63825 D. 693825 正确答案:

25. 下面程序的输出结果是( )。main(){int i,j;float s;for(i=6;i>4;i--){s=0.0; for(j=i;j>3;j--)s=s+i*j; }printf(“%f ”,s);} A. 135.000000 B. 90.000000 C. 45.000000 D. 60.000000 正确答案:

26. 指出程序结束时,j、i、k的值分别是( )。main(){int a=10,b=5,c=5,d=5,i=0,j=0,k=0;for(;a>b;++b)i++;while(a> ++c)j++;do k++;while(a>d++);} A. j=5,i=4,k=6; B. i=5,j=4,k=6; C. j=6,i=5,k=7 D. j=6,i=6,k=6; 正确答案:

27. 已知:char s[10],*p=s,则在下列语句中,错误的语句是( )。 A. p=s+5; B. s=p+s; C. s[2]=p[4]; D. *p=s[0]; 正确答案:

28. 执行以下程序段后,c3的值是()。int c1=1,c2=2,c3; c3=c1/c2; A. 0 B. 1/2 C. 0.5 D. 1

正确答案:

29. 要判断char型变量m是否是数字字符,可以使用下列表达式( )。 A. 0<=m&&m<=9 B. '0'<=m&&m<='9' C. “0”<=m&&m<=“9”

D. 前3个答案都是错误的 正确答案:

30. 执行下面的语句后x的值为( )。int a=14,b=15,x;char c='A';x=((a&b)&&(c<'a')); A. TRUE B. FLASE C. 0 D. 1

正确答案:

31. 下面个选项组中,均属于C语言关键字的一组是( )。 A. auto,enum,include

B. switch,typedef,continue C. signed,union,scanf D. if,struct,type 正确答案:

32. 在以下对C语言的描述中,正确的是( )。

A. 在C语言中调用函数时,只能将实参数的值传递给形参,形参的值不能传递给实参 B. C语言函数既可以嵌套定义又可以递归调用 C. 函数必须有返回值,否则不能使用函数

D. C语言程序中有定义关系的所有函数都必须放在同一源文件中 正确答案:

33. if语句的控制条件( )。 A. 只能用关系表达式

B. 只能用关系表达式或逻辑表达式 C. 只能用逻辑表达式 D. 可以是任何表达式 正确答案:

34. 为了显示一个文本文件的内容,在打开文件时,文件的打开方式应当时( )。 A. \B. \C. \D. \正确答案:

35. 下列对字符串的定义中错误的是( )。 A. char str[7]=\B. char str[ ]=\C. char *str=\

D. char str[ ]={'F','O','R','T','R','A','N',' 正确答案:

36. 在C语言的函数定义过程中,如果函数finA调用了函数funB,函数funB又调用了函数funA,则( )。

A. 称为函数的直接递归 B. 称为函数的间接递归 C. 称为函数的递归定义

D. C语言中不允许这样的递归形式 正确答案:

37. 若在键盘上输入:283.1900,想使单精度实型变量c的值为283.19,则正确的输入语句是( )。

A. scanf(\B. scanf(\C. scanf(\D. scanf(\

正确答案:

38. 以下对C语言中联合类型数据的正确叙述是( )。

A. 一旦定义了一个联合变量后,即可引用该变量或该变量中的任意成员 B. 一个联合变量中可以同时存放其所有成员 C. 一个联合变量中不能同时存放其所有成员

D. 联合类型数据可以出现在结构类体型定义中,但结构体类型数据不能出现在联合类型定义中

正确答案:

39. 下面描述中,不正确的是( )。

A. 递归法的关键是必须有一个递归终止的条件。

B. 递归算法要求语言具有反复自我调用子程序的能力。 C. 对于同一个问题,递推算法比递归算法的执行时间要长。 D. 递推算法总可以转换为一个递归算法。 正确答案:

40. 已知:int a,*p=&a; 则下列函数调用中错误的是( ) A. scanf(\B. scanf(\C. printf(\D. printf(\正确答案:

北理工《C语言程序设计》在线作业

二、判断题(共 10 道试题,共 20 分。)

1. \是一个字符常串量。 A. 错误 B. 正确 正确答案:

2. “%”运算两侧的数据可以是任意类型的数据。 A. 错误 B. 正确 正确答案:

3. 在C语言中,以“r”方式不能打开并不存在的文件。 A. 错误 B. 正确 正确答案:

4. 在标准C语言中,在定义带参数的宏时也要定义参的类型。

A. 错误 B. 正确 正确答案:

5. 在标准C语言中,可以用typedef定义类型,所以用typedef可以增加C语言的数据类型。 A. 错误 B. 正确 正确答案:

6. 在C语言中,函数中只能有一个return 语句。 A. 错误 B. 正确 正确答案:

7. 若函数的返回值与return表达式类型不一致时,以return 表达式类型为准。 A. 错误 B. 正确 正确答案:

8. 设有变量定义char s[]=”hello”,则数组中有6个元素。 A. 错误 B. 正确 正确答案:

9. 在C语言中,for语句后的三个表达式必须都出现。 A. 错误 B. 正确 正确答案:

10. 在标准C语言中,所有函数在调用之前都要进行声明。 A. 错误 B. 正确 正确答案:

北理工《C语言程序设计》在线作业

一、单选题(共 40 道试题,共 80 分。)

1. 已知:char s[10],*p=s,则在下列语句中,错误的语句是( )。 A. p=s+5; B. s=p+s; C. s[2]=p[4]; D. *p=s[0];

正确答案:

2. 若有char a[80],b[80];则正确的是( )。 A. puts(a,b);

B. printf(“%s,%s”a[ ],b[ ]); C. putchar(a,b); D. puts(a);puts(b); 正确答案: 3. 下列程序执行的结果是( )。A=1;b=2;c=3;While(b

4. 以下( )不是C语言的特点。 A. 语言的表达能力 B. 语言定义严格 C. 数据结构系统化 D. 控制流程结构化 正确答案:

5. 在以下对C语言的描述中,正确的是( )。

A. 在C语言中调用函数时,只能将实参数的值传递给形参,形参的值不能传递给实参 B. C语言函数既可以嵌套定义又可以递归调用 C. 函数必须有返回值,否则不能使用函数

D. C语言程序中有定义关系的所有函数都必须放在同一源文件中 正确答案:

6. 以下对C语言中联合类型数据的正确叙述是( )。

A. 一旦定义了一个联合变量后,即可引用该变量或该变量中的任意成员 B. 一个联合变量中可以同时存放其所有成员 C. 一个联合变量中不能同时存放其所有成员

D. 联合类型数据可以出现在结构类体型定义中,但结构体类型数据不能出现在联合类型定义中

正确答案:

7. C语言规定,调用一个函数时,实参变量和形参变量之间的数据传递方式是( )。 A. 地址传递 B. 值传递

C. 由实参传给形参,并由形参传回给实参 D. 由用户指定传递方式 正确答案:

8. 下面个选项组中,均属于C语言关键字的一组是( )。 A. auto,enum,include

B. switch,typedef,continue C. signed,union,scanf

D. if,struct,type 正确答案:

9. 执行以下程序段后,c3的值是()。int c1=1,c2=2,c3; c3=c1/c2; A. 0 B. 1/2 C. 0.5 D. 1

正确答案:

10. 若在键盘上输入:283.1900,想使单精度实型变量c的值为283.19,则正确的输入语句是( )。

A. scanf(\B. scanf(\C. scanf(\D. scanf(\正确答案:

11. if语句的控制条件( )。 A. 只能用关系表达式

B. 只能用关系表达式或逻辑表达式 C. 只能用逻辑表达式 D. 可以是任何表达式 正确答案:

12. C编译系统提供了对C程序的编辑、编译、连接和运行环境,以下可以不在该环境下进行的环节是( )。 A. 编辑和编译 B. 编译和连接 C. 连接和运行 D. 编辑和运行 正确答案:

13. 执行下列程序段后,x、y和z的值分别是( )。int x=10,y=20,z=30;if(x>y)z=x; x=y; y=z; A. 10,20,30 B. 20,30,30 C. 20,30,10 D. 20,30,20 正确答案:

14. 已知:struct sk{int a;float b; }data,*p;若有p=&data, 则对data中的成员a的正确引用是( )。

A. (*p).data.a B. (*p).a C. p->data.a D. p.data.a 正确答案:

15. 以下程序的输出是( )。main(){char a[2][5]={“6937”,”8254”};int i,j,s=0;for(i=0;i<2;i++)for(j=0;a[i][j]>'0'&&a[i][j]<='9';j+=2)s=10*s+a[i][j]-

‘0’;printf(“s=%d ”,s);} A. 6385 B. 69825 C. 63825 D. 693825 正确答案:

16. 下列对字符串的定义中错误的是( )。 A. char str[7]=\B. char str[ ]=\C. char *str=\

D. char str[ ]={'F','O','R','T','R','A','N',' 正确答案:

17. main(argc,argv)中形式参数argv的正确说明形式应当为( )。 A. char *argv[ ] B. char argv[ ][ ] C. char argv[ ] D. char *argv 正确答案:

18. 要判断char型变量m是否是数字字符,可以使用下列表达式( )。 A. 0<=m&&m<=9 B. '0'<=m&&m<='9' C. “0”<=m&&m<=“9”

D. 前3个答案都是错误的 正确答案:

19. 下面描述中,不正确的是( )。

A. 递归法的关键是必须有一个递归终止的条件。

B. 递归算法要求语言具有反复自我调用子程序的能力。 C. 对于同一个问题,递推算法比递归算法的执行时间要长。 D. 递推算法总可以转换为一个递归算法。 正确答案:

20. 执行以下程序段后,a,b,c的值分别是( )。int a,b=100,c,x=10,y=9;a=(--x= =y++)?—x:++y; if(x<9) b=x++;c=y; A. 9,9,9 B. 8,8,10 C. 9,10,9 D. 1,11,10 正确答案:

21. 以下程序的输出结果是( )。main(){int i,x[3][3]={1,2,3,4,5,6,7,8,9}; for(i=0;i<3;i++)printf(“%d,”x[i][2-i]);} A. 1,5,9 B. 1,4,7 C. 3,5,7 D. 3,6,9

正确答案:

22. 在C语言的函数定义过程中,如果函数finA调用了函数funB,函数funB又调用了函数funA,则( )。

A. 称为函数的直接递归 B. 称为函数的间接递归 C. 称为函数的递归定义

D. C语言中不允许这样的递归形式 正确答案:

23. 若有以下定义和语句:struct student{int num,age;};struct student stu[3]={{1001,20},{1001,19},{1003,21}};struct student *p=stu;则以下错误的引用是( )。 A. (p++)->num B. p++

C. (*p).num D. p=&stu.age 正确答案:

24. 以下程序的输出结果是( )。main(){int i,k,a[10],p[3];k=5;for(i=0;i<10;i++)a[i]=i;for(i=0;i<3;i++)p[i]=a[i*(i+1)];for(i=0;i<3;i++)k+=p[i]*2;printf(“%d”,k); } A. 20 B. 21 C. 22 D. 23

正确答案:

25. 若int a,b,c;则为它们输入数据的正确的语句是( )。 A. read(a,b,c);

B. scanf(\

C. scanf(\D. scanf(\正确答案:

26. 利用fseek函数可以( )。 A. 改变文件的位置指针 B. 实现文件的顺序读写 C. 实现文件的随机读写 D. 以上答案均正确 正确答案:

27. 已知: struct{int i; char c; float a; }test; 则sizeof(test)的值是( )。 A. 4 B. 5 C. 6 D. 7

正确答案:

28. 下列说法中正确的是( )。

A. break用在switch语句中,而continue用在循环语句中。

B. break用在循环语句中,而continue用在switch语句中。 C. break能结束循环,而continue只能结束本次循环。 D. continue能结束循环,而break只能结束本次循环。 正确答案:

29. 说明语句\的含义是( )。 A. p是一个指向一维数组的指针变量 B. p是一个指针变量,指向一个整型数据

C. p是一个指向函数的指针,该函数的返回值是一个整型 D. 以上都不对 正确答案:

30. 下面程序的输出结果是( )。main(){int i,j;float s;for(i=6;i>4;i--){s=0.0; for(j=i;j>3;j--)s=s+i*j; }printf(“%f ”,s);} A. 135.000000 B. 90.000000 C. 45.000000 D. 60.000000 正确答案:

31. 若int x;则执行下列程序段后输出是( )。for(x=10;x>3;x--){if(x%3)x--;--x;--x;printf(“%d”,x); } A. 63 B. 74 C. 62 D. 73

正确答案:

32. 已知:int x=1,y=2,z;则执行z=x>y?++x:++y;则z的值为( )。 A. 1 B. 2 C. 3 D. 4

正确答案:

33. 执行下面的语句后x的值为( )。int a=14,b=15,x;char c='A';x=((a&b)&&(c<'a')); A. TRUE B. FLASE C. 0 D. 1

正确答案:

34. 已知:int a,*p=&a; 则下列函数调用中错误的是( ) A. scanf(\B. scanf(\C. printf(\D. printf(\正确答案: 35. 下列程序段( )。x=3;do{y=x--;if(!y){printf(“x”);continue;}printf(“#”);}while(1<=x<=2);

A. 输出 B.

C. 输出##x D. 是死循环 E. 有语法错 正确答案:

36. 不能正确为字符数组输入数据的是( )。 A. char s[5];scanf(“%s”,&s); B. char s[5];scanf(“%s”,s); C. char s[5];scanf(“%s”,&s[0]); D. char s[5];gets(s); 正确答案:

37. 为了显示一个文本文件的内容,在打开文件时,文件的打开方式应当时( )。 A. \B. \C. \D. \正确答案:

38. 指出程序结束时,j、i、k的值分别是( )。main(){int a=10,b=5,c=5,d=5,i=0,j=0,k=0;for(;a>b;++b)i++;while(a> ++c)j++;do k++;while(a>d++);} A. j=5,i=4,k=6; B. i=5,j=4,k=6; C. j=6,i=5,k=7 D. j=6,i=6,k=6; 正确答案:

39. C语言结构类型变量在程序执行期间( )。 A. 所有成员一直驻留在内存中 B. 只有一个成员驻留在内存中 C. 部分成员驻留在内存中 D. 没有成员驻留在内存中 正确答案:

40. 已知“int a=4,b=5,c;”,则执行表达式“c=a=a>b”后变量a的值为( )。 A. 0 B. 1 C. 4 D. 5

正确答案:

北理工《C语言程序设计》在线作业

二、判断题(共 10 道试题,共 20 分。)

1. switch(表达式)中的表达式可以是任意类型的表达式。 A. 错误 B. 正确 正确答案:

2. \是一个字符常串量。 A. 错误 B. 正确 正确答案:

3. 在C语言中处理文件时文本文件和二进制文件都可采用EOF作为判断文件是否读写结束。 A. 错误 B. 正确 正确答案:

4. 在C语言中,以“r”方式不能打开并不存在的文件。 A. 错误 B. 正确 正确答案:

5. 在C语言中,枚举元素作为常量,它们是有确定的值的,它们的值按顺序从0开始依次增加且不可以改变。 A. 错误 B. 正确 正确答案:

6. 在标准C语言中,所有函数在调用之前都要进行声明。 A. 错误 B. 正确 正确答案:

7. 若函数的返回值与return表达式类型不一致时,以return 表达式类型为准。 A. 错误 B. 正确 正确答案:

8. 在C语言的scanf( )中可用”%m.nf”形式的格式字符指定输入数据的精度。 A. 错误 B. 正确 正确答案:

9. 在C语言中,逻辑表达式中只允许出现逻辑型数据。 A. 错误 B. 正确 正确答案:

10. 在C语言中,for语句后的三个表达式必须都出现。

A. 错误 B. 正确 正确答案:

本文来源:https://www.bwwdw.com/article/pw47.html

Top