C机考复习题(2012-12)

更新时间:2024-01-21 09:36:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

C语言机考复习题(2012年-12月)

一、单选

1.以下说法中正确的是( C )

A) C语言程序总是从第一个的函数开始执行

B) 在C语言程序中,要调用的函数必须在main()函数中定义 C) C语言程序总是从main()函数开始执行

D) C语言程序中的main()函数必须放在程序的开始部分 2.下选项中不是语句的是( C )。

A) {int i; i++; printf(“%d\\n”,i);} B) ;

C) a=5,c=10 D) { ; }

3.以下选项中不能作为C语言合法常量的是 ( A) A) 'cd' B) 0.1e+6 C) \D) '\\011'

4.若x,a,b和c均是int型变量则执行表达式x=(a=1,b=2)后x的结果为( B)。 A) 1 B) 2 C) 3

D) 不确定

5.以下能正确定义整型变量a,b和c并为其赋初值1的语句是( D )。 A) int a=b=c=1; B) int a,b,c=1; C) a=b=c=1;

D) int a=1,b=1,c=1;

6.字符串\中的字符数(不算’\\0’)为( D ) A) 5 B) 14 C) 8 D) 4

7.对两个静态函数A和B进行如下初始化 char A[]=\

char B[]={'A','B','C','D','E','F'}; 则下列叙述正确的是( D )。

A) A和B完全相同 B) A和B只是长度相等

C) A和B不相同A是指针数组 D) A数组长度比B数组长 8.若有以下定义 char a;int b; float c;double d;

则表达式a*b+d-c值的类型为( D ) A) float B) int C) char D) double

9.在C语言中运算对象必须是整型数的运算符是( A ) A) % B) / C) %和\\ D) **

10.有以下程序 main()

{ int x, y, z; x=y=1;

z=x++,y++,++y;

printf(\ }

程序运行后的输出结果是 ( C ) A) 2,3,3 B) 2,3,2 C) 2,3,1 D) 2,2,1

11.以下选项中当x为大于1的奇数时值为0的表达式是( D) A) x%2==1 B) x/2 C) x%2!=0 D) x%2==0

12.以下程序的输出结果是( C )。 main() {

int x=10,y=3;

printf(\} A) 0 B) 1 C) 3

D) 不确定的值

13.若a为int类型且其值为3则执行完表达式a+=a-=a*a后a的值是( C ) A) -3 B) 9 C) -12 D) 6

14.已知字符A的ASCII码为十进制的65下面程序的输出是( A ) main()H {

char ch1,ch2; ch1='A'+'5'-'3'; ch2='A'+'6'-'3';

printf(\ }

A) 67,D B) B,C C) C,D D) 不确定的值 15.有以下程序 main() {

char a='a',b; printf(\ printf(\}

程序运行后的输出结果是 ( A ) A) b,b B) b,c C) a,b D) a,c

16.设a、b、c、d、m、n均为int型变量且a=5、b=6、c=7、d=8、m=2、n=2则

逻辑表达式(m=a>b)&&(n=c>d)运算后n的值为( C)

A) 0 B) 1 C) 2 D) 3

17.设x、y、t均为int型变量则执行语句x=y=3;t=++x||++y;后y的值为( C ) A) 不定值 B) 4 C) 3 D) 1

18.有以下程序段 int k=0;

while(k=1)k++;

while循环执行的次数是( A ) A) 无限次

B) 有语法错不能执行 C) 一次也不执行 D) 执行1次

19.能正确表示逻辑关系“a>=10或a<=0”的C语言表达式是( D ) A) a>=10 or a=10 B) a>=0|a<=10 C) a>=10&&a<=0 D) a>=10||a<=0

20.表示关系x≤y≤z的c语言表达式为( A) A) (x<=y)&&(y<=z) B) (x<=y)AND(y<=z) C) (x<=y<=z) D) (x<=y)&(y<=z)

21.设有int a=1, b=2, c=3, d=4, m=3, n=3; 执行 (m=a>b)||(n=c>d)后n的值为( A )。 A) 0 B) 1 C) 2 D) 3

