关于C语言部分错题

C语言

1.

这里只看那个或就行了,因为对于“或”而言一对全都对,所以只看“或”。

2.

3.C语言的数值常量中不能夹带空格。

4.C语言中的变量都必须先定义再使用,对变量的定义通常放在函数体内的前部,但也可以放在函数外部或复合语句的开头,不能随便放置。

5.在C语言中运算符两侧的运算数据类型可以不一致,且结果与精度较高的保持一致。

6.变量类型符double后面不能有逗号。

7. C语言中的非执行语句不会被编译,不会生成二进制的机器指令。

8. 由C语言构成的指令序列称作为C源程序,C源程序经过C语言编译程序编译之后生成一个后缀为.OBJ的二进制文件(称为目标文件);最后要由“连接程序”把此.OBJ文件与C语言提供的各种库函数连接起来生成一个后缀为.EXE的可执行文件。

9. C语言中八进制整型常量的开头是数字0,十六进制整型常量的开头数字是0x。C语言中的实型常量有两种表示形式:小数形式和指数形式。小数形式表示的实型常量必须要有小数点;指数形式,以“e”或“E”后跟一个整数来表示以10为底数的幂数,且规定字母e或E之前必须要有数字。

028错误,因为八进制中没有数字8;

4e1.5中e后面的指数不是整数,也不对;

10,000数字中不能有逗号。

10. C语言中标识符由字母、下划线、数字组成,且开头必须是字母或者下划线。另外,关键字不能作为标识符。因为C语言中区分大小写,所以“FOR”可以作为标识符来用。&a不对,因为这个字符中含有&,这是一个非法字符。

11. 设有定义:char s[81];int i=0;,以下不能将一行(不超过80个字符)带有空格的字符串正确读入的语句或语句组是 scanf(“%s”,s);

因为字符串的输入不能使用scanf(“%s”,s);而应该使用gets(s).

gets(s)函数与scanf("%s",s)相似,但不完全相同,使用scanf("%s" ,s)函数输入字符串时,输入了空格则认为输入字符串结束,空格后的字符将作为下一个输入项处理。但gets()函数将接收输入的整个字符串直到遇到回车为止。Getchar()的功能是从缓冲区中取出一个字符,所以通过它就可以将回车符取出来。

12. C源程序中不能表示的数制是(二进制),在C语言中整型常量可以用十进制、八进制和十六进制等形式表示,但是不包括二进制。

13. ++k是先使得k的值自增1后再使用,k++是先取得k的值再将k的值自增1。

14. 字符只能用英文的单引号不能用双引号。

15. 算数运算符左边只能是单个变量。

16. 强制类型转换必须要在int两边打上括号。

17. 整型数在机器中就是用补码表示的

18. 一个C语言程序可以实现多种算法。一个C程序可以由一个或多个源程序文件组成,一个源程序文件由一个或多个函数组成,构成C语言程序的基本单位是函数,函数也是C程序中模块化程序设计的基础,C函数可分为标准库函数和用户定义函数两类。

19. 若有定义 int a,b, c;以下选项中的赋值语句正确的是( )。

A.a=(b=c)+1;

B.(a=b)=c=l;

C.a=(b==c)=1;

D.a+b=c;

本题考查的是赋值语句。赋值语句的左侧只能是变量,故B、D错;"="是赋值号,"=="不是赋值号,故C错误。故本题答案为A。

20.sizeof (double)是_B___。

A.一个双精度型表达式

B.一个整型表达式

C.一个不合法的表达式

D.一种函数调用

sizeof返回对象或者类型所占的内存字节数,因此是整型表达式。故本题的答案为B。

21. 以下关于指针的说法错误的是__D______。

A.通过加一个正整数,可以使指针指向其他内存单元

B.可以向指针所指内存单元中写入类型与指针基类型相同的数据

C.指针可以指向与其基类型相同的普通变量

D.可以向指针中写入任意数据

指针变量必须区分基类型,基类型不同的指针变量不能够混合使用。

22. 以下叙述中正确的是_______。

A. 局部变量说明为static存储类,其生存期将得到延长

B. 全局变量说明为static存储类,其作用域将被扩大

C. 任何存储类的变量在未赋初值时,其值都是不确定的

