C语言期末概念题100道

  • 花括号“{”和“}”只能作为函数体的定界符

    • F。花括号不仅可以作为函数体的定界符,还可以用于其他块结构,如控制语句(if、while、for等)和复合语句。
  • C程序中的每行只能写一条语句

    • F。C语言中每行可以包含多条语句,只需用分号(;)分隔即可。
  • C程序的执行总是从main函数开始,在main函数结束

    • F。C程序的执行总是从main函数开始,但不一定在main函数结束。例如,程序可以通过调用exit函数提前结束。
  • C程序的执行总是从main函数开始,在程序的最后一个函数中结束

    • F。C程序的执行总是从main函数开始,但它并不总是在最后一个函数中结束。main函数结束或调用exit函数时程序就会结束。
  • ++(i+1);是非法的赋值语句

    • T。表达式++(i+1);是非法的,因为i+1是一个右值,不能进行自增操作。
  • 用户标识符中不可以出现中划线,但可以出现下划线

    • T。用户标识符可以包含字母、数字和下划线,但不能包含中划线。
  • 用户标识符中可以出现下划线,但不可以放在用户标识符的开头

    • F。用户标识符中可以出现下划线,并且可以以下划线开头。
  • C语言中,Area与area是不同的标识符

    • T。C语言区分大小写,因此Areaarea是两个不同的标识符。
  • C语言中有逻辑类型

    • F。标准的C语言中没有专门的逻辑类型(如bool),逻辑操作返回的是整数类型。C99引入了stdbool.h来提供bool类型。
  • int a=b=0;是正确的定义语句

    • T。这是一种合法的多重赋值语句,b和a都被初始化为0。
  • 1.2E0.5是符合C语言语法的实型常量

    • F。1.2E0.5不是合法的浮点数表示形式。科学记数法中的指数部分必须是整数。
  • 假定x和y为double型,则表达式x=2,y=x+3/2的值是3.500000

    • F。表达式的值是x+3/2,等于x+1.5。由于x被赋值为2,y的值是3.5。
  • 可以用关系运算符对字符串的大小进行比较

    • F。关系运算符不能直接比较字符串,需要使用strcmp等函数进行比较。
  • 两个字符串中的字符个数相同时才能进行字符串大小的比较

    • F。字符串大小比较是基于字符的ASCII值逐个比较,而不依赖于字符个数相同。
  • 设有定义语句:char b= '\123';则变量b包括4个字符

    • F\123是八进制表示形式,对应的单个字符(对应ASCII值)。
  • 若有定义语句:char s[10]="1234567\0\0";,则strlen(s)的值是9

    • F。strlen只计算到第一个空字符为止,因此strlen(s)的值是7。
  • a=b+c=1 是正确的赋值表达式

    • F。这不是合法的表达式,b+c=1是非法的赋值。
  • 若变量a、i已正确定义,且i已正确赋值,则 a=a++=5; 是正确的赋值语句

    • F。这是非法语句,不能同时有两个赋值运算符。
  • 除逗号运算符外,赋值运算符的优先级最低

    • F。赋值运算符的优先级比逗号运算符高。
  • C语言中,运算对象必须是整型数据的运算符是 %。

    • T。模运算符(%)的操作数必须是整数类型。
  • 对于单目运算符++、--,它们的运算对象可以是任何变量和常量

    • F。单目运算符++、--的操作数必须是左值,不能是常量。
  • 表达式:10!=9的值是 true

    • T。10不等于9,所以表达式的值是true(即1)。
  • 表达式1||2||3||4的值是1。

    • T。在逻辑或运算中,只要有一个操作数为真,结果为真,非零值都为真,因此结果为1。
  • 若变量c为char类型,则表达式(c>= 'a')&&(c<= 'z') 能正确判断出c为小写字母

    • T。这个表达式正确判断c是否为小写字母。
  • 若变量c为char类型,则表达式 'a'<=c<= 'z' 能正确判断出c为小写字母

    • F。表达式 'a'<=c<= 'z' 实际上被解释为 ('a'<=c) <= 'z',这个是错误的。应该用(c>= 'a')&&(c<= 'z')。
  • sizeof(float)的值是4

    • T。在大多数系统中,float类型占用4个字节。
  • sizeof(double)是一种函数调用

    • F。sizeof是一个操作符,而不是函数。
  • if(x<y) {x++;y++;} 是正确的if语句。

    • T。这是一个合法的if语句。
  • if(x>y); 是正确的if语句。

    • T。虽然语法上正确,但由于分号表示空语句,if条件没有实际作用。
  • 用do-while语句构成的循环,在while后的表达式为零时结束循环

    • T。do-while循环在while条件表达式为假时结束。
  • do-while语句构成的循环只能用break语句退出

    • F。do-while循环可以通过满足条件表达式为假退出,也可以用break语句退出。
  • 对for(表达式1; ; 表达式3)可理解为 for(表达式1;0;表达式3) 。

    • F。对for(表达式1; ; 表达式3),条件部分为空时视为恒真,不等于for(表达式1;0;表达式3)。
  • break语句只能用于switch语句体中

    • F。break语句可以用于switch语句体中,也可以用于循环语句中。
  • continue语句的作用是:使程序的执行流程跳出包含它的所有循环

    • F。continue语句只跳出当前循环的本次迭代,继续执行下一次迭代。
  • 在循环体内使用break语句和continue语句的作用相同

    • F。break语句跳出整个循环,continue语句跳过当前迭代。
  • 当程序执行中,数组元素的下标超出所定义的下标范围时,系统将给出“下标越界”的出错信息

    • F。C语言不进行数组下标越界检查,越界访问可能导致未定义行为。
  • 假定int类型变量占用两个字节,其有定义:int x[10]={0,2,4};,则数组x在内存中所占字节数是6

    • F。数组x有10个元素,每个元素占用2个字节,总共占用20个字节。
  • 若有定义:int a[2][3];对a数组元素正确引用的是a[2][3]

    • F。数组a的有效下标范围是a[0][0]到a[1][2],a[2][3]是非法引用。
  • 若有说明int s[3][4]={0};则只有元素s[0][0] 可得到初值0。

    • F。初始化时没有显式赋值的元素都被初始化为0。
  • 不能在赋值语句中通过赋值运算符"="对字符型数组进行整体赋值

    • T。字符型数组不能通过赋值运算符进行整体赋值,只能在声明时初始化或逐个赋值。
  • 字符型数组中可以存放字符串

    • T。字符数组可以存储字符串。
  • 可以对整型数组进行整体输入、输出

    • F。整型数组不能整体输入、输出,需要逐个元素进行输入、输出。
  • 函数中的形式参数是局部变量

    • T。函数的形式参数在函数内部作为局部变量使用。
  • 在不同的函数中可以使用相同名字的变量

    • T。不同函数中的局部变量在各自函数的作用域内有效,可以使用相同名字。
  • 在一个函数内定义的变量只在本函数范围内有效

    • T。函数内定义的变量是局部变量,只在该函数内有效。
  • 函数的定义和函数的调用均可以嵌套

    • F。函数的定义不能嵌套,函数的调用可以嵌套。
  • 函数的定义可以嵌套,但函数的调用不可以嵌套

    • F。函数定义不能嵌套,函数调用可以嵌套。
  • 函数的形参和实参分别占用不同的存储单元

    • T。函数调用时,形参和实参分别占用不同的存储单元。
  • C语言中,每个函数都可以被其它函数调用(包括main函数)

    • T。C语言中,函数间可以相互调用,main函数也可以被其他函数调用。
  • C语言中,在一个函数内部可以定义另一个函数

    • F。C语言不允许在一个函数内部定义另一个函数。
  • 实参和与其对应的形参共同占用一个存储单元

    • F。实参和形参在函数调用时分别占用不同的存储单元。
  • 只有当实参和与其对应的形参同名时才共占用存储单元

    • F。实参和形参是否同名都分别占用不同的存储单元。
  • 若有以下函数调用语句: fun(a+b,(x,y),fun(n+k,d,(a,B)));在此函数调用语句中实参的个数是6

    • F。此处有3个实参,分别是a+b、(x,y)和fun(n+k,d,(a,B))。但是(x,y)和(a,B)是非法的表达式。
  • 用户定义的函数中可以没有return语句

    • T。void类型函数可以没有return语句,非void类型函数没有return语句会导致未定义行为。
  • 用户定义的函数中可以有多个return语句,以便可以调用一次返回多个函数值

    • F。用户定义的函数中可以有多个return语句,但每次调用只返回一个值。
  • 当调用函数时,实参是一个数组名,则向函数传送的是数组的首地址

    • T。数组名作为实参时,传递的是数组的首地址。
  • 若用数组名作为实参,则传递给形参的是数组中全部元素的值。

    • F。传递的是数组的首地址,而不是所有元素的值。
  • C语言中形参的默认存储类别是自动(auto)。

    • T。函数的形参默认存储类别是auto。
  • C语言中,宏替换没有数据类型限制

    • T。宏替换是简单的文本替换,没有数据类型的限制。
  • C语言中,宏名必须用大写字母表示

    • F。宏名可以用大写字母,但不是必须的,这是编程习惯。
  • C程序对预处理命令行的处理是在程序执行的过程中进行的

    • F。预处理是在编译前进行的,不是在程序执行过程中。
  • 两个字符串中的字符个数相同时才能进行字符串大小的比较

    • F。字符串大小比较基于字符的ASCII值逐个比较,而不是字符个数。
  • 当调用函数时,实参是一个数组名,则向函数传送的是数组的首地址

    • T。数组名作为实参传递时,传递的是数组的首地址。
  • break语句只能用于switch语句体中

    • F。break语句可以用于switch语句体中,也可以用于循环语句中。
  • C程序中的main()函数必须放在程序的开始位置。

    • F。main函数可以放在程序的任意位置,但通常放在文件开头。
  • if(x>y); 是正确的if语句。

    • T。这是合法语句,但由于分号表示空语句,if条件没有实际作用。
  • ++(i+1);是非法的赋值语句

    • T。表达式++(i+1);是非法的,因为i+1是右值,不能进行自增操作。
  • 若有以下函数调用语句: fun(a+b,(x,y),fun(n+k,d,(a,B)));在此函数调用语句中实参的个数是6

    • F。此处有3个实参,分别是a+b、(x,y)和fun(n+k,d,(a,B))。但(x,y)和(a,B)是非法的表达式。
  • 函数的形参和实参分别占用不同的存储单元

    • T。函数调用时,形参和实参分别占用不同的存储单元。
  • 在不同的函数中可以使用相同名字的变量

    • T。不同函数中的局部变量在各自函数的作用域内有效,可以使用相同名字。
  • 表达式:10!=9的值是 true

    • T。10不等于9,所以表达式的值是true(即1)。
  • C语言中,宏替换没有数据类型限制

    • T。宏替换是简单的文本替换,没有数据类型的限制。
  • C程序中注释部分可以出现在程序中任意合适的地方

    • T。注释可以出现在程序的任何地方,只要不破坏语法结构。
  • 设有定义语句:char b= '\123';则变量b包括4个字符

    • F\123是八进制表示形式,对应的单个字符。
  • 用do-while语句构成的循环,在while后的表达式为零时结束循环

    • T。do-while循环在while条件表达式为假时结束。
  • if(x<y) {x++;y++;} 是正确的if语句。

    • T。这是一个合法的if语句。
  • continue语句的作用是:使程序的执行流程跳出包含它的所有循环

    • F。continue语句只跳出当前循环的本次迭代,继续执行下一次迭代。
  • 1.2E0.5是符合C语言语法的实型常量

    • F。1.2E0.5不是合法的浮点数表示形式。科学记数法中的指数部分必须是整数。
  • 若有定义语句:char s[10]="1234567\0\0";,则strlen(s)的值是9

    • F。strlen只计算到第一个空字符为止,因此strlen(s)的值是7。
  • 若变量c为char类型,则表达式 'a'<=c<= 'z' 能正确判断出c为小写字母

    • F。表达式 'a'<=c<= 'z' 实际上被解释为 ('a'<=c) <= 'z',这个是错误的。应该用(c>= 'a')&&(c<= 'z')。
  • 可以用关系运算符对字符串的大小进行比较

    • F。关系运算符不能直接比较字符串,需要使用strcmp等函数进行比较。
  • 每个C程序中都必须要有一个main()函数

    • T。每个C程序必须有一个main函数作为程序的入口点。
  • 函数的定义和函数的调用均可以嵌套

    • F。函数的定义不能嵌套,函数的调用可以嵌套。
  • sizeof(float)的值是4

    • T。在大多数系统中,float类型占用4个字节。
  • C语言中有逻辑类型

    • F。标准的C语言中没有专门的逻辑类型(如bool),逻辑值通常使用整数表示。
  • 字符型数组中可以存放字符串

    • T。字符数组可以存储字符串。
  • 分号是C语句之间的分隔符,不是语句的一部分

    • F。分号是语句结束的标志,是语句的一部分。
  • C程序可以由一个或多个函数组成

    • T。C程序可以包含多个函数。
  • 若有说明int s[3][4]={0};则只有元素s[0][0] 可得到初值0。

    • F。int s[3][4]={0};初始化时,所有元素都初始化为0。
  • 用户定义的函数中可以有多个return语句,以便可以调用一次返回多个函数值

    • F。用户定义的函数可以有多个return语句,但每次调用只能返回一个值。
  • C语言中,每个函数都可以被其它函数调用(包括main函数)

    • T。C语言中函数可以相互调用,main函数也可以被其他函数调用。
  • 在不同的函数中可以使用相同名字的变量

    • T。不同函数中的局部变量在各自函数的作用域内有效,可以使用相同名字。
  • 13
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值