22.以下关于逻辑运算符两侧运算对象的叙述中正确的是 ( D )

A) 只能是整数0或1

B) 只能是整数0或非0整数 C) 可以是结构体类型的数据 D) 可以是任意合法的表达式

23.若x和y都是int型变量x=100y=200且有下面的程序片段 printf(\

上面程序片段的输出结果是(A) A) 200 B) 100 C) 100 200 D) 输出格式符不够输出不确定的值 24.以下程序的输出结果是( D ) main()

{ int k=17

printf(\ }

A) 170210x11 B) 171717

C) 170x11021 D) 172111

25.x、y、z被定义为int型变量若从键盘给x、y、z输入数据正确的输入语句是( B )。

A) INPUT x、y、z;

B) scanf(\C) scanf(\D) read(\26.有以下程序 main() {

int i;

for(i=0;i<3;i++) switch(i) {

case 0: prinft(\ case 2: prinft(\ default: prinft(\ } }

程序运行后的输出结果是( C) A) 022111 B) 021021 C) 000122 D) 012

27.C语言中用于结构化程序设计的三种基本结构是( A ) A) 顺序结构、选择结构、循环结构 B) if、switch、break C) for、while、do-while D) if、for、continue

28.若执行下面的程序时从键盘上输入5则输出是( B ) main() { int x;

scanf(\

if(x++>5) printf(\ else printf(\A) 7 B) 6 C) 5 D) 4

29.在嵌套使用if语句时C语言规定else总是 ( C )

A) 和之前与其具有相同缩进位置的if配对 B) 和之前与其最近的if配对

C) 和之前与其最近的且不带else的if配对 D) 和之前的第一个if配对 30.设有以下程序片段: switch(X) {

case 'A': printf(\ case 'B': printf(\ default: printf(\}

假设X='A',程序输出结果是( D ) A) A B) B C) error D) ABerror

31.读程序 main()

{ int num=0; while (num<=2)

{ num++; printf(\ }

上面程序的输出结果是( C ) A) 1 B) 2 2 C) 1 2 3 D) 1 2 3 4

32.下述语句执行后变量k的值是( B )。 int k=1;

while(k++<10); A) 10 B) 11 C) 9

D) 此为无限循环值不定

33.以下程序段的执行结果是( A)。 int x=5;

do{printf(\while(!x); A) 5

B) 无任何输出 C) 4

D) 陷入死循环

34.设变量已正确定义则以下能正确计算f=n!的程序段是 ( D )

A) f=0; for(i=1;i<=n;i++) f*=i; B) f=1;

for(i=1;i1;i++) f*=i; D) f=1;

for(i=n;i>=2;i--) f*=i;

35.以下程序的输出结果是( C )。 main()

{

int a, b;

for(a=1,b=1;a<=100;a++) {

if(b>=10) break; if(b%3==1) {

b+=3; continue; } }

printf(\}

A) 101 B) 6 C) 5 D) 4

36.下列合法的数组定义是( D )。 A) int a[]=\ B) int a[5]={0,1,2,3,4,5}; C) char a=\ D) char a[]={0,1,2,3,4,5}; 37.以下定义语句中错误的是( D ) A) int a[]={1,2}; B) char *a[3];

C) char s[10]=\D) int n=5,a[n];

38.以下正确的数组定义语句是( D )。 A) int y[1][4]={1,2,3,4,5}; B) float x[3][]={{1},{2},{3}};

C) long s[2][3]={{1},{1,2},{1,2,3}}; D) int m[1][4]={4};

39.以下程序的输出结果是( C )。 main() {

int i,a[10];

for(i=9;i>=0;i--) a[i]=10-i;

printf(\}

A) 258 B) 741 C) 852 D) 369

40. 下面的程序中(C )有错误(每行程序前面的数字是行号)。 1 #include 2 main() 3 { float s[5]; 4 int i,sz=0; 5 for(i=0;i<5;i++) 6 scanf(\7 for(i=0;i<5;i++) 8 sz+=s[i];

9 printf(\10 }

A) 没有错误 B) 第4行错误 C) 第6行错误 D) 第9行错误

