C语言期末复习多选题50道(含答案)

2024-06-17 06:36

本文主要是介绍C语言期末复习多选题50道(含答案),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

答案:

1·BCD · 2. ABC · 3. A · 4. AC · 5. ABC · 6. BCD · 7. ACD · 8. BD · 9. BC · 10. BCD · 11. ABD · 12. ABD · 13. ABD · 14. AB · 15. BCD · 16. BCD · 17. CD · 18. AB · 19. BD · 20. ABD · 21. CD · 22. ABD · 23. CD · 24. C · 25. ABD · 26. ABC · 27. BCD · 28. ABD · 29. BCD · 30. BD · 31. BC · 32. ACD · 33. BD · 34. B · 35. ABD · 36. AC · 37. BD · 38. B · 39. A · 40. ABC · 41. ACD · 42. AB · 43. AC · 44. ACD · 45. ABC · 46. ACD · 47. ABD · 48. AC · 49. AD · 50. AC

1. 以下叙述中正确的是(    )

A) 用户所定义的标识符允许使用关键字

B) 用户所定义的标识符应尽量做到“见名知意”

C) 用户所定义的标识符必须以字母或下划线开头

D) 用户定义的标识符中,大、小写字母代表不同标识

2. 下列定义变量的语句中正确的是(    )

A) int  _int;

B) double  int_;

C) char  For;

D) float  US$;

3. 设有定义:int k=1, m=2;float f=7;,则以下选项中符合C语言语法的表达式是

(    )

A) k=k>=k

B) -k++

C) k%int(f)

D) k<>m

4. 若有定义语句:double x[5]={1.0,2.0,3.0,4.0,5.0}, *p=x;则正确引用x数组元素的是(    )

A) *p

B) x[5]

C) *(p+1)

D) *x

5. 若要求定义具有10个int型元素的一维数组a,则以下定义语句中正确的是

(    )

A) #define  N  10    

int  a[N];

B) #define  n  5

int  a [2*n];

C) int  a[5+5];

D) int  n=10,a[n];

6. C源程序中可以表示的数制是

(    )

A) 二进制

B) 八进制

C) 十进制

D) 十六进制

7. 按照C语言规定的用户标识符命名规则,能出现在标识符中的是(    )

A) 大写字母

B) 连接符

C) 数字字符

D) 下划线

8. 以下不合法的字符型常量是(    )

A) '\x13'

B) '\081'

C) '\065'

D) "\n"

9. 以下合法的字符常量是

(    )

A) '\018'

B) '\"'

C) '\\'

D) '\0xcc'

10. 以下叙述中正确的是(    )

A) C语句必须以分号结束

B) 复合语句在语法上被看作一条语句

C) 空语句出现在任何位置都不会影响程序运行

D) 赋值表达式末尾加分号就构成赋值语句

11. 以下合法的赋值语句是(    )

A) n=(i=2,++i);

B) j++;

C) ++(i+1);

D) x=j>0;

12. 以下能正确定义二维数组的选项是

(    )

A) int a[2][2] = {{1}, {2}};

B) int a[ ][2] = {1, 2, 3, 4};

C) int a[2][2] = {{1}, {2},{3}};

D) int a[2][ ] = {{1, 2}, {3, 4}};

13. 若有定义:int aa[8];则以下表达式中能代表数组元aa[1]的地址的是

(    )

A) &aa[0]+1

B) &aa[1]

C) &aa[0]++

D) aa+1

14. 已有定义:int i,a[10],*p; , 则不合法的赋值语句是(    )

A) p=100;

B) p=a[5]

C) p=&a[2]+2

D) p=a+2;

15. 以下能正确进行字符串赋初值的语句是(    )

A) char str[5]="good!";

B) char str[]="good!";

C) char *str="good!";

D) char str[5]={‘g',‘o',‘o',‘d'};

16. 已知大写字母A的ASCⅡ码是65,小写字母a的ASCⅡ码是97。以下能将变量c中的大写字母转换为对应小写字母的语句是(    )

A) c=(c-'A')%26+'a'

B) c=c+32

C) c=c-'A'+'a'

D) c=('A'+c)%26-'a'

17. 设有以下定义和语句

char  str[20]="Program", *p;

p=str;

则以下叙述中错误的是(    )

A) *p与str[0]中的值相等

B) 可以执行p++操作

C) 可以执行str++操作

D) str数组长度和p所指向的字符串长度相等

18. 对于下面①,②两个循环语句,正确的描述是( )。

①    while(1);

②    for( ; ; );

A) ①是无限循环

B) ②是无限循环

C) ①循环一次

D) ②循环一次

19. 以下错误的函数定义形式是(    )

A) double fun (int x , int y)

B) double fun (int x ; int y)

C) double fun (int x , int y) ;

D) double fun (int x , y) ;

20. 对于基本类型相同的两个指针变量之间,可以进行的运算是(    )

A) <

B) =

C) +

D) -

21. 能把字符串:Hello!赋给数组b的语句是(    )

A) char b[10]={'H','e','l','l','o','!'};