D. 形参可以使用的存储类说明符与局部变量完全相同

此题考的是变量的作用域。在一个函数内部定义的变量是局部变量,它只在本函数范围内有效,而全局变量的作用域为整个源程序文件,即它可以为本文件中所有函数所共用,static类型的变量是静态变量,它的值在函数调用结束后不会消失,而是保留原值,即占用存储单元不释放,由于全局变量的存储方式也是如此,即全局变量和说明为static类型的变量的作用域是相同的,所以B答案这句话是错误的,A答案是正确的;C答案也是错误的,因为对静态局部变量来说,编译时自动赋初值0(对数值型变量)或空字符(对字符型变量),而对自动变量来说,如果不成初值则它的值是一个不确定的值,这是因为每次函数调用结束后存储单元已释放,下次调用时又重新另分配存储单元,而所分配的单元中的值是不确定的。[回车]故本题答案为A。

23. 若有定义语句: char s[10]=”1234567\0\0”;,则strlen(s)的值是____。

A.7

B.8

C.9

D.10

本题的考查点是字符串长度函数。 strlen (字符数组)是测试字符串的长度的函数。函数的值为字符串的实际长度,不包括'\0'在内.C语言中字符串是以'\0'字符结束的,且strlen()函数计算的是'\0'字符前的所有字符的个数,所以本题strlen(s)的值是7。需要与其区分的是sizeof()函数,它的功能是计算变量或数组的所分配到的内存空间的大小。如果本题要求计算sizeof(s)的话,则其值应为10。故本题答案为A

24. 在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是______。注意这里是实参不是形参。C语言函数中的参数传递方式是按值传递,指将实参的值复制一份传递给形参,形参的改变而不影响实参,即为单向传递。

18.

CPU进程的状态

就绪状态

运行状态

等待状态

转换条件

一旦分配到CPU,就转为运行状态。

当需要等待某个事件发生才能继续运行时,则转为等待状态(阻塞状态) ;或者由于分配给它的时间片用完,就让出CPU而转为就绪状。

如果它等待的事件已经发生,即条件得到满足,就转为就绪状态。

C语言

1.

这里只看那个或就行了,因为对于“或”而言一对全都对,所以只看“或”。

2.

3.C语言的数值常量中不能夹带空格。

4.C语言中的变量都必须先定义再使用,对变量的定义通常放在函数体内的前部,但也可以放在函数外部或复合语句的开头,不能随便放置。

5.在C语言中运算符两侧的运算数据类型可以不一致,且结果与精度较高的保持一致。

6.变量类型符double后面不能有逗号。

7. C语言中的非执行语句不会被编译,不会生成二进制的机器指令。

8. 由C语言构成的指令序列称作为C源程序,C源程序经过C语言编译程序编译之后生成一个后缀为.OBJ的二进制文件(称为目标文件);最后要由“连接程序”把此.OBJ文件与C语言提供的各种库函数连接起来生成一个后缀为.EXE的可执行文件。

9. C语言中八进制整型常量的开头是数字0,十六进制整型常量的开头数字是0x。C语言中的实型常量有两种表示形式:小数形式和指数形式。小数形式表示的实型常量必须要有小数点;指数形式,以“e”或“E”后跟一个整数来表示以10为底数的幂数,且规定字母e或E之前必须要有数字。

028错误,因为八进制中没有数字8;

4e1.5中e后面的指数不是整数,也不对;

10,000数字中不能有逗号。

10. C语言中标识符由字母、下划线、数字组成,且开头必须是字母或者下划线。另外,关键字不能作为标识符。因为C语言中区分大小写,所以“FOR”可以作为标识符来用。&a不对,因为这个字符中含有&,这是一个非法字符。

11. 设有定义:char s[81];int i=0;,以下不能将一行(不超过80个字符)带有空格的字符串正确读入的语句或语句组是 scanf(“%s”,s);

因为字符串的输入不能使用scanf(“%s”,s);而应该使用gets(s).

gets(s)函数与scanf("%s",s)相似,但不完全相同,使用scanf("%s" ,s)函数输入字符串时,输入了空格则认为输入字符串结束,空格后的字符将作为下一个输入项处理。但gets()函数将接收输入的整个字符串直到遇到回车为止。Getchar()的功能是从缓冲区中取出一个字符,所以通过它就可以将回车符取出来。