41.若有定义语句int a[3][6]; 按在内存中的存放顺序a数组的第10个元素是( B) A) a[0][4] B) a[1][3] C) a[0][3] D) a[1][4]

42.以下数组定义中不正确的是( D ) A) int a[2][3];

B) int b[][3]={0,1,2,3}; C) int c[100][100]={0};

D) int d[3][]={{1,2},{1,2,3},{1,2,3,4}}; 43.以下程序的输出结果是( A)。 main() {

int a[4][4]={{1,3,5},{2,4,6},{3,5,7}};

printf(\}

A) 0650 B) 1470 C) 5430

D) 输出值不定

44.若二维数组a有m列则在a[i][j]前的元素个数为( B A) j * m+i B) i * m+j C) i * m+j-1 D) i * m+j+1

45.以下程序的输出结果是 ( B ) main()

{ char cf[3][5]={\ printf(\}

A) \B) \C) \D) \

46.设有数组定义: char array [ ]=\则数组 array所占的空间为( C )

A) 4个字节 B) 5个字节 C) 6个字节 D) 7个字节

47.以下选项中不能正确赋值的是( A )。 A) char s1[10];s1=\

B) char s2[]={'C','t','e','s','t'}; C) char s3[20]=\D) char *s4=\48.给出以下定义 char x[]=\

char y[]={'a','b','c','d','e','f','g'}; 则正确的叙述为( C )。 A) 数组x和数组y等价 B) 数组x和数组y长度相同

C) 数组x的长度大于数组y的长度 D) 数组x的长度小于数组y的长度

49.设有char str[]=\则执行

printf(\后的输出结果为( A )。 A) 5 B) 7 C) 12 D) 14

50.若要求从键盘读入含有空格字符的字符串应使用函数 ( B ) A) getc() B) gets() C) getchar() D) scanf() 51.有语句

char str1[10],str2[10]={\

则能将字符串books赋给数组str1的正确语句是( B )。 A) str1={\B) strcpy(str1,str2); C) str1=str2;

D) strcpy(str2,str1);

52.以下语句的输出结果是( A )

printf(\A) 5 B) 14 C) 8

D) 输出项不合法无正常输出

53.若有语句int *point, a=4; 和point=&a; 下面均代表地址的一组选项是( D )。

A) a, point, *&a B) &*a, &a, *point C) *&point, *point, &a D) &a, &*point, point

54.设已有定义float x;则以下对指针变量p进行定义且赋初值的语句中正确的是( D )

A) float *p = 1024; B) int *p = (float)x; C) float p = &x; D) float *p = &x;

55.设有语句int a=1,b=2,*p1=&a,*p2=&b; 以下可使指针p1指向变量b的赋值语句是( C )。 A) p1=*p2 B) *p1=p2 C) p1=p2 D) *p1=*p2 56.有以下程序 main() {

int a[]={1,2,3,4,5,6,7,8,9,0},*p; for(p=a;p

程序运行后的输出结果是( A ) A) 1,2,3,4,5,6,7,8,9,0, B) 2,3,4,5,6,7,8,9,10,1, C) 0,1,2,3,4,5,6,7,8,9, D) 1,1,1,1,1,1,1,1,1,1,

57.若已定义char s[10]; 则在下面表达式中不能表示s[1]的地址的是( B )。 A) s+1 B) s++ C) &s[0]+1 D) &s[1]

58.在以下选项中操作不合法的一组是(B )。 A) int x[6], *p; p=&x[0]; B) int x[6], *p; *p=x; C) int x[6], *p; p=x; D) int x[6],p; p=x[0]; 59.有以下程序 main()

{ char s[]=\ p=s;

printf(\ pritnf(\}

程序运行后的输出结果是 ( A )

A) 15 B) 16 C) 12 D) 59

60.以下程序运行后,如果从键盘上输入: book <回车>

book <空格><回车> 则输出的结果是( B ) #include main()

