377
以下关于运算符优先顺序的描述中正确的是()。
378
已知x=43,ch='A',y=0;则表达式(x>=y&&ch<'B'&&!y)的值是()。 若希望当A的值为奇数时,表达式的值为“真”,A的值为偶数时,表达 379
式的值为“假”,则以下不能满足要求的表达式是()。 380
判断char型变量cl是否为小写字母的正确表达式是()。
381 以下不正确的if语句形式是()。
为了避免在嵌套的条件语句 if-else 中382
产生二义性,C语言规定:
else子句总是与()配对。
383 逻辑运算符两侧运算对象的数据类型()。 384
结构化程序设计所规定的三种基本控制结构是()。
385 以下叙述正确的是()。
对以下说明语句 int 386
a[10]={6,7,8,9,10}; 的正确理解是()。
387 以下不正确的定义语句是()。
单项选择
能是一条可执行语句,所以循环体内不能使用复合语句
关系运算符<算术运算符<赋值运算符<逻辑运算符 0
A%2==1
a'<=cl<='z'
if(x>y&&x!=y);
缩排位置相同的if
只能是0或1 输入、处理、输出
do-while语句构成
的循环不能用其它语句构成的循环来代替.
将5个初值依次赋给a[1]至a[5]
double
x[5]={2.0,4.0,6.0
结束,在 while(表达式)后面不能写分号
逻辑运算符<关系运算符<算术运算符<赋值运算符 语法错
!(A%2==0)
(cl>=a)&&(cl<=z)
if(x==y) x+=y;
其之前最近的if
只能是0或非0正数
树形、网形、环形
do-while语句构成的循环只能用break语句退出.
将5个初值依次赋给a[0]至a[4]
int
y[5]={0,1,3,5,7,
要有能使 while 后面表达式的值变为零(\假\的操作
赋值运算符<逻辑运算符<关系运算符<算术运算符 1
!(A%2)
('a'>=cl)||('z'<=cl) if(x!=y) scanf(\
) else scanf(\);
其之后最近的if
只能是整型或字符型数据 顺序、选择、循环
用do-while语
句构成的循环,在while后的表达式为非零时结束循环.
将5个初值依次赋给a[6]至a[10] char c1[]={'1','2'
况可以省略 while
算术运算符<关系运算符<赋值运算符<逻辑运算符 \假\
A%2
(cl>='a')&&(cl<='z')
if(x 同一行上的if 可以是任何类型的数据 主程序、子程序、函数 用do-while语句构成的循环,在while后的表达式为零时结束循环 因为数组长 度与初值的个数不相同,所以此语句不正确 char c2[]={'\\x10 C C C D C B D C D B B 388 若有说明:int a[][3]={1,2,3,4,5,6,7};则a数组第一维的大小是()。 389 若二维数组a有m列,则在a[i][j]前的元素个数为()。 390 若有说明:int a[3][4];则数组a中各元素()。 设有数组定义: char array [ ]=\391 则数组 array所占的 空间为()。 392 以下能正确定义数组并正确赋初值的语句是()。 393 以下对二维数组a的正确说明是()。 394 若有说明:int a[10];则对a数组元素的正确引用是()。 395 在C语言中,一维数组的定义方式为:类型说明符 数组名[?],?是指()。 396 以下能对一维数组a进行正确初始化的语句是()。 397 以下对一维整型数组a的正确说明是()。 398 若有说明 int a[3][4];则对a数组元素的正确引用是()。 399 若有说明 int a[3][4];则a数组元素的非法引用是()。 400 以下能对二维数组a进行正确初始化的语句是()。 401 以下不能对二维数组a进行正确初始化的语句是()。 402 若有说明: int a[3][4]={0};则下面正确的叙述是()。 单项选择 ,8.0,10.0}; 2 j*m+i 可在程序的运行阶段得到初值0 4个字节 int N=5,b[N][N]; int a[3][] a[10] [常量表达式] int a[10]=(0,0,0,0,0) int a(10); a[2][4] a[0][2*1] int a[2][]={{1,0,1},{5,2,3}}; int a[2][3]={0}; 只有元素a[0][0]可得到初值0 9}; 3 i*m+j 可在程序的编译阶段得到初值0 5个字节 int a[1][2]={{1},{3}}; float a(3,4) a[3,5] [整型表达式] int a[10]={}; int n=10,a[n]; a[1,3] a[1][3] int a[][3]={{1,2,3},{4,5,6}}; int a[][3]={{1,2},{0}}; 此说明语句不正确 ,'3','4','5'}; 4 i*m+j-1 不能得到确定的初值 6个字节 int c[2][]={{1,2},{3,4}}; double a[1][4] a(5) [整型常量]或[整型表达式] int a[]={0}; int n; scanf(\); int a[n]; a[1+1][0] a[4-2][0] int a[2][4]={{1,2,3},{4,5},{6}}; int a[2][3]={{1,2},{3,4},{5,6}}; 数组a中各元 素都可得到初 值,但其值不一 ','\\xa','\\x8'}; 无确定值 i*m+j+1 可在程序的 编译或运行阶段得到初值0 7个字节 int d[3][2]={{1,2},{34}}; float a(3)(4) a[10-10] [整型常量] int a[10]={10*1}; #define SIZE 10 (换行) int a[SIZE]; a(2)(1) a[0][4] int a[][3]={{1,0,1}{},{1,1}}; int a[][3]={1,2,3,4,5,6}; 数组a中每个元素均可得到初值0 B B D C D C D D C D C D B C D 单项选择 定为0 因为二维数组a中第二维大小 403 若有说明: int a[][4]={0,0};则下面不正确的叙述是()。 数组a的每个元素都可得到初值0 二维数组a的第一维大小为1 的值除经初值个数的商为1,故数组a的行数为1 404 以下定义语句中,错误的是()。 int a[]={1,2}; char *a[3]; char 有元素a[0][0]和a[0][1]可得到初值0,其余元素均得不到初值0 int D D s[10]=\n=5,a[n]; 405 在C语言中,引用数组元素时,其数组下标的数据类型允许是()。 406 以下程序段中,不能正确赋字符串(编译时系统会提示错误)的是()。 407 以下不能正确定义二维数组的选项是()。 假定int类型变量占用两个字节,其有定408 义:int x[10]={0,2,4};, 则数组x在内存中所占字节数是()。 409 以下数组定义中不正确的是()。 410 以下不能正确进行字符串赋初值的语句是()。 411 若使用一维数组名作函数实参,则以下正确的说法是()。 412 凡是函数中未指定存储类别的局部变量,其隐含的存储类别为()。 413 在C语言中,函数的隐含存储类别是()。 414 以下正确的描述是:在C语言程序中()。 415 C语言中,函数值类型的定义可以缺省,此时函数值的隐含类型是()。 416 以下不正确的说法是:C语言规定()。 整型常量 char s[10]=\int a[2][2]={{1},{2}} ; 3 int a[2][3]; char str[5]=\ 必须在主调函数中说明此数组的大小 自动(auto) auto 函数的定义可以嵌 套,但函数的调用不 可以嵌套 void 实参可以是常量,变 整型表达式 char t[]=\=t; int a[][2]={1,2,3,4}; 6 int b[][3]={0,1,2,3}; char str[]=\ 实参数组类型与形参数组类型可以不匹配 静态(static) static 函数的定义不可以嵌套,但函数的调用可以嵌套 int 形参可以是常量, 整型常量或整型表达式 char s[10];s=\efg\int a[2][2]={{1},2,3}; 10 int c[100][100]={0}; char *str=\在被调用函数中,不需要考虑形参数组的大小 外部(extern) extern 函数的定义和函数的调用均不可以嵌套 float 实参可以为任 任何类型的表达式 char s[10];strcpy(s,\g\int a[2][]={{1,2},{3,4}}; 20 int d[3][]={{1,2},{1,2,3},{1,2,3,4}}; char str[5]={'g','o','o','d'}; 实参数组名与形参数组名必须一致 寄存器(register) 无存储类别 函数的定义和函数的调用均可以嵌套 double 形参应与其 C C D D D A A A C B B B 单项选择 量或表达式 变量或表达式 何类型 double 对应的实参类型一致 417 以下正确的函数定义形式是()。 double fun(int double fun(int double A fun(int x,int fun(int 418 以下正确的说法是:在C语言中()。 若调用一个函数,且此函数中没有return419 语句,则正确的说法是: 该函数()。 420 以下叙述中正确的是()。 421 以下正确的说法是()。 422 若用数组名作为函数的实参,传递给形参的是()。 423 以下正确的说法是()。 424 C语言规定:简单变量做实参时,它和对应形参之间的数据传递方式是()。 425 C语言允许函数类型缺省定义,此时函数值隐含的类型是()。 426 C语言规定,函数返回值的类型是由()。 x,int y) 实参和与其对应的 形参各占用独立的存储单元 没有返回值 全局变量的作用域 一定比局部变量的作用域范围大 用户若需调用标准 库函数,调用前必须重新定义 数组的首地址 定义函数时,形参的 类型说明可以放在函数体内 地址传递 float return语句中的表达式类型所决定 x;int y) 实参和与其对应的形参共占用一个存储单元 返回若干个系统默认值 静态(static)类别变量的生存期贯穿于整个程序的运行期间 用户可以重新定义标准库函数,若如此,该函数将失去原有含义 数组第一个元素的值 return后边的值不能为表达式 单向值传递 int 调用该函数时的主 调函数类型所决定 y); 只有当实参和与其对应的形参同名时才共占用存储单元 能返回一个用户所希望的值 函数的形参都属于全局变量 系统根本不允许用户重新定义标准库函数 数组中全部元素的值 如果函数值的 类型与返回值类型不一致,以函数值类型为准 由实参传给形 参,再由形参传回给实参 long 调用该函数时 系统临时决定 x,y); 形参是虚拟的,不占用存储单元 返回一个不确定的值 未在定义语 句中赋初值的auto变量和static变量的初值都是随机值 用户若需调用标准库函数,调用前不 必使用预编译命令将该函数所在文件包括到用户源文件中,系统自动去调 数组元素的个数 如果形参与实参类型不一致,以实参类型为准 由用户指定的传递方式 double 在定义该函数时所指定的函数类型 A D B B A C B B D 单项选择 所决定 427 以下错误的描述是:函数调用可以()。 出现在执行语句中 428 关于建立函数的目的,以下正确的说法是提高程序的执行效出现在一个表达式中 提高程序的可读性 做为一个函数的实参 减少程序的篇做为一个函数的形参 减少程序文D B ()。 429 以下只有在使用时才为该类型变量分配内存的存储类说明是()。 430 若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是()。 431 当调用函数时,实参是一个数组名,则向函数传送的是()。 432 在C语言中,形参的缺省存储类是()。 在调用函数时,如果实参是简单变量,它433 与对应形参之间的数据 传递方式是()。 434 以下运算符中优先级最低的是()。 435 sizeof(float)是()。 436 在C语言中,要求运算数必须是整型或字符型的运算符是()。 437 在C语言中,要求运算数必须是整型的运算符是()。 438 在位运算中,操作数每左移一位,其结果相当于()。 439 在位运算中,操作数每右移一位,其结果相当于()。 440 表达式,0x13&0x17的值是()。 441 若a=1,b=2则 a|b的值是()。 442 以下叙述中不正确的是()。 443 设char型变量x中的值为10100111,则表达式(2+x)^(~3)的值是()。 若要说明一个类型名STP,使得定义语句444 STP s等价于char *s, 以下选项中正确的是()。 445 以下叙述中正确的是()。 率 auto和 static 函数调用可以作为独立的语句存在 数组的长度 auto 地址传递 && 一种函数调用 && ^ 操作数乘以2 操作数乘以2 0x17 0 预处理命令行都必须以#号开始 10101001 typedef STP char *s; 在程序的一行上可 以出现多个有效的预处理命令行 auto和 register 函数调用可以作为一个函数的实参 数组的首地址 register 单向值传递 & 一个不合法的表达式 & % 操作数除以2 操作数除以2 0x13 1 在程序中凡是以#号开始的语句行都是预处理命令行 10101000 typedef *char STP; 使用带参的宏时,参数的类型应与宏定义时的一致 幅 register和 static 函数调用可以出现在表达式中 数组每一个元素的地址 static 由实参传给形参,再由形参传回实参 || 一个整型表达式 ! ! 操作数除以4 操作数除以4 0xf8 2 C程序在执行过程中对预处理命令行进行处理 11111101 typedef stp *char; 宏替换不占用运行时间,只占编译时间 件所占内存 extern和 register 函数调用可以作为一个函数的形参 数组每个元素中的值 extern 传递方式由用户指定 | 一个浮点表达式 || > 操作数乘以4 操作数乘以4 0xec 3 以下是正确的宏定义 #define IBM_PC 01010101 typedef char* STP; 在以下定义中 C R 是称为\宏名\的标识符 B D B A B C C B B A B B D C D D C