printf(\}
程序运行后的输出结果是( D )。 A. 12
B. 11
C. 7
D.6
22.设有函数定义:void sub(int k,char ch){ ? } 则以下对函数sub的调用语句中,正确的是 ( A )。 A. sub(1,97);
B. sub(2,'97');
C. n=sub(3,'a');
D. sub(4,\
23.若函数调用时的实参为变量时,以下关于函数形参和实参的叙述中正确的是( A )。 A.函数的形参和实参分别占用不同的存储单元 B.形参只是形式上的存在,不占用具体存储单元 C.同名的实参和形参占同一存储单元
D.函数的实参和其对应的形参共占同一存储单元 24.以下叙述中错误的是( D )。 A.C程序必须由一个或一个以上的函数组成 B.函数调用可以作为一个独立的语句存在 C.若函数有返回值,必须通过return语句返回 D.函数形参的值也可以传回给对应的实参
25.以下关于C语言函数参数传递方式的叙述正确的是( A )。 A.数据只能从实参单向传递给形参 B.数据可以在实参和形参之间双向传递
C.数据只能从形参单向传递给实参(实参可以传递形参但形参不可以传递实参)
D.C语言的函数参数既可以从实参单向传递给形参,也可以在实参和形参之间双向传递,可视情况选择使用
26.以下关于函数的叙述中正确的是( A )。 A.函数形参的类型与返回值的类型无关 B.函数必须要有形参 C.函数必须要有返回值 D.函数调用必须传递实参
27..若有说明和语句:char str[]=\*p; p=str;,则此时*(p+5)中的值为( A )。 A. '\\0'
B. 'o'
C. 'o'的地址
D. 不确定的值
28.以下选项中的编译预处理命令行,正确的是( A )。
A. #define PI 3.14 C. #DEFINE TRUE 29.若程序中有宏定义行: #define N 100
则以下叙述中正确的是( B )。
B. ##define eps 0.001 D. #define int INT
A. 宏定义行中定义了标识符N的值为整数100
B. 在编译程序对C源程序进行预处理时用100替换标识符N C. 上述宏定义行实现将100赋给标示符N D. 在运行时用100替换标识符N 30.设有定义: struct complex
{int real,unreal;} data1={1,8},data2; 则以下赋值语句中错误的是( A )。 A. data2=(2,6); B. data2=data1; C. data2.real=data1.real;
D. data2.real=data1.unreal;
31.下面结构体的定义语句中,错误的是( A )。
A. struct ord {int x;int y;int z;} struct ord a; B. struct ord {int x;int y;int z;}; struct ord a; C. struct ord {int x;int y;int z;} a; D. struct {int x;int y;int z;} a;
32.设有定义:struct { int n; float x;} s[2],m[2]={{10,2.8},{0,0.0}}; 则以下赋值语句中正确的是( A )。 A. s[0]=m[1];
B. s=m;
C. s.n=m.n;
D. s[2].x=m[2].x;
33.下列关系表达式中,结果为\假\的是( D )。 A. 3 <= 4 4”为真为1)
34.若变量已正确定义,以下选项中非法的表达式是( D )。 A. a!=4||'b'
B. 'A' + 32
C. 'a' % 4
D. 'a'=1/2*(x=y=20,x*3)
B. (3 < 4) == 1
C. (3 + 4) > 6
D. (3 != 4) > 2 (“3 !=
34.若a是数值类型,则逻辑表达式 (a==1)||(a!=1)的值是( A )。 A. 1 确定
B. 0
C. 2
D. 不知道a的值,不能
35.下关于逻辑运算符两侧运算对象的叙述中正确的是( A )。 A) 可以是任意合法的表达式 B) 只能是整数0或非0整数 C) 可以是结构体类型的数据 D) 只能是整数0或1 36.有以下程序 #include
c= 13&5; d=10&&5; printf(\}
程序的运行结果是( A )。 A) 5,1 B) 1,1
C) 18,1
37.有以下程序
#include
{ int x=35, B; char z='B' ; B = (( x ) && ( z <'b' )); printf(\ }
程序运行后的输出结果是( A )。 A) 1 B) 0
C) 35
37.有以下程序
#include
{ int a[ ]={ 10,20,30,40 }, *p=a, i ; for( i=0; i<=3; i++ ) { a[i] = *p; p++; } printf(\ }
程序运行后的输出结果是( C )
D) 13,1
D) 66
A. 10 38.有以下程序 #include
B. 20 C. 30 D. 40
int a[10] = { 11,12,13,14,15,16,17,18,19,20 },*p=a,i=9 ; printf( \}
程序运行后的输出结果是( A )。 A. 11,20,20 B. 12,20,20
39.有以下程序 #include
int *p, x=100; p=&x; x=*p+10; printf(\}
程序运行后的输出结果是( A )。 A. 110 B. 120
40.有如下程序 #include
int a = 0, *ptr; ptr = &a; *ptr = 3; a = (*ptr) ++;
printf(\}
程序运行后的输出结果是( A )。
C. 11,19,19
C. 100
D. 12,19,20
D. 90