{char a1[80],a2[80],*s1=a1, *s2=a2; gets(s1); gets(s2);

if(!strcmp(s1,s2)) printf(\ else

printf(\

printf(\}

A) *8 B) #9 C) #6 D) *9

61.以下语句或语句组中能正确进行字符串赋值的是(D ) A) char *sp; *sp=\B) char s[10]; s=\C) char s[10]; *s=\D) char *sp=\

62.下面程序段的运行结果是( A )。 char *p= \p+=2;

printf(\A) 6 B) 12 C) 4 D) 7

63.下面程序段的运行结果是(B )。 char str[ ]= \

printf(\A) 67 B) 0

C) 字符'C'的地址 D) 字符'C'

64.以下程序运行后输出结果是( B ) main()

{ char *s=\ s+=2;

printf(\A) cde

B) 字符c的ASCII码值 C) 字符c的地址 D) 出错

65.下面程序的运行结果是( B)。 #include #include main()

{ char *s1= “AbDeG”; char *s2= “AbdEg”; s1+=2; s2+=2;

printf(“%d\\n”, strcmp(s1, s2)); }

A) 正数 B) 负数 C) 零 D) 不确定的值 66.有以下程序 main()

{ char *p[10]={\ printf(\}

执行后输出结果是( A ) A) 2 B) 3 C) 4 D) 5

67.若有语句char *line[5]以下叙述中正确的是( A)

A) 定义line是一个数组每个数组元素是一个基类型为char的指针变量 B) 定义line是一个指针变量该变量可以指向一个长度为5的字符型数组 C) 定义line是一个指针数组语句中的*号称为间址运算符 D) 定义line是一个指向字符型函数的指针

68.设有如下定义: char *aa[2]={\则以下说法中正确的是( B )。

A) aa数组成元素的值分别是\和ABCD\

B) aa是指针变量,它指向含有两个数组元素的字符型一维数组

C) aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址 D) aa数组的两个元素中各自存放了字符串\和\的首地址 69.以下函数调用语句中含有( C )个实参。 fun((exp1,exp2),(exp3,exp4,exp5)); A) 1 B) 2 C) 4 D) 5

70.下列函数定义中会出现编译错误的是( B ) A) max(int x, int y, int* z) { *z = x>y?x:y; } B) int max(int x, y) {

int z;

z = x>y?x:y; return z; }

C) max(int x, int y) {

int z;

z = x>y?x:y; return(z); }

D) int max(int x, int y) { return (x>y ? x : y); }

71.以下所列的各函数首部中正确的是( C ) A) void play(var a :integer,var b:integer) B) void play(int a,b) C) void play(int a,int b)

D) Sub play(a as integer,b as integer)

72.C语言中函数值类型的定义可以缺省此时函数值的隐含类型是( B ) A) void B) int C) float D) double

73.下面的函数调用语句中func函数的实参个数是 ( A )

func(f2(v1, v2), (v3, v4, v5), (v6, max(v7, v8))); A) 3 B) 4 C) 5 D) 8

74.有以下程序

fun(int x, int y) { static int m=0, i=2;

i+=m+1; m=i+x+y; return m; }

main()

{ int j=1, m=1, k;

k=fun(j,m); printf(\ k=fun(j,m); printf(\}

执行后的输出结果是 ( B ) A) 5, 5 B) 5, 11 C) 11, 11 D) 11, 5

75.以下函数值的类型是 ( A )

fun ( float x ) { float y; y= 3*x-4; return y; }

A) int

B) 不确定 C) void

D) float

76.以下程序的输出结果是 (C )

fun(int x, int y, int z) { z=x*x+y*y; } main()

{ int a=31; fun(5,2,a); printf(\} A) 0 B) 2 C) 31

D) 无定值

77.有以下程序

void f(int x,int y) { int t;

if(x

main()

{ int a=4,b=3,c=5;

f(a,b); f(a,c); f(b,c); printf(\}

执行后输出的结果是( D ) A) 3,4,5 B) 5,3,4 C) 5,4,3 D) 4,3,5

78.在调用函数时如果实参是简单变量它与对应形参之间的数据传递方式是( C )

A) 地址传递 B) 单向值传递

