admin 管理员组文章数量: 1087139
2023年12月24日发(作者:rhythms)
答题干
案
'n'是一个转义字符. Y
#define 和printf 都不是C语句. Y
#include "stdio.h" 是每个程序中必须写的.
N
[3,6,18,23]是合法的表达式. N
0x173是"正确"的十六进制常数. Y
7&3+12的值是15. N
a=(b=4)+(c=6) 是一个合法的赋值表达式.
Y
char (*p)[6]; 若p值为1000,则p++;后p值为1006.
Y
int k=8567;printf("|%-6d|n",k);的输出为|008567|.
N
int x=3,y=2;printf("%d",x*=y+8);输出为30.
Y
r_1_2是C语言合法的用户定义标识符.
Y
若i =3,则printf("%d",-i++);输出的值为 -4.
N
若x为float型变量,则以下语句x=213.82631;printf("%-4.2fn",x)N
;的输出为213.82.
若有定义和语句:int a;char c;float
f;scanf("%d,%c,%f",&a,&c,&f);
若通过键盘输入:10,A,12.5则Y
a=10,c='A',f=12.5.
一个C程序中至少有一对大花括号{}. Y
语句 printf("%f%%",1.0/3);输出为
0.333333.
N
语句scanf("%7.2f",&a);是一个合法的scanf函数.
N
在C语言程序设计中,"/*"和"*/"之间的内容是C语言的注释.
Y
C程序中的关键字必须小写,其他标识符不区分大小写.
N
在C程序中,每行中只能写一条语句 . N
C程序中的#include 和#define均不是C语句.
Y
用scanf函数输入数据可以规定精度,所以scanf("%6.2f",&x)是正确的.
N
在C程序中,语句之间必须要用分号";"分隔.
Y
char c;c=getchar();该程序段的功能是将用户从键盘输入的字符赋给变量Y
c.
char类型数据占2个字节. N
C程序在执行过程中对预处理命令进行处理.
N
C程序中有调用关系的所有函数必须放在同一个源程序文件中.
N
C语言本身不提供输入输出语句,输入和输出操作是由函数来实现的.
Y
C语言中只能逐个引用数组元素而不能一次引用整个数组.
Y
double x,y;scanf("%lf%lf",x,y);可以将键入的20 30分别赋给x,y变量.
N
int a[10],I=3;scanf("%d",&a[I]);是正确的.
Y
x*=y+8 等价于 x=x*(y+8). Y
参加位运算的数据可以是任何类型的数据.
N
关系运算符<= 与 == 的优先级相同. N
若 a=3,b=2,c=1 则关系表达式"(a>b)==c" 的值为"真".
Y
若有 int i=10,j=2;则执行完N
i*=j+8;后i的值为28.
Y
在Turbo C中,int型数据在内存中占2个字节.
Y
整数 -32100可以赋值给int型和long int型变量.
Y
只有数字1代表逻辑值"真". N
在C语言中,5种基本数据类型的存储空间长度的排列顺序为:char Y <=float C语言中字符型、整型、实型都能用八进制表示. N 设x、t均为int型变量,则执行语句"x=10;t=x&&x<=10;"后,t的值为1. Y 设x、t均为int型变量,则执行语句"x=10;t=x&&x>10;"后,t的值为0. Y 在C语言中,变量必需先定义后使用. Y 在C程序中,%是只能用于整数运算的运算符. Y 在C语言中,逻辑"真"等价于不等于0的数. Y 一个变量可以同时被定义为多种类型. N 程序中的变量代表内存中的一个存储单元,它的值不可以随时修改. N 一个字符变量只能存储一个字符. Y char c[]="Very Good"; 是一个合法的为字符串数组赋值的语句. Y inta[]={3.1,5.8,6.7,-3.6},i;for(i=0;i<4;i++)printf("%d",a[i]);能N 输出数组元素a[2]的值. int a[10];for(i=1;i<=10;i++)a[i-1]=i;能使数组元素分别取值Y {1,2,3,4,5,6,7,8,9,10} int a[2][3];按照它在内存的排列次序,a数组的所有元素是a[0][0]、a[1][0]、a[0][1]、a[1][1]、a[0][2]、N a[1][2]. int a[3][4]={{1},{5},{9}}; 它的作用是将数组各行第一列的元素赋初Y 值,其余元素值为0. long int a[10];scanf("%ld",a);可从键盘上给a数组的所有元素输入值. N putchar('n');与printf("n");作用相同. Y sqrt(m)是求m平方的函数. N static char a[]="This is a program.";printf("%s",a);是正确Y 的. static char a[2];scanf("%s",a);是正确的. Y static char str[]="China";没有定义数组元素个数. N 如果想使一个数组中全部元素的值为0,可以写成 int a[10]={0*10}; N 如果有一个字符串,其中第十个字符为'n',则此字符串的有效字符为9N 个. 数组名是一个不可变的地址常量,不能对它进行赋值运算. Y 数组元素的最小下标值为零. Y 数组说明 int a[3][]={1,2,3,4,5}; 是正确的. N 数组说明 int a[3][3]={1,2,3,4,5}; 是正确的. Y 数组说明 int a[3][3]={1,2,3,4,5,6,7} ;是正确N 的. 数组说明 int N a[3,3]={1,2,3,4,5,6}, 是正确的. static char s[]; s="China"; 是正确的. N 数组定义 int a(10);是正确的. N 数组的特点是,数组元素排列有序且数据类型相同. Y 同一数组的元素在内存中存储是连续存放的,占有连续的存储单元. Y C语言的数组只能存放int 和 float 类型的数据. N 数组定义 int a[10]; 占内存10个字节. N 数组定义 char a[10]; 占内存10个字节. Y 二维数组在内存中存储以列为主序方式存放. N char a[10]="abcdefg"; printf("%6sn",a);只输出前六个字N 符. char a[10]="abcdefg"; printf("%.6sn",a);只输出前六个Y 字符. 定义数组 char a[10]; scanf("%s",&a)是正确的. N int n; scanf("%d",&n); int a[n]; 是不合法的. Y 调用scanf()函数进行字符数组输入时,空格和换行符都可以作为字符串N 的一部分而能读入. 当调用函数时,实参是一个数组名,则向函数传送的是数组的长度. N 在程序中凡是以#号开始的语句行都是预处理命令行 Y return语句必须在每个函数中都出现. N #include "文件名",可以将另外一个源文件的全部内容包含进来. Y 一个#include命令只能指定一个被包含文件. Y 当定义一个结构体变量时,系统分配给它的内存是各成员所需内存量的总Y 和. 定义结构体的保留字是struc. N 对结构体类型的变量的成员可以象普通变量一样参与各种运算. Y 对枚举类型名的定义enum a {sum=9,mon=-1,tue};是正确的. Y 共同体变量所占的内存长度等于最长的成员的长度. Y 共用体类型变量不能被初始化. Y 结构体类型的定义允许嵌套. Y 结构体类型只有一种. N 枚举类型的数据不能从键盘上直接输入、输出. Y 枚举类型的数据与字符串在使用上相同. N 一个指针变量只能指向同一类型变量. Y 指针就是一个变量的地址. Y 若有int a[3][4];*(*(a+1)+2)表示a[1][2]元素的值. Y 若有int a[3][4];*(a+1)+2表示a[1][2]元素的地址. Y 将数组a的首地址赋给指针变量p的语句是p=a; Y 将一维数组a的第i个元素的地址赋给指针变量p的语句是p=&a[i]; Y 将函数fun的入口地址赋给指针变量p的语句是p=fun(); N 将函数fun的入口地址赋给指针变量Y p的语句是p=fun; 若有int a[10],*p;p=&a[5];则P[-1]是合法的. Y 若有int a[10],*p;p=&a[5];则P[-1]是不合法的. N 若有int a[10],*p=a;则p++和a++的作用相同. N fseek()函数一般用于二进制文件. Y fseek函数有三个参数:文件指针、偏移大小的长整数、开始位置的整型常Y 量. int *p[6];定义了6个下标变量的整型指针. Y rewind(fp);可使fp所指文件的位置返回到文件的开头. Y 不仅可将C源程序存在磁盘上,还可将数据按数据类型分别以文件的形式存Y 在磁盘上. 对文件进行读写操作,必须先打开,可调用函数fopen(). Y 将整数以二进制形式存盘比以ASCII形式存盘省空间、运算快. Y 若a是实型变量,在执行了a=5;后,a将变为整型变量. N 若a和b的类型相同,在执行了a=b;后,b中的值将丢失. N 执行表达式(int)i后,i的类型一定变为整型. N 字符常量的长度肯定为1. Y 已知ch是字符型变量,则ch="";是正确的赋值语句. N 以下各数均不是合法的八进制数:256、03A2、-0127. N 在C程序中,j++;是一条赋值语句. Y 在C程序中,逗号运算符的优先级最低. Y 在C程序中,赋值运算符的优先级最低. N 在C程序中,无论是整数还是实数,都能准确无误地表示. N 若a是实型变量,C程序中允许以下赋值a=10;因此,实型变量中允许存放整N 型数据. 若a和b类型相同,在执行了赋值语句a=b;后b中的值将放入a中,b中的值Y 不变. 在程序中,APH和aph是两个不同的变量. Y 当输入数值数据时,对于整型变量只能输入整型值;对于实型变量只能输N 入实型值. for(i=0;i<9;i++)能控制循环10次. N for(i=4;i>1;i--)for(j=1;j Y for(m=22;m<1000;m++) if(m%3==0&&m%7!=0)break;是当m能被3整除或m不能被7整除时,结束本N 次循环进入下次循环. if(strcmp(temp,str)>0)中的条件是当字符串temp大于字符串str为真Y 时. int a=1,b=2,c=3;if(a>b)a=b;if(a>c)a=N c;则a的值为3. int a=1,b=2,c=3;if(a>c)b=a;a=c;c=b;Y 则c的值为2. int a=10;printf("%d",a++);输出11. N int a=7,b=9,t;t=(a>b)?a:b;t的值为7. N int i=20;switch(i/10){case 2:printf("A");case N 1:printf("B");}的输出结果为A. s=6;do s-=2; while(!s);能循环三次. N 开关语句switch最多可形成三个分支. N 若有int i=10, j=0;则执行完语句 if (j=0) i+ +; else i- -; i的值为11. N 若有定义和语句:int a[3][3]={{3,5},{8,9},{12,35}},i,sum=0;for(i=0;i<3;i++) Y sum+=a[i][2-i];则sum=21. 若有说明int c;则while(c=getchar());是正确的C语Y 句. if后面的控制表达式可以不用括号括起来. N while 和for循环都是先判断表达式的值,后执行循环体语句. Y do-while循环是先执行循环体语句,后判断表达式的值. Y 三种循环(while语句、 for语句、 do-while语句)都可以用来处理同一Y 个问题,一般它们可以相互代替. if语句后面的控制表达式只能使用关系表达式或逻辑表达式. N C语言的if语句嵌套时,if与else的匹配关系是每个else与if的匹配是N 任意的. 与 if(E) 语句中的(E)等价的表达式是 (E==0). N 在C语言中,为了结束由while语句构成的循环, while后一对圆括号中表N 达式的值应该是1. 在C语言中,为了结束由do-while语句构成的循环, while后一对圆括号Y 中表达式的值应该是0. for(;;);是错误的. N continue语句不只用于循环语句中. N break语句只能用于循环语句和switch-case语句中. Y 循环嵌套中,内外层循环控制变量可以使用相同名,不会造成混乱. N fabs()是C语言取绝对值的数学函数. Y for(i=0,k=-1;k=1;k++,i++)printf("*n"); 循环体一次也不执行. N for(i=0,k=-1;k=1;k++,i++)printf("*n"); 循环结束的条件不合法. N for(i=0,k=-1;k=1;k++,i++)printf("*n"); 是无限循环. Y int i=3,j=5; if(i>j);是正确的. Y int i=3,j=5; if(i>j) ; j++; else i++;是正确的. N 循环嵌套执行时,先由内层循环进入外层循环. N char a1[]="LiMing",a2[10];strcpy(a2,a1);puts(a2);能将a1串赋给a2并输Y 出. char c[]="abc";do while(c[i+1]!='0');printf("%d",N i-1);能输出字符串c的长度值. C语言中的文件类型只有二进制文件一种. N C语言中的文件类型只有二进制文件和ASCII文件两种. Y C语言中的文件的存取方式是可以顺序存取,也可以随机存取. Y 文件是存储在外部存储介质上的数据Y 的集合. 将内存中的数据输出到外部介质上的操作称为文件的输出.或称写操作. Y 常量M取值10.6可用#define M 10.6 来定义. Y 函数strlen("ASDFGn")的值是7. N 函数的定义和函数的调用均可以嵌套. N 函数的默认存储类别是外部的(extern). Y 将函数的返回值类型说明成空值型(void),则调用时不可做表达式用. Y 进行宏定义时,宏名必须使用大写字母表示. N 利用全局变量可以返回函数值. Y 如果#define N 10 则 float a[N];是错的. N 如果函数值的类型和return语句中表达式的值不一致,则以函数类型为准. Y 若有 # define S(a,b) a*b 则语句 area=S(3,2); area的值为6. Y 若有宏定义:#define S(a,b) t=a;a=b;b=t由于变量t没定义,所以N 此宏定义是错误的. 通过return语句,函数可以带回一个或一个以上的返回值. N 位字段类型是以二进制位为单位来说明结构体中成员所占空间. Y 一个include 命令可以指定多个被包含的文件. N 用户定义的函数也可调用main函数. N 在C语言中,调用函数必须在一条独立的语句中完成. N 在一个C程序中,main函数必须出现在所有函数之前. N 一个C程序必须由一个或一个以上的函数组成. Y C语言规定,函数返回值的类型是由在定义该函数时所指定的函数类型所决Y 定的. 在C语言中,形参的缺省存储类别是auto Y 在C语言的函数中,可以有也可以没有形参. Y 在C语言的函数中,必须有形参. N C语言规定,在一个源程序中,main函数的必须在最开始. N 在C语言程序中,函数的定义不可以嵌套,但函数的调用可以嵌套 Y 实参和形参之间,数据的传递采用值传送的方法. Y 在调用函数时,实参把值传送给对应位置上的形参,形参的值不能传给实Y 参. 在调用函数时,实参把值传送给对应位置上的形参,形参的值也能传给实N 参. C语言中函数调用的方式只有函数做表达式一种. N C语言程序中,当调用函数时实参和形参各占一个独立的存储单元. Y 当调用函数时,实参是一个数组名,则向函数传送的是数组的首地址. Y 任何结构体类型的变量都可以互相赋值. N 在C 语言中,此定义和语句是合法的:enum aa { a=5,b,c}bb;bb=(enum Y aa)5; 在程序中定义了一个结构体类型后,可以多次用它来定义具有该类型的变Y 量. typedef long int BIGGY;的作用是给长整型起了一个别名BIGGY. 位段定义中允许长度为零的无名字段. 位段定义中不允许长度为零的无名字段. char *match(char c){ }说明函数的返回值为字符型指针. char *p="girl";的含义是定义字符型指针变量p,p的值是字符串"girl". char *s;*s='H';是正确的. char *s;scanf("%s",s)是正确的. char *s1="A";是正确的. char *s1="hello",*s2;s2=s1;是正确的. int a[10]={0,1,2,3,4,5,6,7,8,9},*p=a;则p+5相当于a[5]. int i,*p=&i;是正确的C说明. int i=3,*p;p=&i;printf("%d",*p);是正确的. 动态存储分配,可调用函数malloc(),如int *p;p=(int *)malloc(sizeof(p)); 对数组各元素的存取完全可以不用下标变量而用指针来代替. 对指针变量的初始化int a,*pa=&a,*pc=0;是正确的. 将一维双精度实数数组x的下标为i的变量的地址赋给指针变量p的语句为:double *p,x[10];int i=5;p=&x[i]; 通常对文件读写完后,必须调用函数fclose()关闭. 也可用其它编辑软件创建ASCII数据文件用在C程序中. 用fopen("file","r+");打开的文件"file"可以进行修改. C语言中,文件由字符(字节)序列组成. C语言中的文件类型只有文本文件一种. Y Y N Y N N N Y Y N Y Y Y Y Y Y Y Y Y Y N
版权声明:本文标题:C语言判断题 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://roclinux.cn/b/1703380591a448808.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论