B) char b[10];b="Hello!";

C) char b[10];strcpy(b,"Hello!");

D) char b[10]="Hello!";

22. 以下能对二维数组a进行正确初始化的语句是(    )

A) int a[2][3]={0};

B) int a[2][ ]={{1, 2}, {0}};

C) int a[2][3]={{1, 2}, {3, 4}, {5, 6}};

D) int a[ ][3]={1, 2, 3, 4, 5, 6};

23. sizeof(double)是

A) 一种函数调用

B) 一个双精度型表达式

C) 一个整型表达式

D) sizeof是运算符

24. 设a为整型变量,能正确表达数学关系:10<a<15 的C语言表达式是(    )

A) 10<a<15

B) a==11||a==12||a==13||a==14

C) a>10&&a<15

D) (a<10)||(a>15)

25. C语言中基本的数据类型包括(    )

A) 整型

B) 实型

C) 逻辑型

D) 字符型

26. 以下对一维整型数组y的错误定义是(    )。

A) int y(10);

B) int k=10,y[k];

C) int k;

D) #define SIZE 8

   int y[SIZE];

27. 若已定义:int a[ ]={0,1,2,3,4,5,6,7,8,9}, *p=a,i;其中 0≤i≤9, 则对a数组元素正确的引用是(    )

A) a[p-a]

B) *(&a[i])

C) p[i]

D) a[10]

28. 若a、b、c、d都是int类型变量且初值为0,以下选项中正确的赋值语句是(    )。

A) a=b=c=100;

B) d++;

C) c+b;

D) d=(c=22)-(b++);

29. 设有定义:char  p[]={'1', '2', '3'},*q=p; ,以下能计算出一个char型数据所占字节数的表达式是(    )

A) sizeof(p)

B) sizeof(char)

C) sizeof(*q)

D) sizeof(p[0])

30. 下列选项中,合法的C语言关键字是(    )

A) VAR

B) char

C) integer

D) default

31. 若变量x、y已正确定义并赋值,以下不正确的表达式是

(    )

A) ++x,y=x--

B) x+1=y

C) x=x+10=x+y

D) double(x)/10

32. 以下定义语句中错误的是

(    )

A) int a=b=0;

B) char A=65+1,b='b';

C) float a=1,*b=&a,*c=&b;

D) double a=0.0;b=1.1;

33. 已定义ch为字符型变量,以下赋值语句中正确的是(    )

A) ch='\';

B) ch=62+3;

C) ch=NULL;

D) ch='\xaa';

34. 下列选项中,正确的赋值表达式是(    )

A) (a+b)++

B) n1=(n2=(n3=0))

C) k=i=j

D) a=b+c=1

35. 以下叙述中错误的是

(    )

A) C程序中的注释只能出现在程序的开始位置和语句的后面

B) C程序书写格式严格,要求一行内只能写一个语句

C) C程序书写格式自由,一个语句可以写在多行上

D) 用C语言编写的程序只能放在一个程序文件中

36. 指出下面正确的赋值语句(    )

A) a++

B) a==b;

C) a+=b;

D) a=1,b=1;

37. 下面正确的字符常量为(    )。

A) "n"

B) '\\'

C) 'ab'

D) 'u'

38. 若程序中定义了以下函数:

double  myadd(double a,double b)

{ return (a+b);}

并将其放在调用语句之后,则在调用之前应该对该函数进行说明,以下选项中正确的说明是(    )

A) double myadd(double a,b);

B) double myadd(double,double);

C) double myadd(double b,double a);

D) double myadd(double x,double y);

39. 下选项中是C语句的是(    )。

A) {int i; i++; printf(“%d\n”,i);}

B) ;

C) a=5,c=10

D) { ; }

40. 以下叙述中错误的是(    )

A) 预处理命令行必须位于源文件的开头

B) 在源文件的一行上只能有一条预处理命令

C) 宏名必须用大写字母表示

D) 宏替换不占有程序的运行时间

41. 设p1和p2是指向同一个int型一维数组的指针变量,k为int型变量,则能正确执行的语句是(    )

A) k=*p1+*p2;

B) p2=k;

C) p1=p2;

D) k=*p1 *(*p2);

42. 以下叙述中正确的是

(    )

A) C程序必须由一个或一个以上的函数组成

B) 函数调用可以作为一个独立的语句存在

C) 若函数有多个返回值,必须通过多个return语句返回

D) 函数形参的值改变也可以传回给对应的实参

43. 设有以下定义

int a=0;  int *p=&a;  char c='A';  

#define d 2

则下面语句中正确的是(    )

A) a++;

B) b++;

C) c++;

D) d++;

44. 关于形参和实参的说法中,错误的是(    )。

A) 形参是虚设的,所以它始终不占存储单元

B) 实参与它所对应的形参占用不同的存储单元

C) 实参与它所对应的形参占用同一个存储单元

D) 实参与它所对应的形参同名时可占用同一个存储单元

45. 若有说明:int n=2,*p=&n,*q=p;,则以下正确的赋值语句是(    )

A) p=q;

B) *p=*q;