C) 由实参传给形参再由形参传回实参 D) 传递方式由用户指定 79.有以下程序 void f(int b[]) { int i;

for (i=2; i<6; i++) b[i] *= 2; }

main()

{ int a[10]={1,2,3,4,5,6,7,8,9,10}, i; f(a);

for (i=0; i<10; i++) printf(\}

程序运行后的输出结果是( B ) A) 1,2,3,4,5,6,7,8,9,10, B) 1,2,6,8,10,12,7,8,9,10, C) 1,2,3,4,10,12,14,16,9,10, D) 1,2,6,8,10,12,14,16,9,10,

80.在C语言中函数返回值的类型最终取决于 (A )

A) 函数定义时在函数首部所说明的函数类型 B) return语句中表达式值的类型

C) 调用函数时主调函数所传递的实参类型 D) 函数定义时形参的类型

81.调用一个函数此函数中没有return语句下列说法正确的是该函数( A )A) 没有返回值

B) 返回若干个系统默认值

C) 能返回一个用户所希望的函数值 D) 返回一个不确定的值 82.请读程序

#include f(char *s) { char *p=s;

while( *p!='\\0') p++; return(p-s); }

main()

{ printf(\上面程序的输出结果是( B ) A) 3 B) 6 C) 8

。 D) 0

83.若有以下调用语句,则不正确的fun函数的首部是( D ) main() { ?

int a[50],n; ?

fun(n, &a[9]); ? }

A) void fun(int m, int x[]) B) void fun(int s, int h[41]) C) void fun(int p, int *s) D) void fun(int n, int A) 84.有以下程序 int a=2;

int f(int *a) {return (*a)++;} main()

{ int s=0; { int a=5; s+=f(&a); }

s+=f(&a);

printf(\}

执行后输出结果是( C ) A) 10 B) 9 C) 7 D) 8

85.有以下程序

void swap(char *x, char *y) { char t;

t=*x; *x=*y; *y=t; }

main()

{ char *s1=\

swap(s1,s2); printf(\

}&

程序执行后的输出结果是 ( C ) A) 123,abc B) abc,123 C) 1bc,a23 D) 321,cba

86.以下程序的输出结果( B) #include

sub(int x,int y,int * z) {

*z=y-x; } main() {

int a, b, c; sub(10,5,&a); sub(7,a,&b); sub(a,b,&c);

printf(\}

A) 5,2,3 B) -5,-12,-7 C) -5,-12,-17 D) 5,-2,-7

87.已定义以下函数 int fun( int *p) { return *p; } fun函数返回值是 ( C )

A) 不确定的值 B) 一个整数

C) 形参p中存放的值 D) 形参p的地址值 88.已定义以下函数

fun (char* p2, char* p1)

{ while ((*p2=*p1) != '\\0') {pl++;p2++;} } 函数的功能是

( A)

A) 将p1所指字符串复制到p2所指内存空间 B) 将pl所指字符串的地址赋给指针p2

C) 对pl和p2两个指针所指字符串进行比较

D) 检查p1和p2两个指针所指字符串中是否有'\\0' 89.有以下程序

#include int fun(int a, int b) { if (b==0) return a; else return (fun(--a, --b)); }

main() { printf(\程序的运行结果是( B ) A) 1 B) 2 C) 3 D) 4

90.在函数调用过程中如果函数funA调用了函数funB函数funB又调用了函数funA则( B )

A) 称为函数的直接递归调用 B) 称为函数的间接递归调用 C) 称为函数的循环调用

D) C语言中不允许这样的递归调用 91.以下叙述中正确的是( B )

A) 全局变量的作用域一定比局部变量的作用域范围大

B) 静态(static)类别变量的生存期贯穿于整个程序的运行期间 C) 函数的形参都属于全局变量

D) 未在定义语句中赋初值的auto变量和static变量的初值都是随机值 92.以下程序的输出结果是 ( C ) int a,b; void fun()

{ a=100; b=200; } main()

{ int a=5, b=7; fun();

printf(\

}

A) 100200 B) 57

C) 200100 D) 75

93.以下程序的输出结果是 ( D ) int f()

