ptaC语言判断

判断题

  1. 结构体变量可以作数组元素   对
  2. 结构体成员的类型必须是基本数据类型  (结构体成员的类型可以是基本数据类型,也可以是构造类型)
  3. 结构体类型本身不占用内存空间,结构体变量占用内存空间 
  4. char *s="C Language";表示s是一个指向字符串的指针变量,把字符串的首地址赋予s   对
  5. 语句int *p, q, r; 定义了3个指针变量  错 (定义了一个指针变量,两个变量)
  6. 执行语句int *p; 后,指针变量p只能指向int类型的变量  对
  7. 只要将多个指针作为函数的参数,函数就一定会返回多个值  (void是空函数,无返回值,int类型有一个返回值)
  8. 对于定义int a[10],*p=a; 语句p=a+1;a=a+1;都是合法的  错(a是指针数组首地址,不可更改)
  9. 结构是变量的集合,可以按照对同类型变量的操作方法单独使用其成员变量。  
  10. 对于结构数组s,既可以引用数组的元素s[i],也可以引用s[i]中的结构成员。  对
  11. 假设结构指针p已定义并正确赋值,其指向的结构变量有一个成员是int型的num,则语句 *p.num = 100; 是正确的。   错(*p).num = 100;(因为.的优先级高于*);或者p→num,也可以
  12. 语句 int *p[5]; 定义了一个指针数组p,用于指向一个有5个元素的数组。  错(定义一个指向一维数组的指针的首元素的指针应为 int a[5],*p)
  13. 对于 int 型的二级指针变量,它既可以指向同类型的一级指针变量,也可以指向同类型的普通(非指针)变量。  错(对于int型的二级指针变量,可以指向一维指针变量)(那它可以指向二维指针变量吗)
  14. 在定义结构类型时,关键字struct和它后面的结构名共同组成一个新的数据类型名。  对
  15. 在对结构变量操作时,.被称为成员或者分量运算符。 
  16. 在使用结构指针时,->被称为指向运算符。  对
  17. 在C语言中,数组名是不可改变的,不能对它进行赋值运算。  
  18. 文件指针和位置指针都是随着文件的读写操作在不断改变。  (位置指针不变(定义),文件指针不知道)
  19. 随机操作只适用于文本文件。  错(随机操作适用于文本文件和二进制文件
  20. 随机操作只适用于二进制文件   错()
  21. 以“a”方式打开一个文件时,文件指针指向文件首  错‘a’方式向文本文件尾添加数据,文件只能写,因为只能在文件尾添加,所以应该是指向文件尾)
  22. 文件的读函数是从输入文件中读取信息,并存放在内存中。    对
  23. c语言源程序是文本文件,目标文件和可执行文件是二进制文件。  
  24. close(fp);表示关闭指针fp所指向的那个文件。  (表示关闭文件指针所指的文件的是 fclose())
  25. fprintf(fp,"%d",a);表示将变量a以十进制整数形式保存到指针fp所指向的文件中。  对
  26. scanf(fp,"%c",&ch);表示从指针fp所指向的文件中读出一个字符并保存到变量ch中。   (fp 必需指向一个以读的方式打开的文件,即只能读,不能存)
  27. 当fopen函数打开文件失败时,返回给文件指针的值是NULL。   对(fopen()函数如果执行成功,返回包含文件包含文件缓冲区信息的文件结构体的地址,赋给文件指针fp。否则,返回一个NULL(空值)的FILE指针)
  28. 当文件被正常关闭时,fclose( )函数的返回值是-1。   错(正常关闭返回为0)
  29. 一般不能用任何一个文本编辑器打开二进制文件进行阅读。  (//二进制的是一串1和0,人看不懂)
  30. 二进制文件名不能用.txt作为扩展名,否则二进制文件读写函数fread和fwrite将出错。   错二进制文件名可以.txt作为扩展名后半句对不对我不知道)
  31. 有时候,打开文件方式"w+"和"r+"具有同样的作用。 (“r+”(读写),为输入/输出打开一个文本文件;“w+”(读写),为输入/输出建立一个文本文件(若文件不存在则创立该文件);都会打开一个文件)
  32. C语言中不能用printf函数输出字符。  
  33. 执行以下程序段后,k的值为4。

int k = 3;

sizeof(++k);  错(k=3)

34.表达式 (3<x<5) 的值恒为1。  对  (如果x>3,那么为真,输出1;如果x<3,那么为假,输出0。即都小于5)

35.C语言中不能用scanf 函数输入字符。 

36.设变量已正确定义,执行以下程序段,顺序输入三个字符'k',则输出k

scanf("%c%c%c", &ch1, &ch2, &ch3);

printf("%c", ch2);     对

37.可以使用printf输出一个字符。   对

38.C语言中变量名r和R表示同一个变量。  错

39.c语言中运算符%的优先级高于&&。   对

40.C语言中3/2的值是1。  对

41.这个赋值语句是正确的:5=a;  错

42.判断整型变量a是否是偶数的表达式为a%2=0。 错

43.在逻辑运算符中,逻辑非(!)的优先级别最高。  对

44.执行以下程序段,输入1.3 0.01 365,输出1.3#0.010#365

int day;

double factor, initial;

scanf("%lf %lf %d", &initial, &factor);

printf("%.1f#%.3f#%d", initial, factor, day);    错  (scanf("%lf %lf %d", &initial, &factor);

输入里面没有day,所以不会输出题上所示)

  1. 已知字符B的ASCII码是66,那么也可以通过转义符\,用'\66'来表示字符常量B  错 ( \ 后边只能是八进制)
  2. 假设有变量定义语句float f = 1234567890123.123456;,打印语句printf("f = %f", f); 的输出是f = 1234567954432.000000 。那么可以这样解释这种想象:因为float类型的数据精度是十进制7~8位,第9位以后的数据是随机的,即下次再输出这个数时,第9位以后的数据可能会不一样。  错()
  3. 判断两个浮点数是否相同的运算虽然符合C语言规则,但是应该尽量避免。  对

48.C程序中的main函数必须放在整个程序的最前头  错(在编写结构体类程序时,先书写结构声明,再书写main函数)

49."a"是合法的字符常量。   错

50.C语言程序一定是从源文件的第一条语句开始执行的。  错(C语言都是从main开始执行的,但有一些程序包含函数,且函数位于前边,则先跳过函数,执行main,当遇到调用函数时再执行前边的函数)

51C语言程序不区分大小写。  错

52.do-while循环的while后的分号可以省略。  错

53.do-while循环至少要执行一次循环语句。  对

54.C语言的三种循环不可以互相嵌套。  错

55.continue 只能用于循环体中。  对

56.对for(表达式1;;表达式3)可理解为for(表达式1;1;表达式3)。 对

  

  • 31
    点赞
  • 163
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

莫名其_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值