printf(\\ }
printf(\\\n\ }
① *#*#*#$ ② #*#*#*$ ③ *#*#$ ④
#*#*$
37.以下程序的运行结果是 。
#include “stdio.h” main ( ) { int n=4; while (n--) printf(“%d”,--n); }
① 20
② 21
③ 32
43
38.以下程序的运行结果是 。
#include “stdio.h” main( ) { int i, j, m;
for (i=5; i>=1; i-- )
{ m=0;
for (j=i; j<=5; j++) m=m+i*j; }
printf(“%d\\n”,m); }
① 1 5
② 20
③ 25 ④
④ 30
①调用函数时,实参的类型、个数及顺序必须与函数定义时形参的类型、个数及顺序完全一致。 ②函数可以嵌套定义。
③函数必须有返回值,否则不能正确使用。
④C程序中有调用关系的所有函数必须放在同一个源程序文件中。
40. 函数调用语句“f((e1, e2), (e3, e4, e5));”中参数的个数是_______。
① 1 ② 2 ③ 4 ④ 5
39. 以下对C语言函数的有关描述中,正确的是_____。
①既能被同一源文件中的函数调用,也能被其它源文件中的函数调用。 ②只能被同一源文件中的函数调用,不能被其它源文件中的函数调用。 ③只能被其它源文件中的函数调用,不能被同一源文件中的函数调用。 ④既不能被同一源文件中的函数调用,也不能被其它源文件中的函数调用。 42. C语言中规定函数的返回值的类型由_______。
①return 语句中的表达式类型所决定。 ②调用该函数时的主调用函数类型所决定。 ③调用该函数时系统临时决定。
④在定义该函数时所指定的函数类型所决定。
41. 将一个函数说明为static后,该函数将___________。
43. 以下正确的说法是________。
①定义函数时,形参的类型说明可以放在函数体内。 ②return后边的值不能为表达式。
③如果函数返回值的类型(简单类型)与计算结果的类型(简单类型)不一致,系统会将函数的计算结果自动转换为函数的返回值类型。 ④如果形参与实参的类型顺序不一致,以实参顺序为准。
44. 对于有下列存储类型标识符的变量,______型变量的可见性与生命周期不一致。
① extern ② auto ③ static ④ register
45. 以下叙述中,不正确的说法是_______。
①在不同函数中可以使用相同名字的变量。 ②形参是局部变量。
③在函数内定义的变量只在本函数范围内有效。
④在函数内的复合语句中定义的变量在本函数范围内有效。
46. 以下叙述中,正确的是_______。
①用#include包含的头文件的后缀不可以是“.a”。
②在对某个含有错误的头文件进行修改后,包含此头文件的源程序不必重新进行编译。
③宏名必须用大写字母表示。 ④宏替换不占用运行时间。
47. 有一个函数的定义:func(int a) { printf(“%d”,a); }则该函数的返回值的类型是________。
① 与参数a的类型相同 ③ void类型
48. 以下叙述中,不正确的描述是________。
① 函数之外定义的变量称为外部变量,外部变量是全局变量; ②在一个函数中既可以使用本函数中的局部变量,又可以使用外部变量; ③外部变量定义和外部变量说明的含义不同;
④若在同一个源文件中,外部变量与局部变量同名,则在局部变量的作用范围内,外部变量不起作用;
49. 在C语言中,引用数组元素时,其数组下标的数据类型允许是_____。
① 字符常量; ② 浮点型常量; ③ 整型常量或整型表达式; ④ 任何类型的表达式;
50. 以下表达式中,能正确对一维数组a中的所有元素进行初始化的是______
① int a[10]=(0,0,0,0); ② int a[10]={ }; ③ int a[ ]={0}; ④ int a[10]={10*2};
51. 对于所定义的二维数组a[2][3],元素a[1][2]是数组的第_____个元素。
① 3 ② 4 ③ 5 ④ 6
52. 若有说明:int a[20]; 则可以正确引用数组元素的表达式是______。
① a[20] ② a[3.5] ③ a(5) ④ a[10-10]
53. 若有说明:int a[3][4]; 则可以正确引用数组元素的表达式是_______。
① a[2][4] ② a[1,3] ③ a[1+1][0] ④ a(2)(1)
54. 以下关于数组的描述中,正确的是______。
①组的大小是固定的,但可以有不同类型的数组元素; ②组的大小是可变的,但所有数组元素的类型必须相同; ③数组的大小是固定的,所有数组元素的类型必须相同; ④数组的大小是可变的,可以有不同类型的数组元素;
② int类型 ④ 无法确定
55. 若有定义:char *str=“I am a student.” ;则字符串在存储单元中占______个字节。
① 14 ② 15 ③ 16 ④ 17 56. 在执行int a[][3]={{1,2},{3,4}};语句后,a[1][2]的值是______。
① 3 ② 4 ③ 0 ④ 2 57. 对于下面程序段,执行的结果是______。
char c[5]={?a?,?b?,?\\0?,?c?,?\\0?}; printf(“%s”,c);
① ?a??b? ② ab ③ ab c ④ a,b 58. 对于下面程序段,执行的结果是______。
char c[ ]=”\\t\\v\\\\\\0will\\n”; printf(“%d”,strlen(c));
① 14 ② 3
③ 9 ④ 字符串中有非法字符,输出值不确定 59. 设有语句:int a[10],*p =a;,则下面的语句中,不正确的是_______。
① p=p+1; ② p[0]=*p+1;; ③ a[0]=a[0]+1; ④ a=a+1;
60. 指向变量的指针,其含义是指该变量的______。
① 值 ② 地址 ③ 名 ④ 一个标志
61. 设有定义int a=5,*p1, *p2;且有语句:p1=&a;p2=&a;,则下面的赋值语句中,会导致错误的是______。
① a=*p1+*p2; ② p2=a; ③ p1=p2; ④ a=*p1*(*p2); 62. 若int (*p)[5];,则其中p的含义是______。
①5个指向整型变量的指针; ②指向5个整型变量的函数指针;
③一个指向具有5个整型元素的一维数组的指针;
④具有5个指针元素的一维指针数组,每个元素都只能指向整型量; 63. 设有定义:int a=3, b, *p=&a;,则下列语句中使b不为3的语句是_____。 ① b=*&a; ② b=*p; ③ b=a; ④ b=*a;
64. 设有定义:int a[10]={1,2,3,4,5,6,7,8,9,10}, *p=a;则下面的表达式中,不能正确表示a数组元素是_______。
① *p ② a[10] ③ *a ④ a[p-a] 65. 设char **s;,则以下的表达式中,正确的是________。
① s="computer"; ② *s="computer"; ③ **s="computer"; ④ *s=?c?; 66. 设char s[10], *p=s;,以下的表达式中,不正确的是______。
① p=s+5; ② s=p+s; ③ s[2]=p[4]; ④ *p=s[0]; 67. 执行下面程序段后,*p等于_____。 int a[5]={1,3,5,7,9}, *p=a; p++;
① 1 ② 3 ③ 5 ④ 7 68. 下列关于指针的运算中,______是非法的。
① 两个指针在一定条件下,可以进行相等或不等的运算; ② 可以用一个空指针赋值给某个指针; ③ 一个指针可以加上两个整数之差; ④ 两个指针在一定的条件下,可以相加;
69. 当说明一个结构体变量时,系统分配给它的内存是______。
① 各成员所需内存量的总和。 ② 结构体中第一个成员所需内存量。 ③ 成员中占内存量最大者所需的容量。 ④ 结构体中最后一个成员所需内存量。
70. 把一些属于不同类型的数据作为一个整体来处理时,常用________。
① 简单变量 ② 数组类型数据 ③ 指针类型数据 ④ 结构体类型数据 71. 在说明一个联合体变量时,系统分配给它的存储空间是_______。
① 该联合体中第一个成员所需存储空间。
② 该联合体中占用最大存储空间的成员所需存储空间。 ③ 该联合体中最后一个成员所需存储空间。 ④ 该联合体中所有成员所需存储空间的总和。 72. 在下面的叙述中,不正确的是___3___。
① 枚举变量只能取对应枚举类型的枚举元素表中的元素。 ② 可以在定义枚举类型时对枚举元素进行初始化。 ③ 枚举元素的值可以是整数或字符串。