{ static int i=0; int s=1; s+=i; i++; return s; }

main()

{ int i,a=0;

for(i=0;i<5;i++) a+=f(); printf(\} A) 20 B) 24 C) 25 D) 15 二、多选

1.下列定义变量的语句中正确的是( ABC ) A) int _int; B) double int_; C) char For; D) float US$;

2.设有定义int k=1, m=2float f=7;则以下选项中符合C语言语法的表达式是 ( ABD ) A) k=k>=k B) -k++ C) k%int(f) D) k<>m

3.若有定义语句double x[5]={1.0,2.0,3.0,4.0,5.0}, *p=x;则正确引用x数组元素的是( ACD ) A) *p B) x[5]

C) *(p+1) D) *x

4.若要求定义具有10个int型元素的一维数组a则以下定义语句中正确的是 ( ABC )

A) #define N 10 int a[N];

B) #define n 5 int a [2*n]; C) int a[5+5]; D) int n=10,a[n];

5.按照C语言规定的用户标识符命名规则能出现在标识符中的是( ACD ) A) 大写字母 B) 连接符 C) 数字字符 D) 下划线

6.以下不合法的字符型常量是(BD ) A) '\\x13' B) '\\081' C) '\\065' D) \

7.以下合法的字符常量是 ( BCD )

A) '\\018' B) '\\\C) '\\\\' D) '\\0xcc'

8.以下叙述中正确的是( ABD ) A) C语句必须以分号结束

B) 复合语句在语法上被看作一条语句

C) 空语句出现在任何位置都不会影响程序运行 D) 赋值表达式末尾加分号就构成赋值语句 9.以下合法的赋值语句是(AD ) A) n=(i=2,++i); B) j++; C) ++(i+1); D) x=j>0;

10.以下能正确定义二维数组的选项是 ( AB )

A) int a[2][2] = {{1}, {2}}; B) int a[ ][2] = {1, 2, 3, 4}; C) int a[2][2] = {{1}, {2},{3}}; D) int a[2][ ] = {{1, 2}, {3, 4}};

11.若有定义int aa[8]则以下表达式中能代表数组元aa[1]的地址的是 ( ABD ) A) &aa[0]+1 B) &aa[1] C) &aa[0]++ D) aa+1

12.已有定义int i,a[10],*p; , 则不合法的赋值语句是( AB ) A) p=100; B) p=a[5] C) p=&a[2]+2 D) p=a+2;

13.以下能正确进行字符串赋初值的语句是( BCD ) A) char str[5]=\B) char str[]=\C) char *str=\

D) char str[5]={‘g',‘o',‘o',‘d'};

14.已知大写字母A的ASCⅡ码是65小写字母a的ASCⅡ码是97。以下能将变量c中的大写字母转换为对应小写字母的语句是( ABC ) A) c=(c-'A')&+'a' B) c=c+32

C) c=c-'A'+'a'

D) c=('A'+c)&-'a' 15.设有以下定义和语句

char str[20]=\p=str;

则以下叙述中错误的是( BCD ) A) *p与str[0]中的值相等 B) 可以执行p++操作 C) 可以执行str++操作

D) str数组长度和p所指向的字符串长度相等

16.对于下面①②两个循环语句正确的描述是(AB )。

① while(1); ② for( ; ; ); A) ①是无限循环

B) ②是无限循环 C) ①循环一次 D) ②循环一次

17.以下错误的函数定义形式是( BCD ) A) double fun (int x , int y) B) double fun (int x ; int y)

C) double fun (int x , int y) ; D) double fun (int x , y) ;

18.对于基本类型相同的两个指针变量之间可以进行的运算是( A B D ) A) < B) = C) + D) -

19.能把字符串:Hello!赋给数组b的语句是( ACD ) A) char b[10]={'H','e','l','l','o','!'}; B) char b[10];b=\

C) char b[10];strcpy(b,\D) char b[10]=\

20.以下能对二维数组a进行正确初始化的语句是( AD ) A) int a[2][3]={0}; B) int a[2][ ]={{1, 2}, {0}};