12. C源程序中不能表示的数制是(二进制),在C语言中整型常量可以用十进制、八进制和十六进制等形式表示,但是不包括二进制。

13. ++k是先使得k的值自增1后再使用,k++是先取得k的值再将k的值自增1。

14. 字符只能用英文的单引号不能用双引号。

15. 算数运算符左边只能是单个变量。

16. 强制类型转换必须要在int两边打上括号。

17. 整型数在机器中就是用补码表示的

18. 一个C语言程序可以实现多种算法。一个C程序可以由一个或多个源程序文件组成,一个源程序文件由一个或多个函数组成,构成C语言程序的基本单位是函数,函数也是C程序中模块化程序设计的基础,C函数可分为标准库函数和用户定义函数两类。

19. 若有定义 int a,b, c;以下选项中的赋值语句正确的是( )。

A.a=(b=c)+1;

B.(a=b)=c=l;

C.a=(b==c)=1;

D.a+b=c;

本题考查的是赋值语句。赋值语句的左侧只能是变量,故B、D错;"="是赋值号,"=="不是赋值号,故C错误。故本题答案为A。

20.sizeof (double)是_B___。

A.一个双精度型表达式

B.一个整型表达式

C.一个不合法的表达式

D.一种函数调用

sizeof返回对象或者类型所占的内存字节数,因此是整型表达式。故本题的答案为B。

21. 以下关于指针的说法错误的是__D______。

A.通过加一个正整数,可以使指针指向其他内存单元

B.可以向指针所指内存单元中写入类型与指针基类型相同的数据

C.指针可以指向与其基类型相同的普通变量

D.可以向指针中写入任意数据

指针变量必须区分基类型,基类型不同的指针变量不能够混合使用。

22. 以下叙述中正确的是_______。

A. 局部变量说明为static存储类,其生存期将得到延长

B. 全局变量说明为static存储类,其作用域将被扩大

C. 任何存储类的变量在未赋初值时,其值都是不确定的

D. 形参可以使用的存储类说明符与局部变量完全相同

此题考的是变量的作用域。在一个函数内部定义的变量是局部变量,它只在本函数范围内有效,而全局变量的作用域为整个源程序文件,即它可以为本文件中所有函数所共用,static类型的变量是静态变量,它的值在函数调用结束后不会消失,而是保留原值,即占用存储单元不释放,由于全局变量的存储方式也是如此,即全局变量和说明为static类型的变量的作用域是相同的,所以B答案这句话是错误的,A答案是正确的;C答案也是错误的,因为对静态局部变量来说,编译时自动赋初值0(对数值型变量)或空字符(对字符型变量),而对自动变量来说,如果不成初值则它的值是一个不确定的值,这是因为每次函数调用结束后存储单元已释放,下次调用时又重新另分配存储单元,而所分配的单元中的值是不确定的。[回车]故本题答案为A。

23. 若有定义语句: char s[10]=”1234567\0\0”;,则strlen(s)的值是____。

A.7

B.8

C.9

D.10

本题的考查点是字符串长度函数。 strlen (字符数组)是测试字符串的长度的函数。函数的值为字符串的实际长度,不包括'\0'在内.C语言中字符串是以'\0'字符结束的,且strlen()函数计算的是'\0'字符前的所有字符的个数,所以本题strlen(s)的值是7。需要与其区分的是sizeof()函数,它的功能是计算变量或数组的所分配到的内存空间的大小。如果本题要求计算sizeof(s)的话,则其值应为10。故本题答案为A

24. 在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是______。注意这里是实参不是形参。C语言函数中的参数传递方式是按值传递,指将实参的值复制一份传递给形参,形参的改变而不影响实参,即为单向传递。

18.

CPU进程的状态

就绪状态

运行状态

等待状态

转换条件

一旦分配到CPU,就转为运行状态。

当需要等待某个事件发生才能继续运行时,则转为等待状态(阻塞状态) ;或者由于分配给它的时间片用完,就让出CPU而转为就绪状。

如果它等待的事件已经发生,即条件得到满足,就转为就绪状态。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值