C) n=*q;

D) p=n;

46. 下列错误的C语言标志符的是(    )。

A) Aa+

B) __123

C) a*bc

D) b&cd

47. 以下叙述中正确的是(    )

A) 改变函数形参的值,不会改变对应实参的值

B) 函数可以返回地址值

C) 可以给指针变量赋一个整数作为地址值

D) 当在程序的开头包含头文件stdio.h时,可以给指针变量赋NULL

48. 下面正确的转义字符是(    )。

A) '\101'

B) '\'

C) '\xaf'

D) '\018'

49. 以下选项中,合法的字符常量是(    )

A) '\t'

B) '\18'

C) "n"

D) '\xaa'

50. 下列叙述中错误的是(    )

A) break语句只能用于switch语句

B) 在switch语句中可以不使用default

C) break语句必须与switch语句中的case配对使用

D) 在switch语句中,不一定使用break语句

这篇关于C语言期末复习多选题50道(含答案)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1068706

相关文章

C语言中的数据类型强制转换

《C语言中的数据类型强制转换》:本文主要介绍C语言中的数据类型强制转换方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录C语言数据类型强制转换自动转换强制转换类型总结C语言数据类型强制转换强制类型转换:是通过类型转换运算来实现的,主要的数据类型转换分为自动转换

利用Go语言开发文件操作工具轻松处理所有文件

《利用Go语言开发文件操作工具轻松处理所有文件》在后端开发中,文件操作是一个非常常见但又容易出错的场景,本文小编要向大家介绍一个强大的Go语言文件操作工具库,它能帮你轻松处理各种文件操作场景... 目录为什么需要这个工具?核心功能详解1. 文件/目录存javascript在性检查2. 批量创建目录3. 文件

C语言实现两个变量值交换的三种方式

《C语言实现两个变量值交换的三种方式》两个变量值的交换是编程中最常见的问题之一,以下将介绍三种变量的交换方式,其中第一种方式是最常用也是最实用的,后两种方式一般只在特殊限制下使用,需要的朋友可以参考下... 目录1.使用临时变量(推荐)2.相加和相减的方式(值较大时可能丢失数据)3.按位异或运算1.使用临时

使用C语言实现交换整数的奇数位和偶数位

《使用C语言实现交换整数的奇数位和偶数位》在C语言中,要交换一个整数的二进制位中的奇数位和偶数位,重点需要理解位操作,当我们谈论二进制位的奇数位和偶数位时,我们是指从右到左数的位置,本文给大家介绍了使... 目录一、问题描述二、解决思路三、函数实现四、宏实现五、总结一、问题描述使用C语言代码实现:将一个整

C语言字符函数和字符串函数示例详解

《C语言字符函数和字符串函数示例详解》本文详细介绍了C语言中字符分类函数、字符转换函数及字符串操作函数的使用方法,并通过示例代码展示了如何实现这些功能,通过这些内容,读者可以深入理解并掌握C语言中的字... 目录一、字符分类函数二、字符转换函数三、strlen的使用和模拟实现3.1strlen函数3.2st

Go语言中最便捷的http请求包resty的使用详解

《Go语言中最便捷的http请求包resty的使用详解》go语言虽然自身就有net/http包,但是说实话用起来没那么好用,resty包是go语言中一个非常受欢迎的http请求处理包,下面我们一起来学... 目录安装一、一个简单的get二、带查询参数三、设置请求头、body四、设置表单数据五、处理响应六、超

C语言中的浮点数存储详解

《C语言中的浮点数存储详解》:本文主要介绍C语言中的浮点数存储详解,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、首先明确一个概念2、接下来,讲解C语言中浮点型数存储的规则2.1、可以将上述公式分为两部分来看2.2、问:十进制小数0.5该如何存储?2.3 浮点

基于Python实现多语言朗读与单词选择测验

《基于Python实现多语言朗读与单词选择测验》在数字化教育日益普及的今天,开发一款能够支持多语言朗读和单词选择测验的程序,对于语言学习者来说无疑是一个巨大的福音,下面我们就来用Python实现一个这... 目录一、项目概述二、环境准备三、实现朗读功能四、实现单词选择测验五、创建图形用户界面六、运行程序七、

使用Go语言开发一个命令行文件管理工具

《使用Go语言开发一个命令行文件管理工具》这篇文章主要为大家详细介绍了如何使用Go语言开发一款命令行文件管理工具,支持批量重命名,删除,创建,移动文件,需要的小伙伴可以了解下... 目录一、工具功能一览二、核心代码解析1. 主程序结构2. 批量重命名3. 批量删除4. 创建文件/目录5. 批量移动三、如何安

python使用fastapi实现多语言国际化的操作指南

《python使用fastapi实现多语言国际化的操作指南》本文介绍了使用Python和FastAPI实现多语言国际化的操作指南,包括多语言架构技术栈、翻译管理、前端本地化、语言切换机制以及常见陷阱和... 目录多语言国际化实现指南项目多语言架构技术栈目录结构翻译工作流1. 翻译数据存储2. 翻译生成脚本