C) int a[2][3]={{1, 2}, {3, 4}, {5, 6}}; D) int a[ ][3]={1, 2, 3, 4, 5, 6}; 21.sizeof(double)是(CD) A) 一种函数调用 B) 一个双精度型表达式 C) 一个整型表达式 D) sizeof是运算符

22.设a为整型变量能正确表达数学关系1010&&a<15 D) (a<10)||(a>15)

三、判断

1.C程序的基本组成单位是函数 √

2.每个C程序中都必须要有一个main()函数 √

3.C程序中注释部分可以出现在程序中任意合适的地方 √ 4.C程序的执行总是从main函数开始在main函数结束 × 5.++(i+1);是非法的赋值语句 √ 6.C语言中有逻辑类型 ×

7.可以用关系运算符对字符串的大小进行比较 ×

8.设有定义语句char b= '\\123';则变量b包括4个字符 ×

9.若有定义语句char s[10]=\则strlen(s)的值是9 × 10.a=b+c=1 是正确的赋值表达式 ×

11.对于单目运算符++、--它们的运算对象可以是任何变量和常量 × 12.表达式10=9的值是 true × 13.表达式1||2||3||4的值是1。 √ 14.sizeof(float)的值是4 √

15. if(x

16. 用do-while语句构成的循环,在while后的表达式为零时结束循环 √ 17.对for(表达式1 表达式3)可理解为 for(表达式10表达式3) 。× 18.break语句只能用于switch语句体中 ×

19.当程序执行中数组元素的下标超出所定义的下标范围时系统将给出“下标越界”的出错信息 ×

20.假定int类型变量占用两个字节其有定义int x[10]={0,2,4};则数组 22.若有说明int s[3][4]={0};则只有元素s[0][0] 可得到初值0。 × 23. 不能在赋值语句中通过赋值运算符\对字符型数组进行整体赋值 × 24.函数中的形式参数是局部变量 × 25. 函数的定义和函数的调用均可以嵌套 ×

26. 实参和与其对应的形参共同占用一个存储单元 × 27.用户定义的函数中可以没有return语句 √

28.当调用函数时实参是一个数组名则向函数传送的是数组的首地址 √ 29. C语言中形参的默认存储类别是自动(auto)。 √

三、判断

1.C程序的基本组成单位是函数 √

2.每个C程序中都必须要有一个main()函数 √

3.C程序中注释部分可以出现在程序中任意合适的地方 √ 4.C程序的执行总是从main函数开始在main函数结束 × 5.++(i+1);是非法的赋值语句 √ 6.C语言中有逻辑类型 ×

7.可以用关系运算符对字符串的大小进行比较 ×

8.设有定义语句char b= '\\123';则变量b包括4个字符 ×

9.若有定义语句char s[10]=\则strlen(s)的值是9 × 10.a=b+c=1 是正确的赋值表达式 ×

11.对于单目运算符++、--它们的运算对象可以是任何变量和常量 × 12.表达式10=9的值是 true × 13.表达式1||2||3||4的值是1。 √ 14.sizeof(float)的值是4 √

15. if(x

16. 用do-while语句构成的循环,在while后的表达式为零时结束循环 √ 17.对for(表达式1 表达式3)可理解为 for(表达式10表达式3) 。× 18.break语句只能用于switch语句体中 ×

19.当程序执行中数组元素的下标超出所定义的下标范围时系统将给出“下标越界”的出错信息 ×

20.假定int类型变量占用两个字节其有定义int x[10]={0,2,4};则数组 22.若有说明int s[3][4]={0};则只有元素s[0][0] 可得到初值0。 × 23. 不能在赋值语句中通过赋值运算符\对字符型数组进行整体赋值 × 24.函数中的形式参数是局部变量 × 25. 函数的定义和函数的调用均可以嵌套 ×

26. 实参和与其对应的形参共同占用一个存储单元 × 27.用户定义的函数中可以没有return语句 √

28.当调用函数时实参是一个数组名则向函数传送的是数组的首地址 √ 29. C语言中形参的默认存储类别是自动(auto)。 √

本文来源:https://www.bwwdw.com/article/4x8o.html

Top